diff --git a/CNAME b/CNAME new file mode 100644 index 0000000..4d8b02d --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +blog.python.cz diff --git a/Hadi-workshop-v-Brne.html b/Hadi-workshop-v-Brne.html new file mode 100644 index 0000000..5f2d979 --- /dev/null +++ b/Hadi-workshop-v-Brne.html @@ -0,0 +1,162 @@ + + + + + + + + Hadí Workshop v Brně - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

Hadí Workshop v Brně

+

+ +
+ Anežka Müller +

+
+ +
+

V sobotu 18. 1. proběhl v Brně již počtvrté Hadí workshop. +Jedná se o celodenní workshop v Pythonu určený pro úplné začátečníky. +Akce probíhá pod taktovkou brněnských PyLadies a předchází pravidelným semestrálním začátečnickým kurzům Pythonu. +O workshop byl tradičně velký zájem. +Poprosili jsme tedy firmu Red Hat o zapůjčení velké zasedací místnosti, kam se nám vešlo 50 účastnic, jeden lektor a patnáct koučů, kteří v průběhu workshopu pomáhají účastnicím s problémy. +Kromě místnosti jsme od Red Hatu dostali i sponzorované občerstvení na celý den, což nám výrazně pomohlo při organizaci celé akce.

+
Hadi_ws_1
+

Co přináší workshop účastnicím#

+

Celý workshop je vlastně ukázkou toho, jak vypadá programování a co je možné se v Pythonu za relativně krátkou dobu naučit. +Je primárně určen pro ty, kdo přemýšlí o programování, ale nevědí, kde začít. +Případně pro ty, kteří si nejsou jistí, zda by pro ně programování vůbec mohlo být zajímavé. +Hadí workshop během jednoho dne shrnuje ukázky toho, co je v mnohem podrobnější míře obsahem semestrálního začátečnického kurzu. +Už po tomto workshopu by tedy účastnice měly být schopné odhadnout, zda chtějí investovat poměrně velké množství času a energie do dlouhodobého kurzu.

+

Co přináší workshop organizátorkám#

+

Z organizátorského pohledu je Hadí workshop zpravidla první akcí nového semestru. +Je to tedy příležitost se po delším čase osobně potkat, zapojit poprvé do "ostrého provozu" případné nové organizátorky a vyzkoušet si, komu jaká část organizačního procesu vyhovuje. +Je to také poměrně specifická akce pro dvojnásobný počet lidí, než klasické kurzy nebo workshopy během roku. +S každým dalším uvedením se učíme a vychytáváme organizační mouchy pro příští běhy.

+
Hadi_ws_2
+

Co přináší workshop lektorům a koučům#

+

Workshop obsahuje obrovské množství informací, které je potřeba shrnout a úspěšně předat účastnicím v relativně krátkém čase. +Na tom, aby se to povedlo, má lví podíl velmi zkušený lektor Petr Viktorin, který chystá všechny materiály a celý workshop vede. +Stejně jako organizátorky, i on se snaží každé další uvedení vylepšit, přizpůsobuje materiály a optimalizuje samotný průběh. +Petr sám o sobě vtipkuje, že si na tomto workshopu vypěstoval závislost.

+

Bez koho by se akce ještě neobešla jsou pomocní koučové. +Zvlášť na začátečnických akcích je potřeba, aby se mezi účastníky pohyboval dostatek lidí schopných pomoci, pokud se někdo během výkladu zasekne, něčemu nerozumí, nebo něco nefunguje. +Protože bývá Hadí workshop jednou z prvních akcí po skončení kurzů v předcházejícím semestru, je to první příležitost nejen pro nové organizátorky, ale i pro případné nové kouče. +To mohou být nejen zkušené programátorky a programátoři, ale také absolventky začátečnických kurzů, které se rozhodly být i nadále součástí PyLadies komunity. +Z nových PyLadies mohou být skvělé koučky, protože se na probíranou látku dokáží velmi jednoduše dívat pohledem aktuálních účastnic. +Většina našich akcí je zaměřená na úplné začátečníky nejen v Pythonu, ale v IT obecně, jedná se tedy o velmi specifické publikum a zvlášť pro zkušené programátory může být někdy obtížné osvojit si srozumitelný přístup, oprostit se od zavedené terminologie a odolat pokušení vyřešit problém mnohem rychleji sám. +Pro všechny nové kouče je to tedy ideální příležitost vyzkoušet si nejen to, jak celkově přistupovat k začátečníkům, ale také si osahat principy koučování specifické na našich akcích.

+
Hadi_ws_3
+

Závěrem#

+

Hadí workshop je skvělá, ale nesmírně náročná akce. +Na čas, na pozornost, na soustředění, na pochopení, na výdrž. +Náročná pro účastnice, lektora i kouče. +Díky moc všem, kdo do toho šli s námi!

+
+ +
+ +
+

+ Anežka Müller + + · @anezkamll +

+
+
+
+ +
+
+
+

Anežka je jednou z brněnských PyLadies. Baví ji organizovat věci a lidi a protože jí to nestačí v práci, pomáhá ještě s brněnským Pyvem a také s českým PyConem. Když zrovna nic neorganizuje, pravděpodobně někde běhá, nejraději kolem řeky nebo v lese.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/Letni-sprinty-Python-komunity-v-Msenem.html b/Letni-sprinty-Python-komunity-v-Msenem.html new file mode 100644 index 0000000..48b17fd --- /dev/null +++ b/Letni-sprinty-Python-komunity-v-Msenem.html @@ -0,0 +1,164 @@ + + + + + + + + Letní sprinty Python komunity v Mšeném - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

Letní sprinty Python komunity v Mšeném

+

+ +
+ Anežka Müller +

+
+ +
+

Už tradičně se v průběhu léta sjíždí Pythonisti a Pythonistky ze všech koutů republiky směrem k Roudnici nad Labem do lázeňské obce Mšené-lázně. +Naším cílem je chalupa rodiny Vysokých, která nám už od roku 2016 skýtá útočiště pro letní komunitní víkendovku.

+
sprint_msene_1
+

Na těchto víkendových sprintech se snažíme společně posouvat dopředu různé aktivity podporující a rozvíjející českou Python komunitu, na které není ve zbytku roku dostatek prostoru. +Cílem sprintu je společně něco vymyslet, naprogramovat, vylepšit, nebo třeba jen probrat a domluvit. +Není to ale jen pracovní víkend, je to pro nás příležitost potkat se napříč republikou, s některými se vůbec poprvé poznat osobně, posedět u ohně, zahrát si, zazpívat, společně se bavit.

+
sprint_msene_2
+

Kdo na sprint jezdí?#

+

Akce je otevřená pro každého, nemusíš na ní nikoho znát, nemusíš přijet s vlastní agendou ani tématem k řešení. +Baví tě Python? Chceš poznat aktivní lidi z Python komunity v Česku? +Přijeď, můžeš někomu pomoct s jeho tématem, agenda je známá předem. +A když nemáš chuť programovat nebo řešit technické věci, můžeš přiložit ruku k dílu jinak – pomáhat v kuchyni, hrát na kytaru, jen si povídat s ostatními :) +Každý může něčím přispět a užít si to. A třeba se i zapojíš do něčeho nového, co tě zaujme.

+
sprint_msene_3
+

Jak to na sprintu vypadá?#

+

Průběh akce se za poslední roky maličko změnil. +Dřív byl sprint třídenní, v pátek se začali sjíždět lidi, vymetali pavučiny, nastavovali wifi, chystali dřevo na oheň a připravovali prostor na práci.

+
sprint_msene_4
+

Sobota pak byla primárním pracovním dnem a neděle ve znamení úklidu a odjezdu domů. +Protože je ale sprint v Mšeném super akce, tři dny nám přišly málo a proto se poslední roky potkáváme už ve čtvrtek. +Sprint si tak protahujeme ještě o jeden „pracovní“ den a tím i jeden večer u ohně navíc :)

+

V rámci pracovních částí akce nemáme žádný pevný rozvrh. +Dopředu dáváme dohromady seznam věcí, na kterých chceme pracovat, nebo témat, která chceme prodiskutovat, a každý se zapojuje dle svých preferencí, časových i tématických.

+
sprint_msene_5
+

Na čem pracujeme?#

+

Na sprintu se zrodily některé důležité komunitní nástroje, například systém pro odevzdávání a opravování projektů v rámci kurzů od PyLadies nebo převod učebních materiálů ze stránek pyladies.cz na naucse.python.cz. +Pravidelně se věnujeme technologickým upgradům nebo debuggingu našich webů, případně jejich obsahovým úpravám (a že jich česká Python komunita spravuje docela hodně). +Často na sprintu připravujeme nebo dokončujeme materiály pro semestrální kurzy PyLadies, sprint nám také umožňuje společnou práci PyLadies napříč republikou, které jinak fungují spíše na lokální úrovni jednotlivých měst.

+
sprint_msene_6
+

Je to živná půda pro domlouvání témat pro PyWorking workshopy nebo přednášek na Pyva, pravidelné meetupy Python komunity v různých městech. +Můžeme také společně řešit témata společná pro celou Python komunitu napříč Českem – letos jsme se například domluvili na tom, že bychom příští rok po covidové pauze opět rádi zorganizovali PyCon CZ – stay tuned for more information ;)

+

A když zrovna na ničem nepracujeme, vaříme, sedíme u ohně, hrajeme na různé nástroje, zpíváme, jíme, pijeme, povídáme si, bavíme se.

+
sprint_msene_7
+

Sprinty jsou pro spoustu z nás srdcová záležitost. +Jsme rádi, že se můžeme vidět naživo, strávit spolu nějaký čas, udělat něco užitečného pro život Python komunity v Česku, poznat nové lidi a užít si pohodový víkend v prima společnosti.

+

Chceš být příště u toho? +Další sprint v Mšeném plánujeme až na srpen 2023, v mezičase ale můžeš třeba začít chodit na Pyvo. +Rádi tě uvidíme!

+
sprint_msene_8
+
+ +
+ +
+

+ Anežka Müller + + · @anezkamll +

+
+
+
+ +
+
+
+

Anežka je jednou z brněnských PyLadies. Baví ji organizovat věci a lidi a protože jí to nestačí v práci, pomáhá ještě s brněnským Pyvem a také s českým PyConem. Když zrovna nic neorganizuje, pravděpodobně někde běhá, nejraději kolem řeky nebo v lese.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git "a/Nad\304\233lili-jsme-PyLadies-tri\304\215ka.html" "b/Nad\304\233lili-jsme-PyLadies-tri\304\215ka.html" new file mode 100644 index 0000000..3c304c9 --- /dev/null +++ "b/Nad\304\233lili-jsme-PyLadies-tri\304\215ka.html" @@ -0,0 +1,129 @@ + + + + + + + + Nadělili jsme PyLadies trička - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

Nadělili jsme PyLadies trička

+

+ +
+ Zuzka Javorková +

+
+ +
+

Ahoj všem příznivcům Pythonu!

+

Asi není potřeba psát, že rok 2020 je z hlediska pořádání kurzů PyLadies a přidružených aktivit pro nás velkou výzvou. Ještě na začátku jara jsme plánovali uspořádat tak jako v minulých semestrech několik souběžných kurzů pro začátečnice v Praze, Brně, Ostravě, Plzni, Olomouci, případně i v Hradci Králové. Až nám skoro nestačil prostor v seznamu pořádajících měst na našem webu. :) Nakonec se kvůli koronavirovým opatřením muselo hodně improvizovat, ale ve většině měst se podařilo v upravených podmínkách kurz nakonec dálkově zrealizovat. Přešli jsme na různé online přenosy a velmi dobře jsme zužitkovali náš vytuněný tool na odevzdávání a revize úkolů k lekcím. +A dnes už se aktivně řeší příprava na podzimní kurzy, i když stále bohužel musíme počítat s bojovými podmínkami a nebudeme zdaleka moci pokrýt poptávku zájemkyň o další (prezenční) kurzy.

+

Protože se v posledních letech tempo našich kurzů pozvolna zvyšovalo a komunita koučů, organizátorek i absolventek úspěšně rostla, měli jsme na přelomu roku poptávku po nové várce triček s logem PyLadies. A tak jsme se rozhodli s finančním přispěním Pyvce trička nechat vyrobit. Díky hromadné objednávce jsme i ušetřili pár korun. +Byla to blesková předvánoční akce, do které se stihlo přihlásit cca 100 zájemců, kterým jsme našimi tričky mohli udělat radost. Určitě nás v nich potkáte/poznáte na českém PyConu nebo třeba na komunitním sprintu, kde vznikl tento článek ;)

+
Fotka triček
+
+ +
+ +
+

+ Zuzka Javorková + +

+
+
+
+ +
+
+
+

Účastnice a organizátorka prvního pražského kurzu PyLadies, investorka junior.guru

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/PyConCZ_wrap_up_summary.html b/PyConCZ_wrap_up_summary.html new file mode 100644 index 0000000..3602fd4 --- /dev/null +++ b/PyConCZ_wrap_up_summary.html @@ -0,0 +1,258 @@ + + + + + + + + PyCon CZ 2019 Conference Wrap-Up Summary - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

PyCon CZ 2019 Conference Wrap-Up Summary

+

+ +
+ Dan Srb, Tomáš Orsava, Lumír Balhar +

+
+ +
+

Thank you!#

+

PyCon CZ, the Czech Python community conference, took place on June 13-16, 2019.

+

As every year, we had a blast! I hope you really enjoyed the talks, workshops, networking and the atmosphere.

+
Thank you!
+

Community Organization#

+
Organizers
+

Our conference is made for the community by the community. We are all volunteers doing this in our free time, and as you can imagine, it’s quite a challenge. We like to move the conference to a new city every two years, to breathe to it a breath of fresh air. And so we moved it to Ostrava this year, under a mostly new team of organizers! As usual, many but not all of us were from Ostrava, so the organization took place mostly on Slack and over video calls. The organization usually takes as long as half a year, so now we’re enjoying a brief break until the wheel starts up again next year. :)

+

If you’d be interested in joining our org team, don’t hesitate to write to us at info@pycon.cz!

+

Stats#

+

Content#

+
    +
  • 4 keynotes and 28 talks by 32 speakers
  • +
  • 11 workshops and one sprint with 14 tutors
  • +
+

Tickets#

+

There were 457 registered attendees (or 498 including organizers, sponsors’ booths staff etc.) and 94 % of them have checked in at the conference.

+

Like last year, we offered a limited number of “Early bird” tickets. This year, we did so more than 6 weeks sooner than in 2018 and kept the “Regular” prices until 3 weeks before the event. Despite a larger venue, we sold out all tickets again, this time a few days after the “Late bird” period started.

+

Attendees#

+

Attendees could voluntarily reply to a few questions when buying their ticket. +Here are some of the answers:

+

Where do you come from?#

+

Of those that answered, around 8 % of attendees hailed from the Ostrava region where the conference took place. A further 70 % were from other parts of the Czech Republic and around 8 % from the nearby Poland. The remaining 14 % were from other EU countries and the wider world.

+
where do you come from
+

What is your current position?#

+

More than 50 % of the attendees were developers. Other significant categories (over 5 %) were students, analysts, data scientists, QA engineers and DevOps engineers.

+
current position
+

How did you hear about the conference?#

+

Of those that answered, 57 % have heard about PyCon CZ from their local Python community (kudos!). Another group of over 25 % of people heard about the conference from our social media (Facebook and Twitter).

+

Are you studying/teaching?#

+

From the 82 Educational ticket holders that attended, almost 44 % were attendees of PyLadies community courses and 38 % were university students.

+
edu tickets
+

Workshops#

+

Workshop registrations were available to everyone who bought a ticket. We started registration a week before the conference. We successfully implemented a new system of voiding registrations 10 minutes before the start of the workshop, allowing walk-ins to fill the remaining places.

+

Diversity#

+
attendees
+

As every year, we’ve put an effort into making the conference as welcoming as possible. We had a Code of Conduct in place, offered discounted tickets and financial aid, ensured venue’s wheelchair accessibility and for the first time we offered more diverse food at the event.

+

Ticket prices#

+

Again we offered tickets in 4 tiers. The cheapest were Educational tickets for students, teachers and PyLadies’ courses attendees. Company tickets were the most expensive, so we could keep the price as affordable as possible for people attending on their own budget.

+

Financial Aid#

+

Within the constraints of our budget, we tried to cover travel, accommodation and ticket prices to those who wouldn’t otherwise be able to afford it.

+

Speakers and workshop leaders were offered free tickets and we spent over 110 000 CZK to help finance their travel and accommodation.

+

We also gave out 11 additional free tickets (mostly covered by sponsors) and spent 5600 CZK to help two attendees with costs of travel and accommodation.

+

We sadly had to decline aid to attendees asking for larger amounts (over 400 EUR/person) as our budget was limited.

+

Next year, we plan to set an upper limit on grants to focus on providing smaller grants to more people. We will try to reach out to underrepresented groups in the Czech Republic better.

+

Accessibility#

+

Both main and workshop venues were wheelchair-accessible.

+

Next year we aim to focus on promoting wheelchair accessibility to be more attractive to people with disabilities.

+

Languages#

+

Except one talk in Czech, we kept the event international with English as the main language.

+

While almost 70 % of attendees understood Czech (this includes Slovak speakers) we managed to attract 30 % of people from abroad who might not be able to attend otherwise.

+

We plan to keep English as the main language, but we’re considering trying to attract more beginners by having an extra Czech-language programme for beginners. This should not limit the enjoyment of the event by foreign attendees, as they tend to be more advanced Pythonistas.

+

Gender#

+

We had 32 talks of which 25 (78 %) were by men and 7 (22 %) by women. At workshops, there were 14 tutors in total, of which 12 (86 %) were men and 2 (14 %) were women. In total we had 41 people talking or leading a workshop of which 7 (17 %) were women.

+

Regarding all attendees, there were 77 % men and 23 % women, a bit less than in 2018 but more than PyCon CZ 2017.

+

For 2020 we would like to promote PyCon CZ as more interesting for women speakers.

+

Code of Conduct Report#

+

The Code of Conduct was kept the same as in the previous years, based on the Conference anti-harassment policy from the Geek Feminism Wiki page and edited to be as specific to our event as possible.

+

Agreeing to the Code was mandatory when buying the ticket.

+

Two contact persons (male and female) were assigned.

+

Attendees were reminded of the Code in the opening speech of each day and on the badge they were wearing.

+

One incident regarding tasteless commentary about a different programming language during a presentation was reported this year. The reporter was assured PyCon CZ doesn’t identify with the message. In the next day's announcements, we emphasized we all should treat each other nice. The staff followed up with the presenter about the inappropriate remark. The presenter expressed an apology on their social networks after the conference.

+

Catering#

+
catering
+

PyCon CZ considers food as a thing that is needed to survive and not as a something that PyCon CZ would like to be known for. However, even with such a utilitarian attitude we try to improve it every year.

+

2019 was the first year where we made an attempt to provide more inclusive food options that would cover most common diets (including vegan and gluten-free). We gathered data from attendees about their food preferences and used that as a base for ordering of the catering.

+

Unfortunately, we ran out of lunches despite ordering for 10 % more people than were registered. This also meant a limited choice for people who came later for lunch. This was an error on the provider’s side. We’ve taken steps not to repeat this mistake and we apologize for the inconvenience.

+

Our plan for 2020:

+
    +
  • Keep the food diversity
  • +
  • Better food distribution system (shorter queues)
  • +
  • Ensure catering company provides ordered quantity
  • +
  • Try to eliminate single-use plastic products used for catering
  • +
+

Feedback#

+
stickers
+

After the conference, we published an online form to gather feedback from attendees. We received over 200 responses. Here are the highlights:

+ +

The three most popular talks were:

+
    +
  1. Petr Viktorin – Building an async event loop
  2. +
  3. Miro Hrončok – #! Bang, bang!
  4. +
  5. Miroslav Šedivý – A Day Has Only 24±1 Hours
  6. +
+

Most positive mentions#

+

Each of these things received a positive mention by over 20 % of those who responded:

+
    +
  • Venue / Lower Vítkovice area / City of Ostrava
  • +
  • People / friends / socializing
  • +
  • Food & coffee & tea
  • +
+

Most negative mentions#

+

26 % of responders reported no negative issues at all. Most often mentioned issue was lunch distribution (18 % of responders), 16 % didn’t enjoy non-technical, „non-practical“ and beginner-oriented talks. Technical problems with audio/video during talks were an issue reported by 12 % of attendees.

+

Enjoyed and plan to come back#

+

94 % of respondents reported having enjoyed the conference and 83 % would like to attend next year.

+

Takeaways#

+

We take attendees’ feedback seriously. In the end, we make PyCon CZ for them. Our own observations were similar to the reported feedback and while some of them will be harder to address than others, we will try our best to make PyCon CZ 2020 even better. Some solutions are already outlined in this post.

+

Photos#

+
photographer
+ +

Budget#

+

In the spirit of openness and transparency, we’re happy to share a summary of our budget.

+

Income#

+

We started with a 102,000 CZK left over from PyCon CZ 2018. We managed to obtain sponsorships totalling 672,700 CZK and received further 699,900 CZK from ticket sales, together giving us a revenue of 1,372,600 CZK.

+

Expenses#

+
    +
  • 285,000 CZK Catering (including workshops and afterparty)
  • +
  • 223,000 CZK Renting the conference venue
  • +
  • 120,000 CZK Financial aid (111,000 went to speakers and 9,000 to other attendees)
  • +
  • 100,000 CZK Bottles for attendees, lanyards, badges, other printed stuff
  • +
  • 72,000 CZK Design services (both digital and print)
  • +
  • 67,000 CZK Coffee
  • +
  • 55,000 CZK Video recording & editing (including promotional video) and photographer
  • +
  • 37,000 CZK Afterparty (drinks)
  • +
  • 30,000 CZK Speakers' dinner
  • +
  • 20,000 CZK Accounting services
  • +
  • 17,000 CZK Food at the Board game night (pizza)
  • +
  • 8,000 CZK Ticket system (ti.to) fees
  • +
  • 7,000 CZK Rental van & fuel
  • +
  • 7,000 CZK Insurance
  • +
  • 5,000 CZK Virtual reality fun
  • +
  • 7,000 CZK Miscellaneous items
  • +
+

Our total expenses were 1,060,000 CZK.

+

Bottom line#

+
logo
+

We ended with a positive balance of 311 674 CZK. Most of it will be saved as a starting money for PyCon CZ 2020. The rest will be used by our non-profit organization Pyvec, z.s., for other Python community activities (PyLadies, Pyvo, Community sprints, etc.)

+

2020#

+

See you in Ostrava again!!!

+
2020
+
+ +
+ +
+

+ Dan Srb, Tomáš Orsava, Lumír Balhar + +

+
+
+
+ +
+
+
+

Tento blog píše česká komunita kolem programovacího jazyka Python. +I ty sem můžeš napsat článek! Chceš oznámit nějakou akci, zamyslet se nad budoucností +srazů nebo sepsat, co se ti líbilo na konferenci? +Stačí postupovat podle návodu.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/Report-ze-sprintu-na-vychode.html b/Report-ze-sprintu-na-vychode.html new file mode 100644 index 0000000..5c32314 --- /dev/null +++ b/Report-ze-sprintu-na-vychode.html @@ -0,0 +1,160 @@ + + + + + + + + Report ze Sprintu na východě - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

Report ze Sprintu na východě

+

+ +
+ Anežka Müller +

+
+ +
+

Letos v dubnu se nám podařilo v Python komunitě obnovit jednu z dříve tradičních akcí, Sprint na východě. +Před časem jste si na blogu mohli přečíst o letních sprintech. +Ty probíhají tradičně koncem léta na západě republiky.

+

Protože jsou ale Pythonisti a Pythonistky rozesetí po celé republice, letní sprinty doplňuje jarní sprint na východě, konkrétně v Lískovci u Frýdku. +Účastnictvo vděčí za pohostinnost Lumírovi a Hance, kteří mají v Lískovci domek se zahradou, psem, kočkou a hadem, a poskytují tak sprintu základnu a zázemí.

+

sprint_na_vychode_1 +sprint_na_vychode_2

+

Účast#

+

Sprint na východě býval vždy komornější, než letní sprinty v Mšeném, což se potvrdilo i letos. +Zachovává si však svou pestrost a nijak si nezadá množstím odpracovaných úkolů.

+

Jak tedy vypadala letošní účast?

+
    +
  • Sešli jsme se v počtu 11 lidí (6 žen, 3 muži, 2 děti).
  • +
  • Na sprintu měly zastoupení PyLadies z Brna, Ostravy a Olomouce.
  • +
  • Z různých oblastí byly zastoupeny (drobně zobecněno, omluva všem lokálním patriotům) Ostrava, Hranice, Olomouc, Brno a Praha.
  • +
  • Sešly se zde čtyři různé národnosti: česká, slovenská, polská a bosenská.
  • +
+

Průběh#

+

Sjeli jsme se v pátek večer a zahájili víkend táborákem a socializací. +Samotný pracovní sprint pak začal v sobotu ráno a pokračoval až do pozdního večera pouze s přestávkami na jídlo a zmrzlinu. +Vytvořili jsme si i projekt v GitHubu Pyvce, abychom mohli sledovat progres.

+
sprint_na_vychode_3
+

Během soboty a nedělního dopoledne jsme zvládli dokončit celkem 20 tasků, mezi kterými byly například aktualizace materiálů na Nauč se Python!, aktualizace častých dotazů na stránkách PyLadies a celková údržba tohoto webu (pročištění dat, odbavení starších issues z GitHubu), zpracování videí z brněnského Pyva, ale i zajištění wellbeingu účastníků (příprava dřeva, špekáčků a hermelínů na večeři), což je velmi důležitá součást sprintů. +Několik úkolů je ještě těsně před dokončením nebo chybí jen reviews, takže se odvážím tvrdit, že se v následujících dnech finální číslo ještě zvýší.

+
sprint_na_vychode_5
+

Závěrem#

+

Osobně jsem moc ráda, že se podařilo po delší pauze opět uspořádat Sprint na východě. +Otevírá se tím další příležitost pro Python komunitu setkat se naživo, lokalita přiláká jiné lidi než Mšené, někomu může také vyhovovat komornější atmosféra (jsem jednou z takových lidí).

+

A mimochodem, tento sprint proběhl zcela bez alkoholu, jen na birellech, čaji a kávě.

+

Díky moc Lumírovi a Hance za zázemí a domáckou pohodu, a taky všem, co vážili cestu na východ, aby s námi strávili prima víkend.

+

Těším se zase za rok!

+
sprint_na_vychode_4
+

A kdo by se s námi chtěl potkat dřív, určitě bude příležitost ve Mšeném na letním sprintu. +Budeš-li se chtít přidat, napiš na info@pyvec.org a my ti dáme vědět!

+
sprint_na_vychode_6
+
+ +
+ +
+

+ Anežka Müller + + · @anezkamll +

+
+
+
+ +
+
+
+

Anežka je jednou z brněnských PyLadies, spoluorganizátorka brněnského Pyva a českého PyConu. Když zrovna nic neorganizuje, pravděpodobně někde běhá nebo chodí, nejraději v lese nebo po horách.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/Sprint-na-vychode.html b/Sprint-na-vychode.html new file mode 100644 index 0000000..d785aa4 --- /dev/null +++ b/Sprint-na-vychode.html @@ -0,0 +1,141 @@ + + + + + + + + Sprint na východě - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

Sprint na východě

+

+ +
+ Karolina Surma +

+
+ +
+

Sprint? To jako běháte?#

+

Členové a členky české Python komunity se obvykle dvakrát do roka sejdou v nějakém koutu republiky. Letos jsem se podruhé vydala na společné řešení komunitních otázek, webových aplikací a ostatních aktivit kolem propagace programování v Pythonu. Jak je známo, začátečníci mají obvykle řadu obav před zapojením se mezi zkušené programátory a programátorky. Jak je taky známo, pythonní komunita je inkluzivní a pořádá řadu aktivit mířených přímo na nováčky. Mírou úspěchu může být tedy nadpoloviční účast brněnských PyLadies (v hojném počtu 4) vedle zkušenějších kolegů z Moravy a Slezska. +Jarní, komornější sedmičlenná akce se konala v Lískovci u Frýdku-Místku. Aktivnější sprinteři mohli zahájit maraton již během týdne návštěvou ostravského kurzu PyLadies a následného Pyva. K víkendu jsme se v konečném počtu potkali přímo u Lumíra, který nám zapůjčil své prostory pro intenzivní kódění a brainstorming.

+

Co jsme (vy)řešili?#

+

K hlavním sprintovým tématům patřily:

+
    +
  • organizace PyConu (již v červnu v Ostravě - dojeďte!),
  • +
  • aktualizace webových stránek pod záštitou Pyvce, jako jsou pyladies.cz, python.cz, pyvo.cz, pyvec.org (tyto úkoly byly jak na míru šité pro nováčky),
  • +
  • úpravy zpětnovazebníku PyLadies, aby se dal lehce použít v jiných městech a na různé typy akcí,
  • +
  • propagace PyLadies na různých eventech napříč republikou,
  • +
  • menší starší úkoly ze stránek zapojse, plných nápadů na vylepšení. +Nechyběla ani dokumentace, díky čemuž víme, že jsme dohromady vyřešili téměř 20 úloh.
  • +
+

Budoucnost#

+

Víkendové soustředění, které viditelně posouvá komunitní projekty, je skvělá volba pro všechny, kdo se zajímají o pythonní dění v Česku. Z perspektivy nováčka oceňuji především možnost seznámit se s aktivisty z ostatních měst, nahlédnutí do něčeho nového a výpomoc s těžšími úlohami. Je to taky praktická ukázka fungování open source projektů, které se sice v kurzu PyLadies zmiňují, ale mnohé a mnozí z nás nemají představu, jak do nich můžou přispívat.

+

Další sprint se bude konat na konci srpna v Čechách. Sledujte informace a nechte se tentokrát přesvědčit k příjezdu. :) Účast je po nahlášení zdarma, vítáni jsou všichni.

+
+ +
+ +
+

+ Karolina Surma + +

+
+
+
+ +
+
+
+

Tento blog píše česká komunita kolem programovacího jazyka Python. +I ty sem můžeš napsat článek! Chceš oznámit nějakou akci, zamyslet se nad budoucností +srazů nebo sepsat, co se ti líbilo na konferenci? +Stačí postupovat podle návodu.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/ako-sme-sa-v-Akamai-ucili-vizualizovat-data-v-Pythone.html b/ako-sme-sa-v-Akamai-ucili-vizualizovat-data-v-Pythone.html new file mode 100644 index 0000000..a263300 --- /dev/null +++ b/ako-sme-sa-v-Akamai-ucili-vizualizovat-data-v-Pythone.html @@ -0,0 +1,225 @@ + + + + + + + + Ako sme sa v Akamai učili vizualizovať dáta v Pythone - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

Ako sme sa v Akamai učili vizualizovať dáta v Pythone

+

+ +
+ Sveťa Margetová +

+
+ +
+

V piatok 3. 3. 2017 sa konal v Akamai +Technologies workshop zameraný na vizualizáciu +dát v Pythone. Bežne v rámci PyLadies komunity pôsobím ako kouč, no v +tomto prípade som bola v roli opačnej a naozaj som sa tešila, že sa +môžem niečo nové z Pythonu a dátovej oblasti naučiť. Tešila som sa o to +viac, lebo s dátami denne pracujem na projektoch v rôznych oblastiach, +pracujem v Pandas a +Matplotlib je súčasťou každého môjho importu v +Jupyter notebookoch. No mala som pocit, že ho nevyužívam naplno a +celkovo sa vizualizácii dát nevenujem. Väčšina mojich grafov, ktoré som +si vykreslovala, boli určené iba mne, nehrala som sa s detailmi a +zobrazením a ak mal byť výstup prezentovateľný koncovému užívateľovi, +vždy som automaticky siahla po Reacte.

+
Ukážka môjho bežného grafu
+Ukážka môjho bežného grafu
+

V Akamai nám lektori ukázali, ako však s dátami (vo forme JSONu) +pracovať a vizualizovať ich v podobe, v akej sú prínosné a jasne z nich +informácie zrozumiteľné. Po prvotných problémoch s rôznymi operačnými +systémami a verziami Pythonu sme sa hneď pustili do tvorby vizualizácií +zobrazovaných vo webovom prehliadači.

+
Všichni z workshopu
+Foto od Veroniky Gabrielovej
+

Grafy, grafy, samé grafy#

+

Prešli sme základnými typmi grafov, ktoré vidím takmer v každej +manažérskej a marketingovej prezentácii, ako napríklad:

+
    +
  1. stĺpcový graf,
  2. +
  3. koláčový graf,
  4. +
  5. histogram.
  6. +
+

Pri tvorbe grafov som zistila, že to môže byť naozaj aj zábava, je tam +priestor pre programovanie, matematiku, možnosti vlastného dizajnu a +podobne. Hneď ako som vykreslila jeden graf, som sa pustila do +modifikácie úlohy, kedy okrem maximálnej hodnoty som chcela pridať +minimálnu hodnotu a priemernú hodnotu. Páčilo sa mi v tomto prípade +použitie +Counter() +- užitočná vec v Pythone. Síce moje grafické cítenie v tejto oblasti nie +je bohviečo, lebo keby mne niekto pošle ružovo-fialový graf so žltou +krikľavou čiarou v strede, asi dostanem z toho epileptický záchvat, na +jeho vykreslenie sme nepotrebovali ani veľa kódu a páčilo sa mi jeho +elegantné riešenie, kde bolo možné uplatiť napríklad:

+
    +
  • +

    list comprehensions

    +

    python +temp = enumerate([abs(j - avg) for j in n])

    +
  • +
  • +

    anonymnú funkciu lambda

    +

    python +mi = sorted(temp, key=lambda a : a[1])[0][0]

    +
  • +
  • +

    for cyklom prechádzať rôznymi agregačnými funkciami

    +

    python +for f in [min, max]: + mi = list(n).index(f(n)) + patches[mi].set_color("#283891")

    +
  • +
+
Maximálna, minimálna, priemerná hodnota
+Maximálna, minimálna, priemerná hodnota
+

Následne sme si ukázali ďalšie typy grafov a okrem práce v Pythone sme +sa naučili aj niečo o +RTT, +protokoloch a vzájomného prepojenia medzi oboma veličinami, aká je bežná +hodnota v realite a kde sa približne ukazovatele pohybujú.

+
Závislosť rýchlosti na RTT pre protokol U - graf 1
+Závislosť rýchlosti na RTT pre protokol U - graf 1
+
Ukážka scatter grafu
+Ukážka scatter grafu
+
Závislosť rýchlosti na RTT pre protokol U - graf 2
+Závislosť rýchlosti na RTT pre protokol U - graf 2
+

Okrem iného sme zistili aj to, že rovnaký graf, z rovnakých dát, +vykreslený rovnakým kódom môže vyzerať na dvoch počítačoch v závislosti +od operačného systému trochu inak.

+
Foto od Veroniky Gabrielovej
+Foto od Veroniky Gabrielovej
+
Darí sa!
+Foto od Veroniky Gabrielovej
+

K čomu to celé bolo dobré?#

+

Okrem toho, že som si obnovila opäť pozitívny vzťah k vizualizácii dát, +som si uvedomila, že nemusím vždy zaťažovať projekt vykresľovaním dát v +JavaScripte, ale môžem priamo dáta spracovať v Jupyteri, vizualizovať v +grafe, výstup si uložiť napríklad ako obrázok alebo celú HTML stránku a +tú následne vložiť do existujúcej HTML šablóny v Djangu, pričom dáta mám +real time aktualizované na základe zmien v databáze alebo vstupov +užívateľa nad filtrami a formulármi. Hneď na ďalší deň som si skúsila +nad reálnym projektom vykresliť top 10 krajín, v ktorých je najväčšie +zastúpenie produktov s najvyššou mierou popularity s jednoduchým +prevodom cez formát na percentá, alebo výpis príspevkov z RSS feedov v 5 +jazykoch, indikujúci chýbajúce príspevky za daný deň a namiesto tabuľky +už posielam klientovi graf plný červeno-modrých stĺpcov.

+
Koláčový graf
+Koláčový graf
+

Bola by som rada, ak by bolo pokračovanie, kde by nám ukázali chalani z +Akamai, ako sa z malej knižnice na prevod SQL príkazov cez Python do +grafov stal využívaný framework. A samozrejme, ako je v tejto dobe in, +real-time grafy. Dokým sa to nehýbe, nie je to až tak cool.

+
+ +
+ +
+

+ Sveťa Margetová + + · @Mandragora258 +

+
+
+
+ +
+
+
+

Programátorka v Pythone/vo Swifte. Vo voľnom čase rada behám a organizujem IT akcie, workshopy a rôzne druhy pretekov.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/blind-attendee-about-pycon-cz-2016.html b/blind-attendee-about-pycon-cz-2016.html new file mode 100644 index 0000000..39d7c6e --- /dev/null +++ b/blind-attendee-about-pycon-cz-2016.html @@ -0,0 +1,140 @@ + + + + + + + + Blind attendee about PyCon CZ 2016 - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

Blind attendee about PyCon CZ 2016

+

+ +
+ Vojtěch Polášek +

+
+ +
+

I'm blind and I attended PyCon CZ 2016 conference. Firstly, I would like to thank you for letting me to join you. It was my first time visiting a conference related to IT, not to blind or visually impaired people. I must say that I really enjoyed being there with you all. But let's be more specific.

+

To be precise, I participated only during Friday and Saturday, I decided not to participate on any workshops or sprints. Just for a matter of completeness, I attended the conference together with my friend Honza, who is also blind, and with our assistant Sísa. I would like to describe my perception of the conference from the point of a blind person. That means that the main aim of this text is not to evaluate quality of talks, but rather their accessibility.

+

Basically I didn't observe any really serious problem, which would totally prevent me from gaining information from a talk. However, I would like to propose several recommendations, which may enhance experience of any future potential visually impaired visitors of PyCon CZ.

+
Tomáš Ehrlich smiling while petting a dog
+

Speakers, describe what's on your slide#

+

We can't see what a speaker shows on a screen. Therefore, we have to rely on description of potential graphs, pictures or other non-textual content provided by someone else. It can be a speaker or a friend/assistant. I think that speaker is a better choice, because eventual chat between assistant and me could be disturbing for people sitting around us.

+

Now, don't get me wrong. I don't want a speaker to describe exact parameters of a displayed graph or to exactly spell out every line of displayed source code. It is enough to say what is currently shown on a screen and if it is something more complicated, I know that I can investigate it later in downloaded slides if needed.

+

So my first recommendation for speakers is to try to describe non-textual objects by few sentences if possible. Luckily, most speakers usually do this quite naturally.

+

Another option is to publish presentations several days before the conference, so that we can download them and review them before or during a talk. I wouldn't probably do this but I can imagine that someone would see this as helpful.

+

Organizers, check accessibility of Q&A tools#

+

One thing which surprised me was a method used for posting questions to speaker during a talk. I didn't have a laptop with me during both days, so I wasn't able to test it. However, it might be interesting to assess accessibility of this method before it is going to be deployed at the next conference. I personally didn't have urge to ask questions in this way, but someone might want to use it.

+

Community#

+

What I really liked about Pycon CZ was friendliness of all other people around during talks, breaks and afterparty. I didn't feel isolated and this is not something obvious while attending larger events. I found new friends, heard interesting stories and gained invaluable information.

+
Jakub, Stařenka, and Vladimír, all of them playing ukulele
+

Let's sum it up. PyCon CZ was really great and inspiring experience for me and I am looking forward to attend upcoming PyCon CZ or other similar conferences. I would like to thank Red Hat for providing me, Honza, and Sísa with free tickets for PyCon CZ 2016.

+
+ +
+ +
+

+ Vojtěch Polášek + + · @krecoun007 +

+
+
+
+ +
+
+
+

A blind guy studying for masters degree in IT security at FI MUNI. Works on security related projects in Y Soft, where he uses Python. Loves to interconnect worlds of people with and without visual disability, for example through the Život trochu jinak group. A blind football player, passionate reader, piano player...

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/brnenske-pyvo-ma-nove-kamarady.html b/brnenske-pyvo-ma-nove-kamarady.html new file mode 100644 index 0000000..88793d1 --- /dev/null +++ b/brnenske-pyvo-ma-nove-kamarady.html @@ -0,0 +1,138 @@ + + + + + + + + Brněnské PyVo má nové kamarády - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

Brněnské PyVo má nové kamarády

+

+ +
+ Honza Javorek +

+
+ +
+

Osm lidí se 26. 4. 2011 setkalo +v kavárně Falk u jednoho z jejích kulatých stolů, +aby si povídali o Pythonu. Tak nevinně to začalo! Na druhé PyVo jsme se +přemístili jinam a připravili už dokonce i přednášky.

+

Mimochodem, našel jsem o tom +zápisek na blogu, který +stojí za připomenutí - např. ona "návštěva z Finska", tedy Petr Viktorin, +je dnes už spolupořadatelem celé akce. V komentářích zase Věroš zmiňuje +telefonní ústřednu, kterou jsme zrovna teď v březnu viděli v akci přímo +na stolech mezi půllitry :-)

+

Rok poté jsme v lednu 2012 hostili zatím nejúspěšnější akci - +NoSQL PyVo, kde se nás sešlo přes +třicet a přijeli návštěvníci ze Slovenska i z Prahy.

+

Tento článek je z dob kdy blog.python.cz ještě neexistoval a původně vyšel na Honzově blogu. Můžete si ho dočíst tam!

+
+ +
+ +
+

+ Honza Javorek + + · @honzajavorek +

+
+
+
+ +
+
+
+

Honza je programátor. Od roku 2011 buduje českou komunitu kolem jazyka Python. V současnosti pomáhá hlavně s propagací aktivit, jako jsou PyLadies, Pyvo, nebo PyCon CZ. Přes den jej najdete v Apiary, kde se stará o Dredd, framework na testování API. Občas taky radí lidem jak mají API dělat a přednáší o tom na konferencích.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/co-prinesl-podzim.html b/co-prinesl-podzim.html new file mode 100644 index 0000000..160a5b0 --- /dev/null +++ b/co-prinesl-podzim.html @@ -0,0 +1,175 @@ + + + + + + + + Co přinesl podzim a co jsme podzimu přinesli my! - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

Co přinesl podzim a co jsme podzimu přinesli my!

+

+ +
+ Veronika Gabrielová +

+
+ +
+

Září, říjen, listopad – měsíce kurzů pro začátečníky a konferencí#

+

Podzim bývá obdobím nově spuštěných kurzů Pythonu pro začátečníky zvaných PyLadies. Tato tradice se odehrává v Praze a Brně, ale pro velký zájem +se letos i v Ostravě dočkali svých PyLadies. V Praze v roce 2016 začaly i dobrovolné srazy Advanced PyLadies, kde se scházely účastnice z PyLadies, +které měly osobní zájem pokračovat v učení se Pythonu na vlastních projektech. Či zlepšit své znalosti Pythonu, aby mohli jít čelem nabídkám práce na junior programátorky, +QA... +Pokud nevíš, co a kdo PyLadies jsou, nejlépe když navštívíš stránky, kde se dozvíš vše od informací o kurzech, náplni +lekcí i jak v každém z měst vznikly a kdo je tam organizuje. Tak šup na PyLadies web

+

Na podzim také začíná mít tradici PyCon CZ. Který se v roce 2015 prvně uskutečnil v Brně...a i podruhé, letos v roce 2016, se uskutečnil v Brně. +Takže jsem již asi dost naznačila, že v Brně je prostě dostatek úžasných lidí, kteří jsou schopni jej celý naplánovat, připravit a pak to všechno uklidit.

+
+

<rejp>Co na tom, že polovina organizačního týmu, je vlastně z Prahy!</rejp>

+

¯\_(ツ)_/¯

+
+

Pyvo. Pyvo bylo a bude! V Ostravě se Pyvo odchýlilo od zvyklostí a rozjelo malinkato jiný formát. Krásně to sepsal Lumír v článku Ostravské Pyvo – co teď? A co potom? +V Praze se Pyvo poslední dobou plnilo novými zájemci a bývá na něm plno. Pokaždé nás překvapí, že vidíme několik úplně nových tváří. A stejně jako my jsme nadšení z nich, oni jsou nadšení z nás. +V Brně je Pyvo stále skvělým Pyvem a přes veškeré snahy rejpalů se daří vždy zaručit místo pro velký či nepředvídatelný počet lidí. Letos se bylo Pyvo v Brně dokonce den před PyConem CZ, takže na něj dorazila velká posádka z Prahy. A že to byla pěkná cesta!

+
Cesta z města do Brna by ruční selfie tyč Honza Král
+

Shrneme si to:

+
    +
  • +

    Konal se převeliký PyCon CZ 2016 v Brně.

    +

    PyCon CZ by nebyl bez skvělých lidí ze všech koutů republiky. Já osobně jakožto účastník konference, bych chtěla poděkovat tatínkovi PyConu CZ, Tomáši Ehrlichovi, protože mu věnoval již podruhé +kus života a ♥

    +
  • +
  • +

    Na podzim se konaly celkem 4 začátečnické kurzy Pythonu, zvané PyLadies. Dva v Praze a po jednom v Brně a Ostravě.

    +

    Tento tříměsíční kurz základů Pythonu je časově velmi náročný. Velký dík patří organizátorkám i koučům a koučkám do všech měst. Všichni z nich +jsou dobrovolníci, leckdy věnují spoustu času i přípravě na přednášení a nejedna slečna už díky nim začala programovat a někdo jí za to dokonce i platí!

    +

    České PyLadies mají navíc neuvěřitelné štěstí, že mají spousty skvělých sponzorů, kteří jim nabízí své prostory na kurzy a workshopy, +kupují Hardware na MicroPython kurzy a hledají i nové kouče z řad svých zaměstnanců.

    +

    Hrdým a aktivním sponzorům PyLadies v ČR nespočetněkrát děkují ♥ ♥ ♥

    + +
  • +
  • +

    Organizátoři LinuxDays nám nabídli možnost postavit si na konferenci stánek a tak jsme postavili rovnou stan. To by bylo vyprávění i na dva články, ale držela jsem se. Můžeš si to třeba přečíst.

    +
  • +
  • Advanced PyLadies v Praze slavily celkem úspěch, nicméně se k nám doneslo, že by se rádi přidali i kluci a rozvíjeli své spíš začátečnické dovednosti. A tak jsme se v Praze hecli a zkoušíme udělat měsíční srazy i pro všechny začátečníky. + V Praze se tedy Advanced PyLadies jmenují PyWorking a z týdenních srazů se stal měsíční celodenní sraz s prostorem na práci na projektech a workshopem či přednáškami. Týdenní srazy na pár hodin odpoledne jsou i nadále k mání.
  • +
  • V Brně se místo Advanced PyLadies rozjelo Nepyvo a Pythonistky i Pythonisti se schází každý čtvrtek v Nekavárně, kde upevňují a rozvíjejí znalosti Pythonu.
  • +
  • V Praze na ČVUT proběhl nový kurz pokročilého Pythonu. Podle osvědčené tradice začátačnických kurzů PyLadies jsou materiály online, takže se stejný kurz dá uspořádat i jinde. Třeba v Brně, kde si před každou cestou do Prahy Petr jednotlivé přednášky vyzkoušel na živých zájemcích.
  • +
+
+ +
+ +
+

+ Veronika Gabrielová + + · @lspdv +

+
+
+
+ +
+
+
+

Veronička je velmi aktivní v české Python komunitě. Motá se hodně kolem PyLadies, účastnicím po kurzech pomáhá najít vysněnou práci a právě buduje rozjezd i dalších navazovacích kurzů a srazů pro všechny zájemce o Python, kteří jsou v začátcích. Také již pracuje jako programátorka. Nemá ráda datle. Má ráda vše ostatní kromě datlí. Nejvíc Žufánka a Pho. Nejčastěji ji potkáš v Praze na Pyvo srazech či na PyWorkingu a PyLadies.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/deset-let-pyva-v-ostrave.html b/deset-let-pyva-v-ostrave.html new file mode 100644 index 0000000..c07e03c --- /dev/null +++ b/deset-let-pyva-v-ostrave.html @@ -0,0 +1,139 @@ + + + + + + + + Deset let Pyva v Ostravě - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

Deset let Pyva v Ostravě

+

+ +
+ Lumír Balhar +

+
+ +
+

Zdá se mi to vcelku neuvěřitelné, ale Pyvo v Ostravě letos v listopadu oslavilo 10 let existence na meetupové scéně. To si vyloženě říká o krátkou rekapitulaci.

+
image description
+

Jak to tenkrát začalo#

+

Historie srazů Python komunity v České republice se začala psát někdy kolem roku 2011 a už dva roky poté přišlo tehdejším organizátorům Pyva v Brně – Honzovi Jakovorkovi a Petru Viktorinovi, že je to koncept hodný rozšíření do dalších měst. Udělali si plánovací výlet na sever do Ostravy, našli vhodné prostory a v listopadu 2013 zorganizovali první Pyvo. Nevzpomínám si, jak jsem se k tomu tehdy dostal, ale nahlásil jsem si na první Pyvo krátkou přednášku o problémech s IPv6. V té době jsem se daleko více věnoval sítím než programování a krátce předtím jsem navštívil LinuxDays, kde jsem se o tomto tématu hodně dozvěděl, takže jsem se chtěl rovnou o nové znalosti podělit. Přednáška dopadla dobře, i když jsem byl nervózní až na půdu, a tak jsem v dobrém rozmaru na místě slíbil, že zorganizuji další Pyvo.

+

Druhé Pyvo ­– a první pod mou taktovkou – se konalo v prosinci 2013 ve Sport clubu. To už jsme se více věnovali Pythonu a Petr nám pověděl spoustu zajímavostí o iterátorech.

+

Vlastně ani nevím, jestli jsem se v té době chtěl více věnovat Pythonu a tedy programování než správě Linuxových systémů a sítí a proto jsem se pustil do organizace Pyva, nebo mi na srazech přišlo programování v Pythonu tak zajímavé, že jsem se to chtěl naučit. Tak nebo tak to ovlivnilo mou kariéru na dlouhá léta.

+

Vzestupy, pády a čísla#

+

Od té doby to šlo někdy nahoru a někdy dolů. Několikrát jsem měl chuť toho nechat a párkrát jsme si dali kratší nebo delší pauzu, ale vydrželi jsme to celou dekádu. Jak vlastně vypadalo těch deset let v číslech?

+

Za deset let jsme zorganizovali celkem 106 srazů. Nejdéle jsme to bez přestávky vydrželi 32 měsíců od září 2016 do dubna 2019. Naopak nejdelší pauzu nám způsobil Covid a trvala pět měsíců. Protože se Pyvo konalo v prvním týdnu každého měsíce, nejčastěji jsme vynechávali v květnu a lednu kvůli státním svátkům. Nejdále od Ostravy jsme Pyvo vyvezli až na Ostravici, kde se sraz konal v Beskydském pivovárku. Celkem jsme Pyvo uspořádali na třinácti různých místech ve čtyřech městech. Sport club, kde se konalo druhé Pyvo, se za tu dobu stihl přetvořit na Palouk, kde se konají Pyva dnes.

+

Retrospektiva#

+

Při zpětném pohledu musím přiznat, že bych spoustu věcí dnes dělal jinak. Na začátku jsme se hodně snažili o dobrý obsah a kvalitní přednášky a měli jsme radost, když nám na dobré téma přišlo hodně lidí. Hodně jsme se věnovali propagaci a dokonce jsme bombardovali univerzity letáčkama. Když už nám docházeli lidé ochotní přednášet (a často také přijet z daleka), chystal jsem obsah sám a často jsem se věci učil, jen abych o nich mohl na Pyvu mluvit. To se projevilo, protože když téma nebylo tak zajímavé nebo třeba žádné nebo když se chtěla nějaká aktivita po účastnících, přišlo jich hned o poznání méně. Jednou nebo dvakrát se dokonce stalo, že jsem byl na Pyvu sám. Dal jsem si večeři, pustil jsem si přednášku ze záznamu na plátně a šel domů.

+

V roce 2016 jsme v Ostravě rozjeli komunitu PyLadies a začali organizovat kurzy pro začátečníky, ale bohužel ani ze stovek účastníků se nám do komunity moc lidí nepřidalo. Snažili jsme se velmi, ale asi jsme neporazili ten předsudek, že na p(i/y)vo se s učiteli nechodí.

+

Počet účastníků zkrátka nemůže být dobrá metrika pro sraz, který se dělá ve volném čase bez velkého sponzora. Naštěstí se za tu dobu našlo dostatek lidí, kterým nešlo jen o obsah, ale chodili si hlavně popovídat s ostatními, podělit se o své zkušenosti a názory nebo se jinak aktivně zapojit.

+

Mám z Pyva v Ostravě velkou radost. I kdybychom jej už nikdy neudělali, povedlo se nám za ty roky toho spoustu navzájem naučit, poznat hromadu zajímavých lidí a já si díky Pyvu našel i svou současnou práci, ale to je příběh na někdy jindy.

+
+ +
+ +
+

+ Lumír Balhar + + · @lumirbalhar +

+
+
+
+ +
+
+
+

Lumír pracuje jako senior software inženýr a ve volném čase organizuje komunitní srazy, kurzy a workshopy, vyučuje první pomoc a dělá dobrovolného hasiče.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/djangozeny.html b/djangozeny.html new file mode 100644 index 0000000..1867f2a --- /dev/null +++ b/djangozeny.html @@ -0,0 +1,155 @@ + + + + + + + + Kdo jsme? - Ženy! Co chceme umět? - Django! - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

Kdo jsme? - Ženy! Co chceme umět? - Django!

+

+ +
+ Štěpánka Lucinová +

+
+ +
+

Django workshop - 11.6.2017#

+
Kdo jsme? - Ženy! Co se chceme naučit? - Django!
+

Poslední tři a půl měsíce pro mě byly hodně pytenzivní. Po skončení PyLadies kurzu byl hned PyCon CZ, na který dostaly všechny účastnice DjangoGirls workshopu vstupenku. Jako úplný nováček ve světě „těch internetů“ jsem se docela bála, že nebudu některým věcem rozumět, že to bude složité a že jsem si zase ukousla moc velké sousto. Ale nakonec jsem si to fakt užila, posuďte sami...

+

Asi dva týdny před workshopem jsme dostaly email s instrukcemi k workshopu, co je potřeba nainstalovat a odkaz na +krátký úvod do HTML a CSS. Všechno detailně popsané, takže jsem během pár dní úspěšně vytvořila své kočce „webísek“ +o jedné galerii a pár odkazech. Kočku jsem tím neohromila...

+

Neděle 11.6.2017 6:30 - samou nedočkavostí jsem se probudila ještě před zazvoněním budíku a počasí venku slibovalo +super den. Čapla jsem bábovku, kterou jsem upekla jako úplatek pro kouče, a o hodinu a půl později už vcházela do MSD IT na Smíchově. Velká moderní budova, ve které mě vítá milý pán na vrátnici, strčí mi k podpisu prezenční papír a hned vysvětluje kudy a kam. Ostatně jejich chytré výtahy mě ani nikam jinam než do šestého patra nepustí. :) Tam už se na každou účastnici nedočkavě vrhají organizátorky Veronika a Zuzka s tričky, samolepkami, širokým úsměvem a tajuplnou krabičkou, ze které se pak vyklubají hrací karty. V rámci kamarádění si lepíme jmenovky. V hlavní místnosti jsou stoly sražené po dvou k sobě, čímž vzniká několik malých skupinek po třech účastnicích a jednom kouči. Na každém stole jsou vypsána jména účastnic a kouče, heslo na wifi a tahák na Django. Já jsem ve skupince s Vlaďkou, se kterou se znám už z PyLadies, jednou paní a koučem Pepou Rouskem. Jinak jsem tam moc lidí neznala, pamatovala jsem si několik holek z PyLadies a rozpoznala pár tváří z PyConu.

+
Atmosféra na workshopu
+

Musím říct, že Zuzka s Verčou odhalily tajemství spokojených účastnic a strategicky zahájily workshop snídaní. Mňam! +Po krátkém představení koučů a programu se už každá účastnice vrhla na tutoriál. Princip miniskupinek s koučem a postupování vlastním tempem mi vyhovoval na 1000 %. Stačilo se zoufale podívat koučovým směrem nebo zmínit, že „vono to nefunguje“ +a během chvilky „to“ už zase fungovalo. Nevím jak u ostatních stolů, ale náš Pepa se občas docela nudil, což nepřipisuju +na vrub naší skupince, ale fakt skvěle napsanému tutoriálu, který nám i připomínal, kdy si dojít pro kafe nebo občerstvení, +kterého bylo po celý den víc než dost.

+
Oběd na terase
+

Ani jsem se nenadála a už byl čas na oběd. Opět musím vyseknout poklonu objednanému cateringu, protože jídlo bylo výborné, +pestré a bylo ho dost. :) Po jídle jsme byly vyhnány na velkou terasu se zahrádkou a krásným výhledem na společné focení, +abyste pak všichni viděli, jak jsme se tam měli dobře. Posoudit můžete „zde“. Musím říct, že mě workshop bavil natolik, +že jsem si i oběd vzala k počítači a pro kafe běhala minimálně – a to bylo fakt dobrý! :) Druhá půlka workshopu byla +trochu zajímavější, jelikož po x hodinách všemožného nastavování jsme se dostali i k programování. Vševědoucí Pepa se trpělivě skláněl nad našima notebookama a hledal zapomenuté závorky, překlepy, řešil nevysvětlitelné errory a odpovídal na všetečné otázky typu „A proč jako? A proč ne takhle?“.

+
Radící koučové
+

Za sebe můžu říct, že se mi tutoriál povedlo dokončit celý. Když jsem se vyptávala okolí, většině účastnic to zvládla taky zcela nebo aspoň z 80 %, což je při takovém množství účastnic (36!) s rozdílnými úrovněmi skvělé a je potřeba to připsat opět +na vrub pořadatelkám a koučům.

+
Skupinovka
+

A teď děkovací odstavec aneb borci na konci. :) Prvně pořadatelky – Zuzka a Veronika, tyhle dvě věčně se smějící a štěbetající cácorky o tomhle workshopu nikde na Fuck Up Pyvu mluvit nebudou; bez koučů bychom se tak daleko nedostali; bez MSD IT bychom byli o hladu a programovali někde na louce přes hotspot. GitHub pushnul super Django trička a díky Pyvec a PyCon CZ jsme měly super fotky z workshopu a vstupenky na PyCon CZ 2017 zdarma.

+

Po workshopu vím, že:

+
    +
  • ...rozdíl mezi #000000 a #FFFFFF je velkej.
  • +
  • ...there is no place like 127.0.0.1.
  • +
  • ...lilek fakt není špatnej.
  • +
  • ...programátoři jsou fajn.
  • +
+
+ +
+ +
+

+ Štěpánka Lucinová + +

+
+
+
+ +
+
+
+

Nikdo. Nic. Nikam.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/druhe-brnenske-pyvo.html b/druhe-brnenske-pyvo.html new file mode 100644 index 0000000..e2358c0 --- /dev/null +++ b/druhe-brnenske-pyvo.html @@ -0,0 +1,129 @@ + + + + + + + + Druhé brněnské PyVo - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

Druhé brněnské PyVo

+

+ +
+ Honza Javorek +

+
+ +
+

Kamarád Michal Švec se na Twitteru zmínil o setkání programátorů v Ruby a já se zeptal, jestli něco takového není i pro Python. Prý nikde nic, tak že to mám zorganizovat. A že prý nevadí, když tam o tom Pythonu budu vědět ze všech nejméně :)

+

No a tak se stalo. Nejdříve jsem navázal spolupráci se slovenskými Pyonýry pod taktovkou Synopsiho, dohodlo se první setkání jen tak v kroužku u piva a když šel vidět zájem a nadšení, začali jsme s Michalem Janíkem, jenž mi nabídl pomoc při zařizování, plánovat něco většího.

+

A já jsem moc rád, že to včera proběhlo, že to byla zábava, že se to líbilo a že jsme se něco nového přiučili a poznali nové lidi.

+

Předně bych chtěl poděkovat už zmiňovanému Michalovi, který mi pomohl s organizací. Rozdělili jsme si úlohy asi tak, že on zajistil infrastrukturu a já dělal propagaci a zajistil přednášky.

+

Tento článek je z dob kdy blog.python.cz ještě neexistoval a původně vyšel na Honzově blogu. Můžete si ho dočíst tam!

+
+ +
+ +
+

+ Honza Javorek + + · @honzajavorek +

+
+
+
+ +
+
+
+

Honza je programátor. Od roku 2011 buduje českou komunitu kolem jazyka Python. V současnosti pomáhá hlavně s propagací aktivit, jako jsou PyLadies, Pyvo, nebo PyCon CZ. Přes den jej najdete v Apiary, kde se stará o Dredd, framework na testování API. Občas taky radí lidem jak mají API dělat a přednáší o tom na konferencích.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000..c9efc58 Binary files /dev/null and b/favicon.ico differ diff --git a/feed.xml b/feed.xml new file mode 100644 index 0000000..ee58177 --- /dev/null +++ b/feed.xml @@ -0,0 +1,2036 @@ + +Python v ČR blogujehttps://blog.python.cz/2024-06-09T11:33:00+02:00Zprávy z české Python komunityPyCon CZ 23 wrap-up and summary: How did we do?2024-06-09T11:33:00+02:002024-06-09T11:33:00+02:00Bára Drbohlavovátag:blog.python.cz,2024-06-09:/pycon-cz-23-wrap-up-and-summary-how-did-we-do<div><p>After four long years, PyCon CZ, the Czech Python community conference, was held on September 15–17, 2023 in Prague. +We hope you enjoyed the sessions, made meaningful connections, and enjoyed all the geeky surprises we prepared for you! +Scroll down for tl;dr 🙂</p> +<h1 id="restart-of-the-community">Restart of the Community<small class="permalink"><a href="#restart-of-the-community" title="Trvalý odkaz na tento nadpis">#</a></small></h1> +<p>At the …</p></div><div><p>After four long years, PyCon CZ, the Czech Python community conference, was held on September 15–17, 2023 in Prague. +We hope you enjoyed the sessions, made meaningful connections, and enjoyed all the geeky surprises we prepared for you! +Scroll down for tl;dr 🙂</p> +<h1 id="restart-of-the-community">Restart of the Community<small class="permalink"><a href="#restart-of-the-community" title="Trvalý odkaz na tento nadpis">#</a></small></h1> +<p>At the heart of our conference is the community – PyCon CZ is created by the community, for the community. Due to Covid, we suffered a 4-year-long break so this year it was all about restarting: the community, the event, the momentum, and reigniting the passion that binds us together.</p> +<h2 id="organiser-team">Organiser team<small class="permalink"><a href="#organiser-team" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>Our team consisted both of people based in the Czech Republic and abroad so most of our communication was online and asynchronous. Just like at each PyCon CZ since 2015, we are all volunteers who have dedicated several months of spare time to prepare the event.</p> +<figure class="figure"><a href="https://blog.python.cz/images/pyconcz23_volunteers.jpg" target="_blank" title="selfie with volunteers"><img alt="selfie with volunteers" src="https://blog.python.cz/images/thumbnails/pyconcz23_volunteers.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<p><em>Volunteer team meeting on the first morning</em></p> +<p>Core team members took on the usual task areas: finding and contracting the venue, AV services, catering, bringing in furniture and equipment (over 1,000 chairs, tables and other items!), writing the call for presentations, preparing the submission system, going through the applications and selecting speakers, creating a balanced programme, taking care of the ticketing system, managing social networks, writing and replying to emails, acquiring sponsors and communicating with them clearly, managing speakers, deciding on financial aid, selecting the best coffee provider, supplying internet at the venue, creating beautiful designs, deciding on t-shirt brand and quality, watching the budget closely, finding MCs and volunteers, keeping an eye on the deadlines and ~~pushing~~ motivating people to finish their tasks on time… </p> +<figure class="figure"><a href="https://blog.python.cz/images/pyconcz23_furniture.jpg" target="_blank" title="bringing in furniture"><img alt="bringing in furniture" src="https://blog.python.cz/images/thumbnails/pyconcz23_furniture.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<p><em>Bringing in the furniture</em></p> +<h1 id="results">Results<small class="permalink"><a href="#results" title="Trvalý odkaz na tento nadpis">#</a></small></h1> +<h2 id="goals">Goals<small class="permalink"><a href="#goals" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>Since this year's event was supposed to be a comeback after the pause, our goal was to make the conference the biggest PyCon CZ ever. That is, attract more attendees and offer more content than in previous years. Therefore, we aimed at running at least 3 tracks of talks and welcoming 600 attendees. Another big goal was to attract many beginners and people who have just recently started working in IT.</p> +<h2 id="content">Content<small class="permalink"><a href="#content" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>The agenda was distributed the same way as in previous years: two days of talks (Friday and Saturday) and one day of workshops (Sunday). This gave us enough space to focus the session tracks on specific topics. One track was focused solely on data, as it is a popular area in Python programming. The second track contained general topics or talks suitable for programmers on any level. The third track offered talks for beginners – and we had so much content for them that the sessions ran in two rooms! +Workshops ran in 9 rooms so they offered 240 seats in the morning and 200 in the afternoon, but we still couldn't satisfy everyone interested in joining them. Next time, we will need many more! And it's great to see so many people eager to learn new things. +Regarding the agenda, the conference offered:</p> +<ul> +<li>4 keynotes </li> +<li>45 talks by 46 speakers and 17 workshops by 27 tutors</li> +<li>2 panel discussions with 9 panel members</li> +<li>a moderated group discussion for juniors</li> +<li>2 social events: a board game night on Friday and the afterparty on Saturday</li> +<li>a lounge with retro games and 3D printers, and an on-site treasure hunt</li> +<li>speakers' dinner on Thursday (for speakers, organisers, VIP ticket holders and MCs)</li> +</ul> +<p>Session topics ranged from very broad and general ones to deep dives. When we were selecting the content, we made sure that the topics won't repeat too much in the schedule. Obviously, some topics were more popular this year but we strove to cover a wider range of ideas and experience that the speakers offered to bring.</p> +<figure class="figure"><a href="https://blog.python.cz/images/pyconcz23_retrogames.jpg" target="_blank" title="3D printers"><img alt="3D printers" src="https://blog.python.cz/images/thumbnails/pyconcz23_retrogames.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<figure class="figure"><a href="https://blog.python.cz/images/pyconcz23_3Dprinters.jpg" target="_blank" title="3D printers"><img alt="3D printers" src="https://blog.python.cz/images/thumbnails/pyconcz23_3Dprinters.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<p><em>Retro games and 3D printers lounge</em></p> +<figure class="figure"><a href="https://blog.python.cz/images/pyconcz23_bgn.jpg" target="_blank" title="board game night"><img alt="board game night" src="https://blog.python.cz/images/thumbnails/pyconcz23_bgn.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<p><em>Board game night</em></p> +<figure class="figure"><a href="https://blog.python.cz/images/pyconcz23_afterparty.jpg" target="_blank" title="music at the afterparty"><img alt="music at the afterparty" src="https://blog.python.cz/images/thumbnails/pyconcz23_afterparty.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<p><em>Musical section at the afterparty</em></p> +<h2 id="tickets-registrations">Tickets &amp; registrations<small class="permalink"><a href="#tickets-registrations" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>We offered tickets in several tiers. Regardless of the type of the ticket you had, you were able to access the same content and parts of the conference as anyone else. The tiers are there to allow us to create a balanced budget. Educational tickets, the most affordable option, were available to students, teachers, and attendees of PyLadies' courses. Company tickets were more expensive than the Individual tickets, allowing us to maintain a more affordable rate for people paying the ticket out of their own pocket. +Out of the 613 registered attendees, 599 (or 97.7%) attendees checked in at the conference. Those who have not arrived were equally split between the ticket tiers (disproving the idea that Company ticket holders are less likely to arrive because they didn't pay the ticket themselves).</p> +<h2 id="attendee-diversity">Attendee diversity<small class="permalink"><a href="#attendee-diversity" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>During the ticket purchase, attendees were asked several questions about their background. No questions were mandatory but each question was answered by at least two thirds of ticket buyers so the information is relevant. +Half (51.7%) attendees came from Prague, 31.3% came from the rest of the Czech Republic and 17% came from abroad. Most foreigners came from Poland (20 people), Germany (15) and Slovakia (10), the remaining 26 people came from Austria, the Netherlands, Hungary, Switzerland, India, Croatia, France, Ireland, USA, Japan, Finland, Spain, Bulgaria, Ukraine and Great Britain. +For most attendees (72.4%), this was their first PyCon CZ ever, while 10.6% have been to 3 or more Czech PyCons (remember that this was the 6th edition). +Regarding attendees' self-perceived level of skill in Python programming, 15.9% called themselves expert Pythonistas, 43.9% stated they have done some advanced stuff in Python, 29.4% have done a few things here and there, and 10.8% were beginners in Python.</p> +<figure class="figure"><a href="https://blog.python.cz/images/pyconcz23_postits.jpg" target="_blank" title="pieces of advice"><img alt="pieces of advice" src="https://blog.python.cz/images/thumbnails/pyconcz23_postits.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<p><em>Junior Guru post-its, photo by Honza Javorek</em></p> +<p>And what did people come to the event for? Most obviously said that they were interested in professional and personal development, collaboration and free and open-source software. However, half attendees were also interested in ML/AI and data-related topics. About a third wanted to learn more about testing and debugging, web development, security, and system administration / DevOps / SRE. +Since we strove to keep the ticket registration form as short as possible, we only know about gender diversity from two sources:</p> +<ul> +<li>calculated from ticket registration names (25% were female names) and</li> +<li>feedback respondents (19% of attendees and 28% of speakers were female, and 1% of attendees and 1% of speakers were non-binary)</li> +</ul> +<p>Regarding age, we only collected this data in the feedback form, which had a low response rate of 22%, so the following information might not represent all attendees of the conference. According to the feedback form, 35% of attendees were under 29 and 51% were in the 30–39 group.</p> +<h2 id="financial-aid">Financial Aid<small class="permalink"><a href="#financial-aid" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>PyCon CZ 23 offered to support people who would not otherwise be able to come to the event. This year, the financial aid was allocated as follows:</p> +<ul> +<li>Attendees: 12k CZK</li> +<li>Speakers: 41k CZK</li> +</ul> +<p>For supported attendees, it means that we gave them a free ticket (9 times) and reimbursed their travel or accommodation costs (8 times). Speakers always receive a free ticket and usually their employers pay for the travel costs, but sometimes it wasn't the case and we were ready to cover such expenses (5 times).</p> +<h2 id="venue-accessibility">Venue &amp; accessibility<small class="permalink"><a href="#venue-accessibility" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>This year we took extra care about accessibility issues because the venue was extremely tricky from this point of view – it is an old monastery, after all. For instance, the main entrance comprised a steep hill and two flights of stairs. Although there was an elevator in the building, the upstairs room was not exactly on the same level as the first floor so we had to set up a ramp on one flight of stairs. The toilets on the ground floor were renovated, but still not big enough for a wheelchair to fit in, so we ordered a special portapotty which was set up in the backyard. In the end, there was only one attendee with a wheelchair, but luckily they could use crutches to use the toilet.</p> +<figure class="figure"><a href="https://blog.python.cz/images/pyconcz23_mainroom.jpg" target="_blank" title="Main room"><img alt="Main room" src="https://blog.python.cz/images/thumbnails/pyconcz23_mainroom.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<p><em>This was the Main room, the biggest one, seating over 300 people</em></p> +<figure class="figure"><a href="https://blog.python.cz/images/pyconcz23_stairs.jpg" target="_blank" title="flights of stairs"><img alt="flights of stairs" src="https://blog.python.cz/images/thumbnails/pyconcz23_stairs.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<p><em>If you kept switching the session tracks, you could get a pretty nice stair workout</em></p> +<p>One attendee informed us beforehand that they needed a quiet room (a sensory-neutral room) and to sit near the speakers, as they are hearing impaired. Therefore, we designated several of the tiny upstairs rooms in the further part of the building as “quiet rooms” and placed one chair or deck chair and a blanket in each of them. We also used one of the bigger rooms upstairs near the second coffee stand as a “chill room” with more places to sit and relax. We were happy to see that both types of rooms were well used and we believe this is a great example of making the conference a pleasant experience for everyone.</p> +<p>As far as we know, there were no other attendees with special needs – we asked about this in the ticket registration process.</p> +<p>We were lucky that the weather was really nice so people could chill out in the backyard.</p> +<figure class="figure"><a href="https://blog.python.cz/images/pyconcz23_chillout.jpg" target="_blank" title="chilling in the backyard"><img alt="chilling in the backyard" src="https://blog.python.cz/images/thumbnails/pyconcz23_chillout.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<p><em>People enjoying the warm and sunny weather</em></p> +<h2 id="languages">Languages<small class="permalink"><a href="#languages" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>The official language of the event is English (17% of attendees and 38% of speakers arrived from abroad), but as we offered a significant part of the programme to beginners who were mostly Czech-speaking, we allowed speakers to present in Czech if they did not feel like speaking English. Sessions in Czech were:</p> +<ul> +<li>13 talks (out of 51),</li> +<li>both panels and</li> +<li>5 workshops (out of 17).</li> +</ul> +<p>All keynotes were in English.</p> +<h2 id="childcare">Childcare<small class="permalink"><a href="#childcare" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>This edition was also special thanks to an extended provision of childcare. For parents (who could register their children while purchasing the tickets), we provided professional childcare services during the whole event, including Sunday's workshops. We contracted the same company that EuroPython used in July 2023 because they were happy with the quality. Just as well, we received great feedback and consider the cost to be well-spent money. Along with the retro games lounge, this was a great way to allow parents to take part in the conference and not worry about babysitting.</p> +<figure class="figure"><a href="https://blog.python.cz/images/pyconcz23_childcare.jpg" target="_blank" title="big childcare"><img alt="big childcare" src="https://blog.python.cz/images/thumbnails/pyconcz23_childcare.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<p><em>Childcare rooms were really big!</em></p> +<h2 id="code-of-conduct-report">Code of Conduct Report<small class="permalink"><a href="#code-of-conduct-report" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p><a href="https://cz.pycon.org/2023/coc/">Our Code of Conduct</a> is adapted from the Conference anti-harassment policy found on the Geek Feminism Wiki page, tailored specifically for our event. Agreeing to this Code was compulsory when purchasing a ticket. +Two contact persons, one male and one female, were designated as points of contact for the Code of Conduct. Attendees were reminded of the Code several times during the event. A short version and contact information was printed on attendee badges.</p> +<p>We are pleased to report that there were no Code of Conduct violations reported during the event.</p> +<h1 id="feedback">Feedback<small class="permalink"><a href="#feedback" title="Trvalý odkaz na tento nadpis">#</a></small></h1> +<p>Disclaimer: we did not manage to send the feedback form soon enough after the event, so we only received 130 responses, which is a 22% response rate.</p> +<h2 id="most-popular-sessions">Most popular sessions<small class="permalink"><a href="#most-popular-sessions" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>We asked people to give us feedback on the conference programme.</p> +<p>In general, 35% of attendees were very satisfied with the overall content of the conference, and 47% were quite satisfied. Only 5 people said they were not satisfied and only two of those added further comments. One complained about too many AI-focused sessions.</p> +<p>The questionnaire also asked the respondents to rate individual sessions. This was done on a lexical scale (Excellent, Good, Not great, not terrible, and Not good). We recalculated the ratings into a numeric scale of 4 to 1, 4 being Excellent, i.e., the higher the number, the better the rating. Only sessions with enough ratings were considered.</p> +<p>Five best rated talks were:</p> +<ul> +<li>talk by P. Šimeček: Velké jazykové modely: naučte ChatGPT básnit a zkroťte si svou lamu (3.81)</li> +<li>talk by M. Brabenec: Tam a zase zpátky aneb cesta HTTP požadavku (3.78)</li> +<li>panel discussion Mýty a stereotypy o IT by M. Bajić, H. Javorek, L. Tvrdíková, Š. Melicharová, R. Hraška (3.73)</li> +<li>keynote by E. Gabašová: Transformational Power of Openness: Reflections on Open Science and Open Source (3.64)</li> +<li>keynote by K. Minařík: The Library and the Maze (3.64)</li> +</ul> +<p>Best rated workshops were delivered by D. Seager: Effective Communication (3.60) and D. R. Raneland: Test Driven Development For Everyone (3.00).</p> +<h2 id="opinions-on-the-programme">Opinions on the programme<small class="permalink"><a href="#opinions-on-the-programme" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>Several respondents complained that the agenda contained too many talks about ML/AI (even though half of attendees stated they were interested in it while purchasing their tickets). We still think it's a modern technology that many people work with, so we consider this to be a case of “you can't cater to everyone's taste”.</p> +<p>While several people complained that the talks did not go deep enough, there were others who praised the entry-level talks. This feedback is expected because our audience was very diverse regarding their programming skills, and we really focused on beginner content this year. PyCon CZ is not only about the programme but also about the community spirit and networking opportunities.</p> +<p>Nevermind the criticisms, 83% stated that they would likely or definitely attend again next time!</p> +<h2 id="fuckup">Fuckup<small class="permalink"><a href="#fuckup" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>The AV company let us down when they forgot to record speakers' screens. Therefore, they had to merge recordings of speakers with the slides manually, which resulted in low quality videos. Moreover, some talks were not recorded at all by mistake. In the end, there are videos of only about half of all presentations. We demanded and received a discount on AV services, but it is irreparable nevertheless. This is a huge learning for us that we must often check the quality of suppliers' services during the event, not solely rely on their word.</p> +<h1 id="photos">Photos<small class="permalink"><a href="#photos" title="Trvalý odkaz na tento nadpis">#</a></small></h1> +<p>Find official photos in these albums:</p> +<ul> +<li>Friday: <a href="https://photos.app.goo.gl/NrAZCSETfs3FyiAH8">https://photos.app.goo.gl/NrAZCSETfs3FyiAH8</a></li> +<li>Saturday: <a href="https://photos.app.goo.gl/EYXc2idtaTJ5YtL17">https://photos.app.goo.gl/EYXc2idtaTJ5YtL17</a></li> +<li>Sunday: <a href="https://photos.app.goo.gl/LrftL1CEijHGbcQ87">https://photos.app.goo.gl/LrftL1CEijHGbcQ87</a></li> +</ul> +<h1 id="budget">Budget<small class="permalink"><a href="#budget" title="Trvalý odkaz na tento nadpis">#</a></small></h1> +<p>PyCon CZ budget, just like any other event budget, strives to end up in black numbers, that is, with expenses lower than the income. The income comprises two sources: money made by selling tickets and funds raised from sponsors. When the event organising team starts working, they have to estimate the expenses based on the expected income. This year, we knew that we might struggle to partner with enough sponsors due to the complicated economic situation on the market. On the other hand, we definitely did not want to raise the ticket prices to amounts that many people wouldn't be able to pay.</p> +<p>We had numbers from the past that we could base our financial estimates on, but we also wanted to make some changes in what the event looks like compared to previous Prague conferences. For example, we wanted to provide attendees with warm lunches, which is way more expensive than serving just sandwiches and salads because you have to pay for the staff and culinary equipment, while prices of foods have gone up as well. So, while we paid CZK 184,000 in 2018 for 400 people, we spent CZK 700,000 this year for 600 people. We needed a bigger venue where the AV services were more expensive. We wanted to have a bigger Retro games lounge. We needed more coffee stands…</p> +<p>Luckily, we were able to connect with many partners who supported us financially, and received 2 grants from Python NGOs (EuroPython Society and Python Software Foundation). We are grateful to everyone who joined in to help us make PyCon CZ 23 reality!</p> +<p>Below, you can find detailed income and expense items; all amounts are in thousand CZK.</p> +<h2 id="income">Income<small class="permalink"><a href="#income" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>Total income was 2,271, of which:</p> +<ul> +<li>Tickets: 1,066</li> +<li>T-shirts: 42</li> +<li>Sponsors: 709</li> +<li>Grants: 454</li> +</ul> +<p>&amp; there was some available amount from previous conferences: 223</p> +<h2 id="expenses">Expenses<small class="permalink"><a href="#expenses" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>Total expenses were 2,430, of which:</p> +<ul> +<li>Main venue rent: 169</li> +<li>Furniture rent: 129</li> +<li>Childcare: 45</li> +<li>AV services: 445</li> +<li>Catering (breakfast, lunch, coffee break): 719</li> +<li>Coffee: 185</li> +<li>Afterparty drinks: 60</li> +<li>Speakers' dinner: 68</li> +<li>T-shirts: 83</li> +<li>Volunteers' t-shirts: 10</li> +<li>All other prints: 55</li> +<li>Web design: 46</li> +<li>Retro games: 20</li> +<li>Ticketing system and paygate fees: 53</li> +<li>Speaker submission system fee: 14</li> +<li>Cleaning services, waste disposal, portapotty: 29</li> +<li>Internet: 5</li> +<li>Financial aid for speakers: 41</li> +<li>Financial aid for attendees: 12</li> +<li>Refreshments for volunteers: 7</li> +<li>Volunteer reimbursements (travel and accommodation): 14</li> +<li>Other purchases, fees and payments: 20</li> +<li>Bára's (main organiser) reward: 126</li> +<li>Dan's reward: 75</li> +</ul> +<p>Therefore, the budget is finalised at plus CZK 64,000. This is not a huge amount but considering the current economic and social situation, we believe this is not a terrible result – our financial goal was to end up in black numbers. </p> +<h1 id="tldr-outro">tl;dr &amp; outro<small class="permalink"><a href="#tldr-outro" title="Trvalý odkaz na tento nadpis">#</a></small></h1> +<p>PyCon CZ 23 has been the biggest PyCon CZ yet, and we ended up with a balanced financial result. We implemented an extended beginners track which brought many new people into the community. We provided extensive childcare and took extra care to make the venue welcoming, e.g. designated quiet rooms or a portable toilet for people on wheelchairs. Attendees and speakers arrived from both the Czech Republic and foreign countries. Reading through their feedback and talking to attendees in person during the event, I have to say that most people enjoyed the conference, its programme and the atmosphere despite some unpleasant moments on the first day.</p> +<p>I know that we – the organising team – have learned a lot during the short time we had to prepare the event and during the event itself. I would love to thank each and every member of the team again: you are invaluable for the Czech Python community!</p> +<figure class="figure"><a href="https://blog.python.cz/images/pyconcz23_team.jpg" target="_blank" title="team on stage"><img alt="team on stage" src="https://blog.python.cz/images/thumbnails/pyconcz23_team.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<p><em>The final speech and giving thanks to the organisers and volunteers was an emotional moment</em></p> +<h1 id="2024">2024?<small class="permalink"><a href="#2024" title="Trvalý odkaz na tento nadpis">#</a></small></h1> +<p>What's next? Who knows! We have not formed a new organiser team, specifically, there is no main organiser ready to take on the challenge yet (as of June 2024). Should you wish to join our team, feel free to drop us a line at info@pycon.cz. And before we begin to prepare the next PyCon CZ, consider exploring and contributing to other community initiatives like PyLadies, Pyvo, PyData, and more!</p> +<figure class="figure"><a href="https://blog.python.cz/images/pyconcz23_pyramid.JPG" target="_blank" title="human pyramid"><img alt="human pyramid" src="https://blog.python.cz/images/thumbnails/pyconcz23_pyramid.JPG" class="figure-img img-fluid img-rounded"></a></figure> +<p><em>Building a human pyramid is a tradition, photo by Honza Javorek</em></p> +<p><em>Photos in this blogpost were taken by Bára Drbohlavová unless stated otherwise</em></p></div>Organizujeme sprinty. A ty můžeš taky!2024-04-29T11:33:00+02:002024-04-29T11:33:00+02:00Lumír Balhartag:blog.python.cz,2024-04-29:/organizujeme-sprinty-a-ty-muzes-taky<div><p>Lidé spojení určitým společným zájmem se rádi potkávají. V Python komunitě je přiležitostí mnoho – konference (<a href="https://cz.pycon.org/">PyConCZ</a>, <a href="https://europython.eu">EuroPython</a>), <a href="https://pyvo.cz/">srazy</a>, <a href="https://pyladies.cz/">kurzy</a>, <a href="http://pyworking.cz/">workshopy</a>, … a také sprinty – a o jednom takovém bude tento článek.</p> +<p>Ve více lidech se to lépe táhne a tak, pokud chcete komunitu posouvat kupředu, je nejlepší si na to dedikovat …</p></div><div><p>Lidé spojení určitým společným zájmem se rádi potkávají. V Python komunitě je přiležitostí mnoho – konference (<a href="https://cz.pycon.org/">PyConCZ</a>, <a href="https://europython.eu">EuroPython</a>), <a href="https://pyvo.cz/">srazy</a>, <a href="https://pyladies.cz/">kurzy</a>, <a href="http://pyworking.cz/">workshopy</a>, … a také sprinty – a o jednom takovém bude tento článek.</p> +<p>Ve více lidech se to lépe táhne a tak, pokud chcete komunitu posouvat kupředu, je nejlepší si na to dedikovat kousek volného času, někde se sejít a společně udělat kousek užitečné práce. To je nejčastější motivace k uspořádání sprintu. Sprint je z akcí výše jedna z mála, kterou dokážeš připravit i v jednom člověku.</p> +<p>Myšlenka vrátit se k tradici sprintů na východě už tu nějakou dobu byla. Poslední sprint se <a href="https://blog.python.cz/Sprint-na-vychode">konal v roce 2019</a> před <a href="https://blog.python.cz/PyConCZ_wrap_up_summary">PyConem v Ostravě</a>. No a tak stačilo, aby se pár zájemců ozvalo, a z myšlenky se začal tvořit plán.</p> +<p>V kalendáři jsme našli věc vzácnou jako kvalitní dokumentace – volný víkend – a plánování mohlo začít. Nejdříve je třeba zjistit zájem. Dům je sice relativně velký, ale místa a matrací není neomezeně. Neznamená to, že bychom omezovali počet účastníků, ale kdo se registruje později bude muset počítat s menším komfortem nebo třeba se stanem na zahradě. Proto je lepší dělat sprint za hezkého počasí nebo si sehnat dostatečně velké prostory. Naštěstí si někteří myslí, že Frýdek-Místek už je východní Ukrajina a tak se nám ještě nestalo, že bychom se nevešli.</p> +<p>Mezi zájemci o sprint mohou být i cizí lidé, a proto je třeba detaily dobře komunikovat. Máme doma taková a maková zvířata, přespat se u nás dát tak či onak, a doprava je možná těmito X způsoby. To jsou všechno vlastnosti, které rozhodují o tom, kdo bude ochoten se sprintu zúčastnit. U nás je např. třeba počítat se psem vycvičeným k tulení. Obráceně je také nezbytné zjistit něco málo o účastnících. Kdo má jaké možnosti dopravy a plány se na místo dostat. Dietní omezení se pak snadno řeší společným nákupem. Vše popsané se dá jednoduše oboustranně komunikovat jedním Google dokumentem, či tabulkou.</p> +<p>Jak se přiblížil den D, bylo třeba skočit na nákup a sehnat vše, co by mohli účastníci potřebovat k přežití. Protože některé věci jsem v životě nekupoval, jezdil jsem po obchodním domě chvílemi dokola jako pilot NASCAR, ale nakonec se povedlo vše sehnat. Náklady na sprint u nás nepadají na bedra hosta, ale buď se sežene sponzor, nebo máme možnost <a href="https://docs.pyvec.org/operations/support-money.html#">požádat o grant</a> naši neziskovku <a href="https://pyvec.org/">Pyvec</a>.</p> +<p>S menšími či většími potížemi se všichni zvládli dostat na místo. Někomu stačila rada z oblasti místopisu, jiný potřeboval vyzvednout na nádraží. Ať tak nebo tak, v pátek odpoledne už jsme všichni byli bezpečně na místě. Proběhla nezbytná prohlídka domu, rychlá instruktáž (tady spíte, tady je toaleta, tady je jídlo, heslo na wifi, …) a mohli jsme začít debatovat. Pátek byl pro většinu pracovní den, a tak se k počítačům nikomu nechtělo. Navíc v konkurenci venkovního táboráku.</p> +<p>To hlavní se dělo v sobotu. Ráno snídaně v loveckém stylu – ulov si co chceš – a pak hurá do práce. Kdo neměl úkoly vymyšlené, tomu byly přiděleny. Můj hlavní úkol byl udržet pracující v maximální pohodě. Jídlo, pití, elektřina, připojení k internetu, zobání, canisterapie, objednávka oběda, hudba, plánování večera, nákup potravin a tak dále. Moc jsem toho na počítači neudělal, ale staral jsem se o to, aby toho hodně udělali jiní. Chvílemi se intenzivně programovalo, pak diskutovalo a plánovalo, a i v relativně malém počtu lidí se sloupec Done na našem kanban boardu plnil velmi rychle.</p> +<p>Odpolední pracovní nasazení přešlo volně k večernímu posezení u táboráku, opékání buřtů, grilování sýrů a diskusím na různá témata.</p> +<p>V neděli se někteří museli vydat na cestu k domovu časně ráno, takže jsem jim pomohl se dopravit na vlak. Něco málo se ještě stihlo udělat, či alespoň připravit, a mým hlavním úkolem bylo zajistit snídani, úklid a následně všechny bezpečně dopravit na vlak.</p> +<p>Povedlo se! Co se na začátku zdálo jako stres a spousta práce, nakonec uteklo jako voda, a na konci sice bylo unavené tělo, ale velmi spokojená duše.</p> +<p>A pokud tě zajímá, co všecho jsme udělali a odkud se účastníci sjeli, přečti si Anežčin <a href="https://blog.python.cz/Report-ze-sprintu-na-vychode">report ze sprintu</a>.</p></div>Report ze Sprintu na východě2024-04-28T18:00:00+02:002024-04-28T18:00:00+02:00Anežka Müllertag:blog.python.cz,2024-04-28:/Report-ze-sprintu-na-vychode<div><p>Letos v dubnu se nám podařilo v Python komunitě obnovit jednu z dříve tradičních akcí, Sprint na východě. +Před časem jste si na blogu mohli přečíst o <a href="https://blog.python.cz/Letni-sprinty-Python-komunity-v-Msenem">letních sprintech</a>. +Ty probíhají tradičně koncem léta na západě republiky. </p> +<p>Protože jsou ale Pythonisti a Pythonistky rozesetí po celé republice, letní sprinty doplňuje …</p></div><div><p>Letos v dubnu se nám podařilo v Python komunitě obnovit jednu z dříve tradičních akcí, Sprint na východě. +Před časem jste si na blogu mohli přečíst o <a href="https://blog.python.cz/Letni-sprinty-Python-komunity-v-Msenem">letních sprintech</a>. +Ty probíhají tradičně koncem léta na západě republiky. </p> +<p>Protože jsou ale Pythonisti a Pythonistky rozesetí po celé republice, letní sprinty doplňuje jarní sprint na východě, konkrétně v Lískovci u Frýdku. +Účastnictvo vděčí za pohostinnost Lumírovi a Hance, kteří mají v Lískovci domek se zahradou, psem, kočkou a hadem, a poskytují tak sprintu základnu a zázemí. </p> +<p><a href="https://blog.python.cz/images/vychod1.jpg" target="_blank" title="sprint_na_vychode_1"><img alt="sprint_na_vychode_1" src="https://blog.python.cz/images/thumbnails/vychod1.jpg" class="img-fluid img-rounded"> +</a><a href="https://blog.python.cz/images/vychod2.jpg" target="_blank" title="sprint_na_vychode_2"><img alt="sprint_na_vychode_2" src="https://blog.python.cz/images/thumbnails/vychod2.jpg" class="img-fluid img-rounded"></a></p> +<h3 id="ucast">Účast<small class="permalink"><a href="#ucast" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<p>Sprint na východě býval vždy komornější, než letní sprinty v Mšeném, což se potvrdilo i letos. +Zachovává si však svou pestrost a nijak si nezadá množstím odpracovaných úkolů.</p> +<p>Jak tedy vypadala letošní účast?</p> +<ul> +<li>Sešli jsme se v počtu 11 lidí (6 žen, 3 muži, 2 děti).</li> +<li>Na sprintu měly zastoupení PyLadies z Brna, Ostravy a Olomouce. </li> +<li>Z různých oblastí byly zastoupeny (drobně zobecněno, omluva všem lokálním patriotům) Ostrava, Hranice, Olomouc, Brno a Praha. </li> +<li>Sešly se zde čtyři různé národnosti: česká, slovenská, polská a bosenská.</li> +</ul> +<h3 id="prubeh">Průběh<small class="permalink"><a href="#prubeh" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<p>Sjeli jsme se v pátek večer a zahájili víkend táborákem a socializací. +Samotný pracovní sprint pak začal v sobotu ráno a pokračoval až do pozdního večera pouze s přestávkami na jídlo a zmrzlinu. +Vytvořili jsme si i <a href="https://github.com/orgs/pyvec/projects/6">projekt v GitHubu Pyvce</a>, abychom mohli sledovat progres. </p> +<figure class="figure"><a href="https://blog.python.cz/images/vychod3.jpg" target="_blank" title="sprint_na_vychode_3"><img alt="sprint_na_vychode_3" src="https://blog.python.cz/images/thumbnails/vychod3.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<p>Během soboty a nedělního dopoledne jsme zvládli dokončit celkem 20 tasků, mezi kterými byly například aktualizace materiálů na <a href="https://naucse.python.cz/">Nauč se Python!</a>, aktualizace <a href="https://pyladies.cz/faq/">častých dotazů na stránkách PyLadies</a> a celková údržba tohoto webu (pročištění dat, odbavení starších issues z GitHubu), zpracování videí z brněnského Pyva, ale i zajištění wellbeingu účastníků (příprava dřeva, špekáčků a hermelínů na večeři), což je velmi důležitá součást sprintů. +Několik úkolů je ještě těsně před dokončením nebo chybí jen reviews, takže se odvážím tvrdit, že se v následujících dnech finální číslo ještě zvýší.</p> +<figure class="figure"><a href="https://blog.python.cz/images/vychod5.jpg" target="_blank" title="sprint_na_vychode_5"><img alt="sprint_na_vychode_5" src="https://blog.python.cz/images/vychod5.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<h3 id="zaverem">Závěrem<small class="permalink"><a href="#zaverem" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<p>Osobně jsem moc ráda, že se podařilo po delší pauze opět uspořádat Sprint na východě. +Otevírá se tím další příležitost pro Python komunitu setkat se naživo, lokalita přiláká jiné lidi než Mšené, někomu může také vyhovovat komornější atmosféra (jsem jednou z takových lidí).</p> +<p>A mimochodem, tento sprint proběhl zcela bez alkoholu, jen na birellech, čaji a kávě. </p> +<p>Díky moc Lumírovi a Hance za zázemí a domáckou pohodu, a taky všem, co vážili cestu na východ, aby s námi strávili prima víkend.</p> +<p>Těším se zase za rok!</p> +<figure class="figure"><a href="https://blog.python.cz/images/vychod4.png" target="_blank" title="sprint_na_vychode_4"><img alt="sprint_na_vychode_4" src="https://blog.python.cz/images/vychod4.png" class="figure-img img-fluid img-rounded"></a></figure> +<p>A kdo by se s námi chtěl potkat dřív, určitě bude příležitost ve Mšeném na letním sprintu. +Budeš-li se chtít přidat, napiš na info@pyvec.org a my ti dáme vědět!</p> +<figure class="figure"><a href="https://blog.python.cz/images/vychod6.jpg" target="_blank" title="sprint_na_vychode_6"><img alt="sprint_na_vychode_6" src="https://blog.python.cz/images/vychod6.jpg" class="figure-img img-fluid img-rounded"></a></figure></div>Prague Python Pizza has Arrived to Prague2024-03-04T18:00:00+01:002024-03-04T18:00:00+01:00Mia Bajictag:blog.python.cz,2024-03-04:/prague-python-pizza<div><p><a href="https://python.pizza/">Python Pizza</a>, an event that unites Python enthusiasts and pizza lovers, started its journey in Italy, the birthplace of pizza. After making its way through many cities, it has finally arrived in Prague. +This marks the very first time <a href="https://prague.python.pizza/">this unique gathering</a> has taken place here, offering our community a …</p></div><div><p><a href="https://python.pizza/">Python Pizza</a>, an event that unites Python enthusiasts and pizza lovers, started its journey in Italy, the birthplace of pizza. After making its way through many cities, it has finally arrived in Prague. +This marks the very first time <a href="https://prague.python.pizza/">this unique gathering</a> has taken place here, offering our community a fantastic chance to connect, share knowledge, and eat some delicious pizza!</p> +<p><a href="https://blog.python.cz/images/ppp/pizza.jpeg" target="_blank" title="pizza"><img alt="pizza" src="https://blog.python.cz/images/ppp/thumbnails/pizza.jpeg" class="img-fluid img-rounded"> +</a><a href="https://blog.python.cz/images/ppp/tshirt.jpeg" target="_blank" title="tshirt"><img alt="tshirt" src="https://blog.python.cz/images/ppp/thumbnails/tshirt.jpeg" class="img-fluid img-rounded"></a></p> +<h2 id="talks">Talks<small class="permalink"><a href="#talks" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>We had a total of 22 speakers, with 6 being first-time presenters. Our schedule included two keynotes, each 30 minutes long, while the other talks were kept to 10 minutes. The concept of short talks aims to expand knowledge and keep the audience engaged without losing focus or attention.</p> +<p><a href="https://blog.python.cz/images/ppp/bilge.jpeg" target="_blank" title="bilge"><img alt="bilge" src="https://blog.python.cz/images/ppp/thumbnails/bilge.jpeg" class="img-fluid img-rounded"> +</a><a href="https://blog.python.cz/images/ppp/lukasz.jpeg" target="_blank" title="lukasz"><img alt="lukasz" src="https://blog.python.cz/images/ppp/thumbnails/lukasz.jpeg" class="img-fluid img-rounded"></a></p> +<h2 id="attendees">Attendees<small class="permalink"><a href="#attendees" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>We wanted to keep prices as low as possible to make the event accessible, so the price for an on-site ticket was a symbolic 300 CZK or 12 EUR. +The venue had a maximum capacity of 100 people, so we sold 70 tickets, and we had 22 speakers + 5 organizers and 2 volunteers. Around 85 people in total checked in at the venue. The question about where people come from was optional, and out of the people who replied, around 75% came from the Czech Republic and 25% from abroad. A significant number of attendees are from Krakow, Poland. +We tried promoting the event in different social circles and reaching out to a diverse audience. We gave free tickets to PyLadies and CyberLadies, non-profit organizations supporting underrepresented groups in IT. +Remote tickets were for free, and we sold an equal amount of remote tickets - 100.</p> +<p><a href="https://blog.python.cz/images/ppp/karolina.jpeg" target="_blank" title="karolina"><img alt="karolina" src="https://blog.python.cz/images/ppp/thumbnails/karolina.jpeg" class="img-fluid img-rounded"> +</a><a href="https://blog.python.cz/images/ppp/miro.jpeg" target="_blank" title="miro"><img alt="miro" src="https://blog.python.cz/images/ppp/thumbnails/miro.jpeg" class="img-fluid img-rounded"></a></p> +<h2 id="code-of-conduct-report">Code of Conduct Report<small class="permalink"><a href="#code-of-conduct-report" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>We set up a <a href="https://prague.python.pizza/#coc">code of conduct</a> and had organizers ready to jump in if needed. We’re happy to report that no code of conduct incidents appeared.</p> +<h2 id="feedback">Feedback<small class="permalink"><a href="#feedback" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>We conducted a survey among all attendees to gather their opinions on the event. We're very pleased to report that we received 35 responses in total, which represents half of the attendees filling in the form. +Approximately 85.7% of respondents rated the event with the highest score of 4 points - "I loved it," while the remaining 14.3% awarded it 3 points. This indicates that all surveyed attendees enjoyed the event.</p> +<figure class="figure"><a href="https://blog.python.cz/images/ppp/how-did-you-like.png" target="_blank" title="how-did-you-like"><img alt="how-did-you-like" src="https://blog.python.cz/images/ppp/how-did-you-like.png" class="figure-img img-fluid img-rounded"></a></figure> +<p>Regarding the program and talks, 62.9% of attendees gave the highest rating of 4 points ("The program was great"), 34.3% gave it 3 points, and only one person rated it with two points.</p> +<figure class="figure"><a href="https://blog.python.cz/images/ppp/how-did-you-enjoy.png" target="_blank" title="how-did-you-enjoy"><img alt="how-did-you-enjoy" src="https://blog.python.cz/images/ppp/how-did-you-enjoy.png" class="figure-img img-fluid img-rounded"></a></figure> +<p>About 91.4% of respondents expressed they would definitely consider attending again, with a small 8.6% indicating a 'maybe'.</p> +<figure class="figure"><a href="https://blog.python.cz/images/ppp/would-you-attend.png" target="_blank" title="would-you-attend"><img alt="would-you-attend" src="https://blog.python.cz/images/ppp/would-you-attend.png" class="figure-img img-fluid img-rounded"></a></figure> +<p>Some feedback suggested the need for a larger venue. We recognize the venue's size limitations but we chose a smaller space for this initial run of Python Pizza in Prague, as we were uncertain about the expected number of attendees. Bigger venues are commercial and more expensive, and we aimed to keep the ticket price as low as possible. +At the same time, many surveyed attendees mentioned that they really liked the venue for its beauty and central location. +We're also very pleased that two people mentioned feeling safe - we aimed to make the event inclusive for underrepresented groups in computing.</p> +<p>The opportunity given to less experienced speakers was also highlighted. We're glad to hear this, considering the format of 10-minute-long talks is challenging for beginners, and the content was mostly advanced. +Other positive comments focused on the sense of community, relaxed atmosphere, social events, and interactions with speakers.</p> +<p><a href="https://blog.python.cz/images/ppp/everyone.jpeg" target="_blank" title="everyone"><img alt="everyone" src="https://blog.python.cz/images/ppp/thumbnails/everyone.jpeg" class="img-fluid img-rounded"> +</a><a href="https://blog.python.cz/images/ppp/afterparty.jpeg" target="_blank" title="afterparty"><img alt="afterparty" src="https://blog.python.cz/images/ppp/thumbnails/afterparty.jpeg" class="img-fluid img-rounded"></a></p> +<h2 id="stream-url">Stream URL<small class="permalink"><a href="#stream-url" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>If you'd like to watch the event online, check out <a href="https://www.youtube.com/watch?v=KdFXjYURlws">the stream recording</a>.</p></div>Jak jsme z těžítek udělali užitečné notebooky pro žáky2024-01-17T13:55:00+01:002024-01-17T13:55:00+01:00Lumír Balhartag:blog.python.cz,2024-01-17:/jak-jsme-z-tezitek-udelali-uzitecne-notebooky-pro-zaky<div><p>V moderní době výkonného a kvalitního hardware není výjimkou, když telefon, tablet nebo notebook, který je jinak stále ve skvělé kondici, dojde na konec svého životního cyklu, protože přestane dostávat softwarové aktualizace. To se nejprve projeví na horším zabezpečení a následně i na použitelnosti, protože moderní aplikace přestávají na neaktualizovaném …</p></div><div><p>V moderní době výkonného a kvalitního hardware není výjimkou, když telefon, tablet nebo notebook, který je jinak stále ve skvělé kondici, dojde na konec svého životního cyklu, protože přestane dostávat softwarové aktualizace. To se nejprve projeví na horším zabezpečení a následně i na použitelnosti, protože moderní aplikace přestávají na neaktualizovaném systému jedna po druhé fungovat. Funkční zařízení se ale přece nevyhazují a tak by se na školách po celé republice jistě našla nejedna skříň plná zařízení, která sice fungují, ale nikdo je nepoužívá.</p> +<figure class="figure"><a href="https://blog.python.cz/images/old_pc_clipart.png" target="_blank" title="clipart starý počítač"><img alt="clipart starý počítač" src="https://blog.python.cz/images/thumbnails/old_pc_clipart.png" class="figure-img img-fluid img-rounded"></a></figure> +<p>Nejiná byla situace i na GALILEO SCHOOL - bilingvní mateřské škole a základní škole, s.r.o. ve Frýdku-Místku, kde měli k dispozici téměř čtyři desítky skoro deset let starých chromebooků Thinkpad. Jejich baterie byla stále ve skvělé kondici, procesor a další komponenty na kancelářskou práci dostačující, ale v zastaralém prohlížeči už moderní kancelářské balíky odmítly fungovat. Místní učitelku a absolventku začátečnického kurzu programování v komunitě PyLadies Ostrava Zuzku Grosmanovou napadlo, že tento problém musí mít nějaké řešení, a tak se ozvala ostravské komunitě a započalo hledání řešení.</p> +<p>V tuto chvíli by se mohlo zdát, že reinstalaci operačního systému nebude nic bránit, a nebude tedy ani o čem referovat. Opak je pravdou. Chromebooky mají firmware na základní desce chráněn proti přepisu, a proto jej nelze jednoduše nahradit. Bez nového fimware ale nejde provést reinstalaci operačního systému, jak jsme zvyklí z obyčejných počítačů.</p> +<p>O nějakých pár hodin hledání na internetu a mnoha vyšroubovaných šroubcích později jsme se dostali do stavu, kdy šroubek zajišťující hardwarovou ochranu firmwaru proti přepisu konečně opustil své místo na základní desce a nic nebránilo aktualizaci firmwaru a reinstalaci operačního systému.</p> +<figure class="figure"><a href="https://blog.python.cz/images/research.jpg" target="_blank" title="rozebraný chromebook"><img alt="rozebraný chromebook" src="https://blog.python.cz/images/thumbnails/research.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<p>Všechny testovacích kusy tento pokus přežily a testování na škole potvrdilo, že je nový systém pro žáky vyhovující. Jenže co se zbylými stroji? S trochou tréninku zabrala hardwarová část na jednom stroji přibližně 25 minut a reinstalace pak dalších 30. To bychom sami dělali věčnost. Co nezvládneme automatizovat, na to musí přijít hrubá (komunitní) lidská síla.</p> +<p>Nejprve jsme na <a href="https://pyvo.cz/ostrava-pyvo/">Pyvu v Ostravě</a> udělali o našich pokusech krátké povídání a abychom případné zájemce navnadili, jeden z notebooků jsme rozebrali i přímo na místě.</p> +<figure class="figure"><a href="https://blog.python.cz/images/pyvo.jpg" target="_blank" title="chromebook na Pyvu"><img alt="chromebook na Pyvu" src="https://blog.python.cz/images/thumbnails/pyvo.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<p>A světe div se, našlo se dost lidí ochotných věnovat část svého volného času o víkendu dobré věci. Den D nastal v neděli 12. ledna 2024 v 9 ráno. Sešli jsme se v úctyhodném počtu patnácti dobrovolníků v prostorách GALILEO SCHOOL, usedli do lavic a hned se vrhli do práce. Mladší z nás byli v dobře známém prostředí, ti starší se do školních lavic vrátili po mnoha letech. Někteří montovali, jiní instalovali a do hodiny nabrala celá práce nevídaných obrátek. Notebooky na hardwarovou část postupně docházely a instalaci se dařilo dělat na mnoha strojích paralelně.</p> +<figure class="figure"><a href="https://blog.python.cz/images/ukazka_ve_skole.jpg" target="_blank" title="ukázka ve škole"><img alt="ukázka ve škole" src="https://blog.python.cz/images/thumbnails/ukazka_ve_skole.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<figure class="figure"><a href="https://blog.python.cz/images/prace_ve_skole.jpg" target="_blank" title="práce ve škole"><img alt="práce ve škole" src="https://blog.python.cz/images/thumbnails/prace_ve_skole.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<p>Předem připravený návod na reinstalaci, ochota si maximálně pomáhat, dobrá káva a skvělá organizace celé akce udělaly z různorodé skupinky lidí, z nichž se někteří viděli úplně poprvé, dobře organizovanou pracovní sílu s jasným cílem, který se dařilo velice rychle plnit.</p> +<figure class="figure"><a href="https://blog.python.cz/images/prace_ve_skole_fisheye.jpg" target="_blank" title="práce ve škole"><img alt="práce ve škole" src="https://blog.python.cz/images/thumbnails/prace_ve_skole_fisheye.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<p>Chvílemi se zdálo, že ani nebude třeba řešit oběd. Pracovníci bohatě předčili naše očekávání a krátce po jedné hodině odpoledne už skoro nebylo co dělat. Až na pár strojů, které budou ještě vyžadovat speciální péči, se celá akce vydařila na výbornou a co bylo zbytečným těžítkem ve skříni, už opět slouží žákům.</p> +<figure class="figure"><a href="https://blog.python.cz/images/plnici_se_bedny.jpg" target="_blank" title="plnící se přepravky"><img alt="plnící se přepravky" src="https://blog.python.cz/images/thumbnails/plnici_se_bedny.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<p>Poděkování patří všem, kteří neváhali a zapojili se do prospěšné činnosti. Věřím, že jsme si z toho všichni odnesli nejen dobrý pocit.</p></div>Deset let Pyva v Ostravě2023-11-10T11:58:00+01:002023-11-10T11:58:00+01:00Lumír Balhartag:blog.python.cz,2023-11-10:/deset-let-pyva-v-ostrave<div><p>Zdá se mi to vcelku neuvěřitelné, ale Pyvo v Ostravě letos v listopadu oslavilo 10 let existence na meetupové scéně. To si vyloženě říká o krátkou rekapitulaci.</p> +<figure class="figure"><a href="https://blog.python.cz/images/pyvo_ostrava_narozeniny.jpg" target="_blank" title="image description"><img alt="image description" src="https://blog.python.cz/images/thumbnails/pyvo_ostrava_narozeniny.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<h2 id="jak-to-tenkrat-zacalo">Jak to tenkrát začalo<small class="permalink"><a href="#jak-to-tenkrat-zacalo" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>Historie srazů Python komunity v České republice se začala psát někdy kolem roku 2011 a už dva roky poté …</p></div><div><p>Zdá se mi to vcelku neuvěřitelné, ale Pyvo v Ostravě letos v listopadu oslavilo 10 let existence na meetupové scéně. To si vyloženě říká o krátkou rekapitulaci.</p> +<figure class="figure"><a href="https://blog.python.cz/images/pyvo_ostrava_narozeniny.jpg" target="_blank" title="image description"><img alt="image description" src="https://blog.python.cz/images/thumbnails/pyvo_ostrava_narozeniny.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<h2 id="jak-to-tenkrat-zacalo">Jak to tenkrát začalo<small class="permalink"><a href="#jak-to-tenkrat-zacalo" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>Historie srazů Python komunity v České republice se začala psát někdy kolem roku 2011 a už dva roky poté přišlo tehdejším organizátorům Pyva v Brně – Honzovi Jakovorkovi a Petru Viktorinovi, že je to koncept hodný rozšíření do dalších měst. Udělali si plánovací výlet na sever do Ostravy, našli vhodné prostory a v listopadu 2013 zorganizovali první Pyvo. Nevzpomínám si, jak jsem se k tomu tehdy dostal, ale nahlásil jsem si na první Pyvo krátkou přednášku o problémech s IPv6. V té době jsem se daleko více věnoval sítím než programování a krátce předtím jsem navštívil LinuxDays, kde jsem se o tomto tématu hodně dozvěděl, takže jsem se chtěl rovnou o nové znalosti podělit. Přednáška dopadla dobře, i když jsem byl nervózní až na půdu, a tak jsem v dobrém rozmaru na místě slíbil, že zorganizuji další Pyvo.</p> +<p>Druhé Pyvo ­– a první pod mou taktovkou – se konalo v prosinci 2013 ve Sport clubu. To už jsme se více věnovali Pythonu a Petr nám pověděl spoustu zajímavostí o iterátorech.</p> +<p>Vlastně ani nevím, jestli jsem se v té době chtěl více věnovat Pythonu a tedy programování než správě Linuxových systémů a sítí a proto jsem se pustil do organizace Pyva, nebo mi na srazech přišlo programování v Pythonu tak zajímavé, že jsem se to chtěl naučit. Tak nebo tak to ovlivnilo mou kariéru na dlouhá léta.</p> +<h2 id="vzestupy-pady-a-cisla">Vzestupy, pády a čísla<small class="permalink"><a href="#vzestupy-pady-a-cisla" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>Od té doby to šlo někdy nahoru a někdy dolů. Několikrát jsem měl chuť toho nechat a párkrát jsme si dali kratší nebo delší pauzu, ale vydrželi jsme to celou dekádu. Jak vlastně vypadalo těch deset let v číslech?</p> +<p>Za deset let jsme zorganizovali celkem 106 srazů. Nejdéle jsme to bez přestávky vydrželi 32 měsíců od září 2016 do dubna 2019. Naopak nejdelší pauzu nám způsobil Covid a trvala pět měsíců. Protože se Pyvo konalo v prvním týdnu každého měsíce, nejčastěji jsme vynechávali v květnu a lednu kvůli státním svátkům. Nejdále od Ostravy jsme Pyvo vyvezli až na Ostravici, kde se sraz konal v Beskydském pivovárku. Celkem jsme Pyvo uspořádali na třinácti různých místech ve čtyřech městech. Sport club, kde se konalo druhé Pyvo, se za tu dobu stihl přetvořit na Palouk, kde se konají Pyva dnes.</p> +<h2 id="retrospektiva">Retrospektiva<small class="permalink"><a href="#retrospektiva" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>Při zpětném pohledu musím přiznat, že bych spoustu věcí dnes dělal jinak. Na začátku jsme se hodně snažili o dobrý obsah a kvalitní přednášky a měli jsme radost, když nám na dobré téma přišlo hodně lidí. Hodně jsme se věnovali propagaci a dokonce jsme bombardovali univerzity letáčkama. Když už nám docházeli lidé ochotní přednášet (a často také přijet z daleka), chystal jsem obsah sám a často jsem se věci učil, jen abych o nich mohl na Pyvu mluvit. To se projevilo, protože když téma nebylo tak zajímavé nebo třeba žádné nebo když se chtěla nějaká aktivita po účastnících, přišlo jich hned o poznání méně. Jednou nebo dvakrát se dokonce stalo, že jsem byl na Pyvu sám. Dal jsem si večeři, pustil jsem si přednášku ze záznamu na plátně a šel domů.</p> +<p>V roce 2016 jsme v Ostravě rozjeli komunitu PyLadies a začali organizovat kurzy pro začátečníky, ale bohužel ani ze stovek účastníků se nám do komunity moc lidí nepřidalo. Snažili jsme se velmi, ale asi jsme neporazili ten předsudek, že na p(i/y)vo se s učiteli nechodí.</p> +<p>Počet účastníků zkrátka nemůže být dobrá metrika pro sraz, který se dělá ve volném čase bez velkého sponzora. Naštěstí se za tu dobu našlo dostatek lidí, kterým nešlo jen o obsah, ale chodili si hlavně popovídat s ostatními, podělit se o své zkušenosti a názory nebo se jinak aktivně zapojit.</p> +<p>Mám z Pyva v Ostravě velkou radost. I kdybychom jej už nikdy neudělali, povedlo se nám za ty roky toho spoustu navzájem naučit, poznat hromadu zajímavých lidí a já si díky Pyvu našel i svou současnou práci, ale to je příběh na někdy jindy.</p></div>PyLadies & Pyvo – Byly jsme na EuroPythonu2023-08-29T18:00:00+02:002023-08-29T18:00:00+02:00Karolina Surma, Mia Bajictag:blog.python.cz,2023-08-29:/pyladies-byly-jsme-na-europythonu<div><p>Do Prahy letos poprvé doputovala konference EuroPython. +Mezi 17. 7. a 23. 7. 2023 jste tam mohli potkat velkou část české Python komunity. +EuroPython nám poskytl jak možnost posílit vazby v naší komunitě, tak šanci rozšířit sítě do mezinárodních vod.</p> +<p>S PyLadies a s Pyvem jsme to nemohly zmeškat!</p> +<figure class="figure"><a href="https://blog.python.cz/images/samolepky_pyladies_2023.jpg" target="_blank" title="samolepky_pyladies"><img alt="samolepky_pyladies" src="https://blog.python.cz/images/thumbnails/samolepky_pyladies_2023.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<h2 id="aktivity-pyladies">Aktivity …</h2></div><div><p>Do Prahy letos poprvé doputovala konference EuroPython. +Mezi 17. 7. a 23. 7. 2023 jste tam mohli potkat velkou část české Python komunity. +EuroPython nám poskytl jak možnost posílit vazby v naší komunitě, tak šanci rozšířit sítě do mezinárodních vod.</p> +<p>S PyLadies a s Pyvem jsme to nemohly zmeškat!</p> +<figure class="figure"><a href="https://blog.python.cz/images/samolepky_pyladies_2023.jpg" target="_blank" title="samolepky_pyladies"><img alt="samolepky_pyladies" src="https://blog.python.cz/images/thumbnails/samolepky_pyladies_2023.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<h2 id="aktivity-pyladies">Aktivity PyLadies<small class="permalink"><a href="#aktivity-pyladies" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>S nápadem, že oslovíme organizátory EuroPythonu, přišla <strong>Monika Bláhová</strong> z brněnských PyLadies. +Vděčíme jí za rozhýbání a finální rozsah prezentace PyLadies na EuroPythonu. +Původně byl v plánu pouze večerní sraz PyLadies a příznivců, z něhož se postupně vyklubaly další aktivity. +Realizace dopadla na výbornou díky nasazení, které do příprav vložila <strong>Mia Bajić</strong>. Díky!</p> +<figure class="figure"><a href="https://blog.python.cz/images/czech_python_at_eupy.jpg" target="_blank" title="aktivity_Python_komunity_na_EuPy"><img alt="aktivity_Python_komunity_na_EuPy" src="https://blog.python.cz/images/thumbnails/czech_python_at_eupy.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<h3 id="hadi-workshop">Hadí workshop<small class="permalink"><a href="#hadi-workshop" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<p><strong>17. 7. 2023</strong>, hned na začátku konference, se konal celodenní <a href="https://ep2023.europython.eu/pyladies-workshop">Hadí workshop</a> +(zmiňován již zde na blogu <a href="https://blog.python.cz/pyladies-snake-report">v roce 2019</a> a <a href="https://blog.python.cz/Hadi-workshop-v-Brne]">2020</a>). +Ovšem letos to bylo poprvé <strong>anglicky</strong>. +Workshop opět nachystal a bravurně přednesl <strong>Petr Viktorin</strong> s výpomocí party <strong>kouček a koučů</strong> z Prahy, Plzně a Brna. +Někteří s námi koučovali vůbec poprvé, vítáme je v komunitě :)</p> +<figure class="figure"><a href="https://blog.python.cz/images/snake-workshop-eupy-2023.jpg" target="_blank" title="snake_workshop"><img alt="snake_workshop" src="https://blog.python.cz/images/thumbnails/snake-workshop-eupy-2023.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<h3 id="pyladies-social-event">PyLadies Social Event<small class="permalink"><a href="#pyladies-social-event" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<p><strong>21. 7. 2023</strong>, tentokrát na zakončení konference, jsme pozvaly všechny PyLadies a příznivce na <a href="https://ep2023.europython.eu/pyladies-social-event">večerní společenský event</a>. +Do Hospůdky na Hradbách dorazilo přes 80 účastnic a účastníků konference. +Akce sklidila velký úspěch.</p> +<h2 id="pyvo">Pyvo<small class="permalink"><a href="#pyvo" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>V Praze už přes 10 let každou třetí středu v měsíci probíhá pražské Pyvo a EuroPython se konal přesně v tomto týdnu. +Ve spolupráci s pořadateli EuroPythonu jsme naplánovaly společné Pyvo, abychom daly naší místní komunitě příležitost pokecat s účastníky EuroPythonu. +Na Pyvo přišlo kolem 150 lidí a bylo to zatím největší a organizačně nejnáročnější Pyvo, jaké jsme v našich dějinách organizovaly. +Jsme velmi rády, že se nám podařilo vytvořit skvělý program a dát místní komunitě příležitost potkat se s lidmi z celého světa. +Zároveň jsme udělaly skvělé promo české komunity pro lidi ze zahraničí.</p> +<h2 id="oss-stul">OSS stůl<small class="permalink"><a href="#oss-stul" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>Česká komunita byla pozvaná k vystavení stolu v prostoru pro Open Source projekty. +Dohodly jsme se na společné propagaci PyLadies, meetupů Pyvo, PyData a letošní edice konference <a href="https://cz.pycon.org/2023/">PyCon CZ</a> (již od 15. září!).</p> +<figure class="figure"><a href="https://blog.python.cz/images/oss_table_at_eupy_2023.jpg" target="_blank" title="OSS_stul_Python_komunity"><img alt="OSS_stul_Python_komunity" src="https://blog.python.cz/images/thumbnails/oss_table_at_eupy_2023.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<h2 id="podekovani">Poděkování<small class="permalink"><a href="#podekovani" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>Díky <a href="https://docs.pyvec.org/operations/support-money.html">grantu</a>, který PyLadies udělil Pyvec, nezisková organizace naší komunity, jsme mohly nabídnout návštěvnicím a návštěvníkům kvalitní samolepky s naším logem ve čtyřech barvách. Díky!</p> +<p>Rády bychom také poděkovaly členům <a href="https://www.europython-society.org/">EuroPython Society Boardu</a> za pozvánku na konferenci, volné lístky pro členy naší komunity a za skvělou spolupráci! Díky!</p> +<p>Příště nás najdete na konferenci PyCon CZ 23. Samolepky využíjeme také na lokálních eventech a všude, kde se budou konat aktivity pod naší hlavičkou.</p></div>Letní sprinty Python komunity v Mšeném2022-09-22T08:00:00+02:002022-09-22T08:00:00+02:00Anežka Müllertag:blog.python.cz,2022-09-22:/Letni-sprinty-Python-komunity-v-Msenem<div><p>Už tradičně se v průběhu léta sjíždí Pythonisti a Pythonistky ze všech koutů republiky směrem k Roudnici nad Labem do lázeňské obce Mšené-lázně. +Naším cílem je chalupa rodiny Vysokých, která nám už od roku 2016 skýtá útočiště pro letní komunitní víkendovku. </p> +<figure class="figure"><a href="https://blog.python.cz/images/sprint_1.JPG" target="_blank" title="sprint_msene_1"><img alt="sprint_msene_1" src="https://blog.python.cz/images/thumbnails/sprint_1.JPG" class="figure-img img-fluid img-rounded"></a></figure> +<p>Na těchto víkendových sprintech se snažíme společně posouvat dopředu …</p></div><div><p>Už tradičně se v průběhu léta sjíždí Pythonisti a Pythonistky ze všech koutů republiky směrem k Roudnici nad Labem do lázeňské obce Mšené-lázně. +Naším cílem je chalupa rodiny Vysokých, která nám už od roku 2016 skýtá útočiště pro letní komunitní víkendovku. </p> +<figure class="figure"><a href="https://blog.python.cz/images/sprint_1.JPG" target="_blank" title="sprint_msene_1"><img alt="sprint_msene_1" src="https://blog.python.cz/images/thumbnails/sprint_1.JPG" class="figure-img img-fluid img-rounded"></a></figure> +<p>Na těchto víkendových sprintech se snažíme společně posouvat dopředu různé aktivity podporující a rozvíjející českou Python komunitu, na které není ve zbytku roku dostatek prostoru. +Cílem sprintu je společně něco vymyslet, naprogramovat, vylepšit, nebo třeba jen probrat a domluvit. +Není to ale jen pracovní víkend, je to pro nás příležitost potkat se napříč republikou, s některými se vůbec poprvé poznat osobně, posedět u ohně, zahrát si, zazpívat, společně se bavit.</p> +<figure class="figure"><a href="https://blog.python.cz/images/sprint_2.jpg" target="_blank" title="sprint_msene_2"><img alt="sprint_msene_2" src="https://blog.python.cz/images/thumbnails/sprint_2.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<h3 id="kdo-na-sprint-jezdi">Kdo na sprint jezdí?<small class="permalink"><a href="#kdo-na-sprint-jezdi" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<p>Akce je otevřená pro každého, nemusíš na ní nikoho znát, nemusíš přijet s vlastní agendou ani tématem k řešení. +Baví tě Python? Chceš poznat aktivní lidi z Python komunity v Česku? +Přijeď, můžeš někomu pomoct s jeho tématem, agenda je známá předem. +A když nemáš chuť programovat nebo řešit technické věci, můžeš přiložit ruku k dílu jinak – pomáhat v kuchyni, hrát na kytaru, jen si povídat s ostatními :) +Každý může něčím přispět a užít si to. A třeba se i zapojíš do něčeho nového, co tě zaujme.</p> +<figure class="figure"><a href="https://blog.python.cz/images/sprint_3.JPG" target="_blank" title="sprint_msene_3"><img alt="sprint_msene_3" src="https://blog.python.cz/images/thumbnails/sprint_3.JPG" class="figure-img img-fluid img-rounded"></a></figure> +<h3 id="jak-to-na-sprintu-vypada">Jak to na sprintu vypadá?<small class="permalink"><a href="#jak-to-na-sprintu-vypada" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<p>Průběh akce se za poslední roky maličko změnil. +Dřív byl sprint třídenní, v pátek se začali sjíždět lidi, vymetali pavučiny, nastavovali wifi, chystali dřevo na oheň a připravovali prostor na práci.</p> +<figure class="figure"><a href="https://blog.python.cz/images/sprint_4.JPG" target="_blank" title="sprint_msene_4"><img alt="sprint_msene_4" src="https://blog.python.cz/images/thumbnails/sprint_4.JPG" class="figure-img img-fluid img-rounded"></a></figure> +<p>Sobota pak byla primárním pracovním dnem a neděle ve znamení úklidu a odjezdu domů. +Protože je ale sprint v Mšeném super akce, tři dny nám přišly málo a proto se poslední roky potkáváme už ve čtvrtek. +Sprint si tak protahujeme ještě o jeden „pracovní“ den a tím i jeden večer u ohně navíc :)</p> +<p>V rámci pracovních částí akce nemáme žádný pevný rozvrh. +Dopředu dáváme dohromady seznam věcí, na kterých chceme pracovat, nebo témat, která chceme prodiskutovat, a každý se zapojuje dle svých preferencí, časových i tématických.</p> +<figure class="figure"><a href="https://blog.python.cz/images/sprint_5.jpg" target="_blank" title="sprint_msene_5"><img alt="sprint_msene_5" src="https://blog.python.cz/images/thumbnails/sprint_5.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<h3 id="na-cem-pracujeme">Na čem pracujeme?<small class="permalink"><a href="#na-cem-pracujeme" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<p>Na sprintu se zrodily některé důležité komunitní nástroje, například <a href="https://projekty.pyladies.cz">systém pro odevzdávání a opravování projektů</a> v rámci kurzů od PyLadies nebo převod učebních materiálů ze stránek <a href="https://pyladies.cz/">pyladies.cz</a> na <a href="https://naucse.python.cz/">naucse.python.cz</a>. +Pravidelně se věnujeme technologickým upgradům nebo debuggingu našich webů, případně jejich obsahovým úpravám (a že jich česká Python komunita spravuje docela hodně). +Často na sprintu připravujeme nebo dokončujeme materiály pro semestrální kurzy PyLadies, sprint nám také umožňuje společnou práci PyLadies napříč republikou, které jinak fungují spíše na lokální úrovni jednotlivých měst. </p> +<figure class="figure"><a href="https://blog.python.cz/images/sprint_6.jpg" target="_blank" title="sprint_msene_6"><img alt="sprint_msene_6" src="https://blog.python.cz/images/thumbnails/sprint_6.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<p>Je to živná půda pro domlouvání témat pro PyWorking workshopy nebo přednášek na Pyva, pravidelné meetupy Python komunity v různých městech. +Můžeme také společně řešit témata společná pro celou Python komunitu napříč Českem – letos jsme se například domluvili na tom, že bychom příští rok po covidové pauze opět rádi zorganizovali PyCon CZ – stay tuned for more information ;)</p> +<p>A když zrovna na ničem nepracujeme, vaříme, sedíme u ohně, hrajeme na různé nástroje, zpíváme, jíme, pijeme, povídáme si, bavíme se. </p> +<figure class="figure"><a href="https://blog.python.cz/images/sprint_7.JPG" target="_blank" title="sprint_msene_7"><img alt="sprint_msene_7" src="https://blog.python.cz/images/thumbnails/sprint_7.JPG" class="figure-img img-fluid img-rounded"></a></figure> +<p>Sprinty jsou pro spoustu z nás srdcová záležitost. +Jsme rádi, že se můžeme vidět naživo, strávit spolu nějaký čas, udělat něco užitečného pro život Python komunity v Česku, poznat nové lidi a užít si pohodový víkend v prima společnosti.</p> +<p>Chceš být příště u toho? +Další sprint v Mšeném plánujeme až na srpen 2023, v mezičase ale můžeš třeba začít chodit na <a href="https://pyvo.cz/">Pyvo</a>. +Rádi tě uvidíme!</p> +<figure class="figure"><a href="https://blog.python.cz/images/sprint_8.JPG" target="_blank" title="sprint_msene_8"><img alt="sprint_msene_8" src="https://blog.python.cz/images/thumbnails/sprint_8.JPG" class="figure-img img-fluid img-rounded"></a></figure></div>Hledáme prostory pro plzeňské Pyvo2021-09-24T10:00:00+02:002021-09-24T10:00:00+02:00Tomáš Bedřichtag:blog.python.cz,2021-09-24:/hledame-prostory-pro-plzenske-pyvo<div><p>Stala se nám taková nemilá věc. Během Corona období nám zavřeli naši oblíbenou restauraci Beer Factory, kde proběhlo několik (desítek) vydařených srazů. Nezbývalo nám tedy nic jiného, než hledat nové místo pro naše setkání.</p> +<p>Několikrát jsme se více či méně úspěšně sešli v <a href="https://www.sitport.cz/zazemi/">prostorech HUB 2.0</a>, které jsou výhodné …</p></div><div><p>Stala se nám taková nemilá věc. Během Corona období nám zavřeli naši oblíbenou restauraci Beer Factory, kde proběhlo několik (desítek) vydařených srazů. Nezbývalo nám tedy nic jiného, než hledat nové místo pro naše setkání.</p> +<p>Několikrát jsme se více či méně úspěšně sešli v <a href="https://www.sitport.cz/zazemi/">prostorech HUB 2.0</a>, které jsou výhodné svojí flexibilitou a přátelským přístupem místních lidiček. Bohužel má HUB i své problémy, např. chybějící občerstvení, které organázoři Pyva musí hradit ze svého a pak vybírat do kasičky. (To by nebyl problém – problém je odhadnout, kolik se toho sní a vypije.) Také sklepní atmosféra je trochu udergroundová, což nemusí nutně vyhovovat každému.</p> +<p>Rozhodli jsme se proto poohlédnout po něčem trochu jiném – po něčem kulturnějším, kde najdeme občerstvení i slušné zázemí pro přednášky. Konkrétně pro zářijové Pyvo padla volba na plzeňskou <a href="https://www.johancentrum.cz/moving-station-ag3/nabidka-prostor-a969">Moving Station</a>, což je velice vkusný prostor, ve kterém se děje spousta kulturních akcí / divadel / koncertů / výstav / atd. Domluva se naštěstí zdařila a nakonec jsme měli možnost tam Pyvo uspořádat.</p> +<figure class="figure"><a href="https://blog.python.cz/images/pyvo-plzen-2021-09.jpg" target="_blank" title="Prostor to byl vskutku na úrovni"><img alt="Prostor to byl vskutku na úrovni" src="https://blog.python.cz/images/pyvo-plzen-2021-09.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<p>Za sebe musím říct, že ten prostor má <em>genius loci</em>. Naše setkání to pozvedlo na úplně jinou úroveň – měli jsme velice hezký a kvalitní prostor pro přednášky oddělený od prostoru pro konzumaci a networking. Bohužel, našlo se i několik věcí, které by bylo třeba doladit: např. zážitek ze streamingu a zvuk přednášek na záznamu si úplně nesedl s novou akustikou prostoru. Také nabídka občerstvení neobsahovala nic většího k jídlu, na což jsme nebyli připraveni.</p> +<p>Nicméně, určitě to stálo za vyzkoušení a doufejme, že tímto ozvláštněním jsme oslovili zase jinou skupinu zájemců o Python. Děkujeme Pyvci za možnost vyzkoušet něco nového (za proplacení pronájmu sálu). Budeme však hledat dále – do Moving Station se můžeme vrátit vždy a co když tam někde venku čeká prostor, který postavili přímo pro nás? To musíme zjistit. :)</p></div>PyLadies to začalo, Kanadou to (ne)skončilo2020-10-26T08:08:08+01:002020-10-26T08:08:08+01:00Barbora Kacerovskátag:blog.python.cz,2020-10-26:/pyladies-to-zacalo-kanadou-to-neskoncilo<div><p>Bude to znít jako cliché, ale zcela bez nadsázky můžu říct, že jedno z nejlepších rozhodnutí svého dosavadního života jsem učinila někdy v polovině roku 2015.</p> +<p>Pokud si správně vzpomínám, byly prázdniny a já jsem právě dokončila bakalářské studium oboru nanotechnologie. Ze setrvačnosti jsem si podala přihlášku na magisterské, ale …</p></div><div><p>Bude to znít jako cliché, ale zcela bez nadsázky můžu říct, že jedno z nejlepších rozhodnutí svého dosavadního života jsem učinila někdy v polovině roku 2015.</p> +<p>Pokud si správně vzpomínám, byly prázdniny a já jsem právě dokončila bakalářské studium oboru nanotechnologie. Ze setrvačnosti jsem si podala přihlášku na magisterské, ale neměla jsem ani páru, co budu dělat po jeho dokončení. Myslím, že to je pocit, který zažívá spoustu studentů, kteří nejsou schopni si představit, jak svoje nabyté znalosti přetaví v něco, po čem by mohla být na pracovním trhu poptávka.</p> +<p>V záchvatu jakéhosi vnitřního pnutí jsem se rozhodla naučit se rychle cokoliv, co má do budoucna potenciál a co se mi případně bude hodit i při studiu. A rozhodla jsem se naučit programovat. Abych byla upřímná, bylo to spíše impulzivní rozhodnutí než nějaký promyšlený tah. V té době jsem si ještě vůbec nedovedla představit, k čemu by mi nějaké programování bylo a co to vlastně obnáší.</p> +<p>Jak to tak bývá, někdy stačí myšlenka a začnou se dít věci. Neuběhl ani týden, když jsem narazila na plakát, který lákal na první ročník PyLadies v Ostravě. Bez přemýšlení jsem se přihlásila a dodatečně začala zjišťovat, o čem vlastně ten Python je.</p> +<p>Musím ale přiznat, že ze začátku mě Python spíš od školy odrazoval, než aby mi pomáhal. Místo přípravy na výuku jsem po nocích programovala piškvorky a na přednáškách přemýšlela, jak co nejlépe optimalizovat kód. Časem jsem se ale naučila, jak si usnadnit práci, a začala jsem si v Pythonu generovat různé tabulky a provádět první lehčí fyzikální výpočty. Vzpomínám si, že mě fascinovalo, do jaké míry je Python schopný nahradit drahé komerční softwary, které používali mí spolužáci a profesoři.</p> +<p>Po obhájení magisterského titulu jsem pořád nevěděla co se sebou, a tak jsem se přihlásila na doktorské studium do Kanady. Toužila jsem po nějaké praxi v oboru a věděla jsem, že místní univerzity nabízejí propojení akademického výzkumu s průmyslovou sférou. Navíc jsem si chtěla zdokonalit angličtinu a vyzkoušet si, jaké to je začít budovat úplně nový život v cizí zemi. Požádala jsem tedy svého tehdejšího přítele o ruku, vzala si ho, sehnala stipendia, sbalila nám kufry a odjela za oceán.</p> +<p>První rok v Kanadě byl úplně šílený, a tak na nějaké programování nebyl moc čas. Po úspěšném dokončení povinných zkoušek na univerzitě jsem se začala soustředit na to, kvůli čemu jsem tam jela – shánění stáže. Zanedlouho jsem dostala odpověď od společnosti, která se zabývala vývojem metamateriálů, konkrétně foliemi, které chrání letadla před laserovými útoky. Moc jsem nevěřila, že bych to místo dostala, spousta mých kanadských kolegů se o něj marně ucházela, a to měli lepší akademické výsledky než já. Na pohovor jsem se tedy ani moc nepřipravovala, brala jsem to jako předem prohraný boj. Možná, že jsem nakonec udělala dobře, protože se to celé stočilo úplně jinam, než bych čekala.</p> +<p>Na akademické výsledky se mě neptal nikdo, ale až podezřele moc je zajímalo, proč jsem se rozhodla učit Python a s jakou motivací jsem do Kanady odjela. O několik měsíců později jsem se dozvěděla, že moje ochota pracovat na sobě a znalost základů Pythonu (tehdy to byly opravdu pořád jen základy) byly klíčové pro moje přijetí.</p> +<p>Začínala jsem ve velmi úzkém kruhu kolegů a mým prvním úkolem bylo namodelovat v Pythonu dopad laserových paprsků na folii a optimalizovat vstupní podmínky tak, abychom dostali kýžený výsledek. Jednodušeji řečeno – nasimulovat experiment, který prováděli v laboratoři. Myslela jsem si, že jsem úplně v pytli. Netušila jsem, jak začít, ani jak bych to kdy mohla dokázat. To mi rovnou mohli dát naprogramovat Google. Sprostě jsem si nadávala, co jsem to na sebe zase ušila. Tohle bylo hodně vzdálené od programování piškvorek…</p> +<p>Vyšilovala jsem ale zbytečně. Můj kolega/mentor, který v Pythonu už dlouhé roky pracoval, mi ukázal, jak problém rozdělit do jednotlivých kroků, co si k tomu nastudovat a jak model pomalu vylepšovat. Režim jsme měli docela přísný – každý den jsme museli vykázat nějaké výsledky, psát reporty o tom, jak postupujeme. Na druhou stranu jsem se mohla kdykoliv na cokoliv zeptat, prostředí bylo neuvěřitelně přátelské a nikdo se na mě jako na začátečníka nedíval shora. A to i přes to, že celý tým patřil mezi největší kapacity v oboru. „Každý nějak začínal, a i my se pořád učíme“ mi s úsměvem odpověděli pokaždé, když jsem měla tendenci porovnávat jejich a své znalosti.</p> +<p>Té šance, kterou mi dali, a jejich přístupu jsem si vážila natolik, že jsem je nechtěla za žádnou cenu zklamat. Po nocích jsem studovala Python a doháněla, co jsem v práci nestihla. Bavilo mě to neskutečně moc. Každý den jsem viděla, jak se posouvám a do týdne jsem měla první verzi modelu hotovou.</p> +<p>Na stáži jsem původně měla být jen čtyři měsíce, ty mi ale prodloužily na osm a pak, když jsem odcházela, jsem dostala nabídku hlavního pracovního poměru. Tu jsem bohužel musela odmítnout, nicméně větší ocenění mojí práce se mi nemohlo dostat. Odcházela jsem se slzami v očích.</p> +<p>Když se teď podívám zpátky, vidím, jak absurdní byl strach, že pro ně nejsem dost dobrá. Sama na sobě jsem poznala, jak výkonný je člověk, který je správně motivován a kterého jeho práce baví. Často bývá ochota učit se více než umět. Doufám, že si to budu příště, až zase budu před pohovorem stresovat, pamatovat.</p> +<figure><iframe width="560" height="315" src="https://www.youtube.com/embed/JkszlXTrHOs" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></figure></div>Programátorem za 365 dní a zadarmo? Tak určitě!2020-10-20T00:00:00+02:002020-10-20T00:00:00+02:00Honza Kovandatag:blog.python.cz,2020-10-20:/programatorem-za-365-dni-a-zadarmo-tak-urcite<div><p>Být závislý na programátorech? To nechceš. Kdo má stejnou zkušenost s vlastním byznysovým projektem jako já, tak ví, že vývojářům musíte neustále sypat hromadu zlaťáků, a pokud je náhodou venku hezky, tak se termíny dodání jejich práce natahují úměrně k teplotě vody na koupalištích. Navíc jsem po 8 letech podnikání …</p></div><div><p>Být závislý na programátorech? To nechceš. Kdo má stejnou zkušenost s vlastním byznysovým projektem jako já, tak ví, že vývojářům musíte neustále sypat hromadu zlaťáků, a pokud je náhodou venku hezky, tak se termíny dodání jejich práce natahují úměrně k teplotě vody na koupalištích. Navíc jsem po 8 letech podnikání, kdy jsem se chtěl v důsledku krize nechat zaměstnat, zjistil, že pro zaměstnavatele nemá podnikatel téměř žádnou hodnotu. Podnikání je totiž takové abstraktní nic.</p> +<p>Na chvíli se tedy pozastavím, zauvažuji a říkám si: „Z pohledu ostatních lidí vlastně nic neumím a štve mě závislost na programátorech. Co s tím? - Už vím! Stanu se programátorem a začnu štvát ostatní lidi.“</p> +<h2 id="vyplati-se-mi-kvuli-tomu-vubec-vstavat-z-postele">Vyplatí se mi kvůli tomu vůbec vstávat z postele?<small class="permalink"><a href="#vyplati-se-mi-kvuli-tomu-vubec-vstavat-z-postele" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>Na pár dní jsem zasedl k vyhledávači a začal si oťukávat tuto oblast tak důkladně, jako slepec holí před eskalátorem. Jeden z prvních dotazů, na který mi musel Google dát odpověď, zněl: „kolik si vydělá programátor“. A že prej dobrý. Ale člověk se musí trochu ohánět.</p> +<p>To, že budu muset pracovat, abych se měl líp, mě zprvu trochu vyplašilo. Vydal jsem se proto ven mezi programátory, abych zjistil, jak se věci skutečně mají. Jestli mám i já šanci stát se programátorem navzdory tomu, že jsme se jako děti namísto hackování školní sítě na ulici s klukama řezali klackama po hlavě.</p> +<p>Míst, kde můžete potkat vývojáře ve skutečném světě, je překvapivě mnoho. Ať jsem šel na jakoukoliv networkingovou akci, vždy se tam našel alespoň jeden. A díky tomu, že jsem o programování začal mluvit, se najednou začali objevovat i v řadách mých známých, u kterých jsem do té doby nevěděl, co vlastně dělají za práci. Srazy typu <a href="https://pyvo.cz/">Pyvo</a>, kde se organizovaně shlukují, jsem samozřejmě vymetl taky.</p> +<figure class="figure"><a href="https://blog.python.cz/images/IMG_20191016_210725.jpg" target="_blank" title="Pyvo"><img alt="Pyvo" src="https://blog.python.cz/images/IMG_20191016_210725.jpg" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +Autentická fotografie z mého prvního srazu Pyvo. Nerozuměl jsem tam tehdy nikomu a ničemu.</figcaption></figure> +<h2 id="zpovidam-2-a-pul-programatora-tydne-a-objevuji-juniorguru">Zpovídám 2 a půl programátora týdně a objevuji junior.guru<small class="permalink"><a href="#zpovidam-2-a-pul-programatora-tydne-a-objevuji-juniorguru" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>Během 3 měsíců jsem stihl mluvit s přibližně 30 vývojáři, kteří mi věnovali vždy alespoň hodinu svého času. Pecka! Tito lidé, freelanceři, zaměstnanci v korporátu a majitelé IT firem mi dali rady a rozmluvili mi naivní fantazie v mé hlavě, čímž mě raketově posunuli na mé cestě k tomu stát se milionářem. Upřímně si vážím jejich času a pomoci, kterou mi poskytli. Bůh jim žehnej!</p> +<p>Ty 3 měsíce jsem nechodil jen po hospodách. Popíjel jsem alkohol i doma. A jelikož jsem jako první z tipů kde začít dostal doporučení na stránku <a href="https://junior.guru/">junior.guru</a>, bylo to to první online místo, od kterého jsem se odpíchl. A musím říct, že mi tento web skutečně velmi pomohl. Úplnou náhodou jsem jen pár dní po objevení tohoto webu při sezení u stolu s kamarády (a kamarády mých kamarádů), narazil v pražské čajovně na zakladatele tohoto webu Honzu Javorka. Využil jsem situace a patřičně ho vyzpovídal na téma začátky programování. Vidíte, jak je důležité se o tomto tématu začít bavit před lidmi. Děkuji moc Honzovi za jeho čas, rady a zkušenosti se začátečníky. Bůh mu žehnej!</p> +<p>Junior.guru už mi blíže naservíroval podrobnější info a odkazy, kde se dá cvičit. Je to takový přehledný a velmi dobře zpracovaný rozcestník. Jedna z nejlepších stránek, na kterou mě přivedl, je <a href="https://naucse.python.cz/">naucse.python.cz</a> Až mám skoro chuť všechno zapomenout a učit se to na tomto webu znova. Ten pocit, když se ti v okně poprvé rozjede želva, a po chvilce zahne o 90° doleva, už nikdy víc nezažiju :(</p> +<h2 id="uz-jsem-programator-a-ted">Už jsem programátor? … a teď?<small class="permalink"><a href="#uz-jsem-programator-a-ted" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>Po čtvrt roce učení se základům a neustálého dotazování se Googlu: „za jak dlouho se stanu programátorem“, jsem se pustil do dvou odvážných věcí, přičemž jedna z nich byla naprosto naivní. Začal jsem se učit <a href="https://www.djangoproject.com/">Django framework</a> pro vývoj webových aplikací, a to zejména proto, že jsem chtěl napsat aplikaci pro mou vlastní firmu <a href="https://toptrika.cz/">Toptrika</a>. Přesněji e-shop, který bude z větší části interním informačním systémem, který nám bude řídit výrobu ve firmě. Ano, přesně tu samou aplikaci, kterou už mi naprogramovala jistá firma. Ale já byl s výsledkem jejich práce nespokojen a z ceny vývoje diplomaticky řečeno překvapen. Mým cílem se tedy stalo napsat to znovu a lépe.</p> +<p>A teď ta druhá věc. Ze všemožných příběhů lidí, které jsem našel pod dotazem: „za jak dlouho se stanu programátorem“ jsem vyčetl, že je možné najít si job v nejlepším případě už za 3 měsíce. Paráda. Jdu tedy s kůží na trh, kde už netrpělivě čekají, až mi za můj 12 týdenní skill a schopnost otočit želvu doleva utrhaj ruce. Tušíte, jak to dopadlo?</p> +<p>I když věřím, že dnes, po roce intenzivního psaní kódu, už by mě ti samí lidé pravděpodobně přijali, tak tenkrát to bylo ještě příliš brzy. Domnívám se, že problémem nebyl ani tak nedostatek zkušeností, ale spíš to, že si dotyční nebyli jisti, zda u programování dlouhodobě vydržím, a jestli tak má cenu do mě investovat čas a zaučit mě.</p> +<h2 id="vyvinul-jsem-aplikaci-pro-moji-firmu-toptrikacz">Vyvinul jsem aplikaci pro moji firmu Toptrika.cz<small class="permalink"><a href="#vyvinul-jsem-aplikaci-pro-moji-firmu-toptrikacz" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>Nevadí. Já si poradím sám. Jsem samostatný. Ostatně byl jsem to já, kdo si ve školce jako první dokázal zavázat tkaničky bez pomoci úči. A tak nakupuji velkou zásobu mražených hranolek a na následujících 5 měsíců se zavírám před okolním světem. Po 5 měsících vylézám s hotovou aplikací a se zvýšeným množstvím podkožního tuku a rizikem srdečních chorob. Dokázal jsem to!</p> +<figure class="figure"><a href="https://blog.python.cz/images/20200420_112700.jpg" target="_blank" title="Košťata musela ustoupit"><img alt="Košťata musela ustoupit" src="https://blog.python.cz/images/20200420_112700.jpg" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +Košťata musela ustoupit a na téměř půl roku jsem vládl v naší komoře já (a zavírám se tam před ženou dodnes).</figcaption></figure> +<p>Konečně mám hotovou aplikaci, za kterou jsem původně vyhodil oknem tolik peněz, že byste za to dojeli vlakem 2.500 krát z Prahy do Brna a zpět, a nebo koupili 16.700 pytlíků kečupových POM-BÄR. Konečně je má aplikace taková, jakou jsem ji vždy potřeboval a toužil mít. Konečně mohu okamžitě reagovat na požadavky zákazníků a provádět změny, a to zadarmo, jen za můj vlastní čas. Představuji vám <a href="https://eshop.toptrika.cz/">eshop.toptrika.cz</a>. Na oko jednoduchý, uvnitř však důmyslný systém :) Jelikož ale tiskneme trička převážně na různé akce, tak v současné době svádíme těžký boj s covidem a vypadá to, že možná budeme muset zavřít krám :(</p> +<figure class="figure"><a href="https://blog.python.cz/images/20201014_100729.jpg" target="_blank" title="Papírky"><img alt="Papírky" src="https://blog.python.cz/images/20201014_100729.jpg" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +Při vývoji aplikace jsem si oblíbil pravěkou metodu řízení projektů, tj. psát chaoticky úkoly na papírky.</figcaption></figure> +<h2 id="prace-si-nasla-me">Práce si našla mě<small class="permalink"><a href="#prace-si-nasla-me" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>Ačkoliv jsem se zrovna v tomto období, 8 měsíců od napsání prvního řádku kódu, do práce nijak nehrnul (byl jsem totiž dost zabraný do své aplikace), oslovil mě inzerát na Facebookové stránce <a href="https://www.facebook.com/groups/pyonieri/">Pyonieri - Python SR &amp; ČR</a> od malé firmy <a href="https://creatiweb.cz/">CreatiWeb</a>. A to zejména tím, že hledali juniorního programátora jen na 2 dny v týdnu. To je velmi vzácné. Vždy jsem se totiž setkával jen s tím, že začátečníky brali pouze na full-time nebo vůbec.</p> +<p>Okamžitě odepisuji na inzerát, okamžitě jdu na pohovor a okamžitě jsem přijat. Dobrý dost! Ukázal jsem jim kód své aplikace Toptrika, ze kterého bylo patrné, že už jsem toho naprogramoval dost na to, než abych od programování zbaběle utekl. Dnes jsou tomu už 4 měsíce co ve firmě CreatiWeb pomáhám psát e-shop, a pod vedením dvou seniorních vývojářů se učím asi tak 10 krát rychleji než sám doma, a hlavně se učím psát kód kvalitně, což vás žádný tutorial na internetu nenaučí.</p> +<h2 id="co-si-myslim-o-programatorech-dnes">Co si myslím o programátorech dnes…<small class="permalink"><a href="#co-si-myslim-o-programatorech-dnes" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>Dnes už vím, že napsat pořádně aplikaci není hračka, protože jsem si to vyzkoušel na vlastní kůži. Získal jsem tím pokoru i respekt k programátorům a celé této profesi obecně. Takže až budete příště programátora kárat za to, proč mu změna toho blbého políčka trvala 6 hodin, dejte si bacha, aby vám jednu nelísknul.</p> +<p>I tak ale nemohu tvůrcům aplikace, kterou jsem si nechal vytvořit, odpustit určité věci. Programátor zřejmě napsal čistý kód (to si netroufám hodnotit ani teď), ale asi nikdy nenakupoval přes internet. Logika a funkčnost našeho e-shopu byla katastrofa.</p> +<p>Z toho plyne rčení: „Programátora raděj improvizovat nenech, sic na tom kalhoty tratit budeš.“ Vždy je nezbytné mít do puntíku přesné a opravdu velmi detailní zadání toho, co chcete vytvořit. Já měl zpracované celkem jasné zadání, ale netušil jsem, že je potřeba myslet doslova na každý puntík.</p> +<h2 id="moudro-na-zaver">Moudro na závěr<small class="permalink"><a href="#moudro-na-zaver" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>Uvidím, jak se bude moje cesta vyvíjet. Plány a cíle samozřejmě mám. Ale víte jak to v životě chodí, když si člověk něco plánuje. Pokud bych měl závěrem říci začátečníkům jen jedno slovo, vybrat to opravdu nejdůležitější a nejzásadnější - to, které je podle mne základním a hlavním předpokladem k tomu, abyste už za 365 dní seděli v křesle na pozici programátora, tak je to: VYTRVALOST. A to zejména během psaní samotného kódu. Je totiž úplně normální, že se třeba na 20 hodin zaseknete na jednom jediném místě a nevíte jak dál. A s tím se netrápí jen začátečník. I seniorní vývojáři se potýkají se záseky. O tom je vlastně celé programování. Vytrvale hledat způsoby a řešení, jak na to.</p> +<p>Přeji vám hodně štěstí a vytrvalosti na vaší cestě za první prací a ještě jednou velmi děkuji všem zkušeným vývojářům, kteří mi pomohli na té mojí cestě! Bůh ...</p> +<p>Pokud vás napadá nějaká otázka, klidně mi napište na <a href="mailto:kovandah@gmail.com">kovandah@gmail.com</a> nebo na <a href="https://www.linkedin.com/in/honzakovanda/">LinkedIn</a>, kde se dozvíte i o mých dalších aktivitách z oblasti podnikání.</p></div>Nadělili jsme PyLadies trička2020-08-01T00:00:00+02:002020-08-01T00:00:00+02:00Zuzka Javorkovátag:blog.python.cz,2020-08-01:/Nadělili-jsme-PyLadies-trička<div><p>Ahoj všem příznivcům Pythonu!</p> +<p>Asi není potřeba psát, že rok 2020 je z hlediska pořádání kurzů PyLadies a přidružených aktivit pro nás velkou výzvou. Ještě na začátku jara jsme plánovali uspořádat tak jako v minulých semestrech několik souběžných kurzů pro začátečnice v Praze, Brně, Ostravě, Plzni, Olomouci, případně i v …</p></div><div><p>Ahoj všem příznivcům Pythonu!</p> +<p>Asi není potřeba psát, že rok 2020 je z hlediska pořádání kurzů PyLadies a přidružených aktivit pro nás velkou výzvou. Ještě na začátku jara jsme plánovali uspořádat tak jako v minulých semestrech několik souběžných kurzů pro začátečnice v Praze, Brně, Ostravě, Plzni, Olomouci, případně i v Hradci Králové. Až nám skoro nestačil prostor v seznamu pořádajících měst na našem webu. :) Nakonec se kvůli koronavirovým opatřením muselo hodně improvizovat, ale ve většině měst se podařilo v upravených podmínkách kurz nakonec dálkově zrealizovat. Přešli jsme na různé online přenosy a velmi dobře jsme zužitkovali náš vytuněný tool na odevzdávání a revize úkolů k lekcím. +A dnes už se aktivně řeší příprava na podzimní kurzy, i když stále bohužel musíme počítat s bojovými podmínkami a nebudeme zdaleka moci pokrýt poptávku zájemkyň o další (prezenční) kurzy.</p> +<p>Protože se v posledních letech tempo našich kurzů pozvolna zvyšovalo a komunita koučů, organizátorek i absolventek úspěšně rostla, měli jsme na přelomu roku poptávku po nové várce triček s logem PyLadies. A tak jsme se rozhodli s finančním přispěním Pyvce trička nechat vyrobit. Díky hromadné objednávce jsme i ušetřili pár korun. +Byla to blesková předvánoční akce, do které se stihlo přihlásit cca 100 zájemců, kterým jsme našimi tričky mohli udělat radost. Určitě nás v nich potkáte/poznáte na českém PyConu nebo třeba na komunitním sprintu, kde vznikl tento článek ;)</p> +<figure class="figure"><a href="https://blog.python.cz/images/pyladies-trika.jpg" target="_blank" title="Fotka triček"><img alt="Fotka triček" src="https://blog.python.cz/images/pyladies-trika.jpg" class="figure-img img-fluid img-rounded"></a></figure></div>Koučování na PyLadies kurzech2020-03-05T11:00:00+01:002020-03-05T11:00:00+01:00Iveta Česalovátag:blog.python.cz,2020-03-05:/koucovani-na-pyladies_kurzech<div><p><em>Text vyšel původně na <a href="https://ivet1987.wz.cz/2020/03/koucovani-na-pyladies-kurzech/">autorčině blogu</a>.</em></p> +<p>Nevím, zda jsem ta správná osoba, která o tom může vyprávět, ale taky přispěji svou troškou do mlýna. +Jako vedlejší koučka na začátečnických kurzech jsem byla zatím pouze jeden semestr. +Víc čas nedovolil, když jsem měla další kurzy. Ale byla to velmi příjemná zkušenost …</p></div><div><p><em>Text vyšel původně na <a href="https://ivet1987.wz.cz/2020/03/koucovani-na-pyladies-kurzech/">autorčině blogu</a>.</em></p> +<p>Nevím, zda jsem ta správná osoba, která o tom může vyprávět, ale taky přispěji svou troškou do mlýna. +Jako vedlejší koučka na začátečnických kurzech jsem byla zatím pouze jeden semestr. +Víc čas nedovolil, když jsem měla další kurzy. Ale byla to velmi příjemná zkušenost.</p> +<p><strong>Proč začít koučovat?</strong> Co k tomu lidi vede? Někoho baví učit, někdo se chce odvděčit pyladies, +- například absolventky začátečnických kurzů - a předat nabyté znalosti dál. Jiní si tam chodí upevňovat základy, +protože nemusíte každou hodinu jen koučovat, ale být tam jako pozorovatel a opakovat si látku, ve které si nejste jistí. +A největší motivace – šířit Python! 😀 Ale hlavně ta milá společnost na kurzech a příjemné prostředí, +celá Python komunita je neskutečná, tu nemůžete nemilovat.</p> +<p>Moje <strong>motivace</strong> byla kombinací výše zmíněných. Co bylo nejdůležitější, tak ta atmosféra na kurzech, +chodila jsem si tam odpočinout. Nevadí různé všetečné otázky, protože jak víte, žádná otázka není hloupá! 🙂 +Není tam žádný stres, spěch, tempo se přizpůsobí vždy individuálně. Každý je ochoten pomoci se sebemenším problémem. +Přeci jen nejblíže k účastníkům kurzů mají právě ostatní absolventky a můžou jim případně vysvětlit látku více lidsky. +Tím nechci říct, že by hlavní kouč přednášel nesrozumitelně, ale je to přeci jen programátor profesionál a my, +obyčejní smrtelníci to asi vysvětlíme úplně laicky neajťácky 🙂 Někdy jsem si všimla, že holky tápou, nezeptají se, +i když neví. Není nic jednoduššího, než se zeptat sama, i když to vlastně víte, ale je super, že to pak pochopí i ostatní.</p> +<p>Na začátku to byly hrozné pocity, že si mě někdo zavolá a bude mít problém, se kterým nedokáži pomoci, +a budu za trubku. No jistě, občas taková situace nastala, ale jednoduše se zavolal druhý, více zkušenější kouč, +a byli jsme chytřejší všichni 🙂 Nakonec to nebylo tak složité. Jistě, objevil se červený lísteček, znamení pro kouče, +a ve vás hrkne – <em>Jejda, mám tam jít? Nebo budu dělat, že to nevidím a počkám, až tam půjde někdo jiný?</em> 😀 +(Na vysvětlenou, v průběhu lekce jsou různé úkoly, pokud máte hotovo, vylepíte si na monitor zelený lísteček, pokud problém a chcete pomoci od kouče, tak červený.) +Průběžně jsem sledovala jak postupují holky s úkoly a dopředu již tušila, kde se objeví papírek, +no sebrala jsem odvahu a šla tam. Nakonec to byly obyčejné jednoduché problémy, se kterými jsem dokázala pomoci, +a pak jsem byla fakt ráda. Hele, něco vím, pomohla jsem, <strong>nejsem tu zbytečně</strong>, prostě fajn pocit.</p> +<p>Na několika hodinách jsem taky jen seděla s počítačem a opakovala si témata, co mě zajímala a potřebovala jsem si upevnit +znalosti. Na tom není nic špatného! Bylo tam vždy dost ostatních koučů, takže to nevadilo a něco nevědět není ostuda.</p> +<p>Jestli <strong>váháte</strong>, zda se taky přihlásit na koučování, ať už PyLadies či jiných kurzů, už se nerozmýšlejte! Když se vám to +nebude líbit, můžete kdykoli odejít a přestat, nikdo se zlobit nebude. Ale po osobní zkušenosti myslím, že si to tam +<strong>zamilujete</strong>. Všichni organizátoři, koučové, kteří jsou součástí těchto kurzů, jsou skvělí lidi a je příjemné se toho +účastnit, být užitečný, a po kurzu si zajít spolu sednout do hospody a povídat si o čemkoli.</p></div>Hadí Workshop v Brně2020-01-18T08:00:00+01:002020-01-18T08:00:00+01:00Anežka Müllertag:blog.python.cz,2020-01-18:/Hadi-workshop-v-Brne<div><p>V sobotu 18. 1. proběhl v Brně již počtvrté <a href="https://naucse.python.cz/2020/brno-jaro-snake/">Hadí workshop</a>. +Jedná se o celodenní workshop v Pythonu určený pro úplné začátečníky. +Akce probíhá pod taktovkou <a href="https://pyladies.cz/brno/">brněnských PyLadies</a> a předchází pravidelným semestrálním začátečnickým kurzům Pythonu. +O workshop byl tradičně velký zájem. +Poprosili jsme tedy firmu <a href="https://www.redhat.com/en/global/czech-republic">Red Hat</a> o zapůjčení velké …</p></div><div><p>V sobotu 18. 1. proběhl v Brně již počtvrté <a href="https://naucse.python.cz/2020/brno-jaro-snake/">Hadí workshop</a>. +Jedná se o celodenní workshop v Pythonu určený pro úplné začátečníky. +Akce probíhá pod taktovkou <a href="https://pyladies.cz/brno/">brněnských PyLadies</a> a předchází pravidelným semestrálním začátečnickým kurzům Pythonu. +O workshop byl tradičně velký zájem. +Poprosili jsme tedy firmu <a href="https://www.redhat.com/en/global/czech-republic">Red Hat</a> o zapůjčení velké zasedací místnosti, kam se nám vešlo 50 účastnic, jeden lektor a patnáct koučů, kteří v průběhu workshopu pomáhají účastnicím s problémy. +Kromě místnosti jsme od Red Hatu dostali i sponzorované občerstvení na celý den, což nám výrazně pomohlo při organizaci celé akce.</p> +<figure class="figure"><a href="https://blog.python.cz/images/snakews_1.jpg" target="_blank" title="Hadi_ws_1"><img alt="Hadi_ws_1" src="https://blog.python.cz/images/thumbnails/snakews_1.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<h3 id="co-prinasi-workshop-ucastnicim">Co přináší workshop účastnicím<small class="permalink"><a href="#co-prinasi-workshop-ucastnicim" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<p>Celý workshop je vlastně ukázkou toho, jak vypadá programování a co je možné se v Pythonu za relativně krátkou dobu naučit. +Je primárně určen pro ty, kdo přemýšlí o programování, ale nevědí, kde začít. +Případně pro ty, kteří si nejsou jistí, zda by pro ně programování vůbec mohlo být zajímavé. +Hadí workshop během jednoho dne shrnuje ukázky toho, co je v mnohem podrobnější míře obsahem semestrálního začátečnického kurzu. +Už po tomto workshopu by tedy účastnice měly být schopné odhadnout, zda chtějí investovat poměrně velké množství času a energie do dlouhodobého kurzu.</p> +<h3 id="co-prinasi-workshop-organizatorkam">Co přináší workshop organizátorkám<small class="permalink"><a href="#co-prinasi-workshop-organizatorkam" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<p>Z organizátorského pohledu je Hadí workshop zpravidla první akcí nového semestru. +Je to tedy příležitost se po delším čase osobně potkat, zapojit poprvé do "ostrého provozu" případné nové organizátorky a vyzkoušet si, komu jaká část organizačního procesu vyhovuje. +Je to také poměrně specifická akce pro dvojnásobný počet lidí, než klasické kurzy nebo workshopy během roku. +S každým dalším uvedením se učíme a vychytáváme organizační mouchy pro příští běhy.</p> +<figure class="figure"><a href="https://blog.python.cz/images/snakews_2.jpg" target="_blank" title="Hadi_ws_2"><img alt="Hadi_ws_2" src="https://blog.python.cz/images/thumbnails/snakews_2.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<h3 id="co-prinasi-workshop-lektorum-a-koucum">Co přináší workshop lektorům a koučům<small class="permalink"><a href="#co-prinasi-workshop-lektorum-a-koucum" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<p>Workshop obsahuje obrovské množství informací, které je potřeba shrnout a úspěšně předat účastnicím v relativně krátkém čase. +Na tom, aby se to povedlo, má lví podíl velmi zkušený lektor <a href="http://encukou.cz/">Petr Viktorin</a>, který chystá všechny materiály a celý workshop vede. +Stejně jako organizátorky, i on se snaží každé další uvedení vylepšit, přizpůsobuje materiály a optimalizuje samotný průběh. +Petr sám o sobě <a href="https://blog.python.cz/pyladies-snake-report">vtipkuje</a>, že si na tomto workshopu vypěstoval závislost.</p> +<p>Bez koho by se akce ještě neobešla jsou pomocní koučové. +Zvlášť na začátečnických akcích je potřeba, aby se mezi účastníky pohyboval dostatek lidí schopných pomoci, pokud se někdo během výkladu zasekne, něčemu nerozumí, nebo něco nefunguje. +Protože bývá Hadí workshop jednou z prvních akcí po skončení kurzů v předcházejícím semestru, je to první příležitost nejen pro nové organizátorky, ale i pro případné nové kouče. +To mohou být nejen zkušené programátorky a programátoři, ale také absolventky začátečnických kurzů, které se rozhodly být i nadále součástí PyLadies komunity. +Z nových PyLadies mohou být skvělé koučky, protože se na probíranou látku dokáží velmi jednoduše dívat pohledem aktuálních účastnic. +Většina našich akcí je zaměřená na úplné začátečníky nejen v Pythonu, ale v IT obecně, jedná se tedy o velmi specifické publikum a zvlášť pro zkušené programátory může být někdy obtížné osvojit si srozumitelný přístup, oprostit se od zavedené terminologie a odolat pokušení vyřešit problém mnohem rychleji sám. +Pro všechny nové kouče je to tedy ideální příležitost vyzkoušet si nejen to, jak celkově přistupovat k začátečníkům, ale také si osahat principy koučování specifické na našich akcích.</p> +<figure class="figure"><a href="https://blog.python.cz/images/snakews_3.jpg" target="_blank" title="Hadi_ws_3"><img alt="Hadi_ws_3" src="https://blog.python.cz/images/thumbnails/snakews_3.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<h3 id="zaverem">Závěrem<small class="permalink"><a href="#zaverem" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<p>Hadí workshop je skvělá, ale nesmírně náročná akce. +Na čas, na pozornost, na soustředění, na pochopení, na výdrž. +Náročná pro účastnice, lektora i kouče. +Díky moc všem, kdo do toho šli s námi!</p></div>PyCon CZ 2019 Conference Wrap-Up Summary2019-09-23T10:49:00+02:002019-09-23T10:49:00+02:00Dan Srb, Tomáš Orsava, Lumír Balhartag:blog.python.cz,2019-09-23:/PyConCZ_wrap_up_summary<div><h2 id="thank-you">Thank you!<small class="permalink"><a href="#thank-you" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>PyCon CZ, the Czech Python community conference, took place on June 13-16, 2019.</p> +<p>As every year, we had a blast! I hope you really enjoyed the talks, workshops, networking and the atmosphere.</p> +<figure class="figure"><a href="https://blog.python.cz/images/2019-09-23_PyConCZ_DSC_3946.jpg" target="_blank" title="Thank you!"><img alt="Thank you!" src="https://blog.python.cz/images/thumbnails/2019-09-23_PyConCZ_DSC_3946.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<h2 id="community-organization">Community Organization<small class="permalink"><a href="#community-organization" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<figure class="figure"><a href="https://blog.python.cz/images/2019-09-23_PyConCZ_DSC_3925.jpg" target="_blank" title="Organizers"><img alt="Organizers" src="https://blog.python.cz/images/thumbnails/2019-09-23_PyConCZ_DSC_3925.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<p>Our conference is made for the community by the community. We are all volunteers …</p></div><div><h2 id="thank-you">Thank you!<small class="permalink"><a href="#thank-you" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>PyCon CZ, the Czech Python community conference, took place on June 13-16, 2019.</p> +<p>As every year, we had a blast! I hope you really enjoyed the talks, workshops, networking and the atmosphere.</p> +<figure class="figure"><a href="https://blog.python.cz/images/2019-09-23_PyConCZ_DSC_3946.jpg" target="_blank" title="Thank you!"><img alt="Thank you!" src="https://blog.python.cz/images/thumbnails/2019-09-23_PyConCZ_DSC_3946.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<h2 id="community-organization">Community Organization<small class="permalink"><a href="#community-organization" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<figure class="figure"><a href="https://blog.python.cz/images/2019-09-23_PyConCZ_DSC_3925.jpg" target="_blank" title="Organizers"><img alt="Organizers" src="https://blog.python.cz/images/thumbnails/2019-09-23_PyConCZ_DSC_3925.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<p>Our conference is made for the community by the community. We are all volunteers doing this in our free time, and as you can imagine, it’s quite a challenge. We like to move the conference to a new city every two years, to breathe to it a breath of fresh air. And so we moved it to Ostrava this year, under a mostly new team of organizers! As usual, many but not all of us were from Ostrava, so the organization took place mostly on Slack and over video calls. The organization usually takes as long as half a year, so now we’re enjoying a brief break until the wheel starts up again next year. :)</p> +<p>If you’d be interested in joining our org team, don’t hesitate to write to us at <a href="mailto:info@pycon.cz">info@pycon.cz</a>!</p> +<h2 id="stats">Stats<small class="permalink"><a href="#stats" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<h3 id="content">Content<small class="permalink"><a href="#content" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<ul> +<li>4 keynotes and 28 talks by 32 speakers</li> +<li>11 workshops and one sprint with 14 tutors</li> +</ul> +<h3 id="tickets">Tickets<small class="permalink"><a href="#tickets" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<p>There were 457 registered attendees (or 498 including organizers, sponsors’ booths staff etc.) and 94 % of them have checked in at the conference.</p> +<p>Like last year, we offered a limited number of “Early bird” tickets. This year, we did so more than 6 weeks sooner than in 2018 and kept the “Regular” prices until 3 weeks before the event. Despite a larger venue, we sold out all tickets again, this time a few days after the “Late bird” period started.</p> +<h3 id="attendees">Attendees<small class="permalink"><a href="#attendees" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<p>Attendees could voluntarily reply to a few questions when buying their ticket. +Here are some of the answers:</p> +<h4 id="where-do-you-come-from">Where do you come from?<small class="permalink"><a href="#where-do-you-come-from" title="Trvalý odkaz na tento nadpis">#</a></small></h4> +<p>Of those that answered, around 8 % of attendees hailed from the Ostrava region where the conference took place. A further 70 % were from other parts of the Czech Republic and around 8 % from the nearby Poland. The remaining 14 % were from other EU countries and the wider world.</p> +<figure class="figure"><img alt="where do you come from" src="https://blog.python.cz/images/2019-09-23_PyConCZ_graph_come_from.png" class="figure-img img-fluid img-rounded"></figure> +<h4 id="what-is-your-current-position">What is your current position?<small class="permalink"><a href="#what-is-your-current-position" title="Trvalý odkaz na tento nadpis">#</a></small></h4> +<p>More than 50 % of the attendees were developers. Other significant categories (over 5 %) were students, analysts, data scientists, QA engineers and DevOps engineers.</p> +<figure class="figure"><img alt="current position" src="https://blog.python.cz/images/2019-09-23_PyConCZ_graph_position.png" class="figure-img img-fluid img-rounded"></figure> +<h4 id="how-did-you-hear-about-the-conference">How did you hear about the conference?<small class="permalink"><a href="#how-did-you-hear-about-the-conference" title="Trvalý odkaz na tento nadpis">#</a></small></h4> +<p>Of those that answered, 57 % have heard about PyCon CZ from their local Python community (kudos!). Another group of over 25 % of people heard about the conference from our social media (Facebook and Twitter).</p> +<h4 id="are-you-studyingteaching">Are you studying/teaching?<small class="permalink"><a href="#are-you-studyingteaching" title="Trvalý odkaz na tento nadpis">#</a></small></h4> +<p>From the 82 Educational ticket holders that attended, almost 44 % were attendees of PyLadies community courses and 38 % were university students.</p> +<figure class="figure"><img alt="edu tickets" src="https://blog.python.cz/images/2019-09-23_PyConCZ_graph_edu_tickets.png" class="figure-img img-fluid img-rounded"></figure> +<h2 id="workshops">Workshops<small class="permalink"><a href="#workshops" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>Workshop registrations were available to everyone who bought a ticket. We started registration a week before the conference. We successfully implemented a new system of voiding registrations 10 minutes before the start of the workshop, allowing walk-ins to fill the remaining places.</p> +<h2 id="diversity">Diversity<small class="permalink"><a href="#diversity" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<figure class="figure"><a href="https://blog.python.cz/images/2019-09-23_PyConCZ_DSC_3520.jpg" target="_blank" title="attendees"><img alt="attendees" src="https://blog.python.cz/images/thumbnails/2019-09-23_PyConCZ_DSC_3520.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<p>As every year, we’ve put an effort into making the conference as welcoming as possible. We had a Code of Conduct in place, offered discounted tickets and financial aid, ensured venue’s wheelchair accessibility and for the first time we offered more diverse food at the event.</p> +<h3 id="ticket-prices">Ticket prices<small class="permalink"><a href="#ticket-prices" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<p>Again we offered tickets in 4 tiers. The cheapest were Educational tickets for students, teachers and PyLadies’ courses attendees. Company tickets were the most expensive, so we could keep the price as affordable as possible for people attending on their own budget.</p> +<h3 id="financial-aid">Financial Aid<small class="permalink"><a href="#financial-aid" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<p>Within the constraints of our budget, we tried to cover travel, accommodation and ticket prices to those who wouldn’t otherwise be able to afford it.</p> +<p>Speakers and workshop leaders were offered free tickets and we spent over 110 000 CZK to help finance their travel and accommodation.</p> +<p>We also gave out 11 additional free tickets (mostly covered by sponsors) and spent 5600 CZK to help two attendees with costs of travel and accommodation.</p> +<p>We sadly had to decline aid to attendees asking for larger amounts (over 400 EUR/person) as our budget was limited.</p> +<p><em>Next year, we plan to set an upper limit on grants to focus on providing smaller grants to more people. We will try to reach out to underrepresented groups in the Czech Republic better.</em></p> +<h3 id="accessibility">Accessibility<small class="permalink"><a href="#accessibility" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<p>Both main and workshop venues were wheelchair-accessible.</p> +<p><em>Next year we aim to focus on promoting wheelchair accessibility to be more attractive to people with disabilities.</em></p> +<h3 id="languages">Languages<small class="permalink"><a href="#languages" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<p>Except one talk in Czech, we kept the event international with English as the main language.</p> +<p>While almost 70 % of attendees understood Czech (this includes Slovak speakers) we managed to attract 30 % of people from abroad who might not be able to attend otherwise.</p> +<p><em>We plan to keep English as the main language, but we’re considering trying to attract more beginners by having an extra Czech-language programme for beginners. This should not limit the enjoyment of the event by foreign attendees, as they tend to be more advanced Pythonistas.</em></p> +<h3 id="gender">Gender<small class="permalink"><a href="#gender" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<p>We had 32 talks of which 25 (78 %) were by men and 7 (22 %) by women. At workshops, there were 14 tutors in total, of which 12 (86 %) were men and 2 (14 %) were women. In total we had 41 people talking or leading a workshop of which 7 (17 %) were women.</p> +<p>Regarding all attendees, there were 77 % men and 23 % women, a bit less than in 2018 but more than PyCon CZ 2017.</p> +<p><em>For 2020 we would like to promote PyCon CZ as more interesting for women speakers.</em></p> +<h3 id="code-of-conduct-report">Code of Conduct Report<small class="permalink"><a href="#code-of-conduct-report" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<p>The Code of Conduct was kept the same as in the previous years, based on the Conference anti-harassment policy from the Geek Feminism Wiki page and edited to be as specific to our event as possible.</p> +<p>Agreeing to the Code was mandatory when buying the ticket.</p> +<p>Two contact persons (male and female) were assigned.</p> +<p>Attendees were reminded of the Code in the opening speech of each day and on the badge they were wearing.</p> +<p>One incident regarding tasteless commentary about a different programming language during a presentation was reported this year. The reporter was assured PyCon CZ doesn’t identify with the message. In the next day's announcements, we emphasized we all should treat each other nice. The staff followed up with the presenter about the inappropriate remark. The presenter expressed an apology on their social networks after the conference.</p> +<h2 id="catering">Catering<small class="permalink"><a href="#catering" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<figure class="figure"><a href="https://blog.python.cz/images/2019-09-23_PyConCZ_DSC_3669.jpg" target="_blank" title="catering"><img alt="catering" src="https://blog.python.cz/images/thumbnails/2019-09-23_PyConCZ_DSC_3669.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<p>PyCon CZ considers food as a thing that is needed to survive and not as a something that PyCon CZ would like to be known for. However, even with such a utilitarian attitude we try to improve it every year.</p> +<p>2019 was the first year where we made an attempt to provide more inclusive food options that would cover most common diets (including vegan and gluten-free). We gathered data from attendees about their food preferences and used that as a base for ordering of the catering.</p> +<p>Unfortunately, we ran out of lunches despite ordering for 10 % more people than were registered. This also meant a limited choice for people who came later for lunch. This was an error on the provider’s side. We’ve taken steps not to repeat this mistake and we apologize for the inconvenience.</p> +<p>Our plan for 2020:</p> +<ul> +<li>Keep the food diversity</li> +<li>Better food distribution system (shorter queues)</li> +<li>Ensure catering company provides ordered quantity</li> +<li>Try to eliminate single-use plastic products used for catering</li> +</ul> +<h2 id="feedback">Feedback<small class="permalink"><a href="#feedback" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<figure class="figure"><a href="https://blog.python.cz/images/2019-09-23_PyConCZ_DSC_3484.jpg" target="_blank" title="stickers"><img alt="stickers" src="https://blog.python.cz/images/thumbnails/2019-09-23_PyConCZ_DSC_3484.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<p>After the conference, we published an online form to gather feedback from attendees. We received over 200 responses. Here are the highlights:</p> +<h3 id="most-popular-talks">Most popular talks<small class="permalink"><a href="#most-popular-talks" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<p>The three most popular talks were:</p> +<ol> +<li>Petr Viktorin – <a href="https://cz.pycon.org/2019/programme/talks/18/">Building an async event loop</a></li> +<li>Miro Hrončok – <a href="https://cz.pycon.org/2019/programme/talks/11/">#! Bang, bang!</a></li> +<li>Miroslav Šedivý – <a href="https://cz.pycon.org/2019/programme/talks/17/">A Day Has Only 24±1 Hours</a></li> +</ol> +<h3 id="most-positive-mentions">Most positive mentions<small class="permalink"><a href="#most-positive-mentions" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<p>Each of these things received a positive mention by over 20 % of those who responded:</p> +<ul> +<li>Venue / Lower Vítkovice area / City of Ostrava</li> +<li>People / friends / socializing</li> +<li>Food &amp; coffee &amp; tea</li> +</ul> +<h3 id="most-negative-mentions">Most negative mentions<small class="permalink"><a href="#most-negative-mentions" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<p>26 % of responders reported no negative issues at all. Most often mentioned issue was lunch distribution (18 % of responders), 16 % didn’t enjoy non-technical, „non-practical“ and beginner-oriented talks. Technical problems with audio/video during talks were an issue reported by 12 % of attendees.</p> +<h3 id="enjoyed-and-plan-to-come-back">Enjoyed and plan to come back<small class="permalink"><a href="#enjoyed-and-plan-to-come-back" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<p>94 % of respondents reported having enjoyed the conference and 83 % would like to attend next year.</p> +<h3 id="takeaways">Takeaways<small class="permalink"><a href="#takeaways" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<p>We take attendees’ feedback seriously. In the end, we make PyCon CZ for them. Our own observations were similar to the reported feedback and while some of them will be harder to address than others, we will try our best to make PyCon CZ 2020 even better. Some solutions are already outlined in this post.</p> +<h3 id="photos">Photos<small class="permalink"><a href="#photos" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<figure class="figure"><a href="https://blog.python.cz/images/2019-09-23_PyConCZ_DSC_3817.jpg" target="_blank" title="photographer"><img alt="photographer" src="https://blog.python.cz/images/thumbnails/2019-09-23_PyConCZ_DSC_3817.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<ul> +<li><a href="https://photos.app.goo.gl/dZ4ATCBesNL9cCEy9">Our official conference photos</a></li> +<li><a href="https://photos.app.goo.gl/aAYvp7EdzbKcNVzz8">More photos from one of our attendees, Moisés Guimarães de Medeiros</a></li> +</ul> +<h2 id="budget">Budget<small class="permalink"><a href="#budget" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>In the spirit of openness and transparency, we’re happy to share a summary of our budget.</p> +<h3 id="income">Income<small class="permalink"><a href="#income" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<p>We started with a 102,000 CZK left over from PyCon CZ 2018. We managed to obtain sponsorships totalling 672,700 CZK and received further 699,900 CZK from ticket sales, together giving us a revenue of 1,372,600 CZK.</p> +<h3 id="expenses">Expenses<small class="permalink"><a href="#expenses" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<ul> +<li>285,000 CZK Catering (including workshops and afterparty)</li> +<li>223,000 CZK Renting the conference venue</li> +<li>120,000 CZK Financial aid (111,000 went to speakers and 9,000 to other attendees)</li> +<li>100,000 CZK Bottles for attendees, lanyards, badges, other printed stuff</li> +<li>72,000 CZK Design services (both digital and print)</li> +<li>67,000 CZK Coffee</li> +<li>55,000 CZK Video recording &amp; editing (including promotional video) and photographer</li> +<li>37,000 CZK Afterparty (drinks)</li> +<li>30,000 CZK Speakers' dinner</li> +<li>20,000 CZK Accounting services</li> +<li>17,000 CZK Food at the Board game night (pizza)</li> +<li>8,000 CZK Ticket system (ti.to) fees</li> +<li>7,000 CZK Rental van &amp; fuel</li> +<li>7,000 CZK Insurance</li> +<li>5,000 CZK Virtual reality fun</li> +<li>7,000 CZK Miscellaneous items</li> +</ul> +<p>Our total expenses were 1,060,000 CZK.</p> +<h3 id="bottom-line">Bottom line<small class="permalink"><a href="#bottom-line" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<figure class="figure"><a href="https://blog.python.cz/images/2019-09-23_PyConCZ_DSC_3617.jpg" target="_blank" title="logo"><img alt="logo" src="https://blog.python.cz/images/thumbnails/2019-09-23_PyConCZ_DSC_3617.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<p>We ended with a positive balance of 311 674 CZK. Most of it will be saved as a starting money for PyCon CZ 2020. The rest will be used by our non-profit organization <a href="https://pyvec.org/">Pyvec, z.s.</a>, for other Python community activities (PyLadies, Pyvo, Community sprints, etc.)</p> +<h2 id="2020">2020<small class="permalink"><a href="#2020" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>See you in Ostrava again!!!</p> +<figure class="figure"><a href="https://blog.python.cz/images/2019-09-23_PyConCZ_DSC_3594.jpg" target="_blank" title="2020"><img alt="2020" src="https://blog.python.cz/images/thumbnails/2019-09-23_PyConCZ_DSC_3594.jpg" class="figure-img img-fluid img-rounded"></a></figure></div>Sprint na východě2019-05-05T00:00:00+02:002019-05-05T00:00:00+02:00Karolina Surmatag:blog.python.cz,2019-05-05:/Sprint-na-vychode<div><h2 id="sprint-to-jako-behate">Sprint? To jako běháte?<small class="permalink"><a href="#sprint-to-jako-behate" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>Členové a členky české Python komunity se obvykle dvakrát do roka sejdou v nějakém koutu republiky. Letos jsem se podruhé vydala na společné řešení komunitních otázek, webových aplikací a ostatních aktivit kolem propagace programování v Pythonu. Jak je známo, začátečníci mají obvykle řadu obav před zapojením …</p></div><div><h2 id="sprint-to-jako-behate">Sprint? To jako běháte?<small class="permalink"><a href="#sprint-to-jako-behate" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>Členové a členky české Python komunity se obvykle dvakrát do roka sejdou v nějakém koutu republiky. Letos jsem se podruhé vydala na společné řešení komunitních otázek, webových aplikací a ostatních aktivit kolem propagace programování v Pythonu. Jak je známo, začátečníci mají obvykle řadu obav před zapojením se mezi zkušené programátory a programátorky. Jak je taky známo, pythonní komunita je inkluzivní a pořádá řadu aktivit mířených přímo na nováčky. Mírou úspěchu může být tedy nadpoloviční účast brněnských PyLadies (v hojném počtu 4) vedle zkušenějších kolegů z Moravy a Slezska. +Jarní, komornější sedmičlenná akce se konala v Lískovci u Frýdku-Místku. Aktivnější sprinteři mohli zahájit maraton již během týdne návštěvou ostravského kurzu PyLadies a následného Pyva. K víkendu jsme se v konečném počtu potkali přímo u Lumíra, který nám zapůjčil své prostory pro intenzivní kódění a brainstorming. </p> +<h2 id="co-jsme-vyresili">Co jsme (vy)řešili?<small class="permalink"><a href="#co-jsme-vyresili" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>K hlavním sprintovým tématům patřily:</p> +<ul> +<li>organizace <strong><a href="https://cz.pycon.org/2019/">PyConu</a></strong> (již v červnu v Ostravě - dojeďte!), </li> +<li>aktualizace webových stránek pod záštitou Pyvce, jako jsou pyladies.cz, python.cz, pyvo.cz, pyvec.org (tyto úkoly byly jak na míru šité pro nováčky),</li> +<li>úpravy <strong>zpětnovazebníku</strong> PyLadies, aby se dal lehce použít v jiných městech a na různé typy akcí,</li> +<li>propagace <strong>PyLadies</strong> na různých eventech napříč republikou,</li> +<li>menší starší úkoly ze stránek <a href="https://python.cz/zapojse/">zapojse</a>, plných nápadů na vylepšení. +Nechyběla ani dokumentace, díky čemuž víme, že jsme dohromady vyřešili téměř 20 úloh. </li> +</ul> +<h2 id="budoucnost">Budoucnost<small class="permalink"><a href="#budoucnost" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>Víkendové soustředění, které viditelně posouvá komunitní projekty, je skvělá volba pro všechny, kdo se zajímají o pythonní dění v Česku. Z perspektivy nováčka oceňuji především možnost seznámit se s aktivisty z ostatních měst, nahlédnutí do něčeho nového a výpomoc s těžšími úlohami. Je to taky praktická ukázka fungování open source projektů, které se sice v kurzu PyLadies zmiňují, ale mnohé a mnozí z nás nemají představu, jak do nich můžou přispívat. </p> +<p>Další sprint se bude konat na konci srpna v Čechách. <a href="https://python.cz/akce/">Sledujte informace</a> a nechte se tentokrát přesvědčit k příjezdu. :) Účast je po nahlášení zdarma, vítáni jsou všichni. </p></div>PyLadies Snake Workshop2019-02-12T00:00:00+01:002019-02-12T00:00:00+01:00Petr Viktorintag:blog.python.cz,2019-02-12:/pyladies-snake-report<div><blockquote> +<p>Další příspěvek v angličtině! +Píšu to pro širší publikum než pro naše obvyklé čtenáře (článek nakonec vyšel +i na blogu <a href="https://community.redhat.com/blog/2019/02/building-snakes-to-learn-code/">community.redhat.com</a>). +A nechce se mi to překládat :)</p> +</blockquote> +<p>On Saturday, February 2, PyLadies Brno organized a “Snake workshop”.</p> +<p>Let me first write a bit about the overall concept. +For …</p></div><div><blockquote> +<p>Další příspěvek v angličtině! +Píšu to pro širší publikum než pro naše obvyklé čtenáře (článek nakonec vyšel +i na blogu <a href="https://community.redhat.com/blog/2019/02/building-snakes-to-learn-code/">community.redhat.com</a>). +A nechce se mi to překládat :)</p> +</blockquote> +<p>On Saturday, February 2, PyLadies Brno organized a “Snake workshop”.</p> +<p>Let me first write a bit about the overall concept. +For info about this specific event, jump to “The Saturday” below.</p> +<h2 id="pyladies-cz-beginners-courses">PyLadies CZ Beginners' courses<small class="permalink"><a href="#pyladies-cz-beginners-courses" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p><a href="https://pyladies.cz/">PyLadies CZ</a> is an informal group of people that (among other things) organize +3-month Python courses for women (mostly beginners). +These courses have been going on for about 5 years in Brno, and have heavily +influenced the workshop, so let me write a bit on how they're organized.</p> +<p>The <em>organizers</em> are alumni of past courses – the very people that want to +learn make the courses happen possible. +They coordinate sign-ups, make sure they have a room with internet access, +respond to questions, and so on.</p> +<p>The <em>lecturer</em> knows the material deeply and comes to teach. +Often, this is done by external people – often it's my role, +and I'm not a PyLady :) +Thanks to the organizers, the lecturer doesn't need to deal with logistics, +registration or catering, and can focus on transferring knowledge.</p> +<p>And then there are <em>coaches</em>, something like teaching assistants – people who +help attendees with individual problems. +These can be experienced programmers, or people who have gone through +the last semester's course and are just a bit ahead. +Most of what the coaches do is trivial: finding mismatched parentheses, +files saved in wrong directories (or not saved at all), or typos. +Since it's perfectly OK for a coach to not know something (they can always +ask someone more experienced), this is a great opportunity for alumni to +see how much they learned since <em>they</em> were complete beginners. +And since the role needs no preparation, it's a great way for anyone to give +a few hours back to the community.</p> +<p>The whole thing is free for attendees, volunteer-organized, and budget-less +(companies are happy to provide a venue with internet, and while there are +minor expenses like sticky notes or candy for prizes, they usually aren't +worth the paperwork to get expensed). +It's also fully open – teaching materials are <a href="https://naucse.python.cz/course/pyladies/">available</a> to anyone to go +through or adapt. +This semester, PyLadies CZ are planning to run 7 forks of the beginners' course +in 4 cities (see <a href="https://pyladies.cz/">pyladies.cz</a>). +Organization in each city is relatively independent.</p> +<figure class="figure"><a href="https://blog.python.cz/images/snake2019-20190202_084911.jpg" target="_blank" title="Beginner PyLadies on the workshop, with coaches in the back"><img alt="Beginner PyLadies on the workshop, with coaches in the back" src="https://blog.python.cz/images/snake2019-20190202_084911.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<h2 id="the-snake-workshop">The Snake workshop<small class="permalink"><a href="#the-snake-workshop" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>The full-day event we had on Saturday is a relatively new addition to the +“curriculum”. +It's modeled after the very successful <a href="https://djangogirls.org/">Django Girls</a> workshops, where attendees +who haven't programmed before build a web application (a blog) in just one day. +The Snake workshop has beginners make a <em>game</em> (<a href="https://en.wikipedia.org/wiki/Snake_(video_game_genre)">Snake</a>) in just one day.</p> +<p>Similarly to Django Girls workshops, the Snake workshop targets complete +beginners – prerequisites are on the level of installing Python, unzipping +an archive or sending an e-mail.</p> +<p>Unlike Django Girls, the Snake workshop tries to make things easier for +everyone: organizers, teachers, and attendees. Specifically:</p> +<ul> +<li>There are less technologies to learn: rather than Python, HTML, CSS and + databases, there's Python and a bit of graphics.</li> +<li>With a single lecturer rather than small coach-led groups, it's not + a problem if a coach doesn't show up. + Also, the coaches can be relative beginners. + (This format does introduce a single point of failure, though.)</li> +</ul> +<p>It's still impossible to learn (and remember) programming in a single day, +so the workshop is positioned as a “pilot episode” for a regular 3-month +course. +As a “pilot”, the workshop should serve these purposes:</p> +<ul> +<li>Give people an overview of what learning programming looks like – hopefully, + the message is that it's fun and rewarding, but that it will require lots + of time.</li> +<li>Filter out people who'd drop out after the first few lessons of the course.</li> +<li>Give an overview of Python's the basic data types and building blocks, + which should be helpful because the 3-month course is “bottom-up” (introduces + elementary concepts and builds on them), so the “big picture” only reveals + itself near the end.</li> +</ul> +<figure class="figure"><a href="https://blog.python.cz/images/snake2019-20190202_152819.jpg" target="_blank" title="See the coaches coaching!"><img alt="See the coaches coaching!" src="https://blog.python.cz/images/snake2019-20190202_152819.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<h2 id="the-saturday">The Saturday<small class="permalink"><a href="#the-saturday" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>The last instance of the Snake workshop happened on Saturday, February 2nd. +This was the 4th run so far (after the first trial for PyLadies in +Hradec Králové in March 2018, one for PyLadies Brno in September +2018, and one open for anyone in October 2018).</p> +<p>For this workshop, <a href="https://www.redhat.com/en/global/czech-republic">Red Hat</a> provided the venue (Plutonium &amp; Neptunium meeting +rooms in the TPB-C office) and food (of which there was a lot; thank you!).</p> +<p>I was the lecturer and I handled the Red Hat sponsorship.</p> +<p>We had an almost full house – more than 39 attendees plus 8 +coaches/organizers. +(The listed capacity of the rooms is 40, but we fit comfortably.)</p> +<p>We spent the morning (well, until 14:00) explaining basic concepts (numbers, +expressions, strings, functions, conditions, lists, dicts, imports, loops, …) +and the afternoon with the game. +Based on the feedback to date, everyone enjoyed the show. +There were smiles throughout; the coaches were kind and helpful, and I'd say +the attendees learned as much as they could in a day.</p> +<figure class="figure"><a href="https://blog.python.cz/images/snake2019-20190202_162002.jpg" target="_blank" title="The importance of good ol' pen &amp; paper"><img alt="The importance of good ol' pen &amp; paper" src="https://blog.python.cz/images/snake2019-20190202_162002.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<p>Of course, nothing is perfect – and there's a lot to improve for next time.</p> +<h3 id="what-didnt-work">What didn't work<small class="permalink"><a href="#what-didnt-work" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<p>I didn't manage time well, and I'd need about 30 more minutes at the end. +Some people were already leaving, so I rushed through the end – which didn't +help either the attendees or the coaches. +(For next time, I already have a plan to shuffle the materials around and +drop 30 minutes of less interesting stuff.)</p> +<p>Also, there was too much food in the end. +We had a generous sponsorship from Red Hat <em>and</em> people ordered their own +lunches. +This one is entirely on me as the link between the sponsor and the organizers; +next time I will coordinate better.</p> +<p>Finally, I did not request spare laptops in time. +Usually, Red Hat Regional IT is happy to lend a few out-of-warranty machines, +which are very helpful when some attendee's computer stops working, turns +out to be too slow, or has glitchy graphics. +I forgot to request them in a reasonable time, so we didn't have them. +Thankfully, they weren't needed – but hardware problems could have ruined the +atmosphere of the workshop.</p> +<figure class="figure"><a href="https://blog.python.cz/images/snake2019-20190202_173055.jpg" target="_blank" title="Not quite there yet"><img alt="Not quite there yet" src="https://blog.python.cz/images/snake2019-20190202_173055.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<h3 id="and-as-for-me">And as for me...<small class="permalink"><a href="#and-as-for-me" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<p>I think I'm addicted to this workshop.</p> +<p>It ticks the tree factors of intrinsic motivation: autonomy (deciding what +to teach and what to leave out in a time-limited workshop), +mastery (working on something that can always be improved) and purpose (helping +people understand my passion, not to mention the whole “underrepresented +minorities” thing that I'm not really going into here).</p> +<p>I have a hard time interacting with people, and I've found that it's mostly +because I don't think I have anything to say that would be interesting to them. +But that disappears in front of a class, with a clear expectations of what to +explain and a clear level of pre-requisites I can build on. +I know a few introverts who had similar experiences as lecturers/coaches, +and I'd recommend any geek to try teaching an <em>interested</em> audience :)</p> +<p>Anyway, I was throroughly exhausted at the end, after ten hours of live coding. +I think I'll wait a few months before doing this again.</p> +<figure class="figure"><a href="https://blog.python.cz/images/snake2019-20190202_084946.jpg" target="_blank" title="Thanks to the sponsor &amp; organizers"><img alt="Thanks to the sponsor &amp; organizers" src="https://blog.python.cz/images/snake2019-20190202_084946.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<p>Thank you to everyone involved – the organizers, the coaches, +Red Hat GWS &amp; BIPI, and the attendees. +Let's do more of these!</p></div>PyCon CZ 2018 — Report2018-06-11T00:00:00+02:002018-06-11T00:00:00+02:00Josef Pospíšiltag:blog.python.cz,2018-06-11:/pyconcz-2018-report<div><blockquote> +<p>This article first appeared on Josef's Medium blog +(<a href="https://medium.com/@damnpepe/pyconcz-2018-report-b99361f97de">part 1</a>, +<a href="https://medium.com/@damnpepe/pyconcz-2018-addenum-9f1f28fd695e">2</a>), +and is re-posted here with kind permission. Thank you!</p> +</blockquote> +<p>When I first met the Python guys as they visited our Ruby meetups, I thought – what a cute young people, who like to party hard. As I slowly moved from …</p></div><div><blockquote> +<p>This article first appeared on Josef's Medium blog +(<a href="https://medium.com/@damnpepe/pyconcz-2018-report-b99361f97de">part 1</a>, +<a href="https://medium.com/@damnpepe/pyconcz-2018-addenum-9f1f28fd695e">2</a>), +and is re-posted here with kind permission. Thank you!</p> +</blockquote> +<p>When I first met the Python guys as they visited our Ruby meetups, I thought – what a cute young people, who like to party hard. As I slowly moved from Ruby and meetups in general, I have lost contact with most of them. Only once I had talked about a library on the Pyvo meetup. It was mostly a rant on Ruby on Rails, and the library died soon after. However, there I first met Stařenka, who had a rant on Django in his talk. So a friendship was made. Next time I have met him on the very first <a href="https://15.polyconf.com/">PolyConf in Poznań</a>, where he introduced me to my later conference colleague Míšo. As PolyConf seems to be missing this year, I decided to join both of the guys on PyCon CZ, and I hardly could choose better. Please bear in mind, that I know next to nothing about any advanced Python, and I mostly look at the conference from the point of the community and its mood.</p> +<p>When I came in the morning, I have met Stařenka and couple guys from the oldest group of Pythonistas, namely Dan Srb and Kvbik. Even as they were solving the usual problems of every conference I have ever been to, there were good laughs, and I hadn’t noticed any discontent of the visitors. Well guys behind me were calling with their company and uttered some swear words about their boss in the process.</p> +<figure class="figure"><a href="https://blog.python.cz/images/medium_cjfouhan5gCpfdbz8wg.jpeg" target="_blank" title="Pythonistas"><img alt="Pythonistas" src="https://blog.python.cz/images/thumbnails/medium_cjfouhan5gCpfdbz8wg.jpeg" class="figure-img img-fluid img-rounded"></a></figure> +<p>Then I moved to the back chill zone for chit-chat with Míšo before the start. The theme for the <a href="https://cz.pycon.org/2018/programme/detail/talk/31/">first keynote</a> was some of the hottest in our industry these days: to remote or not remote. One of those rare duet talks and I enjoyed it a lot. Especially the notion that this problem is reducible to: to wear pants or not to wear pants. I took away some advice, even as I am moving to an office after quite a long time.</p> +<p>The <a href="https://cz.pycon.org/2018/programme/detail/talk/27/">next talk</a> I attended was on machine learning sentiment rating. It was accessible and in the great rhythm with many jokes and winks. My Python knowledge was just enough so I could follow it without a problem and got a good general overview of the problem. Also, in the talk, there was only one evil math character!</p> +<p>Strengthened by this success, I decided to visit the <a href="https://cz.pycon.org/2018/programme/detail/talk/4/">DataFrames talk</a>. However, my PyFu ended before the doors of this talk, and also theatre temperature was over my self-regulating possibilities. I moved to the <a href="https://cz.pycon.org/2018/programme/detail/talk/25/">dunder methods talk</a> and found my knowledge of the language lacking again.</p> +<figure class="figure"><a href="https://blog.python.cz/images/medium_e7nA35DAtyfYnEeWHCv8Ug.jpeg" target="_blank" title="Spot the difference"><img alt="Spot the difference" src="https://blog.python.cz/images/thumbnails/medium_e7nA35DAtyfYnEeWHCv8Ug.jpeg" class="figure-img img-fluid img-rounded"></a></figure> +<p>Also, the beer kiosk opened. The rest of the day I spent in the spirit of the lobby conference life. I have met many people I knew from other communities and many new ones. I have talked about my contemporary point of view, and to my surprise, people were listening and thinking about what I was saying without any flame wars. One of this kind of discussion was with David Majda, whom I consider one of the best computer scientists, at least Czech ones. I missed the <a href="https://cz.pycon.org/2018/board-game-night/">board games night</a>, but when I visited it, I was smitten by how many people were having good fun there. As the midnight approached, we packed up and went to sleep.</p> +<p>Saturday morning fresh and new, we again gathered in MeetFactory and started the second day with some excellent tea and coffee. The first talk I have seen was <a href="https://cz.pycon.org/2018/programme/detail/talk/13/">how and why to teach kids programming</a>, and it was one of the best talks I have ever seen. So close to my heart, it brought tears to my eyes couple of the times. Duet again, but mostly serial, by the parents, about things they love to do. Light on tech but heavy on ideas and sheer love. For me the highest point of the whole conference. Bravo bravo bravo.</p> +<figure class="figure"><a href="https://blog.python.cz/images/medium_vQtaium-TrnSTN3EPcRJ3A.jpeg" target="_blank" title="Teach them"><img alt="Teach them" src="https://blog.python.cz/images/thumbnails/medium_vQtaium-TrnSTN3EPcRJ3A.jpeg" class="figure-img img-fluid img-rounded"></a></figure> +<p>The second talk I went was about <a href="https://cz.pycon.org/2018/programme/detail/talk/24/">security and how to use marketing techniques for the higher success rate of the account hacking</a>. Python was in the second plane again. Still, the love for the language was everywhere. If I would be hacking some account, I would first watch this talk again. Especially e-shop hacking part was gorgeous.</p> +<p>Then again I moved to chill areas talking with friends old and new and had great fun. No traces of any elitism, which is many times present on the events like this. Just friendship and goodwill. Even my everpresent doom sayer pose was funnier than looming. You know you are in the right company when you hear an ukulele every couple of minutes, usually with a singing voice, even if it is mostly Ring of Fire.</p> +<p>One last talk I wanted to see, and I managed it, even when it ran long after they opened beer kiosk. It was about <a href="https://cz.pycon.org/2018/programme/detail/talk/26/">algorave live coded music</a>. I played with Sonic Pi in my days, and I was not disappointed with this talk. Well, there was a demonstration at the end of the talk, and later at the afterparty. Again, music.</p> +<p>I stayed for the lightning talks, and for the glorious end, where the big group played Always look on the Bright Side of Life on all the ukuleles and some guitars and other instruments on stage, and all the attendees sang along. It was like a spark of that cosmic power. “Tears in my eyes 2.0”. Goodbye from the organizers, and afterparty till the morning. I wish I had a better recollection of it, but suffice to say I found myself in the morning light playing a small drum – if that even means anything.</p> +<figure class="figure"><a href="https://blog.python.cz/images/medium_g4AehfBMUivtViSd44DPGg.jpeg" target="_blank" title="Always look on the bright side"><img alt="Always look on the bright side" src="https://blog.python.cz/images/thumbnails/medium_g4AehfBMUivtViSd44DPGg.jpeg" class="figure-img img-fluid img-rounded"></a></figure> +<p>You may wonder where is the part about food, venue or diversity as staples in this kind of reports. Well, those were great, any of them. Most of all, I loved the atmosphere! I have been to quite a number of the conferences in my life, but never experienced anything like this. Big love to all the people involved, you are the best!</p> +<h2 id="addenum">Addenum<small class="permalink"><a href="#addenum" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>One week after the thing, many forgotten pieces appeared in my mind.</p> +<h3 id="the-diversity">The Diversity<small class="permalink"><a href="#the-diversity" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<figure class="figure"><a href="https://blog.python.cz/images/medium_kdAIo5hsaKfimZ-nWE0PeQ.jpeg" target="_blank" title="No gender left behind"><img alt="No gender left behind" src="https://blog.python.cz/images/thumbnails/medium_kdAIo5hsaKfimZ-nWE0PeQ.jpeg" class="figure-img img-fluid img-rounded"></a></figure> +<p>The ratio of all the genders was almost on the level of the last Polyconf, and that was made diverse by design. Here it was much more organic. On PyCon you could meet people from all over the spectrum. Big love for this! <br> +We are all equal, and here it showed.</p> +<h3 id="the-food">The Food<small class="permalink"><a href="#the-food" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<figure class="figure"><a href="https://blog.python.cz/images/medium_b80we0lVygI_O-aN9OieHA.jpeg" target="_blank" title="Delicious"><img alt="Delicious" src="https://blog.python.cz/images/thumbnails/medium_b80we0lVygI_O-aN9OieHA.jpeg" class="figure-img img-fluid img-rounded"></a></figure> +<p>The food was abundant on the first floor, and it was there all the time, or at least until the main programme ran. What I liked the most: it was just ordinary food, nothing too fancy. Still, it was delicious, well prepared, well served. Pasta salads, nom nom, and cookies. And from what I gathered it was made in a <a href="www.slunce.info">protected workshop</a> (sorry if it is not the right word for chráněná dílna, blame Google Translate). So eating there, you were helping some people in need, now you can see why I ate so much! <br> +Same for the tea and coffee. And when the pizza came, it was by two cars, no less! <br> +But what blew my mind was that onSunday morning, all the surplus was escorted, together with a drum-playing fool, by taxi to homeless people. <br> +We are all in this together, see?</p> +<h3 id="not-talks">Not talks<small class="permalink"><a href="#not-talks" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<figure class="figure"><a href="https://blog.python.cz/images/medium_fnztTVGc3As9ygjpVSYrKw.jpeg" target="_blank" title="Zoom Box Boy"><img alt="Zoom Box Boy" src="https://blog.python.cz/images/thumbnails/medium_fnztTVGc3As9ygjpVSYrKw.jpeg" class="figure-img img-fluid img-rounded"></a></figure> +<p>Another thing I appreciate on confs was what happened in the lobby, chillouts and everywhere outside of the Main and Theatre rooms. Everybody was talking, laughing, hacking, playing musical instruments. I made more new friends in two days that in the last year. And made the old friendships last for life.<br> +You say toys? Oh, boy have seen all the people in the zoom boxes? Playing exotic instruments, electronic or small drums?<br> +Meet the people, cause they are diamonds in the rocks.</p> +<h3 id="the-music">The Music<small class="permalink"><a href="#the-music" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<figure class="figure"><a href="https://blog.python.cz/images/medium_jaY8sRvQT9BeRewKAoCq5A.jpeg" target="_blank" title="Two ukuleles are better than one"><img alt="Two ukuleles are better than one" src="https://blog.python.cz/images/thumbnails/medium_jaY8sRvQT9BeRewKAoCq5A.jpeg" class="figure-img img-fluid img-rounded"></a></figure> +<p>I am a music lover. I cannot work efficiently without my Mixcloud stream, and my kids cannot fell asleep without my lullabies. I know I already raved about this in the report, but who cares. If the music average in the world were as it was here, it would be a much better place. All kinds of music: live played instruments, reproduced or generated on the spot.<br> +So always look on the bright side of life!</p> +<p>See you next year in the <code>!!!</code></p></div>Máme Python v Hradci Králové2018-04-17T21:33:00+02:002018-04-17T21:33:00+02:00Ivana Brabcovátag:blog.python.cz,2018-04-17:/mame-python-v-hradci-kralove<div><p>A je to tu: 25. březen! Den velkých očekávání, lehké nervozity a brzkého vstávání. (Na tuto neděli nám totiž připadla zmněna času, ale nebojte se, nebudu tu toto téma diskutovat.)</p> +<p>Vezměme to pěkně po pořádku. Začátek celého příběhu může znít trochu lacině, neboť za ním stojí moje touha vyzkoušet si …</p></div><div><p>A je to tu: 25. březen! Den velkých očekávání, lehké nervozity a brzkého vstávání. (Na tuto neděli nám totiž připadla zmněna času, ale nebojte se, nebudu tu toto téma diskutovat.)</p> +<p>Vezměme to pěkně po pořádku. Začátek celého příběhu může znít trochu lacině, neboť za ním stojí moje touha vyzkoušet si programování. Shodou okolností a náhod jsem před časem, kdy jsem ještě pobývala v Praze, narazila na kurzy PyLadies, které jsem absolvovala. Uplynulo pár měsíců a život, respektive pracovní příležitost, mě odvála zpět do rodných východních Čech. +PyLadies a pythoní komunita byla najednou trošku z ruky. +A proto jsem se jednou na jednom workshopu, který byl věnovaný Pythonu, zeptala: „Co by obnášelo vytvořit PyLadies kurz v Hradci?“ Odpověď na tuto otázku zněla jednoduše: „Za prvé, je třeba sehnat kouče, dále prostory a v neposlední řadě účastníky.“ Plán zněl jasně a tak jsem zacala plnit jednotlivé body z uvedeného seznamu. +A výsledek se dostavil poslední březnovou neděli. +Nutno podotknout, že kromě psaní emailů, oslovování potenciálních koučů, hledání prostorů a tak dále a tak dále, tu svoji významnou roli sehrála podpora a rady od zkušené organizátorky PyLadies Zuzky Válkové a především nadšení Petra Viktorina, který připravil náplň a materiály pro kurz a stal se jeho hlavním lektorem.</p> +<h2 id="je-to-tady">Je to tady!<small class="permalink"><a href="#je-to-tady" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>Poslední březnová neděle v Hradci Králové patřila začátečníkům, kteří měli zájem o programování v jazyce Python. Celá akce měla dva hlavní cíle, které jsem již v úvodu naznačila. +V první řadě seznámit zájemce a začátečníky s programovacím jazykem Python. Dát jim možnost nahlédnout pod pokličku programování, ukázat co obnáší a podpořit je v jejich prvních krůčcích. +Druhým, neméně důležitým cílem bylo nadchnout kouče pro koučování, protože většina z nich neměla s touto rolí žádné zkušenosti.</p> +<h2 id="jdeme-na-to">Jdeme na to!<small class="permalink"><a href="#jdeme-na-to" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>V neděli ráno jsem se sešili na Gymnáziu Boženy Němcové, které nám na akci poskytlo zázemí. V plánu bylo vyzkoušet si programování na atraktivním úkolu grafické hry - „Had“. +Dopolední část byla za měřena na základy práci s příkazovou řádku a základním stavebním kamenům Pythonu jako jsou příkazy if, while, funkce, seznamy, <var>n</var>-tice a třídy pro náš první program. +Odpolední část byla věnována úvodu do Pygletu, kreslení hada a jeho rozpohybování.</p> +<h2 id="a-co-na-to-ucastnici">A co na to účastníci?<small class="permalink"><a href="#a-co-na-to-ucastnici" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<blockquote> +<p>Kurz byl super. Představil mi základní mechaniky programování. Určitě jsem nečekala, že z nás budou za jeden den programátoři, ale vytvoření si vlastní hry bylo skvělou motivací do dalších studií a pokusů-omylů v Pythonu.</p> +</blockquote> +<p>– Jana M.</p> +<blockquote> +<p>Ahoj, workshop předčil moje očekávání. Jednoduchou formou nás lektor naučil naprogramovat hru. Vše se dalo pochopit. Pokud jsme byli ve skluzu, měli jsme kouče, který nám poradil. Fakt skvělí. Podpůrná atmosféra. Děkuji moc za příležitost nahlédnout do programovacího jazyka Python. Ráda se zúčastním dalšího kurzu.</p> +</blockquote> +<p>– Iva Č.</p> +<blockquote> +<p>Byl jsem nadšený. Z pojetí kurzu, přátelské atmosféry i z celkového fungování komunity kolem Pyladies. Byl to jeden z nejprofesionálněji odvedených kurzů na kterých jsem byl, což se, pro mnohé překvapivě, nevylučuje s tím, že je organizován na komunitní, dobrovolnické bázi a zdarma.</p> +</blockquote> +<p>– Robert H.</p> +<h2 id="par-slov-zaverem">Pár slov závěrem<small class="permalink"><a href="#par-slov-zaverem" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>V první řadě poděkování, všem! Na kurzu panovala příjemná a přátelská atmosféra, ze které si každý něco odnesl. Nové vědomosti, motivaci a především smysluplně strávný čas. +Těší mě, že kurz měl úspěch nejen u účastníků, ale také u koučů, kterým se jejich role líbila a odnesli si nové zkušenosti a zážitky. Obvykle je těžké se rozloučit, ale myslím, že v tomto případě se vlastně o loučení a závěr tak úplně nejedná. Z ohlasů na obou stranách totiž soudím, že tenhle závěr by mohl odstarotvat něco nového.</p> +<p>Držte nám palce!</p> +<p>Máte-li zájem získávat více informací o pythoním dění v Hradci Králové můžete nás sledovat na <a href="https://www.facebook.com/groups/pythonhradeckralove/">stránkách Facebooku</a>.</p> +<figure class="figure"><a href="https://blog.python.cz/images/imgl9364.jpg" target="_blank" title="ilustrační obrázek"><img alt="ilustrační obrázek" src="https://blog.python.cz/images/imgl9364.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<figure class="figure"><a href="https://blog.python.cz/images/imgl9395.jpg" target="_blank" title="ilustrační obrázek"><img alt="ilustrační obrázek" src="https://blog.python.cz/images/imgl9395.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<figure class="figure"><a href="https://blog.python.cz/images/imgl9403.jpg" target="_blank" title="ilustrační obrázek"><img alt="ilustrační obrázek" src="https://blog.python.cz/images/imgl9403.jpg" class="figure-img img-fluid img-rounded"></a></figure></div>Hackathon datové analýzy – pro začátečníky!2018-02-06T12:00:00+01:002018-02-06T12:00:00+01:00Petra Vondrová, Pavlína Froňková a Petr Messnertag:blog.python.cz,2018-02-06:/hackathon-datove-analyzy-pro-zacatecniky<div><p>V sobotu ráno 3. února 2018 se sešlo 16 začínajících programátorek a programátorů v Národní technické knihovně v Dejvicích, aby si vyzkoušeli datovou analýzu. Samostatné práci v rámci začátečnického hackathonu předcházelo setkání s členy týmu Seznam.cz, kteří se věnují analýze dat. Ti nejprve představili svoji práci a potom účastníkům …</p></div><div><p>V sobotu ráno 3. února 2018 se sešlo 16 začínajících programátorek a programátorů v Národní technické knihovně v Dejvicích, aby si vyzkoušeli datovou analýzu. Samostatné práci v rámci začátečnického hackathonu předcházelo setkání s členy týmu Seznam.cz, kteří se věnují analýze dat. Ti nejprve představili svoji práci a potom účastníkům ukázali data, která Seznam poskytl k učení, procvičování a analýze pomocí Pythonu. Jednalo se o dva datasety z databáze <a href="https://www.sreality.cz/">Srealit</a>, kluci představili strukturu dat i možné formy interpretace a na co si dát pozor, poté poskytli data ke stažení všem a ti si je začali sami osahávat.</p> +<p>Po prvních dvou rozehřívacích úkolech pro všechny k seznámení s datasety se začali účastníci dělit do skupinek, které pak již budou pokračovat v práci na svých projektech samostatně. Rozhodující je vybrat dobré téma! Sreality nabízí aktuálně velmi palčivou problematiku bydlení, aneb jak neskončit pod mostem, když mosty v Praze teď nejsou v nejlepším stavu. První odvážná analytička se přihlásila: „Já jsem shodou okolností přidala inzerát na Sreality a je tam, ráda bych si to proto srovnala.“ Hned vzápětí se zvedla další ruka: „Kupujeme byt, taky by se mi to hodilo! Jsem s tebou.“ Týmy a témata se začaly rychle skládat dohromady. Další skupina se zaměřila na vliv rekonstrukce na cenu nemovitostí: „Můžeš mě přidat k té rekonstrukci?“, „Já bych taky rekonstruoval.“ Další týmy se vrhly na měření vlivu vzdálenosti bytu od centra města a zastávek MHD, v závislosti na jeho ceně – kam až kupec zajde?</p> +<p>První vlnu brainstormingu a konzultování přípravy přerušil společný oběd a po něm následovaly další hodiny práce. Za oknem krátce sněžilo a potemnělo, ale duhová podlaha NTK nás nenechala usnout. Po pečlivé analýze a dlouhém systematickém rozebírání alternativ došlo večer na prezentace výsledků. Všechny skupiny dokončily své projekty a k analýze přistoupily s odvahou a kreativitou. Porota složená z organizátorů a koučů ohodnotila přístup k řešení projektu, práci v týmu, správnost postupu, ale i užitečnost. V součtu těchto kritérií zvítězila analýza <strong>vlivu rekonstrukce na výslednou cenu bytu</strong>, a tedy odpověď na otázku – prodávat před, či po rekonstrukci? Další prezentovaný projekt byla <strong>analýza konkurenceschopnosti</strong> konkrétního inzerátu bytu oproti ostatním. Velmi užitečnou by mohla být i <strong>jednoduchá aplikace</strong>, jež vyhodnotila polohu eventuálních nemovitostí z nabídky vzhledem k nejbližší stanici MHD. Během konečných prezentací měli účastníci možnost i kriticky ohodnotit cizí řešení a zamyslet se nad tím, kde a proč vznikly jaké odchylky.</p> +<h2 id="a-co-na-to-kouc-petr">A co na to kouč Petr?<small class="permalink"><a href="#a-co-na-to-kouc-petr" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>Workshop byl svým formátem vlastně hackathon, ale hlavním cílem bylo něco se naučit, setkat se s novými lidmi, trochu networking… spíš než vytvořit funkční projekt (i k tomu se ale jeden tým přiblížil). Učení probíhalo jak formou přednášky na začátku, tak i mezi účastníky navzájem, radami od pomáhajících koučů a samozřejmě i googlením :) Nikdo se nenudil s tím, že by už všechno znal.</p> +<p>Všechny týmy si pro práci zvolily knihovnu Pandas. Ta na jednu stranu práci s daty usnadňuje, ale pokud s ní člověk nemá zkušenosti, tak neustále hledá, jak nějakou konkrétní věc udělat. Třeba i něco, co by nakonec bylo jednodušší v „čistém“ Pythonu. Pro začátečníky může být jednodušší pracovat s hodnotami tabulky (DataFrame) jednotlivě, což u Pandas bohužel není vhodné, protože je to docela pomalé; ale aspoň byl při běžícím výpočtu čas zajít si na kafe :)</p> +<p>Většina týmů použila prostředí Jupyter Notebook. Všichni účastníci přišli na workshop s již připraveným softwarem na svých noteboocích, což ušetří hodně času. Praktickým problémem bylo předávání dat mezi členy týmů, jeden z týmů to vyřešil pomocí GitHubu.</p> +<p>Co se týká samotné práce s daty, tak bych řekl, že účastníkům chyběly určité zkušenosti a návyky z oblasti statistiky. Často byl výstupem týmu sloupcový graf s průměrnou hodnotou, která ale nenese moc informace – nebylo zřejmé rozdělení dat, možné ovlivnění outliery… Nezbyl moc prostor hledat v datech nějaké další závislosti a souvislosti. Ale zase nejdříve je potřeba zvládnout nástroje, jako jsou Pandas, a toto workshop právě splnil.</p> +<p>Týmy si procvičily i čištění dat. Ukázalo se, že i tak jasná položka, jako je „cena,“ nemusí být úplně směrodatná, pokud je v textu inzerátu upřesněno, že je to cena např. pouze za částečný podíl vlastnictví činžovního domu. Nejvíce se do dat zanořil vítězný tým, který zkoušel různé možnosti, jak z textu inzerátu zjistit údaje o rekonstrukci dané nemovitosti, což bylo uvedeno někdy i dost nepřímo.</p> +<p>Děkujeme všem skvělým účastníkům, neúnavným <a href="http://pyladies.cz">PyLadies</a> koučům, <a href="https://www.techlib.cz/cs/">NTK</a> a samozřejmě <a href="https://vyvojari.seznam.cz/">Seznamu</a>.</p> +<p>Petra Vondrová, Pavlína Froňková a Petr Messner</p> +<p>Své postřehy sepsala i jedna z účastnic, Michaela Šebestová: <a href="https://medium.com/@misasebestova/m%C5%AFj-prvn%C3%AD-datov%C3%BD-hackathon-6f753a4730cf">Můj první datový hackathon</a></p> +<figure class="figure"><a href="https://blog.python.cz/images/img_1505.jpg" target="_blank" title="Vítězný tým"><img alt="Vítězný tým" src="https://blog.python.cz/images/thumbnails/img_1505.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<figure class="figure"><a href="https://blog.python.cz/images/img_1518.jpg" target="_blank" title="2. místo"><img alt="2. místo" src="https://blog.python.cz/images/thumbnails/img_1518.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<figure class="figure"><a href="https://blog.python.cz/images/img_1507.jpg" target="_blank" title="Ilustrační foto z hackathonu"><img alt="Ilustrační foto z hackathonu" src="https://blog.python.cz/images/thumbnails/img_1507.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<figure class="figure"><a href="https://blog.python.cz/images/img_1513.jpg" target="_blank" title="Ilustrační foto z hackathonu"><img alt="Ilustrační foto z hackathonu" src="https://blog.python.cz/images/thumbnails/img_1513.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<figure class="figure"><a href="https://blog.python.cz/images/img_1508.jpg" target="_blank" title="Ilustrační foto z hackathonu"><img alt="Ilustrační foto z hackathonu" src="https://blog.python.cz/images/thumbnails/img_1508.jpg" class="figure-img img-fluid img-rounded"></a></figure></div>PyCon CZ 2017 Conference Wrap-Up Summary2017-11-15T10:00:00+01:002017-11-15T10:00:00+01:00Honza Javorektag:blog.python.cz,2017-11-15:/pycon-cz-2017-conference-wrap-up-summary<div><p>In June this year we held the <a href="https://cz.pycon.org/2017/">third annual PyCon in the Czech Republic</a>, for the first time held in Prague. We’d like to take this opportunity to wrap up the 2017 conference so we can kick things off for 2018!</p> +<figure class="figure"><a href="https://blog.python.cz/images/pyconcz2016_d1-56.jpg" target="_blank" title="Backyard chill out"><img alt="Backyard chill out" src="https://blog.python.cz/images/thumbnails/pyconcz2016_d1-56.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<h2 id="thank-you">Thank you!<small class="permalink"><a href="#thank-you" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>All the people who organized the …</p></div><div><p>In June this year we held the <a href="https://cz.pycon.org/2017/">third annual PyCon in the Czech Republic</a>, for the first time held in Prague. We’d like to take this opportunity to wrap up the 2017 conference so we can kick things off for 2018!</p> +<figure class="figure"><a href="https://blog.python.cz/images/pyconcz2016_d1-56.jpg" target="_blank" title="Backyard chill out"><img alt="Backyard chill out" src="https://blog.python.cz/images/thumbnails/pyconcz2016_d1-56.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<h2 id="thank-you">Thank you!<small class="permalink"><a href="#thank-you" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>All the people who organized the PyCon CZ event are volunteers and worked on it in their free time. Big shout out to all the <a href="https://cz.pycon.org/2017/about/team/">core team members</a> as well as all other people who helped with preparation up front or on site. Big thanks to all the CfP submission authors, the invited and accepted speakers, all the attendees who joined us to make PyCon CZ the amazing event it was, the <a href="https://cz.pycon.org/2017/sponsors/">sponsors</a>, and our hosts at both <a href="http://www.meetfactory.cz/">MeetFactory</a> and the <a href="https://fit.cvut.cz/en">Faculty of Information Technology CTU in Prague</a>. Two special thanks also go to:</p> +<ul> +<li><a href="http://pyvec.org/">Pyvec</a> – The formal backers of the PyCon CZ events and so many other Python events in the Czech Republic. Continuous activities of people around Pyvec, <a href="http://pyladies.cz/">Czech PyLadies</a>, and monthly <a href="https://pyvo.cz/">Pyvo meetups</a> are the lifeblood of the <a href="https://python.cz/">Czech Python community</a>.</li> +<li><a href="https://www.python.org/psf/">Python Software Foundation</a> – They are the good people who take care of the ongoing development of the Python language and the global activities around it. The PSF sponsored PyCon CZ 2017, as it does many such events.</li> +</ul> +<h2 id="community-organization">Community Organization<small class="permalink"><a href="#community-organization" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>To acknowledge the heroic achievements of the PyCon CZ founder <a href="https://twitter.com/tomas_ehrlich">Tomáš Ehrlich</a> and to give him some time off after two restless years organizing the conference, we agreed on moving the event to Prague. <a href="https://twitter.com/BaraDrb">Bára Drbohlavová</a> volunteered to become the chair of the conference and a new organizing team started to form.</p> +<p>Today, we can say that the hand-over was successful and the Prague team is very well capable of organizing PyCon CZ events! Even though the team <a href="http://blog.python.cz/pycon-cz-2017-changes-date-and-venue">was forced by bad luck to change the date and venue at the last minute</a>, at the end there was an amazing atmosphere and a cheerful feedback.</p> +<p>We did not manage to have dedicated mobile apps for the event as last year. On the other hand, we had a UX-aware DTP-capable frontend designer as part of the core team, which resulted in many improvements in the presentation of the conference, especially the usability of the website on mobile devices.</p> +<figure class="figure"><a href="https://blog.python.cz/images/pyconcz2016_d1-19.jpg" target="_blank" title="In front of MeetFactory"><img alt="In front of MeetFactory" src="https://blog.python.cz/images/thumbnails/pyconcz2016_d1-19.jpg" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +In front of <a href="http://meetfactory.cz/">MeetFactory</a></figcaption></figure> +<figure class="figure"><a href="https://blog.python.cz/images/pyconcz2016_d1-27.jpg" target="_blank" title="Lumír Balhar speaking in the main room"><img alt="Lumír Balhar speaking in the main room" src="https://blog.python.cz/images/thumbnails/pyconcz2016_d1-27.jpg" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +<a href="https://cz.pycon.org/2017/speakers/detail/talk/14/">Lumír Balhar</a></figcaption></figure> +<h2 id="content-stats">Content Stats<small class="permalink"><a href="#content-stats" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<ul> +<li>31 talks (4 keynotes), 30 speakers</li> +<li>9 workshops</li> +</ul> +<h2 id="ticket-stats">Ticket Stats<small class="permalink"><a href="#ticket-stats" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<ul> +<li>361 tickets, 334 attendees (20% women)</li> +<li>62% of tickets were paid<ul> +<li>24% (39% of all paid) <strong>Self-funded</strong> (38% of them were Early Bird)</li> +<li>22% (35% of all paid) <strong>Employer-funded</strong> (40% of them were Early Bird)</li> +<li>15% (24% of all paid) <strong>Student/Teacher</strong> (49% of them were Early Bird)</li> +<li>3 tickets for PyLadies</li> +</ul> +</li> +<li>38% of tickets were free<ul> +<li>11% went to sponsors</li> +<li>11% for speakers and workshop leaders</li> +<li>7% for Django Girls (of those 35% were coaches)</li> +<li>4% for PyCon CZ organizers</li> +<li>4 tickets were given away in raffles at meetups</li> +<li>4 tickets as Financial Aid</li> +<li>3 tickets for GymGeek</li> +<li>4 tickets for PyCon PL and PyCon SK organizers</li> +</ul> +</li> +<li>27 people did not come (4 Django Girls, 3 Django Girls coaches, 6 Early Bird student/teachers, 2 student/teachers, 5 self-funded, 3 employer-funded, 3 sponsors, 1 PyCon SK organizer)</li> +</ul> +<figure class="figure"><a href="https://blog.python.cz/images/pyconcz2016_d1-38.jpg" target="_blank" title="Audience"><img alt="Audience" src="https://blog.python.cz/images/thumbnails/pyconcz2016_d1-38.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<h2 id="feedback">Feedback<small class="permalink"><a href="#feedback" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>We carried out a feedback survey during and after the event. We’ve got 39 responses in total.</p> +<ul> +<li><strong>Have you been satisfied with PyCon CZ 2017?</strong> 94.9% said yes!</li> +<li><strong>I came to PyCon CZ to/because...</strong><ul> +<li>53.8% – networking and meeting people</li> +<li>51.3% – talks and learning about Python</li> +</ul> +</li> +<li><strong>Which talk did you enjoy the most?</strong><ol> +<li>12.8% – <a href="https://twitter.com/NaomiCeder">Naomi Ceder</a> (<a href="https://cz.pycon.org/2017/speakers/detail/talk/34/">What lies ahead? Python’s future strengths and challenges</a>) and <a href="https://twitter.com/attacus_au">Lilly Ryan</a> (any of the <a href="https://cz.pycon.org/2017/speakers/detail/talk/9/">two</a> <a href="https://cz.pycon.org/2017/speakers/detail/talk/31/">talks</a>)</li> +<li>10.3% – <a href="https://twitter.com/lumirbalhar">Lumír Balhar</a> &amp; <a href="https://encukou.cz">Petr Viktorin</a> (<a href="https://cz.pycon.org/2017/speakers/detail/talk/14/">How we started teaching Python</a>)</li> +<li>7.7% – Kateřina Falk (<a href="https://cz.pycon.org/2017/speakers/detail/talk/35/">Science with the world’s biggest lasers</a>)</li> +</ol> +</li> +<li><strong>What were the top 3 things you most enjoyed at the event this year?</strong><ul> +<li>41.0% – community / people</li> +<li>35.9% – venue / building / location</li> +<li>25.6% – talks</li> +<li>25.6% – atmosphere</li> +<li>15.4% – coffee</li> +</ul> +</li> +<li><strong>What were the bottom 3 things we could have done better?</strong><ul> +<li>20.5% – food</li> +<li>20.5% – Wi-Fi</li> +<li>12.8% – rooms, chairs</li> +<li>12.8% – afterparty</li> +<li>7.7% – venue / building / location</li> +</ul> +</li> +<li><strong>Where did you travel from?</strong><ul> +<li>38.5% – Prague, Czech Republic</li> +<li>7.7% – Brno, Czech Republic</li> +<li>7.7% – Poland</li> +<li>5.1% – not far from Prague, Czech Republic</li> +<li>5.1% – Bratislava, Slovakia</li> +<li>5.1% – other places, Czech Republic</li> +</ul> +</li> +</ul> +<figure class="figure"><a href="https://blog.python.cz/images/pyconcz2016_d1-21.jpg" target="_blank" title="People during breaks"><img alt="People during breaks" src="https://blog.python.cz/images/thumbnails/pyconcz2016_d1-21.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<h2 id="videos-photos">Videos &amp; Photos<small class="permalink"><a href="#videos-photos" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>This was the first time we managed to have a live stream from the event. The stream covered both days of the conference talks and both rooms. Thanks to the fact that the Q&amp;A was running on <a href="https://www.sli.do/">Slido</a>, not only people in the rooms, but also anyone watching the stream could ask questions. The stream recordings are still available on YouTube:</p> +<ul> +<li><a href="https://www.youtube.com/watch?v=170uRdCLUPY">Theatre Room, Thu</a></li> +<li><a href="https://www.youtube.com/watch?v=TAwbeQqN4dI">Main Room, Thu</a></li> +<li><a href="https://www.youtube.com/watch?v=2Azpwf2LRK0">Theatre Room, Fri</a></li> +<li><a href="https://www.youtube.com/watch?v=motIB96FI48">Main Room, Fri</a></li> +</ul> +<p>Special thanks go to <a href="http://peter.hozak.info/">Peter Hozák</a> who voluntarily posted a comment with time anchors under each of the videos, so soon after the conference anyone could easily scan the recordings to watch what they like.</p> +<p>Post-processed videos of individual talks are <a href="https://www.youtube.com/playlist?list=PLyde45Tox-NczAxZ7L7_YF9sxOgby8zHR">available on YouTube</a> as well. Each <a href="https://cz.pycon.org/2017/speakers/talks/">talk page</a> was updated with the video embedded right under the talk description.</p> +<p>An official selection of photos from the event is <a href="https://photos.app.goo.gl/u1QYSBPPoWWerWGp1">available on Google Photos</a>.</p> +<h3 id="video-stats">Video Stats<small class="permalink"><a href="#video-stats" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<p>The videos of talks were uploaded by the end of August. The numbers below were collected on 1 Oct 2017, that means after one month from publishing.</p> +<ul> +<li><strong>Stream Thursday</strong><ul> +<li>Main Room – 962 views, 13172 minutes watch time, 20 likes</li> +<li>Theatre Room – 563 views, 4662 minutes watch time, 10 likes</li> +</ul> +</li> +<li><strong>Stream Friday</strong><ul> +<li>Main Room – 794 views, 7717 minutes watch time, 11 likes</li> +<li>Theatre Room – 359 views, 3780 minutes watch time, 3 likes</li> +</ul> +</li> +<li><strong>Videos with the most views</strong>:<ul> +<li><a href="https://cz.pycon.org/2017/speakers/detail/talk/30/">Armin Ronacher: A Python and Rust love story</a></li> +<li><a href="https://cz.pycon.org/2017/speakers/detail/talk/34/">Naomi Ceder: What lies ahead? Python’s future strengths and challenges</a></li> +<li><a href="https://cz.pycon.org/2017/speakers/detail/talk/8/">Karla Fejfarová &amp; Petr Šimeček: Python alternatives to R/Shiny</a></li> +</ul> +</li> +</ul> +<figure class="figure"><a href="https://blog.python.cz/images/pyconcz2017_d2-12.jpg" target="_blank" title="Why is formatting an issue?"><img alt="Why is formatting an issue?" src="https://blog.python.cz/images/thumbnails/pyconcz2017_d2-12.jpg" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +<a href="https://cz.pycon.org/2017/speakers/detail/talk/32/">Sebastian Hillig</a></figcaption></figure> +<h2 id="socially-responsible-catering">Socially Responsible Catering<small class="permalink"><a href="#socially-responsible-catering" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>Catering (except of coffee, which was prepared by <a href="http://www.kofarna.cz/">Kofárna</a>) was provided by coffee shop &amp; bakery <a href="http://www.slunce.info/index.php?option=com_content&amp;view=article&amp;id=178&amp;Itemid=91">Slunce</a>, which employs people with disabilities. The activities of Slunce are formally backed by the <a href="http://www.slunce.info/index.php?option=com_content&amp;view=article&amp;id=576&amp;Itemid=78">Sun for Everyone Endowment Fund</a> (<a href="http://slunce.info/">Czech</a>).</p> +<h2 id="diversity">Diversity<small class="permalink"><a href="#diversity" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>We’ve put effort into making the conference as welcoming as possible. We had a <a href="https://cz.pycon.org/2017/about/code/">Code of Conduct</a> in place and we were reaching out to specific communities which are usually underrepresented in technical conferences.</p> +<p>The women/men ratio of the organizing team was roughly 50:50. After moving the conference from Brno to Prague, the Prague PyLadies course graduate <a href="https://twitter.com/BaraDrb">Bára Drbohlavová</a> volunteered to become the chair of the conference. The <a href="http://pyladies.cz/">PyLadies of Prague, Brno and Ostrava</a> were invited to attend with a discount equal to the student/teacher ticket fare.</p> +<p><a href="https://github.com/zuzejk">Zuzka Válková</a>, a long-time Prague PyLadies course organizer, joined our team to hold the <a href="https://djangogirls.org/">Django Girls</a> workshop together with the conference. All Django Girls participants received a free ticket for the conference.</p> +<p>Vojtěch Polášek, author of the <a href="http://blog.python.cz/blind-attendee-about-pycon-cz-2016">Blind attendee about PyCon CZ 2016</a> blog post, came to the conference again this year. His own report follows:</p> +<blockquote> +<p>After I had attended PyCon CZ last year, I decided to repeat it as soon as possible. And therefore I arrived in Prague in June to see what's new with Python and to meet old and new friends. Unfortunately, I was able to attend only on Friday so I missed the workshops.</p> +<p>This year, I didn't manage to find anyone to assist me throughout the conference so I decided to go alone. But time showed that I wouldn't be alone at all. There was literally almost not a single minute when I would feel abandoned at this place. There was always someone around to help me or to talk to me. Whenever I am surrounded by such people, it leaves a long lasting positive feeling in me and PyCon CZ 2017 wasn't an exception.</p> +<p>Talks were very interesting and mostly accessible. I guess that speakers probably read my <a href="http://blog.python.cz/blind-attendee-about-pycon-cz-2016">short post from previous PyCon CZ</a>, where I suggested some improvements concerning the accessibility of talks. Also this year PyCon CZ was hosted in a somewhat smaller building. I understand that it could be a bit unconfortable but on the other hand after several hours I was able to navigate through the building almost without asistance.</p> +<p>During the conference I decided to give a lightning talk at the end, where I <a href="https://www.youtube.com/watch?v=Swl8lRe9YNI&amp;t=4m45s">demonstrated very shortly how I can use the computer</a>. I did that because the Linux screenreader <a href="https://en.wikipedia.org/wiki/Orca_(assistive_technology)">Orca</a> is written in Python. Thank you for giving me such opportunity to show that and I hope that it could attract someone who would like to focus their Python skills in this way. +Finally, I would like to thank <a href="https://www.redhat.com/">Red Hat</a> for providing me with a free ticket. My thanks also go to <a href="https://twitter.com/kejbaly2">Chris Ward</a> who tried to help me as much as possible throughout the whole conference.</p> +<p>I am looking forward to visiting PyCon CZ next year as well and to finally attend some workshops.</p> +</blockquote> +<figure class="figure"><a href="https://blog.python.cz/images/pyconcz2017_d2-46.jpg" target="_blank" title="Kareřina Falk"><img alt="Kareřina Falk" src="https://blog.python.cz/images/thumbnails/pyconcz2017_d2-46.jpg" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +<a href="https://cz.pycon.org/2017/speakers/detail/talk/35/">Kateřina Falk</a></figcaption></figure> +<h3 id="diversity-stats">Diversity Stats<small class="permalink"><a href="#diversity-stats" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<p>The selection process for talks and workshops did not take gender into consideration.</p> +<ul> +<li><strong>Speakers:</strong> 71% men, 29% women, 3% non-binary</li> +<li><strong>Workshops leaders:</strong> 89% men, 11% women</li> +<li><strong>All attendees:</strong> 80% men, 20% women, 0.3% non-binary</li> +</ul> +<p>From the detailed analysis of the data we have it seems that women tend to buy cheaper tickets than men, probably mostly because in the context of the Czech Python community they’re often beginners as well, without technology being their full-time day job. The data shows that the ticket price is important for achieving inclusivity. Without the discounts aimed towards women (Django Girls, PyLadies) and without the Financial Aid we would see much fewer women attending the conference.</p> +<p>Workshops aimed at beginners (<a href="https://cz.pycon.org/2017/speakers/detail/workshop/7/">testing</a>, <a href="https://cz.pycon.org/2017/speakers/detail/workshop/1/">robots</a>, <a href="https://cz.pycon.org/2017/speakers/detail/workshop/4/">programming for kids</a>, Django Girls) significantly raised the number of women as well.</p> +<p>In the past years, the Czech Python community has made a big leap towards attracting both women and beginners into tech. We think the attendance of women and beginners at PyCon CZ is significantly influenced by the day-to-day work of all who put in the effort, primarily everyone around the activites of <a href="http://pyladies.cz/">PyLadies</a>. We hope to become an inspiration for other Czech tech communities and events.</p> +<h3 id="what-could-have-been-done">What Could Have Been Done<small class="permalink"><a href="#what-could-have-been-done" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<ul> +<li>Given the fact that we’re a developer-focused conference in the Czech Republic, 20% of women audience is a good number, but in the following years we would like to find and remove as many remaining obstacles for women to attend as possible and to achieve even higher numbers. Experience from abroad shows there’s still a margin.</li> +<li><a href="http://blog.python.cz/pycon-cz-2017-changes-date-and-venue">Because of last minute changes of the venue</a>, both of the main conference days happened during working days. According to reports, such choice isn’t exactly the best for attracting beginners, who often don’t have a job related to technology or as flexible as is common among Python professionals.</li> +<li>For the same reason, the Django Girls workshop had to be on Sunday, after the whole conference. That’s why many attendees of the workshop did not come to the conference, although they were given a free ticket.</li> +<li>We did not manage to pursue more partnerships. E.g. last year we invited <a href="http://www.vycvikvodicichpsu.cz">VODICÍ PES</a>.</li> +</ul> +<figure class="figure"><a href="https://blog.python.cz/images/pyconcz2017_d2-26.jpg" target="_blank" title="Armin Ronacher"><img alt="Armin Ronacher" src="https://blog.python.cz/images/thumbnails/pyconcz2017_d2-26.jpg" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +<a href="https://cz.pycon.org/2017/speakers/detail/talk/30/">Armin Ronacher</a></figcaption></figure> +<h2 id="code-of-conduct-report">Code of Conduct Report<small class="permalink"><a href="#code-of-conduct-report" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>The organization team agrees that all PyCon events should be accessible and welcoming to everyone, regardless of their background. We agree that a clear and specific Code of Conduct is a necessity for any event.</p> +<ul> +<li>The <a href="https://cz.pycon.org/2017/about/code/">Code of Conduct</a> was based on Conference anti-harassment policy from <a href="http://geekfeminism.wikia.com/wiki/Conference_anti-harassment/Policy">Geek feminism wiki</a> and edited to be as specific to our event as possible.</li> +<li>Agreeing to the Code was mandatory when buying a ticket.</li> +<li>Two contact persons (male and female) were assigned.</li> +<li>Attendees were reminded of the Code in the opening speech of each day.</li> +</ul> +<h3 id="what-could-have-been-done_1">What Could Have Been Done<small class="permalink"><a href="#what-could-have-been-done_1" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<ul> +<li>Summary of the Code in both languages was not posted around the venue.</li> +<li>Phone numbers of the contact persons were not posted around the venue.</li> +<li>There was no easy way to report an incident other than to write an e-mail or to talk to the CoC contact person.</li> +<li>Czech language version of the Code was not accessible on the website.</li> +</ul> +<figure class="figure"><a href="https://blog.python.cz/images/pyconcz2016_d1-33.jpg" target="_blank" title="Coding during talks"><img alt="Coding during talks" src="https://blog.python.cz/images/thumbnails/pyconcz2016_d1-33.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<h2 id="budget">Budget<small class="permalink"><a href="#budget" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>In the spirit of open source and transparency, we’re happy to share a summary of our budget (all numbers are thousands of Czech Koruna, CZK).</p> +<h3 id="income">Income<small class="permalink"><a href="#income" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<ul> +<li>Sponsorship: 690</li> +<li>Ticket sales: 400</li> +<li><strong>Total: 1090</strong></li> +</ul> +<h3 id="expenses">Expenses<small class="permalink"><a href="#expenses" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<ul> +<li>Venue: 215</li> +<li>Catering: 187</li> +<li>Robot workshop: 9</li> +<li>Conference party (food + drinks): 41</li> +<li>Financial aid (incl. keynote speakers): 130</li> +<li>Photo/video recording &amp; editing: 97</li> +<li>Swag, lanyards: 29</li> +<li>On-site fun (DJ, games): 21</li> +<li>Stationery, roll-ups: 18</li> +<li>Various other: 46</li> +<li><strong>Total: 793</strong></li> +</ul> +<h3 id="conclusion">Conclusion<small class="permalink"><a href="#conclusion" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<p>We ended with a positive balance of close to 297 500 CZK. That’s because the conference moved from Brno to Prague and the organization team also changed, so we were very defensive about our estimates and spending. All the surplus funds will be available at <a href="http://pyvec.org/">Pyvec</a>’s <a href="https://www.fio.cz/ib2/transparent?a=2600260438">transparent account</a> as support funds to any Python-related activities in the country, and the rest is going to be applied to the next year’s event budget.</p> +<p>In the past, Pyvec had only limited funds to reimburse community expenses such as stickers, community sprints, <a href="https://twitter.com/lumirbalhar/status/915545723265052673">workshop/meetup equipment</a>, open source educational materials, and more. Thanks to PyCon CZ 2017 surplus funds, the support budget is now much larger, which can be a significant help to the development of the Czech community.</p> +<p>Should funding prevent you from organizing a Python-related event, or should you miss any equipment needed to promote Python, please let us know at <a href="mailto:info@pyvec.org">info@pyvec.org</a>. The funds are a great opportunity for the Czech community to thrive – which means not only more beginners, but also a healthier job market.</p> +<figure class="figure"><a href="https://blog.python.cz/images/workshops.gif" target="_blank" title="Robot workshop buzz"><img alt="Robot workshop buzz" src="https://blog.python.cz/images/workshops.gif" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +<a href="https://cz.pycon.org/2017/speakers/detail/workshop/1/">Robot workshop</a></figcaption></figure> +<h2 id="2018">2018<small class="permalink"><a href="#2018" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>Now, on planning PyCon CZ 2018. For the next year, the conference stays in Prague. Neither the approximate date should change, so count with early summer. You can join the organizing team, or just keep track of our progress via our different channels:</p> +<ul> +<li>Twitter: <a href="https://twitter.com/pyconcz">@pyconcz</a></li> +<li><a href="https://www.facebook.com/events/1271690599641233/">Facebook</a></li> +<li>E-mail: <a href="mailto:info@pycon.cz">info@pycon.cz</a></li> +<li>Website: <a href="https://cz.pycon.org/">pycon.cz</a></li> +</ul> +<p>Send an email to <a href="mailto:info@pycon.cz">info@pycon.cz</a> if you’d like to request an invite to join our PyCon CZ planning channel on <a href="https://pyvec.slack.com/">Slack</a> (it can also be used through IRC).</p> +<p>See you in 2018!</p> +<figure class="figure"><a href="https://blog.python.cz/images/pyconcz2017_d2-72.jpg" target="_blank" title="Always look on the bright side of life"><img alt="Always look on the bright side of life" src="https://blog.python.cz/images/thumbnails/pyconcz2017_d2-72.jpg" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +<a href="https://www.youtube.com/watch?v=RV5h0voNg6U">Closing ceremony</a></figcaption></figure></div>Kdo jsme? - Ženy! Co chceme umět? - Django!2017-07-19T13:08:00+02:002017-07-19T13:08:00+02:00Štěpánka Lucinovátag:blog.python.cz,2017-07-19:/djangozeny<div><h3 id="django-workshop-1162017">Django workshop - 11.6.2017<small class="permalink"><a href="#django-workshop-1162017" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<figure class="figure"><img alt="Kdo jsme? - Ženy! Co se chceme naučit? - Django!" src="https://blog.python.cz/images/whoarewe.jpg" class="figure-img img-fluid img-rounded"></figure> +<p>Poslední tři a půl měsíce pro mě byly hodně pytenzivní. Po skončení <a href="http://pyladies.cz/">PyLadies kurzu</a> byl hned <a href="https://cz.pycon.org/2017/">PyCon CZ</a>, na který dostaly všechny účastnice DjangoGirls workshopu vstupenku. Jako úplný nováček ve světě „těch internetů“ jsem se docela bála, že nebudu některým věcem rozumět, že to bude …</p></div><div><h3 id="django-workshop-1162017">Django workshop - 11.6.2017<small class="permalink"><a href="#django-workshop-1162017" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<figure class="figure"><img alt="Kdo jsme? - Ženy! Co se chceme naučit? - Django!" src="https://blog.python.cz/images/whoarewe.jpg" class="figure-img img-fluid img-rounded"></figure> +<p>Poslední tři a půl měsíce pro mě byly hodně pytenzivní. Po skončení <a href="http://pyladies.cz/">PyLadies kurzu</a> byl hned <a href="https://cz.pycon.org/2017/">PyCon CZ</a>, na který dostaly všechny účastnice DjangoGirls workshopu vstupenku. Jako úplný nováček ve světě „těch internetů“ jsem se docela bála, že nebudu některým věcem rozumět, že to bude složité a že jsem si zase ukousla moc velké sousto. Ale nakonec jsem si to fakt užila, posuďte sami...</p> +<p>Asi dva týdny před workshopem jsme dostaly email s instrukcemi k workshopu, co je potřeba nainstalovat a odkaz na +krátký úvod do HTML a CSS. Všechno detailně popsané, takže jsem během pár dní úspěšně vytvořila své kočce „webísek“ +o jedné galerii a pár odkazech. Kočku jsem tím neohromila...</p> +<p>Neděle 11.6.2017 6:30 - samou nedočkavostí jsem se probudila ještě před zazvoněním budíku a počasí venku slibovalo +super den. Čapla jsem bábovku, kterou jsem upekla jako úplatek pro kouče, a o hodinu a půl později už vcházela do <a href="https://www.msdit.cz/">MSD IT</a> na Smíchově. Velká moderní budova, ve které mě vítá milý pán na vrátnici, strčí mi k podpisu prezenční papír a hned vysvětluje kudy a kam. Ostatně jejich chytré výtahy mě ani nikam jinam než do šestého patra nepustí. :) Tam už se na každou účastnici nedočkavě vrhají organizátorky Veronika a Zuzka s tričky, samolepkami, širokým úsměvem a tajuplnou krabičkou, ze které se pak vyklubají hrací karty. V rámci kamarádění si lepíme jmenovky. V hlavní místnosti jsou stoly sražené po dvou k sobě, čímž vzniká několik malých skupinek po třech účastnicích a jednom kouči. Na každém stole jsou vypsána jména účastnic a kouče, heslo na wifi a tahák na Django. Já jsem ve skupince s Vlaďkou, se kterou se znám už z PyLadies, jednou paní a koučem <a href="https://rousek.name/">Pepou Rouskem</a>. Jinak jsem tam moc lidí neznala, pamatovala jsem si několik holek z PyLadies a rozpoznala pár tváří z PyConu.</p> +<figure class="figure"><a href="https://blog.python.cz/images/IMG_0518.jpg" target="_blank" title="Atmosféra na workshopu"><img alt="Atmosféra na workshopu" src="https://blog.python.cz/images/thumbnails/IMG_0518.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<p>Musím říct, že Zuzka s Verčou odhalily tajemství spokojených účastnic a strategicky zahájily workshop snídaní. Mňam! +Po krátkém představení koučů a programu se už každá účastnice vrhla na tutoriál. Princip miniskupinek s koučem a postupování vlastním tempem mi vyhovoval na 1000 %. Stačilo se zoufale podívat koučovým směrem nebo zmínit, že „vono to nefunguje“ +a během chvilky „to“ už zase fungovalo. Nevím jak u ostatních stolů, ale náš Pepa se občas docela nudil, což nepřipisuju +na vrub naší skupince, ale fakt skvěle napsanému tutoriálu, který nám i připomínal, kdy si dojít pro kafe nebo občerstvení, +kterého bylo po celý den víc než dost.</p> +<figure class="figure"><a href="https://blog.python.cz/images/IMG_0343.jpg" target="_blank" title="Oběd na terase"><img alt="Oběd na terase" src="https://blog.python.cz/images/thumbnails/IMG_0343.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<p>Ani jsem se nenadála a už byl čas na oběd. Opět musím vyseknout poklonu objednanému cateringu, protože jídlo bylo výborné, +pestré a bylo ho dost. :) Po jídle jsme byly vyhnány na velkou terasu se zahrádkou a krásným výhledem na společné focení, +abyste pak všichni viděli, jak jsme se tam měli dobře. Posoudit můžete <a href="https://www.dropbox.com/sh/6s2kyttxdq4g9zr/AABOSpfBOIzIYhR-ktJ0eSLea?dl=0">„zde“</a>. Musím říct, že mě workshop bavil natolik, +že jsem si i oběd vzala k počítači a pro kafe běhala minimálně – a to bylo fakt dobrý! :) Druhá půlka workshopu byla +trochu zajímavější, jelikož po <var>x</var> hodinách všemožného nastavování jsme se dostali i k programování. Vševědoucí Pepa se trpělivě skláněl nad našima notebookama a hledal zapomenuté závorky, překlepy, řešil nevysvětlitelné errory a odpovídal na všetečné otázky typu „A proč jako? A proč ne takhle?“.</p> +<figure class="figure"><a href="https://blog.python.cz/images/IMG_0060.jpg" target="_blank" title="Radící koučové"><img alt="Radící koučové" src="https://blog.python.cz/images/thumbnails/IMG_0060.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<p>Za sebe můžu říct, že se mi tutoriál povedlo dokončit celý. Když jsem se vyptávala okolí, většině účastnic to zvládla taky zcela nebo aspoň z 80 %, což je při takovém množství účastnic (36!) s rozdílnými úrovněmi skvělé a je potřeba to připsat opět +na vrub pořadatelkám a koučům.</p> +<figure class="figure"><a href="https://blog.python.cz/images/IMG_0209.jpg" target="_blank" title="Skupinovka"><img alt="Skupinovka" src="https://blog.python.cz/images/thumbnails/IMG_0209.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<p>A teď děkovací odstavec aneb borci na konci. :) Prvně pořadatelky – <a href="https://www.facebook.com/zuzejk">Zuzka</a> a <a href="https://twitter.com/lspdv">Veronika</a>, tyhle dvě věčně se smějící a štěbetající cácorky o tomhle workshopu nikde na Fuck Up <a href="https://pyvo.cz/">Pyvu</a> mluvit nebudou; bez koučů bychom se tak daleko nedostali; bez <a href="https://www.msdit.cz/">MSD IT</a> bychom byli o hladu a programovali někde na louce přes hotspot. <a href="https://github.com/">GitHub</a> pushnul super Django trička a díky <a href="http://pyvec.org/">Pyvec</a> a <a href="https://cz.pycon.org/2017/">PyCon CZ</a> jsme měly super fotky z workshopu a vstupenky na PyCon CZ 2017 zdarma.</p> +<p>Po workshopu vím, že:</p> +<ul> +<li>...rozdíl mezi #000000 a #FFFFFF je velkej.</li> +<li>...there is no place like 127.0.0.1.</li> +<li>...lilek fakt není špatnej.</li> +<li>...programátoři jsou fajn.</li> +</ul></div>Učili jsme Python na univerzitě, otevřeně a na GitHubu2017-04-27T19:00:00+02:002017-04-27T19:00:00+02:00Petr Viktorin, Miro Hrončoktag:blog.python.cz,2017-04-27:/mi-pyt<div><p>Na <a href="https://fit.cvut.cz/">Fakultě informačních technologií Českého vysokého učení technického v Praze</a> (FIT ČVUT) jsme v zimním semestru 2016/2017 učili volitelný předmět pro magisterské studenty <em>Pokročilý Python</em> (MI-PYT). +Na FITu již existoval volitelný předmět pro bakalářské studenty <em>Programování v Pythonu</em> (BI-PYT), avšak přišlo nám, že o Pythonu toho lze naučit mnohem …</p></div><div><p>Na <a href="https://fit.cvut.cz/">Fakultě informačních technologií Českého vysokého učení technického v Praze</a> (FIT ČVUT) jsme v zimním semestru 2016/2017 učili volitelný předmět pro magisterské studenty <em>Pokročilý Python</em> (MI-PYT). +Na FITu již existoval volitelný předmět pro bakalářské studenty <em>Programování v Pythonu</em> (BI-PYT), avšak přišlo nám, že o Pythonu toho lze naučit mnohem více, než se dá za jeden semestr probrat. Petr učí začátečnický kurz <a href="http://pyladies.cz/">PyLadies</a>, Miro učí na FITu 3D tisk a dříve i tvorbu elektronické dokumentace. Učení nás oba baví a <a href="https://www.redhat.com/en/global/czech-republic">Red Hat</a>, kde oba pracujeme, nás podpořil v myšlence vést na univerzitě předmět. Rozhodli jsme se tedy fakultu oslovit s nabídkou předmětu navazujícího na BI-PYT, abychom pomohli budovat vztahy mezi fakultou (potažmo celou univerzitou) a Red Hatem. Naše cíle byly:</p> +<ul> +<li>postavit předmět tak, aby nepřímo navazoval na BI-PYT;</li> +<li>vytvořit volně dostupné materiály pod svobodnou licencí;</li> +<li>propagovat Python a svobodný software mezi studenty.</li> +</ul> +<figure class="figure"><a href="https://blog.python.cz/images/cvut.jpg" target="_blank" title="Fakulta informačních technologií"><img alt="Fakulta informačních technologií" src="https://blog.python.cz/images/thumbnails/cvut.jpg" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +Fakulta informačních technologií (© <a href="https://commons.wikimedia.org/wiki/File:CTU_-_New_Building_Dejvice,_an_entrance.jpg">Utar</a> CC BY-SA)</figcaption></figure> +<p>Pro naplánování předmětu byl hlavně zpočátku zásadní výběr témat. Co je to vlastně pokročilý Python? Nakonec jsme vybrali seznam oblíbených knihoven, které se v Pythonu běžně používají, a přihodili pár témat, na které v BI-PYT nezbylo místo. Věnovali jsme se tak využívání webových API, tvorbě webových stránek, tvorbě rozhraní pro příkazovou řádku i tvorbě GUI, psaní testů a dokumentace, zpracování dat, propojení světa Pythonu se světem C, asynchronnímu programování i MicroPythonu. Konkrétní seznam témat najdete na <a href="http://naucse.python.cz/courses/mi-pyt/">naucse.python.cz</a>.</p> +<p>Předmět jsme otevřeli ve dvou paralelkách (skupinách) po 24 studentech. Obě se zaplnily už v předběžném zápise a těsně před začátkem semestru vznikal drobný přetlak. Protože jsme tušili, že někdo brzy odpadne, povolili jsme zápis asi 51 studentům. Tři z nich opravdu během prvních týdnů odpadli a oficiálně tak mělo předmět zapsáno přesně 48 studentů. Nic nám tedy nebránilo začít učit.</p> +<h2 id="github-a-otevreny-pristup-pri-tvorbe-a-vyuce-predmetu">GitHub a otevřený přístup při tvorbě a výuce předmětu<small class="permalink"><a href="#github-a-otevreny-pristup-pri-tvorbe-a-vyuce-predmetu" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>Materiály k předmětům na FIT ČVUT jsou dle pravidel fakulty na školním portále Edux a zde jsou většinou dostupné pouze studentům fakulty (a učitelům a dalším, zkrátka jsou neveřejné). +Již u předmětu <em>3D tisk</em> (BI-3DT, vyučuje Miro) se podařilo prosadit <a href="https://edux.fit.cvut.cz/courses/BI-3DT/tutorials/start">veřejně dostupné materiály pod licencí Creative Commons</a>, ale je to na fakultě poměrně výjimečné. +Na rozdíl od 3D tisku, kde materiály vznikají na Eduxu, ale jsou veřejné, jsme se rozhodli udělat to u Pokročilého Pythonu jinak: materiály jsme vytvářeli nejen pod svobodnou licencí, ale také naprosto <a href="https://github.com/cvut/MI-PYT">otevřeně na GitHubu</a>, +tak, jak jsme zvyklí jak z práce v Red Hatu, tak z přispívání do <a href="http://github.com/pyvec/">projektů Pyvce</a>. Na školní portál jsme je pak jen zkopírovali. +Ukázalo se, že otevřený přístup nese své ovoce. Studenti z FITu i samouci do repozitáře <a href="https://github.com/cvut/MI-PYT/graphs/contributors">přispívali</a> +drobné opravy i rozsáhlejší rady a vylepšení. Pokud měli problém nebo potřebovali poradit, často založili v repozitáři novou issue a společně s námi a ostatními studenty se dobrali kýžené pomoci.</p> +<p>Protože jsou materiály otevřené, dá se stejný kurz uspořádat i jinde než na ČVUT. Této možnosti jsme využili hned od začátku: před každou lekcí v Praze měl Petr přednášku pro několik zájemců v Brně ve sklípku <a href="https://www.kiwi.com/cz/">Kiwi.com</a>, kde se odladily chybky v nových materiálech a zjistili jsme, co nefunguje na jiných počítačích než na těch našich. +A po skončení kurzu na ČVUT začalo v Brně další neformální opakování, tentokrát v <a href="http://research.redhat.com/locations/lab-s-fi-muni/">laboratoři Red Hatu na FI MUNI</a> pod názvem <a href="http://naucse.python.cz/2017/pyknihovny-brno/">Python a jeho knihovny</a>. +Zjistili jsme, že lidem, kteří nestudují informatiku, je potřeba výklad trochu přizpůsobit; materiály by tak nyní měly být srozumitelné všem, kteří znají základy Pythonu.</p> +<p>Na GitHubu ale nevznikaly jen materiály k předmětu. Z téměř každé lekce dostali studenti zadaný úkol, který odevzdávali pomocí gitu. +Doporučili jsme GitHub, ale nabídli i alternativu ve formě fakultní instance GitLabu. Tu si nakonec nevybral nikdo. +Zpětnou vazbu k úkolům jsme dávali buď osobně, nebo prostřednictvím GitHub Issues. +Některé úlohy na sebe navazovaly a studenti tak mohli projít tvorbu projektu od zrodu přes přetvoření na modul až k přidání testů a dokumentace. +Zde jsme také využívali známé služby jako <a href="https://www.pythonanywhere.com/">PythonAnywhere</a>, <a href="https://travis-ci.org/">Travis CI</a> či <a href="https://readthedocs.org/">Read the Docs</a>. Často pak vznikly na základě úkolů práce, které jsou nyní volně k dispozici na GitHubu (a mnohdy i PyPI) pod svobodnou licencí.</p> +<p>Studenti si mohli na začátku semestru vybrat téma pro prvních pět úloh. Buďto TwitterWall +(<a href="https://github.com/ggljzr/pytwitter">1</a>, +<a href="https://github.com/kozajaku/MI-PYT">2</a>, +<a href="https://github.com/dstlmrk/pytwitterwall">3</a>, +<a href="https://github.com/vknaisl/pytwitterwallv">4</a>, +<a href="https://github.com/lopatovsky/greattwitterwall">5</a>, +<a href="https://github.com/MarekSuchanek/PYT-TwitterWall">6</a>) +nebo robota, který podle regulárních výrazů označuje issues na GitHubu pomocí štítků +(<a href="https://github.com/pklejch/GitHub-Issues-Bot">1</a>, +<a href="https://github.com/melkamar/gitbot">2</a>, +<a href="https://github.com/bobirdmi/githubissuesbot">3</a>, +<a href="https://github.com/Fanarim/github_labelbot">4</a>). +V závorce můžete využít odkazy na ty projekty, které studenti zveřejnili.</p> +<figure class="figure" style="text-align: left"> +<pre> +<span style="color: #00aa00">11/04/2017 08:03:00</span><span style="color: #E850A8"> (https://twitter.com/naPyvo/statuses/851707139307429888)</span> +<span style="color: #0000aa"></span><span style="font-weight: bold; color: #0000aa">Chodíme na Pyvo</span><span style="color: #0000aa"> [naPyvo]</span>: <span style="color: #E850A8"></span><span style="font-weight: bold; color: #E850A8">#technologie</span> <span style="color: #E850A8"></span><span style="font-weight: bold; color: #E850A8">#umění</span> <span style="color: #E850A8"></span><span style="font-weight: bold; color: #E850A8">#design</span> 🎨 Mrkněte na celkem unikátní konferu <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@SensoriumSK</span> v Bratislavě 🇸🇰, 28.-30. dubna… <span style="text-decoration: underline">https://t.co/PaKqiRGm0G</span> + +<span style="color: #00aa00">11/04/2017 17:39:52</span><span style="color: #E850A8"> (https://twitter.com/jmtcz/statuses/851852310833762304)</span> +<span style="color: #0000aa"></span><span style="font-weight: bold; color: #0000aa">Jeanne Trojan</span><span style="color: #0000aa"> [jmtcz]</span>: I'm bringing <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@cedricmaloux</span> from <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@startupyard</span> to <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@naPyvo</span> 19.4. He'll talk about their next program in <span style="color: #E850A8"></span><span style="font-weight: bold; color: #E850A8">#AI</span> <span style="color: #E850A8"></span><span style="font-weight: bold; color: #E850A8">#ML</span> <span style="color: #E850A8"></span><span style="font-weight: bold; color: #E850A8">#AR</span> <span style="color: #E850A8"></span><span style="font-weight: bold; color: #E850A8">#VR</span> <span style="color: #E850A8"></span><span style="font-weight: bold; color: #E850A8">#Robots</span> See you there! + +<span style="color: #00aa00">18/04/2017 11:18:57</span><span style="color: #E850A8"> (https://twitter.com/naPyvo/statuses/854293167063146496)</span> +<span style="color: #0000aa"></span><span style="font-weight: bold; color: #0000aa">Chodíme na Pyvo</span><span style="color: #0000aa"> [naPyvo]</span>: 26.-28. května bude <span style="color: #E850A8"></span><span style="font-weight: bold; color: #E850A8">#BRNOHACKS</span>, největší hackathon nad otevřenými daty! 👩‍💻 🐊 🇦🇹 🐊 👨‍💻 <span style="text-decoration: underline">https://t.co/wGRtnhofiN</span> <span style="color: #E850A8"></span><span style="font-weight: bold; color: #E850A8">#opendata</span> <span style="color: #E850A8"></span><span style="font-weight: bold; color: #E850A8">#brno</span> <span style="color: #E850A8"></span><span style="font-weight: bold; color: #E850A8">#hackaton</span> + +<span style="color: #00aa00">18/04/2017 11:23:19</span><span style="color: #E850A8"> (https://twitter.com/kondrej/statuses/854294266117488640)</span> +<span style="color: #0000aa"></span><span style="font-weight: bold; color: #0000aa">Ondřej Kokeš</span><span style="color: #0000aa"> [kondrej]</span>: V Brně by chtěl hackovat každý. <span style="text-decoration: underline">https://t.co/OdbP08jCb7</span> + +<span style="color: #00aa00">19/04/2017 09:44:43</span><span style="color: #E850A8"> (https://twitter.com/jschovan/statuses/854631839868362752)</span> +<span style="color: #0000aa"></span><span style="font-weight: bold; color: #0000aa">Jarka Schovancova</span><span style="color: #0000aa"> [jschovan]</span>: Kdo jdete dnes <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@naPyvo</span> ? /cc <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@kvbik</span> <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@HonzaKral</span> <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@tylersiprova</span> <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@honzajavorek</span> <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@aleszoulek</span> <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@EnCuKou</span> <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@almadcz</span> <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@benAbraham</span> + +<span style="color: #00aa00">19/04/2017 09:48:17</span><span style="color: #E850A8"> (https://twitter.com/honzajavorek/statuses/854632738401525760)</span> +<span style="color: #0000aa"></span><span style="font-weight: bold; color: #0000aa">Honza Javorek</span><span style="color: #0000aa"> [honzajavorek]</span>: <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@jschovan</span> <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@naPyvo</span> <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@kvbik</span> <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@HonzaKral</span> <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@tylersiprova</span> <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@aleszoulek</span> <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@EnCuKou</span> <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@almadcz</span> <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@benAbraham</span> Já jdu do divadla 🎭 Příště! + +<span style="color: #00aa00">19/04/2017 09:48:57</span><span style="color: #E850A8"> (https://twitter.com/EnCuKou/statuses/854632905724882944)</span> +<span style="color: #0000aa"></span><span style="font-weight: bold; color: #0000aa">Petr Viktorin</span><span style="color: #0000aa"> [EnCuKou]</span>: <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@jschovan</span> <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@naPyvo</span> <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@kvbik</span> <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@HonzaKral</span> <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@tylersiprova</span> <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@honzajavorek</span> <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@aleszoulek</span> <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@almadcz</span> <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@benAbraham</span> Já! + +<span style="color: #00aa00">19/04/2017 10:00:08</span><span style="color: #E850A8"> (https://twitter.com/naPyvo/statuses/854635720279031808)</span> +<span style="color: #0000aa"></span><span style="font-weight: bold; color: #0000aa">Chodíme na Pyvo</span><span style="color: #0000aa"> [naPyvo]</span>: Určitě víte, že je dneska Pražské PyVo. Ale kdybyste to třeba nevěděli, tak teď už to víte. 🍺🐍🍺 +<span style="text-decoration: underline">https://t.co/SLzcj4UNEx</span> + +<span style="color: #00aa00">19/04/2017 10:58:31</span><span style="color: #E850A8"> (https://twitter.com/tylersiprova/statuses/854650411596304385)</span> +<span style="color: #0000aa"></span><span style="font-weight: bold; color: #0000aa">Tyler Golden</span><span style="color: #0000aa"> [tylersiprova]</span>: <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@jschovan</span> <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@naPyvo</span> <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@kvbik</span> <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@HonzaKral</span> <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@honzajavorek</span> <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@aleszoulek</span> <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@EnCuKou</span> <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@almadcz</span> <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@benAbraham</span> I will come for a while! :-) + +<span style="color: #00aa00">19/04/2017 13:41:22</span><span style="color: #E850A8"> (https://twitter.com/HonzaKral/statuses/854691392865669120)</span> +<span style="color: #0000aa"></span><span style="font-weight: bold; color: #0000aa">Honza Král</span><span style="color: #0000aa"> [HonzaKral]</span>: <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@jschovan</span> <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@naPyvo</span> <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@kvbik</span> <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@tylersiprova</span> <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@honzajavorek</span> <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@aleszoulek</span> <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@EnCuKou</span> <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@almadcz</span> <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@benAbraham</span> Ja taky budu + +<span style="color: #00aa00">19/04/2017 13:41:54</span><span style="color: #E850A8"> (https://twitter.com/aleszoulek/statuses/854691529876811777)</span> +<span style="color: #0000aa"></span><span style="font-weight: bold; color: #0000aa">Ales Zoulek</span><span style="color: #0000aa"> [aleszoulek]</span>: <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@HonzaKral</span> <span style="color: #aa5500"></span><span style="font-weight: bold; color: #aa5500">@jschovan</span> +</pre> +<figcaption class="figure-caption" style="text-align: center"> +TwitterWall do terminálu, geekův sen (převedeno na HTML z výstupu aplikace Marka Suchánka)</figcaption></figure> + +<p>Součástí hodnocení předmětu byla i semestrální práce. Každý student si mohl vybrat vlastní téma, které navazovalo na nějakou probranou látku. Téma jsme samozřejmě museli schválit. Nevyžadovali jsme, aby studenti svůj kód zveřejnili, ale důrazně jsme to doporučili. Vzniklo tak mnoho nových open-source projektů na GitHubu:</p> +<ul> +<li><a href="https://github.com/ggljzr/pytRobot">Ovládátko na Raspberry Pi robota</a></li> +<li><a href="https://github.com/chovanecm/sacredboard">Webový dashboard pro Sacred</a></li> +<li><a href="https://github.com/pklejch/distributed-chat">Distribuovaný chat s CLI i GUI</a></li> +<li><a href="https://github.com/kozajaku/spectra-analyzer">Nástroj pro prozkoumávání spektrální analýzy</a></li> +<li><a href="https://github.com/melkamar/webstore-manager">Nástroj pro správu vyvíjených rozšíření pro Chrome a Firefox</a></li> +<li><a href="https://github.com/bobirdmi/genetic-algorithms">Implementace známých genetických algortimů</a></li> +<li><a href="https://github.com/dstlmrk/catcher/tree/mipyt">Backend pro webovou aplikaci pro správu turnajů v Ultimate Frisbee</a></li> +<li><a href="https://github.com/lopatovsky/HMMs">Statistická knihovna pro skrytý Markovův model</a></li> +<li><a href="https://github.com/andrenvk/eduxfeed">Sledovač změn na Eduxu</a></li> +<li><a href="https://github.com/janslifka/imagediffer">Porovnávač obrázků s GUI</a></li> +<li><a href="https://github.com/stengvac/cucumber-sem">Zobrazovač výsledků testů z framewroku Cucumber</a></li> +<li><a href="https://github.com/MarekSuchanek/repocribro">Síto na GitHub repozitáře k dalšímu zpracování</a></li> +</ul> +<figure class="figure"><a href="https://blog.python.cz/images/robot.jpg" target="_blank" title="Raspberry Pi robot"><img alt="Raspberry Pi robot" src="https://blog.python.cz/images/thumbnails/robot.jpg" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +Ondřej Červenka semestrálkou <a href="https://github.com/ggljzr/pytRobot">ovládal Raspberry Pi robota</a> (© 2016 Ondřej Červenka, <a href="https://github.com/ggljzr/pytRobot/blob/master/LICENSE">MIT License</a>)</figcaption></figure> +<p>GitHub, kolem kterého se výuka hodně točila, nás ještě před začátkem semestru zásoboval dostatečným množstvím nálepek a několika 100% slevovými vouchery na trička z <a href="https://github.myshopify.com/">GitHub Shopu</a>. Studentům s nejlepším hodnocením jsme tak po skončení běhu mohli ještě dodatečně udělat radost. Pokud ve výuce používáte GitHub, určitě si také <a href="https://education.github.community/t/shopping-bags-get-a-github-swag-bag-for-your-classroom/33">o swag řekněte</a>.</p> +<figure class="figure"><a href="https://blog.python.cz/images/github-nalepky.jpg" target="_blank" title="GitHub nálepky"><img alt="GitHub nálepky" src="https://blog.python.cz/images/thumbnails/github-nalepky.jpg" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +GitHub nálepky</figcaption></figure> +<p><strong>Tip:</strong> Studenti (a učitelé) mohou zdarma využívat <a href="https://education.github.com/pack">GitHub Student Developer Pack</a>. Mimo jiné tak mají k dispozici neomezené množství soukromých repozitářů a nemusíte se tak bát pověstného opisování. My jsme v předmětu využili i službu <a href="https://travis-ci.org/">Travis CI</a> pro soukromé repozitáře, která je jinak placená. V balíčku jsou také cloudové služby, na kterých lze provozovat i Python.</p> +<h2 id="zpetna-vazba">Zpětná vazba<small class="permalink"><a href="#zpetna-vazba" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>Po skončení kurzu nám někteří studenti poskytli zpětnou vazbu: buď přes univerzitní anketu, nebo přes formulář, který jsme vystavili na webu. K výsledkům fakultní ankety má přístup jen akademická obec, ale výsledky naší ankety jsou <a href="https://github.com/cvut/MI-PYT/blob/master/stats/B161/results.csv">veřejné</a>. +Výsledky jsme <a href="https://github.com/cvut/MI-PYT/blob/master/stats/B161/feedback-analysis.ipynb">zpracovali</a>, ale protože oba dotazníky bohužel vyplnilo poměrně málo studentů (a to skoro jen ti, kteří předmět úspěšně ukončili), nejsou příliš relevantní.</p> +<figure class="figure"><a href="https://blog.python.cz/images/mipytanketa.png" target="_blank" title="GitHub nálepky"><img alt="GitHub nálepky" src="https://blog.python.cz/images/mipytanketa.png" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +Část našeho formuláře pro zpětnou vazbu</figcaption></figure> +<p>Mnohem přínosnější než „známkování“ témat a spokojenosti pro nás byly textové odpovědi, ve kterých nás studenti buď chválili nebo konstruktivně kritizovali. +Většina studentů, kteří zaslali poznámku, se shodla na tom, že předmět byl přínosný, ale poměrně těžký a přísně hodnocený. +Konkrétně často kritizovali množství a náročnost úkolů. +Sypeme si tedy popel na hlavu a pro příští běh předmětu již přemýšlíme jak situaci zlepšit – jak jinak než <a href="https://github.com/cvut/MI-PYT/issues/79">veřejně na GitHubu</a>.</p> +<p>Další problém, který nám studenti vytkli, byla nedostupnost materiálů a zadání úkolů v předstihu. Tvořili jsme je totiž často na poslední chvíli. +V příštím semestru by to u materiálů neměl být problém (ty už existují), a pro úkoly snad zvládneme zveřejnit aspoň předběžná zadání už ze začátku kurzu.</p> +<h2 id="vysledky-studentu">Výsledky studentů<small class="permalink"><a href="#vysledky-studentu" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>Předmět nakonec úspěšně dokončilo jen 16 studentů. Často nedokončovali proto, že se rozhodli nedělat semestrální práci, i když průběžné úkoly zvládali a předmět pro ně byl přínosný. +Téma práce si zvolilo 25 studentů – téměř všichni ti, kteří dostali alespoň 50 % bodů z úkolů, což byla podmínka úspěšného absolvování kurzu.</p> +<p>Úspěšnost 33 % je vyšší než u bakalářského <em>Programování v Pythonu</em> (BI-PYT) z minulého semestru, kde prošlo 25 % studentů (18 z 71). +Magisterské <em>Programování v Ruby</em> (MI-RUB) z tohoto semestru naopak úspěšně dokončilo více lidí – 55 % (38 z 69). +(Oba zmíněné předměty jsou volitelné, stejně jako MI-PYT.)</p> +<p>Budeme se snažit předmět zjednodušit, aby příště byla úspěšnost vyšší (a lépe odpovídala tomu, kolik se toho studenti naučili).</p> +<p><a href="https://github.com/cvut/MI-PYT/blob/master/stats/B161/anonymous.csv">Data o průběžném hodnocení studentů</a> a <a href="https://github.com/cvut/MI-PYT/blob/master/stats/B161/results-analysis.ipynb">jejich analýza</a> jsou k dispozici na GitHubu.</p> +<h2 id="presun-materialu">Přesun materiálů<small class="permalink"><a href="#presun-materialu" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>Po skončení kurzu jsme materiály z <a href="https://github.com/cvut/MI-PYT">repozitáře ČVUT</a> přesunuli na vznikající portál <a href="http://naucse.python.cz">naucse.python.cz</a>, kam se postupně přesouvají i podklady pro začátečnický kurz <a href="http://pyladies.cz/">PyLadies</a>. Tím dáváme najevo, že materiály nejsou určené jen pro určitou cílovou skupinu (studenty FIT, resp. holky), což některé lidi odrazovalo, a taky zjednodušujeme vytváření nových kurzů, které můžou kombinovat materiály z MI-PYT i začátečnického kurzu.</p> +<p>Zajímavostí je, že podle pravidel fakulty musí být materiály na již dříve zmíněném portále Edux. V průběhu kurzu jsme využili <a href="https://travis-ci.org/">Travis CI</a> a v Markdownu psané materiály z GitHubu jsme konvertovali na <a href="https://www.dokuwiki.org/wiki:dokuwiki">dokuwiki</a> syntax a nalévali na Edux. Nyní, když jsou materiály na <a href="http://naucse.python.cz">naucse.python.cz</a>, naléváme na Edux materiály v PDF souborech (stále pomocí Travis CI). Systém, který má toto na starost, je poměrně divná chobotnice využívající Bash, GNU Make a Python, proto nabízíme jako <a href="https://github.com/cvut/MI-PYT/blob/master/tutorials/13_semestralka.md#git2edux">téma semestrální práce</a> přepis do znovupoužitelného Python frameworku, který by se dal využít i v jiných předmětech na FIT ČVUT.</p> +<h2 id="a-co-dal">A co dál?<small class="permalink"><a href="#a-co-dal" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>Nyní se musíme rozhodnout, jestli a jak povedeme předmět příští rok. Podle zpětné vazby bychom asi měli! +Musí to ale být v jiném složení – Petr už nebude každý týden jezdit na otočku z Brna do Prahy. Místo toho v Brně vede neformální kurz se stejným obsahem. +Na FITu tak bude předmět nejspíš učit Miro společně s jedním z absolventů prvního běhu.</p> +<p>Doufáme, že materiály poslouží i ostatním – ať už pro další kurzy, nebo na samostudium.</p></div>PyCon CZ 2017 changes date and venue2017-04-26T09:09:00+02:002017-04-26T09:09:00+02:00Honza Javorektag:blog.python.cz,2017-04-26:/pycon-cz-2017-changes-date-and-venue<div><p>In the past month, the <a href="https://cz.pycon.org/2017/">PyCon CZ conference</a> <strong>became homeless</strong>. Because of some property issues, the venue we originally announced suddenly became unavailable for any events.</p> +<p>That has put our team into quite an unpleasant situation - instead of working hard on other tasks necessary for the conference to happen, we …</p></div><div><p>In the past month, the <a href="https://cz.pycon.org/2017/">PyCon CZ conference</a> <strong>became homeless</strong>. Because of some property issues, the venue we originally announced suddenly became unavailable for any events.</p> +<p>That has put our team into quite an unpleasant situation - instead of working hard on other tasks necessary for the conference to happen, we had to go back to the beginning and start looking for a new place. On a very tight schedule. After several weeks of contacting, visiting, and considering almost 50 venues, we're happy to present you with the replacement: <strong>MeetFactory</strong>!</p> +<figure class="figure"><a href="https://blog.python.cz/images/meetfactory6_music_hall_hr.jpg" target="_blank" title="MeetFactory from inside"><img alt="MeetFactory from inside" src="https://blog.python.cz/images/meetfactory6_music_hall_hr.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<p><strong><a href="http://www.meetfactory.cz/en/">MeetFactory</a></strong> is a non-profit <strong>international center for contemporary art</strong> founded in 2001 by the artist <a href="https://en.wikipedia.org/wiki/David_%C4%8Cern%C3%BD">David Černý</a>. It is in a very unique, <strong>industrial building</strong> in Prague's quarter Smíchov. It usually hosts music events, theatre, gallery exhibitions, and residential artists program.. You can walk through the whole space <a href="https://www.google.com/maps/@50.053037,14.408284,3a,75y,332h,90t/data=!3m5!1e1!3m3!1s5eyFEmazdNkAAAQfDU22GQ!2e0!3e2!6m1!1e1">on Google Maps</a>.</p> +<figure class="figure"><a href="https://blog.python.cz/images/meetfactory1_hr.jpg" target="_blank" title="MeetFactory from outside"><img alt="MeetFactory from outside" src="https://blog.python.cz/images/meetfactory1_hr.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<p>Unfortunately, with change of the venue, also the date had to change a bit. The bad news is, MeetFactory isn't available for us on Saturday 10th June, because they're hosting the <strong>Prague Museum Night</strong>. For that reason, we decided to move the conference from 9-11 June to 8-10 June. The new expected schedule is:</p> +<ul> +<li><strong>Thursday 8th</strong>, MeetFactory - first conference day, talks</li> +<li><strong>Friday 9th</strong>, MeetFactory - second conference day, talks</li> +<li><strong>Saturday 10th</strong>, different venue - workshops &amp; sprints</li> +</ul> +<p>The good news is, while already being in Prague for PyCon CZ, you can attend the <a href="http://www.prazskamuzejninoc.cz/?l=en">Prague Museum Night</a>! It is a night during which 80+ Prague's <strong>museums, galleries, and other cultural institutions</strong> are open for free, often with rich accompanying program. Also, you can save Sunday for <strong>travelling home without missing workshops</strong>.</p> +<figure class="figure"><img alt="Prague Museum Night" src="https://blog.python.cz/images/2016_124_02.jpg" class="figure-img img-fluid img-rounded"><figcaption class="figure-caption"> +Source: Prague Museum Night's Official Photogallery</figcaption></figure> +<p>We understand this whole thing may cause a lot of inconvenience for you. We worked really hard to resolve the issue as soon as possible, but it still took us significant time. We didn't want to give up the idea about an <strong>extraordinary venue with artistic soul</strong> instead of university lecture rooms.</p> +<p>We may have failed to communicate the uncertainity early enough to prevent you from booking flights or accommodation. On the other hand, originally, we did not expect to shift the date. If you get into some serious trouble because of the changes, please <a href="mailto:info@pycon.cz">let us know</a> and we'll try to find a way to help you rearrange.</p> +<figure class="figure"><img alt="we're sorry" src="https://blog.python.cz/images/im-sorry.png" class="figure-img img-fluid img-rounded"></figure> +<p>Many of you were asking for <strong>tickets</strong>, but they were still unavailable. As you can now imagine, we couldn't let you buy anything before we had the most important conference details secured. Now when everything is finally sorted, nothing is preventing us to start selling! <a href="https://ti.to/pyvec/pycon-cz-2017">Quick, maybe you can still catch an <strong>early bird price</strong>!</a></p> +<p>At this moment we're busy with selecting talks and workshops from the public Call for Papers. Soon we are going to present you with a full program. I can assure you already that there are some amazing pieces waiting for you!</p> +<p>Looking forward to see you <del>soon</del> <strong>in 43 days, at MeetFactory</strong>.</p></div>Holčičí IT sen2017-03-29T00:00:00+02:002017-03-29T00:00:00+02:00Tereza Jůzovátag:blog.python.cz,2017-03-29:/holcici-it-sen<div><p><strong>Jak vzniká takový holčičí IT sen?</strong> Všechno to začalo před pár měsíci, kdy jsem objevila možnost, přihlásit se do Digitální Akademie od Czechitas. Nepřemýšlela jsem ani minutu a hned odesílala přihlášku. Nyní je konec března a celý první běh Digitální Akademie se blíží ke konci. Bude mi to celé hrozně …</p></div><div><p><strong>Jak vzniká takový holčičí IT sen?</strong> Všechno to začalo před pár měsíci, kdy jsem objevila možnost, přihlásit se do Digitální Akademie od Czechitas. Nepřemýšlela jsem ani minutu a hned odesílala přihlášku. Nyní je konec března a celý první běh Digitální Akademie se blíží ke konci. Bude mi to celé hrozně chybět, protože jsem za ty 3 měsíce poznala skvělou partu holek, naučila se spoustu nových věcí, potkala se s úžasnými mentory a lektory a také s naší skvělou organizaci Czechitas, která pomáhá vytvářet holčičí IT sny 👸.</p> +<p>Můj závěrečný projekt výše zmíněného kurzu se jmenuje Czechitas wiki. Za obrovské pomoci mé skvělé mentorky Sveti, díky které jsem si zamilovala programovací jazyk <strong>Python</strong> a za to jí patří mé velké díky, se povedla za měsíc vytvořit první verze projektu, se kterou vás nyní seznámím.</p> +<p>Webová aplikace bude sloužit studentům a lektorům Czechitas jako interní wiki, pro sdílení materiálů z jednotlivých předmětů, kurzů, workshopů apod. Usnadnění komunikace a přehlednosti celého kurzu, všechny materiály budou na jednom místě. Studenti, pak mohou také sami tvořit wiki, mohou psát články o technologiích se kterými se během kurzů seznámili, další články by se mohly týkat závěrečných projektů studentů Digitální Akademie.</p> +<p>Uživatelé systému, jsou lektoři a studenti Czechitas. Lektor bude mít právo vytvářet jednotlivá vlákna týkající se oblastí, které vyučuje. Každé vlákno může mít několik dalších stránek a stránky pak několik dalších podstránek. Stránky a podstránky pak budou moci vytvářet jak lektoři, tak také studenti. Systém bude také propojený s kurzy na webu Czechitas a automaticky se v administraci vytvoří nové vlákno s názvem kurzu, pokud ještě vlákno neexistuje.</p> +<h2 id="schema-postupu">Schéma postupu<small class="permalink"><a href="#schema-postupu" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<figure class="figure"><a href="https://blog.python.cz/images/schema.jpg" target="_blank" title="Schéma postupu"><img alt="Schéma postupu" src="https://blog.python.cz/images/thumbnails/schema.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<h2 id="krok-za-krokem">Krok za krokem<small class="permalink"><a href="#krok-za-krokem" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p><strong>1. Návrh datového modelu</strong></p> +<p>Základem pro tvorbu datového modelu jsou funkční požadavky aplikace (vytvořit vlákno, vložit stánku do vlákna, přihlášení, registrace, správa uživatelů, přidání souboru k předmětu, přidat komentář) a jednotlivá podstatná jména tvoří objekty a slovesa tvoří vazby mezi těmito objekty v datovém modelu.</p> +<figure class="figure"><a href="https://blog.python.cz/images/datovy_model.jpg" target="_blank" title="Datový model"><img alt="Datový model" src="https://blog.python.cz/images/thumbnails/datovy_model.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<p>** 2. Správa uživatelů**</p> +<ul> +<li>registrovaný uživatel - lektor a student</li> +<li>neregistrovaný uživatel - veřejná vlákna</li> +<li>admin - veškerá práva</li> +</ul> +<p>** 3. User interface aplikace **</p> +<figure class="figure"><a href="https://blog.python.cz/images/UI-wiki.jpg" target="_blank" title="UI"><img alt="UI" src="https://blog.python.cz/images/UI-wiki.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<p>** 4. Django **</p> +<p>Přicházíme k přípravě vývojového prostředí. V tomto kroku vytváříme projekt, superusera a nastartujeme projekt na localhostu. Dalším krokem je si otevřít projekt ve vývojovém prostředí, já jsem zvolila Atom. Pak už můžeme přejít k vytvoření modelových entit v Djangu, vycházíme z navrženého datového modelu výše. Nesmíme zapomenout se připojit k databázovému serveru, budeme pracovat s databází PostgreSQL. Je tedy potřeba mít nainstalovaný databázový server a pro správu databáze potřebujeme mít nainstalovaný pgAdmin. V pgAdmin registrujeme nový server a připojíme se k němu. Teď nám zbývá vymyslet, jak bude fungovat správa vláken a správa článků.</p> +<p>** 5. Úvodní dashboard **</p> +<p>Konečně se dostáváme k datové práci. Úvodní dashboard je rozdělen do třech částí. V první částí se nachází zobrazení celkového počtu vláken, dále pak celkový počet uživatelů a informace o přihlášeném uživateli, jeho jméno a poslední přihlášení.</p> +<p>Druhou částí dashboardu je tabulka s kalendářem akcí, které pořádají Czechitas. Každá akce je zároveň také nové vlákno wiki. Byla použita metoda scrapování dat z webu a zpracování dat v pandasu, na webu je vykreslený přímo pandas dataframe jako tabulka.</p> +<p>Třetí částí je propojení Czechitas wiki s fotkami z Instagramu, kde se ve spodní části dashboardu zobrazují fotografie, které měly nejvyšší počet likes.</p> +<h2 id="podivejme-se-nyni-jak-projekt-vypada">Podívejme se nyní, jak projekt vypadá :)<small class="permalink"><a href="#podivejme-se-nyni-jak-projekt-vypada" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<ul> +<li>Přihlášení uživatele</li> +</ul> +<figure class="figure"><a href="https://blog.python.cz/images/okno_prihlaseni.jpg" target="_blank" title="Přihlášení uživatele"><img alt="Přihlášení uživatele" src="https://blog.python.cz/images/thumbnails/okno_prihlaseni.jpg" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +* Vlákna</figcaption></figure> +<figure class="figure"><a href="https://blog.python.cz/images/vlakna.jpg" target="_blank" title="Vlákna"><img alt="Vlákna" src="https://blog.python.cz/images/thumbnails/vlakna.jpg" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +* Články</figcaption></figure> +<figure class="figure"><a href="https://blog.python.cz/images/clanek.jpg" target="_blank" title="Články"><img alt="Články" src="https://blog.python.cz/images/thumbnails/clanek.jpg" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +* Dashboard</figcaption></figure> +<figure class="figure"><a href="https://blog.python.cz/images/dashboard.jpg" target="_blank" title="Dashboard"><img alt="Dashboard" src="https://blog.python.cz/images/thumbnails/dashboard.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<p>Tak to je ona první verze projektu po měsíci práce 🎉. Těším se na další pokračování a věřím, že z toho někdy bude plnohodnotná webová aplikace, která bude plnit svůj úkol. Jaký je tedy můj holčičí IT sen? Naučit se všechny ty super věci v Pythonu.</p></div>Ako sme sa v Akamai učili vizualizovať dáta v Pythone2017-03-13T10:49:00+01:002017-03-13T10:49:00+01:00Sveťa Margetovátag:blog.python.cz,2017-03-13:/ako-sme-sa-v-Akamai-ucili-vizualizovat-data-v-Pythone<div><p>V piatok 3. 3. 2017 sa konal v <a href="https://www.akamai.com/">Akamai +Technologies</a> workshop zameraný na vizualizáciu +dát v Pythone. Bežne v rámci PyLadies komunity pôsobím ako kouč, no v +tomto prípade som bola v roli opačnej a naozaj som sa tešila, že sa +môžem niečo nové z Pythonu a dátovej oblasti naučiť …</p></div><div><p>V piatok 3. 3. 2017 sa konal v <a href="https://www.akamai.com/">Akamai +Technologies</a> workshop zameraný na vizualizáciu +dát v Pythone. Bežne v rámci PyLadies komunity pôsobím ako kouč, no v +tomto prípade som bola v roli opačnej a naozaj som sa tešila, že sa +môžem niečo nové z Pythonu a dátovej oblasti naučiť. Tešila som sa o to +viac, lebo s dátami denne pracujem na projektoch v rôznych oblastiach, +pracujem v <a href="http://pandas.pydata.org/">Pandas</a> a +<a href="http://matplotlib.org/">Matplotlib</a> je súčasťou každého môjho importu v +Jupyter notebookoch. No mala som pocit, že ho nevyužívam naplno a +celkovo sa vizualizácii dát nevenujem. Väčšina mojich grafov, ktoré som +si vykreslovala, boli určené iba mne, nehrala som sa s detailmi a +zobrazením a ak mal byť výstup prezentovateľný koncovému užívateľovi, +vždy som automaticky siahla po Reacte.</p> +<figure class="figure"><img alt="Ukážka môjho bežného grafu" src="https://blog.python.cz/images/table.png" class="figure-img img-fluid img-rounded"><figcaption class="figure-caption"> +Ukážka môjho bežného grafu</figcaption></figure> +<p>V Akamai nám lektori ukázali, ako však s dátami (vo forme JSONu) +pracovať a vizualizovať ich v podobe, v akej sú prínosné a jasne z nich +informácie zrozumiteľné. Po prvotných problémoch s rôznymi operačnými +systémami a verziami Pythonu sme sa hneď pustili do tvorby vizualizácií +zobrazovaných vo webovom prehliadači.</p> +<figure class="figure"><a href="https://blog.python.cz/images/94849416-0963-11e7-8616-ca8148e71dab.jpg" target="_blank" title="Všichni z workshopu"><img alt="Všichni z workshopu" src="https://blog.python.cz/images/thumbnails/94849416-0963-11e7-8616-ca8148e71dab.jpg" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +Foto od Veroniky Gabrielovej</figcaption></figure> +<h2 id="grafy-grafy-same-grafy">Grafy, grafy, samé grafy<small class="permalink"><a href="#grafy-grafy-same-grafy" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>Prešli sme základnými typmi grafov, ktoré vidím takmer v každej +manažérskej a marketingovej prezentácii, ako napríklad:</p> +<ol> +<li>stĺpcový graf,</li> +<li>koláčový graf,</li> +<li>histogram.</li> +</ol> +<p>Pri tvorbe grafov som zistila, že to môže byť naozaj aj zábava, je tam +priestor pre programovanie, matematiku, možnosti vlastného dizajnu a +podobne. Hneď ako som vykreslila jeden graf, som sa pustila do +modifikácie úlohy, kedy okrem maximálnej hodnoty som chcela pridať +minimálnu hodnotu a priemernú hodnotu. Páčilo sa mi v tomto prípade +použitie +<a href="https://docs.python.org/2/library/collections.html#collections.Counter">Counter()</a> +- užitočná vec v Pythone. Síce moje grafické cítenie v tejto oblasti nie +je bohviečo, lebo keby mne niekto pošle ružovo-fialový graf so žltou +krikľavou čiarou v strede, asi dostanem z toho epileptický záchvat, na +jeho vykreslenie sme nepotrebovali ani veľa kódu a páčilo sa mi jeho +elegantné riešenie, kde bolo možné uplatiť napríklad:</p> +<ul> +<li> +<p>list comprehensions</p> +<p><code>python +temp = enumerate([abs(j - avg) for j in n])</code></p> +</li> +<li> +<p>anonymnú funkciu lambda</p> +<p><code>python +mi = sorted(temp, key=lambda a : a[1])[0][0]</code></p> +</li> +<li> +<p>for cyklom prechádzať rôznymi agregačnými funkciami</p> +<p><code>python +for f in [min, max]: + mi = list(n).index(f(n)) + patches[mi].set_color("#283891")</code></p> +</li> +</ul> +<figure class="figure"><a href="https://blog.python.cz/images/rtt.png" target="_blank" title="Maximálna, minimálna, priemerná hodnota"><img alt="Maximálna, minimálna, priemerná hodnota" src="https://blog.python.cz/images/rtt.png" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +Maximálna, minimálna, priemerná hodnota</figcaption></figure> +<p>Následne sme si ukázali ďalšie typy grafov a okrem práce v Pythone sme +sa naučili aj niečo o +<a href="http://searchnetworking.techtarget.com/definition/round-trip-time">RTT</a>, +protokoloch a vzájomného prepojenia medzi oboma veličinami, aká je bežná +hodnota v realite a kde sa približne ukazovatele pohybujú.</p> +<figure class="figure"><a href="https://blog.python.cz/images/rychlost.png" target="_blank" title="Závislosť rýchlosti na RTT pre protokol U - graf 1"><img alt="Závislosť rýchlosti na RTT pre protokol U - graf 1" src="https://blog.python.cz/images/rychlost.png" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +Závislosť rýchlosti na RTT pre protokol U - graf 1</figcaption></figure> +<figure class="figure"><a href="https://blog.python.cz/images/rtt_scatter.png" target="_blank" title="Ukážka scatter grafu"><img alt="Ukážka scatter grafu" src="https://blog.python.cz/images/rtt_scatter.png" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +Ukážka scatter grafu</figcaption></figure> +<figure class="figure"><a href="https://blog.python.cz/images/rychlost2.png" target="_blank" title="Závislosť rýchlosti na RTT pre protokol U - graf 2"><img alt="Závislosť rýchlosti na RTT pre protokol U - graf 2" src="https://blog.python.cz/images/rychlost2.png" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +Závislosť rýchlosti na RTT pre protokol U - graf 2</figcaption></figure> +<p>Okrem iného sme zistili aj to, že rovnaký graf, z rovnakých dát, +vykreslený rovnakým kódom môže vyzerať na dvoch počítačoch v závislosti +od operačného systému trochu inak.</p> +<figure class="figure"><a href="https://blog.python.cz/images/img.jpg" target="_blank" title="Foto od Veroniky Gabrielovej"><img alt="Foto od Veroniky Gabrielovej" src="https://blog.python.cz/images/thumbnails/img.jpg" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +Foto od Veroniky Gabrielovej</figcaption></figure> +<figure class="figure"><a href="https://blog.python.cz/images/94846086-0963-11e7-8268-a8d338c72990.jpg" target="_blank" title="Darí sa!"><img alt="Darí sa!" src="https://blog.python.cz/images/thumbnails/94846086-0963-11e7-8268-a8d338c72990.jpg" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +Foto od Veroniky Gabrielovej</figcaption></figure> +<h2 id="k-comu-to-cele-bolo-dobre">K čomu to celé bolo dobré?<small class="permalink"><a href="#k-comu-to-cele-bolo-dobre" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>Okrem toho, že som si obnovila opäť pozitívny vzťah k vizualizácii dát, +som si uvedomila, že nemusím vždy zaťažovať projekt vykresľovaním dát v +JavaScripte, ale môžem priamo dáta spracovať v Jupyteri, vizualizovať v +grafe, výstup si uložiť napríklad ako obrázok alebo celú HTML stránku a +tú následne vložiť do existujúcej HTML šablóny v Djangu, pričom dáta mám +real time aktualizované na základe zmien v databáze alebo vstupov +užívateľa nad filtrami a formulármi. Hneď na ďalší deň som si skúsila +nad reálnym projektom vykresliť top 10 krajín, v ktorých je najväčšie +zastúpenie produktov s najvyššou mierou popularity s jednoduchým +prevodom cez formát na percentá, alebo výpis príspevkov z RSS feedov v 5 +jazykoch, indikujúci chýbajúce príspevky za daný deň a namiesto tabuľky +už posielam klientovi graf plný červeno-modrých stĺpcov.</p> +<figure class="figure"><img alt="Koláčový graf" src="https://blog.python.cz/images/graf1.png" class="figure-img img-fluid img-rounded"><figcaption class="figure-caption"> +Koláčový graf</figcaption></figure> +<p>Bola by som rada, ak by bolo pokračovanie, kde by nám ukázali chalani z +Akamai, ako sa z malej knižnice na prevod SQL príkazov cez Python do +grafov stal využívaný framework. A samozrejme, ako je v tejto dobe in, +real-time grafy. Dokým sa to nehýbe, nie je to až tak cool.</p></div>Blind attendee about PyCon CZ 20162017-03-04T23:40:00+01:002017-03-04T23:40:00+01:00Vojtěch Polášektag:blog.python.cz,2017-03-04:/blind-attendee-about-pycon-cz-2016<div><p>I'm blind and I attended <a href="https://cz.pycon.org/2016/">PyCon CZ 2016</a> conference. Firstly, I would like to thank you for letting me to join you. It was my first time visiting a conference related to IT, not to blind or visually impaired people. I must say that I really enjoyed being there with …</p></div><div><p>I'm blind and I attended <a href="https://cz.pycon.org/2016/">PyCon CZ 2016</a> conference. Firstly, I would like to thank you for letting me to join you. It was my first time visiting a conference related to IT, not to blind or visually impaired people. I must say that I really enjoyed being there with you all. But let's be more specific.</p> +<p>To be precise, I participated only during Friday and Saturday, I decided not to participate on any workshops or sprints. Just for a matter of completeness, I attended the conference together with my friend Honza, who is also blind, and with our assistant Sísa. I would like to describe my perception of the conference from the point of a blind person. That means that the main aim of this text is not to evaluate quality of talks, but rather their accessibility.</p> +<p>Basically I didn't observe any really serious problem, which would totally prevent me from gaining information from a talk. However, I would like to propose several recommendations, which may enhance experience of any future potential visually impaired visitors of PyCon CZ.</p> +<figure class="figure"><a href="https://blog.python.cz/images/pycon2016cz-105.jpg" target="_blank" title="Tomáš Ehrlich smiling while petting a dog"><img alt="Tomáš Ehrlich smiling while petting a dog" src="https://blog.python.cz/images/thumbnails/pycon2016cz-105.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<h2 id="speakers-describe-whats-on-your-slide">Speakers, describe what's on your slide<small class="permalink"><a href="#speakers-describe-whats-on-your-slide" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>We can't see what a speaker shows on a screen. Therefore, we have to rely on description of potential graphs, pictures or other non-textual content provided by someone else. It can be a speaker or a friend/assistant. I think that speaker is a better choice, because eventual chat between assistant and me could be disturbing for people sitting around us.</p> +<p>Now, don't get me wrong. I don't want a speaker to describe exact parameters of a displayed graph or to exactly spell out every line of displayed source code. It is enough to say what is currently shown on a screen and if it is something more complicated, I know that I can investigate it later in downloaded slides if needed.</p> +<p>So my first recommendation for speakers is to try to describe non-textual objects by few sentences if possible. Luckily, most speakers usually do this quite naturally.</p> +<p>Another option is to publish presentations several days before the conference, so that we can download them and review them before or during a talk. I wouldn't probably do this but I can imagine that someone would see this as helpful.</p> +<h2 id="organizers-check-accessibility-of-qa-tools">Organizers, check accessibility of Q&amp;A tools<small class="permalink"><a href="#organizers-check-accessibility-of-qa-tools" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>One thing which surprised me was a <a href="https://www.sli.do/">method used for posting questions to speaker during a talk</a>. I didn't have a laptop with me during both days, so I wasn't able to test it. However, it might be interesting to assess accessibility of this method before it is going to be deployed at the next conference. I personally didn't have urge to ask questions in this way, but someone might want to use it.</p> +<h2 id="community">Community<small class="permalink"><a href="#community" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>What I really liked about Pycon CZ was friendliness of all other people around during talks, breaks and afterparty. I didn't feel isolated and this is not something obvious while attending larger events. I found new friends, heard interesting stories and gained invaluable information.</p> +<figure class="figure"><a href="https://blog.python.cz/images/pycon2016cz-147.jpg" target="_blank" title="Jakub, Stařenka, and Vladimír, all of them playing ukulele"><img alt="Jakub, Stařenka, and Vladimír, all of them playing ukulele" src="https://blog.python.cz/images/thumbnails/pycon2016cz-147.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<p>Let's sum it up. PyCon CZ was really great and inspiring experience for me and I am looking forward to attend upcoming PyCon CZ or other similar conferences. I would like to thank <a href="https://www.redhat.com/">Red Hat</a> for providing me, Honza, and Sísa with free tickets for PyCon CZ 2016.</p></div>PyCon CZ Conference Wrap-Up Summary2017-02-08T20:19:00+01:002017-02-08T20:19:00+01:00Chris Wardtag:blog.python.cz,2017-02-08:/pycon-cz-conference-wrap-up-summary<div><p>In November last year we held the <a href="https://cz.pycon.org/2016/">second annual PyCon in the Czech Republic</a> (October 28–30, Brno). We’d like to take this opportunity to wrap-up the 2016 conference so we can kick things off for 2017 planning!</p> +<figure class="figure"><a href="https://blog.python.cz/images/pycon2016cz-32.jpg" target="_blank" title="PyCon CZ"><img alt="PyCon CZ" src="https://blog.python.cz/images/pycon2016cz-32.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<p>First off, while the 2016 conference was a lot of work …</p></div><div><p>In November last year we held the <a href="https://cz.pycon.org/2016/">second annual PyCon in the Czech Republic</a> (October 28–30, Brno). We’d like to take this opportunity to wrap-up the 2016 conference so we can kick things off for 2017 planning!</p> +<figure class="figure"><a href="https://blog.python.cz/images/pycon2016cz-32.jpg" target="_blank" title="PyCon CZ"><img alt="PyCon CZ" src="https://blog.python.cz/images/pycon2016cz-32.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<p>First off, while the 2016 conference was a lot of work for all the volunteer organizers, it was a ton of fun to organize as well! Over the three conference event days we had:</p> +<ul> +<li>about 380 visitors</li> +<li>4 keynote speeches</li> +<li>42 talks and 8 workshops on different subjects</li> +<li>50 individual speakers</li> +<li>22 lightning talks</li> +<li>15 sponsors and event partners</li> +<li>5500 Moravian cakes eaten</li> +<li>16kg of coffee served</li> +</ul> +<p>Not to mention all the incredible community networking that took place during the event!</p> +<figure class="figure"><a href="https://blog.python.cz/images/pycon2016cz-14.jpg" target="_blank" title="coffee"><img alt="coffee" src="https://blog.python.cz/images/pycon2016cz-14.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<h2 id="videos-photos">Videos &amp; Photos<small class="permalink"><a href="#videos-photos" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>Videos from the event are <a href="https://www.youtube.com/channel/UCRC2Vu7p4SJxhhuRdl8rQ6g/videos">available on YouTube</a>. Official selection of photos from the event is <a href="https://photos.google.com/share/AF1QipPv3NOTKQNyWagjYq-5z9wGKb30SBZpynDoMUukz5IGXo4n1zu_n4_v6RMO_CU8CA?key=aVpTRURGQmVLdWdvQW9vSDZ3ZlhlZF9lcUVHR2RB">available on Google Photos</a>.</p> +<figure class="figure"><a href="https://blog.python.cz/images/pycon2016cz-310.jpg" target="_blank" title="beer"><img alt="beer" src="https://blog.python.cz/images/pycon2016cz-310.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<h2 id="community-organizations">Community organizations<small class="permalink"><a href="#community-organizations" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>The core organizing team had grand expectations for this year’s event and it’s incredible to look back at all the things we have accomplished together. Not only did we completely rebrand PyCon CZ this year, we launched an entirely new and <a href="https://github.com/pyvec/cz.pycon.org-2016">reusable Django based website</a>, a mobile app (<a href="https://itunes.apple.com/us/app/pycon-cz-2016/id1166720746">iOS</a>, <a href="https://play.google.com/store/apps/details?id=cz.pycon.pyconcz">Android</a>) and so much more!</p> +<p>With that said, we’d like to take a moment to thank everyone involved – all the CfP submission authors, the invited and accepted speakers, the sponsors, the fine folks at <a href="http://www.fit.vutbr.cz/.en">Faculty of Information Technology, Brno University of Technology</a> who provided the venue space, the <a href="https://python.cz">Czech Python community</a> in general and all the attendees who joined us to make PyCon CZ the amazing event it was.</p> +<figure class="figure"><a href="https://blog.python.cz/images/pycon2016cz-280.jpg" target="_blank" title="people clapping, yay"><img alt="people clapping, yay" src="https://blog.python.cz/images/pycon2016cz-280.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<p>While we’re at it, we’d like to call out two special groups which could use your help – participation as well as sponsorships; groups whose ongoing work enabled this conference and will hopefully enable others like it in the future:</p> +<ul> +<li><a href="http://pyvec.org/">Pyvec</a> – the formal backers of the PyCon CZ events and so many other Python events in the Czech Republic, whose continuous activity and monthly <a href="https://pyvo.cz/">Pyvo meetups</a> are the lifeblood of the <a href="https://python.cz/">Czech Python community</a>, and</li> +<li>the <a href="https://www.python.org/psf/">Python Software Foundation</a>. They are the good people who take care of the ongoing development of the Python language and the global activities around it. The PSF sponsored PyCon CZ 2016, as it does many such events.</li> +</ul> +<figure class="figure"><a href="https://blog.python.cz/images/pycon2016cz-140.jpg" target="_blank" title="recording"><img alt="recording" src="https://blog.python.cz/images/pycon2016cz-140.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<h2 id="diversity">Diversity<small class="permalink"><a href="#diversity" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>We put a lot of effort in to make the conference more welcoming to diverse populations. Again this year, we included a <a href="https://cz.pycon.org/2016/about/code.1.html">Code of Conduct</a>, as well as reaching out to specific communities, which are usually underrepresented in technical conferences. This included, of course, the cooperation with <a href="https://djangogirls.org/">Django Girls</a> and <a href="http://pyladies.cz/">PyLadies of Prague, Brno and Ostrava</a>. Also, <a href="http://www.vycvikvodicichpsu.cz/">VODICÍ PES</a>, an organization which supports training of guide dogs for the blind, who each received a number of free tickets to attend the conference.</p> +<p>We did not collect the general statistics of visitor gender, but we have reason to believe it was significantly more balanced than usual, especially with respect to high profile speakers.</p> +<figure class="figure"><a href="https://blog.python.cz/images/pycon2016cz-120.jpg" target="_blank" title="Magdalena rocks the stage"><img alt="Magdalena rocks the stage" src="https://blog.python.cz/images/pycon2016cz-120.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<h2 id="code-of-conduct-report">Code of Conduct Report<small class="permalink"><a href="#code-of-conduct-report" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>The organization team agrees that all PyCon events should be accessible and welcoming to everyone, regardless of their background. We agree that a clear and specific Code of Conduct is a necessity for any event.</p> +<ul> +<li>The <a href="https://cz.pycon.org/2016/about/code.1.html">Code of Conduct</a> was based on Conference anti-harassment policy from <a href="http://geekfeminism.wikia.com/wiki/Conference_anti-harassment/Policy">Geek feminism wiki</a> and edited to be as specific to our event as possible</li> +<li>Agreeing to the Code was mandatory when buying a ticket</li> +<li>Two contact persons (male and female) were assigned and their phone numbers were visibly posted around the venue</li> +<li>Attendees were reminded of the Code in the opening speech of each day</li> +</ul> +<h3 id="what-could-have-been-done">What could have been done<small class="permalink"><a href="#what-could-have-been-done" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<ul> +<li>Summary of the Code in both languages were not posted around the venue</li> +<li>There was no easy way to report an incident other than to call a CoC contact person</li> +<li>Czech language version of the Code was not accessible on the website</li> +</ul> +<h3 id="anonymized-incidents">Anonymized incidents<small class="permalink"><a href="#anonymized-incidents" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<ul> +<li>During one of the keynotes, inappropriate image was used in a slideshow. The speaker was reminded, that a Code of Conduct applies to keynotes as well. No further action was taken.</li> +<li>During one of the lightning talks, speaker used disrespectful language towards different initiatives that aim to include underrepresented groups into IT. In his presentation he also used a slide that could be offensive to some groups. One of the attendees reacted to this by angrily leaving the venue. The speaker posted an apology in public group chat and also admitted his mistake in private discussion with one of the CoC contacts. The attendee apologized for his behavior in e-mail to one of the CoC contacts and in private discussion with head conference organizer. No video or slides will be published from this lightning talk.</li> +</ul> +<figure class="figure"><a href="https://blog.python.cz/images/pycon2016cz-73.jpg" target="_blank" title="FIT BUT"><img alt="FIT BUT" src="https://blog.python.cz/images/pycon2016cz-73.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<h2 id="budget">Budget<small class="permalink"><a href="#budget" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>In the spirit of Open Source and transparency, we’re happy to share a summary of our budget (all numbers are thousands of Czech Koruna, CZK).</p> +<h3 id="income">Income<small class="permalink"><a href="#income" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<ul> +<li>Sponsorship: 450</li> +<li>Ticket sales: 450</li> +<li><strong>Total: 900</strong></li> +</ul> +<h3 id="expenses">Expenses<small class="permalink"><a href="#expenses" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<ul> +<li>Venue (incl. food): 490</li> +<li>Conference party (food+drinks): 50</li> +<li>Financial aid (incl. keynote speakers): 95</li> +<li>Speakers’ dinner: 20</li> +<li>Photo/Video recording &amp; editing: 90</li> +<li>T-shirts &amp; other swag: 80</li> +<li>Various other: 25</li> +<li><strong>Total: 850</strong></li> +</ul> +<h3 id="conclusion">Conclusion<small class="permalink"><a href="#conclusion" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<p>As you can see, we ended with a positive balance of close to 50 000 CZK. All these surplus funds will be applied to next year’s event budget.</p> +<figure class="figure"><a href="https://blog.python.cz/images/pycon2016cz-278.jpg" target="_blank" title="recording"><img alt="recording" src="https://blog.python.cz/images/pycon2016cz-278.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<h2 id="2017">2017<small class="permalink"><a href="#2017" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>Now, onto planning PyCon CZ 2017. Preparations have already begun! The latest news are the next PyCon CZ will take place in Prague, early summer. You can join the organizing team, or just keep track of our progress via our different channels:</p> +<ul> +<li>Twitter: <a href="https://twitter.com/pyconcz">@pyconcz</a></li> +<li><a href="https://www.facebook.com/events/165281843969470/">Facebook</a></li> +<li>E-mail: <a href="mailto:info@pycon.cz">info@pycon.cz</a></li> +<li>Website: <a href="https://cz.pycon.org/">pycon.cz</a></li> +</ul> +<p>Send an email to <a href="mailto:info@pycon.cz">info@pycon.cz</a> if you’d like to request an invite to join our PyCon CZ planning channel on <a href="https://pyvec.slack.com/">Slack</a> (it can be used also through IRC).</p> +<p>See you in 2017!</p> +<figure class="figure"><a href="https://blog.python.cz/images/pycon2016cz-113.jpg" target="_blank" title="ORGs"><img alt="ORGs" src="https://blog.python.cz/images/pycon2016cz-113.jpg" class="figure-img img-fluid img-rounded"></a></figure></div>Já, Python a Roští2017-01-22T00:00:00+01:002017-01-22T00:00:00+01:00Marek Dlabáčektag:blog.python.cz,2017-01-22:/ja-python-a-rosti<div><p>Bylo mi taktně naznačeno, že bych mohl napsat svoji pouť od mimo jiné skladníka k programátorovi.</p> +<p>Počátek spadá už do období střední školy, kde se zdál obor "Mechanik seřizovač-programátor" jako naprosto dokonalý pro mou duši bažící po IT vzdělání. Poznámka pro ty, kteří chtějí jít kamkoli na SŠ - opravdu důkladně …</p></div><div><p>Bylo mi taktně naznačeno, že bych mohl napsat svoji pouť od mimo jiné skladníka k programátorovi.</p> +<p>Počátek spadá už do období střední školy, kde se zdál obor "Mechanik seřizovač-programátor" jako naprosto dokonalý pro mou duši bažící po IT vzdělání. Poznámka pro ty, kteří chtějí jít kamkoli na SŠ - opravdu důkladně si prověřte <strong>co</strong> se na tom kterém oboru vyučuje. Tento obor byl hlavně o "mechanik", pak lehce o "seřizovač" a takřka vůbec o "programátor". A když, tak programovat <a href="https://cs.wikipedia.org/wiki/%C4%8C%C3%ADslicov%C3%A9_%C5%99%C3%ADzen%C3%AD">CNC</a>, což není rozhodně totéž jako programovat dejme tomu aplikace pro web.</p> +<p>Po tomto zklamání jsem se rozhodl zkusit něco diametrálně odlišného a jít studovat něco, co by mělo něco společného s moji další zálibou - archivnictví a historii. Tam byla situace přesně opačná - studujete to, na co se to tváří z prvního pohledu a studujete toho opravdu hodně. Nepopírám, že v tomto oboru s alespoň základní představou o programování budete za všemohoucího. Ať už v otázkách "Jak se dělá háček u té?" nebo při použití (v té době ne chytrého) telefonu jako tahák. Nicméně jsem tento obor nedokončil a hrdinsky skončil týden před státnicemi a šel podnikat. Naprosto geniální nápad, kterého lituji dodnes.</p> +<p>Podnikání v řemesle (rodinná tradice, truhlařina, stavařina), je sice krásná věc, kreativní, tvůrčí, něco za vámi zůstane. Řemeslo má zlaté dno, říká se. Byl jsem na něm, zlaté není. Zato dluhů je tam dost. Takže jsem neslavně skončil, s dluhy na krku a hledal "obyčejnou" práci, kde se nechat zaměstnat. Po celou tuto dlouhou dobu jsem se průběžně snažil něco tvořit, nějak se zlepšit v programování. Prošel jsem si PHP (hlavně pro osobní weby a weby přátel či známých), Ruby (které mě nikdy moc nezaujalo) a hlavně Python. Ten byl (a stále je!) moc fajn.</p> +<p>Hrajete nějakou online strategii a nechce se vám klikat na něco ve stylu "Seber suroviny a zadej výrobu znovu"? Není problém, pár řádek skriptu, jděte do práce a vraťte se jako boháč. Potřebuje to samé váš bratr, který má ovšem jiný systém? Není problém! Zkrátka a přesně, i pro někoho, kdo se programováním neživí, se mi Python zdál ideální. Dokonce jsem v něm napsal i <a href="https://github.com/Edelstadt?utf8=%E2%9C%93&amp;tab=repositories&amp;q=&amp;type=source&amp;language=">utilitky pro výpočet a určování historických dat</a> (vymyšleno pouze pro osobní použití, leč postupem času jsem měl problém - chodili mi tam lidi). Ať už jsem dělal cokoli, vždy jsem něco programoval nebo se o to alespoň snažil. Práci v IT jsem zprvu nijak aktivně nehledal. Ovšem po zaměstnání na pozici skladník jsem o tom začal uvažovat opravdu vážně.</p> +<p>Bohužel, nemohu si z rodinných důvodů dovolit odstěhovat se do většího města, ať Prahy nebo Brna, jsem omezen na Hradec Králové. A to není zrovna IT velmoc (s čestnými výjimkami). Tou dobou jsem byl už v kontaktu s <a href="http://honzajavorek.cz">Honzou Javorkem</a>, se kterým jsem leccos konzultoval. A byl tak nějak činný na <a href="https://www.facebook.com/groups/pyonieri/">Pyonýrech</a> (činný = spamoval nepříliš inteligentníma otázkama). Jednou jsem v záchvatu deprese nad svou situací vytvořil <a href="https://www.facebook.com/groups/pyonieri/permalink/1168570359821806/">příspěvek pokorně prosící o šanci</a>, příležitost za takřka libovolnou částku. Honza už se na to nejspíš nemohl dál koukat a napsal pod to komentář vyzdvihují mé zkušenosti a projekty, za což mu patří velké díky.</p> +<figure class="figure"><a href="https://blog.python.cz/images/marcus1.png" target="_blank" title="šance"><img :center alt="šance" src="https://blog.python.cz/images/thumbnails/marcus1.png" width="500px" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +<a href="https://www.facebook.com/groups/pyonieri/permalink/1168570359821806/">Můj příspěvek prosící o šanci</a></figcaption></figure> +<p>A pak to přišlo (<a href="https://www.facebook.com/groups/pyonieri/permalink/1178763112135864/">po menších komplikacích s FB, který filtruje zprávy</a>) - "Ahoj, nechtěl by si to zkusit u nás na Roští?". Chtěl.</p> +<p>Poznámka pro ty, kteří poprvé nastupují do nějaké IT firmy - na tohle vás nic nepřipraví. Můžete si číst co chcete, můžete si zkoušet kde co, ale dokud v tom nejste, nevíte takřka nic. Obdivuji (dodnes) tu odvahu přijmout amatéra a také obdivuji tu nehynoucí trpělivost. Samozřejmě <a href="https://rosti.cz/">Roští</a> je nejspíš trochu zvláštní případ, není to drobeček (v době mého příchodu měla jen administrace tuším okolo 18k* řádek kodu) a není to jen o Pythonu. Bez JavaScriptu to nejde (trpím), bez HTML už vůbec ne (trpím méně), a bez další hromady jiných technologií taky ne (kupříkladu není moc dobrý nevědět něco málo o <a href="https://www.docker.com/">Dockeru</a>, pokud jste někde, kde mají hosting postavený na Dockeru).</p> +<p>Pro kluky jsem byl také první "zaměstnanec", takže čas od času se stávalo při vysvětlování nějakého problému "Tak teď prosím ještě jednou a pomaleji". Ale rozhodně se toho nebojte. A smiřte se s tím, že nevíte zdaleka všechno. To nebudete vědět nikdy. Nemá cenu řešit věci typu "Mě to trvalo XY dní a jim by to trvalo XY - 10 dní". Nejde o to hned vědět vše, je to proces a každý "vedoucí" přijímající amatéra to ví. Trpělivě čekejte na den, kdy přijde "Tohle jsi vymyslel dobře, to se mi líbí" a užijte si to. Taky si užijte pocit a pohled na funkci, která je vaše. Je to k nezaplacení. Už jen kvůli tomu se to vyplatí alespoň zkusit.</p> +<p>Ale samozřejmě má to i své zápory. Pokud jste dosud pracovali manuálně, navíc někde, kde byla reálná možnost, že vaše chyba může někoho zabít (zkuste zapomenout dát do střechy pár šroubů a klidně se vám spát nebude), tak budete překvapeni a budete dost ve stresu. Neberte to tak vážně, od toho jste nováček a chyby se očekávají, tak se s tím smiřte. Je to téměř nekonečný běh, kde se maximálně můžete snažit zlepšovat. Taky to, že teoreticky můžete pracovat pořád, alespoň tam, kde je PC, nutně neznamená, že musíte (jinak vám to volno výslovně nařídí, fakt!). Na závěr - děkuji za existenci <a href="https://www.facebook.com/groups/pyonieri/">Pyonýrů</a> a vůbec lidí stojící za tím vším (nejen za FB skupinou). Dostal jsem jak rady, tak motivaci, vlastně vše, co jsem potřeboval. A hlavně děkuji klukům z <a href="https://rosti.cz/">Roští</a>, že měli a mají tu odvahu, trpělivost, snahu a příležitost. Po mých životních zkušenostech je tohle práce snů. Místo, kde si člověka váží a snaží se mu vyjít vstříc jak jen to jde (pod tímto se skrývá tisíce věcí, od drobností až po úžasné věci).</p> +<figure class="figure"><a href="https://blog.python.cz/images/marcus2.png" target="_blank" title="děkování"><img :center alt="děkování" src="https://blog.python.cz/images/marcus2.png" width="500px" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +<a href="https://www.facebook.com/groups/pyonieri/permalink/1343136619031845/">Poděkování na Silvestra</a></figcaption></figure></div>Jako holka v Brně jsi už napůl programátorka2017-01-13T00:00:00+01:002017-01-13T00:00:00+01:00Lucie Karmovátag:blog.python.cz,2017-01-13:/jako-holka-v-brne<div><p><strong>Žiju s programátorem, půlka mých přátel jsou programátoři, na počítači mi běží Fedora, mám za sebou několik neslavných programovacích začátků a nakonec jsem narazila na poklad. Mohla jsem si jen vymýšlet důvody, proč se NEučit programovat. Nakonec ale nebylo vyhnutí a přihlásila jsem se do programování v Pythonu pro holky …</strong></p></div><div><p><strong>Žiju s programátorem, půlka mých přátel jsou programátoři, na počítači mi běží Fedora, mám za sebou několik neslavných programovacích začátků a nakonec jsem narazila na poklad. Mohla jsem si jen vymýšlet důvody, proč se NEučit programovat. Nakonec ale nebylo vyhnutí a přihlásila jsem se do programování v Pythonu pro holky – PyLadies.</strong> +<strong>Co všechno jsem kdy nedokončila? Learn Python the Hard Way od Zeda A. Shawa, Codecademy nebo Programming for Everybody na Courseře. Taky jsem uvízla v polovině nulté (ano, nulté) série Korespondenčního semináře z informatiky FI MU. Celý jsem odchodila a pobrala snad jenom kurz SQLite na KISKu. Pak okolo mne prolétla registrace na PyLadies a bylo jasné, že to je to pravé. Přihlášku jsem poslala, slíbila, že budu makat, vzali mě a už to jelo.</strong></p> +<!-- Tweet --> +<figure><blockquote class="twitter-tweet" data-lang="en"><p lang="cs" dir="ltr">"Se mnou nikdo nechce byt ve dvojici." "Jak to, mas Linux?" "Jo, Ubuntu." "Ja Fedoru." Spojenectvi na <a href="https://twitter.com/hashtag/PyLadiesCZ?src=hash">#PyLadiesCZ</a> <a href="https://t.co/HnpI0uLNJo">pic.twitter.com/HnpI0uLNJo</a></p>— Lucie Karmová (@LucieKarmova) <a href="https://twitter.com/LucieKarmova/status/782985586126839808">October 3, 2016</a></blockquote> + +</figure><h3 id="kdyz-v-brne-hodite-kamenem-trefite-programatora">Když v Brně hodíte kamenem, trefíte programátora<small class="permalink"><a href="#kdyz-v-brne-hodite-kamenem-trefite-programatora" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<p>Pro holky v Brně existuje jedinečný časoprostor. Tohle město je významné IT centrum a vývojáři se vyvažují zlatem. Zároveň jde o téměř výhradně mužské prostředí a mám pocit, že z toho samotní programátoři nejsou moc šťastní. Všichni se můžou přetrhnout, aby holkám umetli cestičku k programování. Holky v IT jsou prostě téma.</p> +<h3 id="dve-hodiny-kurzu-tydne-a-nekonecne-hodin-domacich-ukolu">Dvě hodiny kurzu týdně a nekonečně hodin domácích úkolů<small class="permalink"><a href="#dve-hodiny-kurzu-tydne-a-nekonecne-hodin-domacich-ukolu" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<p>Ohromně se mi líbila systematičnost, délka i pravidelnost kurzu, krásně zpracované materiály, různé “taháky” a taky nutnost domácích úkolů. Byly zábavné, i když pro mne vlastně docela náročné. V říjnu a v listopadu jsem s nimi strávila i 10 hodin týdně. A to nepočítám hodiny manžela, který mě zachraňoval před hysterákem a počítač před vyhozením z okna. Ke konci roku naštěstí tempo zvolnilo. Beztak jsem ale od prosince stále ještě u programování hada a na asteroidy jsem ani nesáhla. Před chvílí mě manžel upozornil, že píšu článek o programování místo toho, abych <em>doopravdy</em> programovala.</p> +<!-- Tweet --> +<figure><blockquote class="twitter-tweet" data-lang="en"><p lang="cs" dir="ltr">Úkoly do <a href="https://twitter.com/PyLadiesCZ">@PyLadiesCZ</a> jsou po 10 hodinách hotové. Bez <a href="https://twitter.com/_karm">@_karm</a> bych byla namydlená, ale jeho hodiny se "nepočítají" &lt;3 <a href="https://t.co/DsvxfvrGUP">pic.twitter.com/DsvxfvrGUP</a></p>— Lucie Karmová (@LucieKarmova) <a href="https://twitter.com/LucieKarmova/status/795405622917427202">November 6, 2016</a></blockquote> + +</figure><h3 id="diskriminace-kurz-je-jen-pro-holky">Diskriminace! Kurz je jen pro holky<small class="permalink"><a href="#diskriminace-kurz-je-jen-pro-holky" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<p>Být holkou v libovolném věku, která se učí programovat, jsou instatní plus čtyři tečky do vaší coolness. Kdybych byla klukem, který dnes začíná v Brně s Pythonem, byl by to spíš trapas. Co že jsem sakra dělala posledních patnáct let? +PyLadies se snaží trochu naředit klučičí programátorské prostředí. Počítá se s tím, že ve smíšeném prostředí by se účastnice kurzu mohly stydět ptát na věci, které přece “dávno známe ze střední”. Pro mě to určitě fungovalo. Zažila jsem třeba fantastický “aha moment”, když nám Petr Viktorin vysvětloval a na tabuli kreslil, jak funguje vlnová délka. Měla jsem dojem, že mi to poprvé v životě dává smysl – a viděla jsem, že podobně to mají i ostatní.</p> +<!-- Tweet --> +<figure><blockquote class="twitter-tweet" data-lang="en"><p lang="cs" dir="ltr">Abraka dabra. ARCUS TANGENS! Bratr i manzel kreslili, malovali, rvali si vousy. Já natvrdle odolávala, ale další úkol do <a href="https://twitter.com/hashtag/PyLadies?src=hash">#PyLadies</a> splněn!</p>— Lucie Karmová (@LucieKarmova) <a href="https://twitter.com/LucieKarmova/status/793151781324857345">October 31, 2016</a></blockquote> + +</figure><h3 id="programmers-novinarka-vedkyne-maminka-na-materske">programmers = ["novinarka", "vedkyne", "maminka na materske"]<small class="permalink"><a href="#programmers-novinarka-vedkyne-maminka-na-materske" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<p>Už dlouho se mi nestalo, že bych přišla do nové společnosti a byla z ní jednoduše nadšená. Na PyLadies se ale sešla ohromně zajímavá sestava dívek a žen. Každá má vlastní kariéru, studium a koníčky. Na kurzu jsme se potkaly většinou s tím, že programování vnímáme buď jako možnost nové kariéry, nebo jako mocný nástroj k vylepšení té stávající. Je to nový druh magie k ovládnutí světa. +Jednotlivé lekce se věnovaly cyklům, Gitu, funkcím, řetězcům, testování, GitHubu, seznamům, grafice, slovníkům, třídám a ve speciální lekci i MicroPythonu.</p> +<!-- Tweet --> +<figure><blockquote class="twitter-tweet" data-lang="en"><p lang="cs" dir="ltr">Neudrzim si poradek ani ve sparovani ponozek. GIT bude moje nocni mura. <a href="https://twitter.com/hashtag/PyLadiesCZ?src=hash">#PyLadiesCZ</a> <a href="https://t.co/uIxrC86C1b">pic.twitter.com/uIxrC86C1b</a></p>— Lucie Karmová (@LucieKarmova) <a href="https://twitter.com/LucieKarmova/status/788065352597078016">October 17, 2016</a></blockquote> + +</figure><p>Bylo pro mne nesmírně motivační vidět, jak si maminka se dvěma dětmi poradí s domácím úkolem na kreslení pomocí želvy – zeptala se synka, co by to mělo být? A protože si poručil auto, nakreslila ve for cyklech auta. Fakt i takhle může vypadat mateřská? Paráda.</p> +<figure class="figure"><img alt="micropython" src="https://blog.python.cz/images/05.png" class="figure-img img-fluid img-rounded"></figure> +<h3 id="miluju-nase-kouce-vsechny">Miluju naše kouče. Všechny!<small class="permalink"><a href="#miluju-nase-kouce-vsechny" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<p>Celé PyLadies jsou postavené na dobrovolnické práci a skvělé atmosféře. Martina Antalovová zajistila, že kurz vůbec proběhl. Firma <a href="https://www.experis.cz/">Experis</a> nám půjčila prostory. Ježíšek nám po <a href="https://www.redhat.com/en/global/czech-republic">Red Hatu</a> poslal součástky na programování v MicroPythonu (blikají a pípají!). Petr Viktorin jako hlavní kouč ukazoval, jak má vypadat srozumitelná, věcná, perfektně promyšlená lekce.</p> +<figure class="figure"><a href="https://blog.python.cz/images/09.jpg" target="_blank" title="micropython"><img alt="micropython" src="https://blog.python.cz/images/thumbnails/09.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<p>Pavel Dedík, Jirka Zapletal, Jarka Hladká, Jenda Král, Zuzka Piskořová a Manka Stará se o nás starali jak o kuřátka. Celou dobu se jen třásli na to, kdy se nám povede se v něčem zamotat, aby nám mohli pomoct a všechno vysvětlit. Koučům jsme také mohly kdykoli napsat nebo se přijít poradit na čtvrteční NePyvo do <a href="https://www.facebook.com/nekavarna/events">Nekavárny</a>.</p> +<!-- Tweet --> +<figure><blockquote class="twitter-tweet" data-lang="en"><p lang="cs" dir="ltr">Vánoční hodina na <a href="https://twitter.com/hashtag/PyLadies?src=hash">#PyLadies</a> a naši božští koučové &lt;3 <a href="https://t.co/T42jGGWjrN">pic.twitter.com/T42jGGWjrN</a></p>— Lucie Karmová (@LucieKarmova) <a href="https://twitter.com/LucieKarmova/status/810897666045517828">December 19, 2016</a></blockquote> + +</figure><p>Každý týden jsem se těšila, až všechny potkám. Se svou “strategií” v 1D piškvorkách jsem vyhrála pytlík bonbonů. Když měla spolužačka narozeniny, donesla bonboniéru. Na vánoční lekci donesl (nejenom) Jirka napečené cukroví. Petr nám na 3D tiskárně vytiskl vykrajovátka ve tvaru loga Pythonu. Po lekcích se chodilo plkat do hospody nebo na vánoční trhy.</p> +<!-- Tweet --> +<figure><blockquote class="twitter-tweet" data-lang="en"><p lang="cs" dir="ltr">Vecirek (skoro) informaticek. Party hard s <a href="https://twitter.com/hashtag/PyLadies?src=hash">#PyLadies</a> <a href="https://t.co/LIPMJYCTBY">pic.twitter.com/LIPMJYCTBY</a></p>— Lucie Karmová (@LucieKarmova) <a href="https://twitter.com/LucieKarmova/status/808391873400307721">December 12, 2016</a></blockquote> + +</figure><p>Chtěla bych všem zúčastněným poděkovat za báječný podzim. PyLadies jsou jeden z nejlepších kurzů, jaké jsem kdy absolvovala. Jedu teď na týden na hory, ale nenávidím zimu. Takže věřím, že u krbu za ten týden doklepnu i domácí úkol s asteroidy!</p></div>PyLadies Advanced: Srazy pro programováníchtivé dívky2017-01-08T10:49:00+01:002017-01-08T10:49:00+01:00Lenka 'Zouví' Matějovátag:blog.python.cz,2017-01-08:/pyladies-advanced<div><figure class="figure"><a href="https://blog.python.cz/images/IMG_0758.JPG" target="_blank" title=""><img :center alt="" src="https://blog.python.cz/images/thumbnails/IMG_0758.JPG" width="350px" class="figure-img img-fluid img-rounded"></a></figure> +<p>PyLadies Advanced probíhaly od července do půle října 2016 různě po Praze v kavárnách, posléze, díky Oskarovi, v coworkingové zasedačce <a href="https://usertechnologies.com/">Usertech</a> na Smíchově. Což je super prostor! Děkujeme!</p> +<figure class="figure"><a href="https://blog.python.cz/images/IMG_1623.jpg" target="_blank" title=""><img :center alt="" src="https://blog.python.cz/images/thumbnails/IMG_1623.jpg" width="350px" class="figure-img img-fluid img-rounded"></a></figure> +<p>Celkem proběhlo 22 těchto setkání, které vždy svolala nejlepší organizátorka Veronička. +PyLadies Advanced bylo maloformátové setkání, nejvíce nás přišlo asi 12, někdy …</p></div><div><figure class="figure"><a href="https://blog.python.cz/images/IMG_0758.JPG" target="_blank" title=""><img :center alt="" src="https://blog.python.cz/images/thumbnails/IMG_0758.JPG" width="350px" class="figure-img img-fluid img-rounded"></a></figure> +<p>PyLadies Advanced probíhaly od července do půle října 2016 různě po Praze v kavárnách, posléze, díky Oskarovi, v coworkingové zasedačce <a href="https://usertechnologies.com/">Usertech</a> na Smíchově. Což je super prostor! Děkujeme!</p> +<figure class="figure"><a href="https://blog.python.cz/images/IMG_1623.jpg" target="_blank" title=""><img :center alt="" src="https://blog.python.cz/images/thumbnails/IMG_1623.jpg" width="350px" class="figure-img img-fluid img-rounded"></a></figure> +<p>Celkem proběhlo 22 těchto setkání, které vždy svolala nejlepší organizátorka Veronička. +PyLadies Advanced bylo maloformátové setkání, nejvíce nás přišlo asi 12, někdy dorazilo i více koučů než PyLadies, ale umožnilo nám to:</p> +<ol> +<li> +<p>Posunout se dále v tom, co děláme. Často jsme díky pomoci koučů vyřešily problém s chybami, na které bychom samy přišly jen těžko. Bylo nám vysvětleno spoustu nových témat, jako např. regulární výrazy. Na tohle na kurzech většinou nezbývá čas a správné programátorce se to hodí znát!</p> +<p>Materiálů je na internetu sice spousta, ale člověk se snadno zamotá.</p> +<figure class="figure"><a href="https://blog.python.cz/images/IMG_1074.JPG" target="_blank" title=""><img :center alt="" src="https://blog.python.cz/images/thumbnails/IMG_1074.JPG" width="350px" class="figure-img img-fluid img-rounded"></a></figure> +</li> +<li> +<p>Některá setkání byla více networkingového rázu typu meetup než programming session. Ale to nám zase umožnilo zapojit se aktivněji do Python komunity v ČR. Mohly jsme plánovat další kurzy pro budoucí PyLadies, podívat se na PyCon CZ, zapojit se do organizace nebo psaní atd.</p> +<p>Na dvou PyLadies Advanced se objevila i zahraniční PyLady, což je strašně super, že se tato mezinárodní komunita sdružuje.</p> +</li> +</ol> +<figure class="figure"><a href="https://blog.python.cz/images/IMG_1905.jpg" target="_blank" title=""><img :center alt="" src="https://blog.python.cz/images/thumbnails/IMG_1905.jpg" width="350px" class="figure-img img-fluid img-rounded"></a></figure> +<p>I když se mi to ne vždy povedlo, snažila jsem se setkání PyLadies Advanced nezmeškat, protože to byly výborné akce, kde bylo vidět, jak se člověk posunuje v programování dále a učí se stále spousty nových věcí. Chtěla bych tímto velmi poděkovat koučům, že si na tato setkání našli čas a dorazili. Jste všichni skvělí!</p> +<figure class="figure"><a href="https://blog.python.cz/images/IMG_1676.JPG" target="_blank" title=""><img :center alt="" src="https://blog.python.cz/images/thumbnails/IMG_1676.JPG" width="350px" class="figure-img img-fluid img-rounded"></a></figure> +<p>A v neposlední řadě: s PyLadies je prostě sranda. Někdy jsme se tak nasmály, že to ani nešlo :)</p> +<figure class="figure"><a href="https://blog.python.cz/images/IMG_1622.jpg" target="_blank" title=""><img :center alt="" src="https://blog.python.cz/images/thumbnails/IMG_1622.jpg" width="350px" class="figure-img img-fluid img-rounded"></a></figure></div>Reportáž z události: Prosincové MicroHrátky2017-01-02T22:16:00+01:002017-01-02T22:16:00+01:00Zuzka Válkovátag:blog.python.cz,2017-01-02:/reportaz-z-udalosti-prosincove-microhratky<div><p>Věčnou slávu si tentokrát zaslouží <a href="https://twitter.com/josefrousek">Pepa Rousek</a>, který pro nás v čase předvánočního neklidu uspořádal Vánoční MicroPython dílnu. Na sraz bylo nutné mít vlastní micropythoní výbavu, takže i z toho důvodu účastníků workshopu nebylo mnoho. Díky komornějšímu obsazení jsme ale zvládli v pohodovém tempu překonat četné nástrahy, které zelené destičky …</p></div><div><p>Věčnou slávu si tentokrát zaslouží <a href="https://twitter.com/josefrousek">Pepa Rousek</a>, který pro nás v čase předvánočního neklidu uspořádal Vánoční MicroPython dílnu. Na sraz bylo nutné mít vlastní micropythoní výbavu, takže i z toho důvodu účastníků workshopu nebylo mnoho. Díky komornějšímu obsazení jsme ale zvládli v pohodovém tempu překonat četné nástrahy, které zelené destičky obnáší. Např. oblíbené magic smoky - tentokrát nebyl ani jeden!</p> +<figure class="figure"><a href="https://blog.python.cz/images/img_3154.jpg" target="_blank" title="image description"><img alt="image description" src="https://blog.python.cz/images/thumbnails/img_3154.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<figure class="figure"><a href="https://blog.python.cz/images/img_3131.jpg" target="_blank" title="image description"><img alt="image description" src="https://blog.python.cz/images/thumbnails/img_3131.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<figure class="figure"><a href="https://blog.python.cz/images/img_3153.jpg" target="_blank" title="image description"><img alt="image description" src="https://blog.python.cz/images/thumbnails/img_3153.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<p>Pepa nám postupně představil pár triků, jak převádět do světýlek data z internetu, třeba skrz populární twitterový hashtag <a href="https://twitter.com/cheerlights">#cheerlights</a>. Barva světýlek se měnila vždy, když někdo tweetnul název barvy společně s tímto hashtagem. Některé přítomné ale nejvíc zaujal nový káblík s teploměrovým čidlem, takže jsme si mimo jiné zasoutěžili o to, kdo z nás nadýchá nejvíc (stupňů). Samozřejmě za pomoci Pythonu. Aneb učení hrou!</p> +<figure class="figure"><a href="https://blog.python.cz/images/output_FtEEP0.gif" target="_blank" title="image description"><img alt="image description" src="https://blog.python.cz/images/output_FtEEP0.gif" class="figure-img img-fluid img-rounded"></a></figure> +<p>Co se týče finální úspěšnosti a výsledků našeho snažení: +Zatímco někteří účastníci sváděli velkolepé a dechberoucí bitvy s aktualizací ovladačů na Macu, obvykle zaostávající windowsácké šunky tentokrát obstály na jedničku. Takže se toho opravdu nemusí bát nikdo, ani ti jablíčkáři ne. Podklady z workshopu jsou pro inspiraci na <a href="https://github.com/stlk/micropython/tree/master/workshop">tomto linku</a>. No a my už se těšíme na další micropythoní hrátky v roce 2017!</p></div>Komunitní Python stánek na LinuxDays2016-12-26T13:28:00+01:002016-12-26T13:28:00+01:00Veronika Gabrielovátag:blog.python.cz,2016-12-26:/komunitni-python-stanek-na-linuxdays<div><h3 id="organizatori-linuxdays-nas-oslovili-zdali-chceme-vyuzit-moznosti-prezentovat-se-na-zname-akci-linuxdays">Organizátoři LinuxDays nás oslovili, zdali chceme využít možnosti prezentovat se na známé akci LinuxDays.<small class="permalink"><a href="#organizatori-linuxdays-nas-oslovili-zdali-chceme-vyuzit-moznosti-prezentovat-se-na-zname-akci-linuxdays" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<pre class="highlight"><code><span></span><code><span class="o">&gt;&gt;&gt;</span><span class="w"> </span><span class="kn">import</span><span class="w"> </span><span class="nn">czechpythoncommunityboothpanic</span> +</code></code></pre> + +<p>Odpověď byla jasná: "Jednoznačně chceme!"</p> +<p>Takže co si na to přichystáme:</p> +<p><em>...měsíc před akcí...pohodinda...</em></p> +<p>samolepky</p> +<p>letáčky</p> +<p><strong>Závěr: Moc toho nemáme.</strong></p> +<p><em>...týden před akcí...</em></p> +<p>ukulele orchestr</p> +<p>zelené destičky a hry 4x</p> +<p>fotky z akcí …</p></div><div><h3 id="organizatori-linuxdays-nas-oslovili-zdali-chceme-vyuzit-moznosti-prezentovat-se-na-zname-akci-linuxdays">Organizátoři LinuxDays nás oslovili, zdali chceme využít možnosti prezentovat se na známé akci LinuxDays.<small class="permalink"><a href="#organizatori-linuxdays-nas-oslovili-zdali-chceme-vyuzit-moznosti-prezentovat-se-na-zname-akci-linuxdays" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<pre class="highlight"><code><span></span><code><span class="o">&gt;&gt;&gt;</span><span class="w"> </span><span class="kn">import</span><span class="w"> </span><span class="nn">czechpythoncommunityboothpanic</span> +</code></code></pre> + +<p>Odpověď byla jasná: "Jednoznačně chceme!"</p> +<p>Takže co si na to přichystáme:</p> +<p><em>...měsíc před akcí...pohodinda...</em></p> +<p>samolepky</p> +<p>letáčky</p> +<p><strong>Závěr: Moc toho nemáme.</strong></p> +<p><em>...týden před akcí...</em></p> +<p>ukulele orchestr</p> +<p>zelené destičky a hry 4x</p> +<p>fotky z akcí</p> +<p>MicroPython kódy k destičkám, které budou na stánku</p> +<p>nápisy na stánku v Monty Python fontu</p> +<p><strong>Závěr: Lepší se to.</strong></p> +<p><em>...pár dní před akcí...</em></p> +<p>Python žezlo (tyč) samozvané Pyč – došla modrá niť na 3D tisk</p> +<p>lidi na stánek – máme již 8+ a furt se hlásí, už stačí</p> +<p>kluci z Gymnázia Roudnice nad Labem a jejich zhruba (proměnlivě) 7 až 10 her: "A můžeme vzít i tři stolky navíc?"</p> +<p><strong>Závěr: Máme toho nějak moc, DO PANIC. Vykřičník.</strong></p> +<p>To jsme ještě nevěděli, že taková prezentace na podobné akci pro nás bude mít tak velký smysl. Organizátorům LinuxDays 2016 tímto velmi děkujeme za příležitost zviditelnit naši super českou Python komunitu.</p> +<h3 id="co-jsou-linuxdays">Co jsou LinuxDays?<small class="permalink"><a href="#co-jsou-linuxdays" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<p>Odcituji to z jejich <a href="https://www.linuxdays.cz/">oficiálních stránek</a>, to abych to nespletla.</p> +<blockquote> +<p>LinuxDays je česká linuxová konference, která se odehrává každoročně v Praze. Tato +konference vznikla v roce 2012, aby nahradila zrušenou konferenci LinuxExpo. Za pět +let se z LinuxDays stala největších akce svého druhu v Česku.</p> +</blockquote> +<figure class="figure"><a href="https://blog.python.cz/images/linuxdays_img_2389.jpg" target="_blank" title="Koncert pro Chris Ward - podcast o LinuxDays"><img :center alt="Koncert pro Chris Ward - podcast o LinuxDays" src="https://blog.python.cz/images/thumbnails/linuxdays_img_2389.jpg" width="350px" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +<em>procítěný koncert pro Chrisův podcast o LinuxDays 2016</em></figcaption></figure> +<p>Pokud Tě zajímá nějaké pěkné shrnutí LinuxDays 2016, kdo tam byl a nebyl a co se tam dělo, rozhodně si pusť tenhle <a href="https://soundcloud.com/chris-ward-908424795/rozhovory-na-linuxdayscz-2016-radio-beat-brno-petr-simacek">super podcast od Chrise z Brna</a>♪♫♪♪♫</p> +<p>A k našemu stánku. Tak v první řadě jsme nikdy předtím nic takového nedělali. A tím to možná byl super uvolněný punk, který se nám náramně povedl a na který jsme i patřičně hrdí. +Při plánování došlo nejprve na suché záležitosti typu letáčky, samolepky. Nutno míti na každém správném stánku. Sběratelé samolepek, zdá se, ještě nevyhynuli. +Ovšem s velkým nápadem přišel Jakub Vysoký, jakožto hrdý syn svého otce Jardy Vysokého z Roudnice nad Labem, navrhl zapojit i kluky z tamějšího Gymnázia a jejich učitele Jardu. +Což byl opravdu skvělý tah. Když už se nám ráno před samotnou akcí povedlo shromáždit vše a všechny, zjistili jsme, že jsme jeden z největších stánků co do rozlohy i do počtu prezentujících. +Na stánku jsme totiž měli několik her na zelených destičkách typu NodeMCU, micro:bit a na nich hry, které poháněl MicroPython. +O tyto destičky byl velký zájem a tak tímto velmi děkuji Petru Viktorinovi, Lumíru Balharovi a Janu Čermákovi, že mě v tom nenechali a všem nadšencům ochotně vysvětlovali a flashovali jejich destičky.</p> +<p>Zmínění Roudničáci si přivezli her asi 10 a kdyby jim večer nevypli proud, sedí tam ještě teď. Na Adamovi, Jakubovi a Jardovi z Roudnice je super, že dokážou okolí nejen pobavit, ale i proškolit a aby někomu nepřišlo druhý den, že mají stejný program, tak +kluci přes noc ještě pár her doprogramují. Skvělým příkladem toho byla hra rádoby „GTAčko“, ke které přes noc Adam kromě dosavadního volantu s akcelerátorem přidal ještě fungující pedál a světla z auta nalezená na půdě. +Velké nadšení vzbudila jejich hra s vlaječkami na rychlost, digitální tabule na kterou se dá kreslit či hrát had dálkovým ovládáním. Rádoby „GTAčko“ s pedálem, volantem a světly. Jednoznačně parádní show a u našeho stánku bylo téměř pořád plno.</p> +<figure class="figure"><a href="https://blog.python.cz/images/linuxdays_img_2194.jpg" target="_blank" title="Rádoby „GTAčko“"><img :center alt="Rádoby „GTAčko“" src="https://blog.python.cz/images/thumbnails/linuxdays_img_2194.jpg" width="350px" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +<em>rádoby „GTAčko“ od studentů z Gymnázia v Roudnici</em></figcaption></figure> +<figure class="figure"><a href="https://blog.python.cz/images/linuxdays_img_2211.jpg" target="_blank" title="Hry na stánku měly velký úspěch"><img :center alt="Hry na stánku měly velký úspěch" src="https://blog.python.cz/images/thumbnails/linuxdays_img_2211.jpg" width="350px" class="figure-img img-fluid img-rounded"></a></figure> +<figure class="figure"><a href="https://blog.python.cz/images/linuxdays_img_2216.jpg" target="_blank" title="Jarda Vysoký s digitální tabulí, kterou naprogramoval s klukama z Gymnázia Roudnice nad Labem"><img :center alt="Jarda Vysoký s digitální tabulí, kterou naprogramoval s klukama z Gymnázia Roudnice nad Labem" src="https://blog.python.cz/images/thumbnails/linuxdays_img_2216.jpg" width="350px" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +<em>Jarda Vysoký s digitální tabulí, kterou naprogramoval s klukama z Gymnázia Roudnice nad Labem</em></figcaption></figure> +<p>Při té příležitosti jsme lidem povídali o tom, co vše v české Python komunitě děláme. Překvapivé pro nás bylo, že se na konferenci objevilo spousty lidí, kteří nikdy ani o <a href="http://python.cz/">python.cz</a> neslyšeli, na <a href="http://pyvo.cz/">Pyvo srazech</a> nebyli a celkově byli nadšení, že se o tom mohli dozvědět, protože v Pythonu dělají. +Dále jsme samozřejmě prezentovali kromě <a href="http://python.cz/">python.cz</a> i <a href="http://pyladies.cz/">PyLadies</a>, Advanced PyLadies, <a href="http://blog.python.cz/">blog</a> Python komunity, <a href="https://cz.pycon.org/2016/">PyCon 2016</a> v Brně. +Na stánku nechybělo ani Python žezlo, 3D vytištěné od <a href="https://twitter.com/hroncok">Mira Hrončoka</a> a <a href="https://twitter.com/jakub_prusa">Jakuba Průši</a>. Děkujeme za jeho propůjčení.</p> +<figure class="figure"><a href="https://blog.python.cz/images/linuxdays_img_2158.jpg" target="_blank" title="Miro Hrončok a jeho Python žezlo samozvané Pyč #pythonicstaffofenlightenment"><img :center alt="Miro Hrončok a jeho Python žezlo samozvané Pyč #pythonicstaffofenlightenment" src="https://blog.python.cz/images/thumbnails/linuxdays_img_2158.jpg" width="350px" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +<em>Miro Hrončok a jeho Python žezlo samozvané Pyč #pythonicstaffofenlightenment</em></figcaption></figure> +<p>Chvílemi se k nám přidávali i prezentující z ostatních spřátelených stánků, jako je například <a href="https://www.nic.cz/">CZ.NIC</a>. Python nadšenců bylo na této konferenci opravdu dost. Došlo i k výměně věciček na bastlení, po kterých jsme už nikterak netoužili, za knihu o GIT do <a href="https://github.com/pyvec/bookshelf">komunitní knihovničky</a>, po které jsme naopak hrozně toužili.</p> +<figure class="figure"><a href="https://blog.python.cz/images/linuxdays_img_2200.jpg" target="_blank" title="Přátelství s ostatními stánky na nás bylo znát"><img :center alt="Přátelství s ostatními stánky na nás bylo znát" src="https://blog.python.cz/images/thumbnails/linuxdays_img_2200.jpg" width="350px" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +<em>přátelství s ostatními stánky jsme dávali najevo</em></figcaption></figure> +<p>Podobný stánek jsme o pár týdnů později postavili i na PyCon 2016 v Brně, kam se také přijeli podívat kluci z Roudnice i se svou tabulí plnou her. +Rozhodně budeme šířit informace o těch všech skvělých věcech, které v Python komunitě děláme i dál na podobných akcích. Pokud nám již s něčím pomáháš, je to hrozně fajn a toto je i Tvá zásluha. +Pokud jsi se k nám zatím nepřidal/a, ale chtěl/a bys, mrkni na <a href="http://python.cz/zapojse/">naši stránku, kde zjistíš, kde a jak se zapojit.</a></p> +<figure class="figure"><a href="https://blog.python.cz/images/linuxdays_img_2292.jpg" target="_blank" title="Jedna z mnoha částí herního koutku kluků z Roudnice a #pythonicstaffofenlightenment"><img :center alt="Jedna z mnoha částí herního koutku kluků z Roudnice a #pythonicstaffofenlightenment" src="https://blog.python.cz/images/thumbnails/linuxdays_img_2292.jpg" width="350px" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +<em>jedna z mnoha částí herního koutku kluků z Roudnice a #pythonicstaffofenlightenment</em></figcaption></figure></div>Co přinesl podzim a co jsme podzimu přinesli my!2016-10-30T13:28:00+01:002016-10-30T13:28:00+01:00Veronika Gabrielovátag:blog.python.cz,2016-10-30:/co-prinesl-podzim<div><h3 id="zari-rijen-listopad-mesice-kurzu-pro-zacatecniky-a-konferenci">Září, říjen, listopad – měsíce kurzů pro začátečníky a konferencí<small class="permalink"><a href="#zari-rijen-listopad-mesice-kurzu-pro-zacatecniky-a-konferenci" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<p>Podzim bývá obdobím nově spuštěných kurzů Pythonu pro začátečníky zvaných <a href="http://pyladies.cz/">PyLadies</a>. Tato tradice se odehrává v Praze a Brně, ale pro velký zájem +se letos i v Ostravě dočkali svých <a href="http://pyladies.cz/">PyLadies</a>. V Praze v roce 2016 začaly i dobrovolné srazy Advanced …</p></div><div><h3 id="zari-rijen-listopad-mesice-kurzu-pro-zacatecniky-a-konferenci">Září, říjen, listopad – měsíce kurzů pro začátečníky a konferencí<small class="permalink"><a href="#zari-rijen-listopad-mesice-kurzu-pro-zacatecniky-a-konferenci" title="Trvalý odkaz na tento nadpis">#</a></small></h3> +<p>Podzim bývá obdobím nově spuštěných kurzů Pythonu pro začátečníky zvaných <a href="http://pyladies.cz/">PyLadies</a>. Tato tradice se odehrává v Praze a Brně, ale pro velký zájem +se letos i v Ostravě dočkali svých <a href="http://pyladies.cz/">PyLadies</a>. V Praze v roce 2016 začaly i dobrovolné srazy Advanced PyLadies, kde se scházely účastnice z <a href="http://pyladies.cz/">PyLadies</a>, +které měly osobní zájem pokračovat v učení se Pythonu na vlastních projektech. Či zlepšit své znalosti Pythonu, aby mohli jít čelem nabídkám práce na junior programátorky, +QA... +Pokud nevíš, co a kdo <a href="http://pyladies.cz/">PyLadies</a> jsou, nejlépe když navštívíš stránky, kde se dozvíš vše od informací o kurzech, náplni +lekcí i jak v každém z měst vznikly a kdo je tam organizuje. Tak šup na <a href="http://pyladies.cz/">PyLadies web</a></p> +<p>Na podzim také začíná mít tradici <a href="https://cz.pycon.org/">PyCon CZ</a>. Který se v roce 2015 prvně uskutečnil v Brně...a i podruhé, letos v roce 2016, se uskutečnil v Brně. +Takže jsem již asi dost naznačila, že v Brně je prostě dostatek úžasných lidí, kteří jsou schopni jej celý naplánovat, připravit a pak to všechno uklidit.</p> +<blockquote> +<p>&lt;rejp&gt;Co na tom, že polovina organizačního týmu, je vlastně z Prahy!&lt;/rejp&gt;</p> +<p>¯\_(ツ)_/¯</p> +</blockquote> +<p>Pyvo. Pyvo bylo a bude! V Ostravě se Pyvo odchýlilo od zvyklostí a rozjelo malinkato jiný formát. Krásně to sepsal Lumír v článku <a href="https://blog.python.cz/ostravske-pyvo-co-ted-a-co-potom">Ostravské Pyvo – co teď? A co potom?</a> +V Praze se Pyvo poslední dobou plnilo novými zájemci a bývá na něm plno. Pokaždé nás překvapí, že vidíme několik úplně nových tváří. A stejně jako my jsme nadšení z nich, oni jsou nadšení z nás. +V Brně je Pyvo stále skvělým Pyvem a přes veškeré snahy rejpalů se daří vždy zaručit místo pro velký či nepředvídatelný počet lidí. Letos se bylo Pyvo v Brně dokonce den před PyConem CZ, takže na něj dorazila velká posádka z Prahy. A že to byla pěkná cesta!</p> +<figure class="figure"><a href="https://blog.python.cz/images/co_prinesl_podzim_001.png" target="_blank" title="Cesta z města do Brna by ruční selfie tyč Honza Král"><img :center alt="Cesta z města do Brna by ruční selfie tyč Honza Král" src="https://blog.python.cz/images/co_prinesl_podzim_001.png" width="350px" class="figure-img img-fluid img-rounded"></a></figure> +<p>Shrneme si to:</p> +<ul> +<li> +<p>Konal se převeliký PyCon CZ 2016 v Brně.</p> +<p>PyCon CZ by nebyl bez skvělých lidí ze všech koutů republiky. Já osobně jakožto účastník konference, bych chtěla poděkovat tatínkovi PyConu CZ, Tomáši Ehrlichovi, protože mu věnoval již podruhé +kus života a ♥</p> +</li> +<li> +<p>Na podzim se konaly celkem 4 začátečnické kurzy Pythonu, zvané <a href="http://pyladies.cz/">PyLadies</a>. Dva v Praze a po jednom v Brně a Ostravě.</p> +<p>Tento tříměsíční kurz základů Pythonu je časově velmi náročný. <strong><em>Velký dík patří organizátorkám i koučům a koučkám do všech měst.</em></strong> Všichni z nich +jsou dobrovolníci, leckdy věnují spoustu času i přípravě na přednášení a nejedna slečna už díky nim začala programovat a někdo jí za to dokonce i platí!</p> +<p>České PyLadies mají navíc neuvěřitelné štěstí, že mají spousty skvělých sponzorů, kteří jim nabízí své prostory na kurzy a workshopy, +kupují Hardware na MicroPython kurzy a hledají i nové kouče z řad svých zaměstnanců.</p> +<p><strong>Hrdým a aktivním sponzorům PyLadies v ČR nespočetněkrát děkují ♥ ♥ ♥</strong></p> +<ul> +<li><a href="https://www.redhat.com/en/global/czech-republic">RedHat</a></li> +<li><a href="https://www.nic.cz/">CZ.NIC</a></li> +<li><a href="https://www.tieto.cz/">Tieto</a></li> +<li><a href="http://pyladies.cz/">ManpowerGroup</a></li> +<li><a href="https://www.msdit.cz/">MSD IT</a></li> +<li><a href="https://apiary.io/">Apiary</a></li> +<li><a href="https://usertechnologies.com/">Usertech</a></li> +<li><a href="http://pyvec.org/">Pyvec, o.s.</a></li> +</ul> +</li> +<li> +<p>Organizátoři LinuxDays nám nabídli možnost postavit si na konferenci stánek a tak jsme postavili rovnou stan. To by bylo vyprávění i na dva články, ale držela jsem se. <a href="https://blog.python.cz/komunitni-python-stanek-na-linuxdays">Můžeš si to třeba přečíst.</a></p> +</li> +<li>Advanced PyLadies v Praze slavily celkem úspěch, nicméně se k nám doneslo, že by se rádi přidali i kluci a rozvíjeli své spíš začátečnické dovednosti. A tak jsme se v Praze hecli a zkoušíme udělat měsíční srazy i pro všechny začátečníky. + V Praze se tedy Advanced PyLadies jmenují PyWorking a z týdenních srazů se stal měsíční celodenní sraz s prostorem na práci na projektech a workshopem či přednáškami. Týdenní srazy na pár hodin odpoledne jsou i nadále k mání.</li> +<li>V Brně se místo Advanced PyLadies rozjelo Nepyvo a Pythonistky i Pythonisti se schází každý čtvrtek v Nekavárně, kde upevňují a rozvíjejí znalosti Pythonu.</li> +<li>V Praze na ČVUT proběhl nový kurz pokročilého Pythonu. Podle osvědčené tradice začátačnických kurzů PyLadies jsou materiály <a href="https://github.com/cvut/mi-pyt">online</a>, takže se stejný kurz dá uspořádat i jinde. Třeba v Brně, kde si před každou cestou do Prahy Petr jednotlivé přednášky vyzkoušel na živých zájemcích.</li> +</ul></div>Ostravské Pyvo – co teď? A co potom?2016-09-11T02:00:00+02:002016-09-11T02:00:00+02:00Lumír Balhartag:blog.python.cz,2016-09-11:/ostravske-pyvo-co-ted-a-co-potom<div><h2 id="tl-dr">tl; dr<small class="permalink"><a href="#tl-dr" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>Mysleli jsme si, že o Python na Ostravsku lidi nestojí, ale enormní zájem o první +<a href="http://pyladies.cz/ostrava_course/">začátečnický kurz ostravských PyLadies</a> +nás vyvedl z omylu, a proto jsme se rozhodli se na <a href="http://srazy.info/pyvo-v-ostrave/6754">následujících Pyvech</a> +věnovat hlavně začátečníkům.</p> +<h2 id="malinko-historie">Malinko historie<small class="permalink"><a href="#malinko-historie" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>Ostravské Pyvo oslaví za nedlouho tři roky své existence a za …</p></div><div><h2 id="tl-dr">tl; dr<small class="permalink"><a href="#tl-dr" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>Mysleli jsme si, že o Python na Ostravsku lidi nestojí, ale enormní zájem o první +<a href="http://pyladies.cz/ostrava_course/">začátečnický kurz ostravských PyLadies</a> +nás vyvedl z omylu, a proto jsme se rozhodli se na <a href="http://srazy.info/pyvo-v-ostrave/6754">následujících Pyvech</a> +věnovat hlavně začátečníkům.</p> +<h2 id="malinko-historie">Malinko historie<small class="permalink"><a href="#malinko-historie" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>Ostravské Pyvo oslaví za nedlouho tři roky své existence a za tu dobu jsme toho zažili vcelku hodně, +poznali spoustu nových lidí, našli si novou lepší práci a naučili se jeden od druhého spoustu nového. Pyvo nám sem +přivezli Honza Javorek s Petrem Viktorinem, kteří uspořádali jeho první vydání, na kterém jsme se +seznámili a já – nadšen touto myšlenkou – jsem od nich organizaci převzal.</p> +<p>Ze začátku to nebylo moc složité, protože o podobnou akci byl vcelku zájem a nám se dařilo každé vydání +naplnit zajímavým obsahem, který jsme nejčastěji tvořili sami. Taková strategie ale nejde udržet +věčně a dříve nebo později zkrátka dojdou nápady. Nepomohly nám ani ankety, kde bylo možno o tématech hlasovat, +motivace prezentujících, ani letáčky na univerzitách. Bohužel návštěvníci Pyv byli z větší části spíše +konzumenti než aktivní přispěvatelé, a tak se spolu s volnějším programem scházelo čím dál méně lidí.</p> +<h2 id="trocha-soucasnosti">Trocha současnosti<small class="permalink"><a href="#trocha-soucasnosti" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>V současné chvíli se srazy konají v komorní atmosféře a jejich obsah je spíše diskuzní než přednáškový, což +jim ovšem v žádném případě neubírá na atraktivitě. Myslím si, že kdokoli na podobnou akci zavítal, ví, +že se není čeho bát a představit svůj projekt, povědět něco o nově získaných znalostech nebo se +poradit o řešení problému může být jen a pouze přínosné pro všechny. Přičemž to v žádném případě nemusí +být omezeno pouze na Python a věci s ním přímo související.</p> +<p>Nicméně ani prezentace Pyva coby diskusního setkání nám žádný velký nárůst návštěvnosti nepřinesla.</p> +<p>Takže co? Pravděpodobně u nás není o Python zájem.</p> +<p>Pak jsme se ale společně s několika slečnami rozhodli uspořádat první ostravské PyLadies +a za deset dní se nám registrovalo přes 40 (!) účastnic. To je zvláštní. Na Pyvech se +zdá, že Python u nás nikoho nezajímá, ale když otevřeme kurz pro úplné +začátečnice, je naplněn ještě dříve, než se registrace začnou propagovat veřejně.</p> +<h2 id="takze-co-dal">Takže co dál?<small class="permalink"><a href="#takze-co-dal" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>Výše zmíněné indicie nám naznačují, že zájem o programování by byl, ale aktuální +ani předešlé schéma Pyv asi není pro příchozí vhodné. Proto jsme se rozhodli, že následující Pyva uděláme +na míru pro začátečníky, kteří o programování zavadili zatím jen ve sci-fi literatuře. Obsah bude také +vhodný pro PyLadies, na které se v současném běhu kurzu z kapacitních důvodů nedostane.</p> +<p>Máte potíže s instalací Pythonu? Chcete napsat svůj první program? Lámete si hlavu s nějakým problémem? +Vezměte notebook pod paži, do každé kapsy dobrou náladu a dorazte.</p> +<p>Nyní už nestojí nic v cestě ani naprostým začátečníkům, kteří na srazech najdou nejen obsah přesně +pro sebe, ale v začátcích se tam také mohou chodit radit a zlepšovat své znalosti díky spolupráci +s komunitou.</p> +<p>Dost váhání, prostě dorazte, startujeme první středu v říjnu.</p> +<p>Sledovat nás můžete všude možně.</p> +<ul> +<li><strong><a href="https://www.facebook.com/groups/pyvoruby/">skupina na Facebooku</a></strong></li> +<li><strong><a href="https://www.facebook.com/events/156943694751065/">událost na Facebooku</a></strong></li> +<li><strong><a href="http://srazy.info/pyvo-v-ostrave/6754">událost na Srazy.info</a></strong></li> +<li><strong><a href="http://lanyrd.com/2016/ostrava-pyvo-october/">událost na Lanyrd.com</a></strong></li> +<li><strong><a href="https://twitter.com/napyvo?lang=cs">Twitter účet @naPyvo</a></strong></li> +<li><strong><a href="http://python.cz/">Web české Python komunity</a></strong> s hromadou informací pro začátečníky</li> +</ul></div>Naučte se Python v Seznam akademii2016-08-30T17:00:00+02:002016-08-30T17:00:00+02:00Daniel Mildetag:blog.python.cz,2016-08-30:/seznam-akademie-python<div><p>Seznam IT akademie nabídne v říjnu <a href="http://vyvojari.seznam.cz/akce/173-seznam-it-akademie-python">další workshop</a> zaměřený tentokrát na Python.</p> +<p>Workshop bude dvoudenní (pátek odpoledne a sobota) a poskytne výbornou příležitost, pokud s Pythonem chcete začít nebo už začínáte. +Obsahem je vhodný pro úplné začátečníky i pro pokročilé programátory. +Školení začne úvodem do jazyka a bude postupně probírat …</p></div><div><p>Seznam IT akademie nabídne v říjnu <a href="http://vyvojari.seznam.cz/akce/173-seznam-it-akademie-python">další workshop</a> zaměřený tentokrát na Python.</p> +<p>Workshop bude dvoudenní (pátek odpoledne a sobota) a poskytne výbornou příležitost, pokud s Pythonem chcete začít nebo už začínáte. +Obsahem je vhodný pro úplné začátečníky i pro pokročilé programátory. +Školení začne úvodem do jazyka a bude postupně probírat jednotlivé vlastnosti Pythonu, +běhěm čehož budou účastníci budovat ukázkovou aplikaci. +Doufáme, že zbyde dostatek času i na pokročilé techniky jako jsou dekorátory, deskriptory a metaprogramování.</p> +<p>Všechny worskshopy v rámci Seznam IT akademie jsou zdarma, je ale potřeba se včas <a href="http://vyvojari.seznam.cz/akce/173-seznam-it-akademie-python">zaregistrovat</a>.</p></div>Splněný holčičí sen2016-08-22T10:49:00+02:002016-08-22T10:49:00+02:00Lenka 'Zouví' Matějovátag:blog.python.cz,2016-08-22:/splneny-holcici-sen<div><figure class="figure"><a href="https://blog.python.cz/images/img_4184-min.jpg" target="_blank" title="Společná hardwarová"><img alt="Společná hardwarová" src="https://blog.python.cz/images/thumbnails/img_4184-min.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<p>V pátek 19. 8. 2016 proběhl ve Mšeném workshop pro PyLadies, na kterém jsme si my, holky, co se začaly učit programovat v Pythonu, vyzkoušely ovládat vývojovou desku s čipem ESP8266. Pokud vám to nic neříká, neděste se, taky jsme před workshopem vůbec netušily, o co jde. Je to počítačový …</p></div><div><figure class="figure"><a href="https://blog.python.cz/images/img_4184-min.jpg" target="_blank" title="Společná hardwarová"><img alt="Společná hardwarová" src="https://blog.python.cz/images/thumbnails/img_4184-min.jpg" class="figure-img img-fluid img-rounded"></a></figure> +<p>V pátek 19. 8. 2016 proběhl ve Mšeném workshop pro PyLadies, na kterém jsme si my, holky, co se začaly učit programovat v Pythonu, vyzkoušely ovládat vývojovou desku s čipem ESP8266. Pokud vám to nic neříká, neděste se, taky jsme před workshopem vůbec netušily, o co jde. Je to počítačový čip, který lze ovládat pomocí MicroPythonu, což je takový zjednodušený Python.</p> +<figure class="figure"><a href="https://blog.python.cz/images/img_1186-min.jpg" target="_blank" title="Hardware pro PyLadies"><img :center alt="Hardware pro PyLadies" src="https://blog.python.cz/images/thumbnails/img_1186-min.jpg" width="350px" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +<em>Petr Viktorin nám to krásně naservíroval, abychom se v hloupých i chytrých destičkách všichni vyznali</em></figcaption></figure> +<figure class="figure"><a href="https://blog.python.cz/images/img_1190-min.jpg" target="_blank" title="Cheatsheet made by Petr Viktorin"><img :center alt="Cheatsheet made by Petr Viktorin" src="https://blog.python.cz/images/thumbnails/img_1190-min.jpg" width="350px" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +<em>připravil nám i skvělý cheatsheet</em></figcaption></figure> +<figure class="figure"><a href="https://blog.python.cz/images/img_1194-min.jpg" target="_blank" title="Hardware"><img :center alt="Hardware" src="https://blog.python.cz/images/thumbnails/img_1194-min.jpg" width="350px" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +<em>zátiší s hardwarem</em></figcaption></figure> +<p>A k čemu to je? Můžou se na to napojit různá světýlka, houkačky, tlačítka, blikačky, pás LED apod. Jak jsme se v praxi přesvědčily, dá se tím vykouzlit například překrásně barvená atmosféra pro grilovačku :), ale i celkem ohlušující randál, který kdekdo musí řešit špunty do uší. Některým holkám šlo hraní s „chytrými“ a „hloupými“ destičkami na jedničku, takže se těším, co z toho všechno vznikne. Vše nám skvěle a trpělivě vysvětloval Petr Viktorin, na kterém je znát pravé nadšení pro práci s hardwarem.</p> +<p>Jako malou mě hrozně fascinovalo pozorovat, jak táta pájí čipovou desku a napojuje na ni různé nožičky, případně propojuje různá místa čipu v jedno. Takže cílem bylo také vyzkoušet si to, dozvědět se o tom víc … a hlavně, naučit se pájet! V průběhu workshopu jsem zjistila, že touhu po pájení sdílí i ostatní účastnice workshopu, a tak jsme nakonec dostaly možnost se na to vrhnout! Díky, kluci!</p> +<figure class="figure"><a href="https://blog.python.cz/images/img_1207-min.jpg" target="_blank" title="Modré světýlko pro začátek"><img :center alt="Modré světýlko pro začátek" src="https://blog.python.cz/images/thumbnails/img_1207-min.jpg" width="350px" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +<em>pro zahřátí zkusíme nejprve jedno modré světýlko</em></figcaption></figure> +<figure class="figure"><a href="https://blog.python.cz/images/img_1208-min.jpg" target="_blank" title="Nela a její modré světýlko"><img :center alt="Nela a její modré světýlko" src="https://blog.python.cz/images/thumbnails/img_1208-min.jpg" width="350px" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +<em>Nela už ví, jak na to</em></figcaption></figure> +<figure class="figure"><a href="https://blog.python.cz/images/img_1212-min.jpg" target="_blank" title="Nadšeni byli všichni"><img :center alt="Nadšeni byli všichni" src="https://blog.python.cz/images/thumbnails/img_1212-min.jpg" width="350px" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +<em>nadšení byli všichni – malí programátoři, i ti velcí</em></figcaption></figure> +<p>Celá akce byla, díky skvělé Python komunitě a štědrému sponzorovi <a href="https://www.nic.cz">CZ.NIC</a>, který zasponzoroval veškerý hardware a oběd hladovým programátorkám, hrozně super. Nešlo by to ale bez nejlepší organizátorky Veroničky Gabrielové a dvou pánů Vysokých, kteří poskytli dokonalé zázemí. Někteří cyklo nadšenci se dali strhnout k hromadnému příjezdu na kolech, Štěpán Bechyňský se ujal péče o strávníky a všechny zásobil přelahodnými pokrmy, večer jsme se všichni zahřáli za doprovodu několika ukulele u ohně a pěkně od plic si zapěli. Byl to fakt skvělý zážitek a jsem hrozně moc ráda, že jsem tam mohla být. Lidé kolem Pythonu jsou super, je s nimi sranda a člověk má mnohem větší motivaci se učit. A to je skvělý!</p> +<p>Počet úniků <a href="https://en.wikipedia.org/wiki/Magic_smoke">magic smoke</a>: pouze 2</p> +<p>Autoři fotek: <a href="https://twitter.com/kvbik">kvbik</a>, <a href="https://twitter.com/honzajavorek">Honza Javorek</a>, <a href="https://www.facebook.com/veronika.gabrielova.7">Vochechule</a></p> +<figure class="figure"><a href="https://blog.python.cz/images/img_4119-min.jpg" target="_blank" title="Vochechule programuje"><img :center alt="Vochechule programuje" src="https://blog.python.cz/images/thumbnails/img_4119-min.jpg" width="350px" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +<em>Vochechule si to trochu vylepšila</em></figcaption></figure> +<figure class="figure"><a href="https://blog.python.cz/images/img_1215-min.jpg" target="_blank" title="Katka se k nám přidala úplně poprvé"><img :center alt="Katka se k nám přidala úplně poprvé" src="https://blog.python.cz/images/thumbnails/img_1215-min.jpg" width="350px" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +<em>Katka se k nám přidala úplně poprvé, Python Workshopy spojují lidi</em></figcaption></figure> +<figure class="figure"><a href="https://blog.python.cz/images/img_1218-min.jpg" target="_blank" title="Vytuněno"><img :center alt="Vytuněno" src="https://blog.python.cz/images/thumbnails/img_1218-min.jpg" width="350px" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +<em>Vochechulin tuning</em></figcaption></figure> +<figure class="figure"><a href="https://blog.python.cz/images/img_1253-min.jpg" target="_blank" title="LED pasek"><img :center alt="LED pasek" src="https://blog.python.cz/images/thumbnails/img_1253-min.jpg" width="350px" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +<em>a tak se přesuneme na LED pásky, motorky, bzučítka a jiná mučítka</em></figcaption></figure> +<figure class="figure"><a href="https://blog.python.cz/images/img_1271-min.jpg" target="_blank" title="Verča také svítí"><img :center alt="Verča také svítí" src="https://blog.python.cz/images/thumbnails/img_1271-min.jpg" width="350px" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +<em>Verča už také svítí – LED pásky měly úspěch (oproti bzučítkům)</em></figcaption></figure> +<figure class="figure"><a href="https://blog.python.cz/images/img_1302-min.jpg" target="_blank" title="Svítíme a vymýšlíme fígle"><img :center alt="Svítíme a vymýšlíme fígle" src="https://blog.python.cz/images/thumbnails/img_1302-min.jpg" width="350px" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +<em>svítíme už i barevně</em></figcaption></figure> +<figure class="figure"><a href="https://blog.python.cz/images/img_1321-min.jpg" target="_blank" title="Lekce pájení s Honzou Čermákem"><img :center alt="Lekce pájení s Honzou Čermákem" src="https://blog.python.cz/images/thumbnails/img_1321-min.jpg" width="350px" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +<em>Honza Čermák z CZ.NIC nám udělal odbornou přednášku ohledně pájení</em></figcaption></figure> +<figure class="figure"><a href="https://blog.python.cz/images/img_1329-min.jpg" target="_blank" title="Tak jsme si to také zkusily"><img :center alt="Tak jsme si to také zkusily" src="https://blog.python.cz/images/thumbnails/img_1329-min.jpg" width="350px" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +<em>a tak jsme si to také zkusily</em></figcaption></figure> +<figure class="figure"><a href="https://blog.python.cz/images/img_1332-min.jpg" target="_blank" title="Nela pájí"><img :center alt="Nela pájí" src="https://blog.python.cz/images/thumbnails/img_1332-min.jpg" width="350px" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +<em>Nelče to šlo hned od ruky</em></figcaption></figure> +<figure class="figure"><a href="https://blog.python.cz/images/img_1336-min.jpg" target="_blank" title="Verča pájí"><img :center alt="Verča pájí" src="https://blog.python.cz/images/thumbnails/img_1336-min.jpg" width="350px" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +<em>Verča pájí a pájí</em></figcaption></figure> +<figure class="figure"><a href="https://blog.python.cz/images/img_1337_min.jpg" target="_blank" title="Vochechule pájí"><img :center alt="Vochechule pájí" src="https://blog.python.cz/images/thumbnails/img_1337_min.jpg" width="350px" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +<em>i Vochechuli k tomu pustili – počet škod: 0</em></figcaption></figure> +<figure class="figure"><a href="https://blog.python.cz/images/img_1374-min.jpg" target="_blank" title="Štěpán vaří"><img :center alt="Štěpán vaří" src="https://blog.python.cz/images/thumbnails/img_1374-min.jpg" width="350px" class="figure-img img-fluid img-rounded"></a><figcaption class="figure-caption"> +<em>Štěpán Bechyňský si vzal na starost kuchtění</em></figcaption></figure> +<figure class="figure"><a href="https://blog.python.cz/images/img_1408-min.jpg" target="_blank" title="Balonek tuning"><img :center alt="Balonek tuning" src="https://blog.python.cz/images/thumbnails/img_1408-min.jpg" width="350px" class="figure-img img-fluid img-rounded"></a></figure></div>Proč? Proto!2015-12-17T01:56:30+01:002015-12-17T01:56:30+01:00Honza Javorektag:blog.python.cz,2015-12-17:/proc-proto<div><p>Před rokem a půl jsem napsal článek <a href="https://blog.python.cz/proc-python">Proč Python?</a> Je o tom, proč by si měl člověk vybrat Python jako svůj hlavní programovací jazyk. V textu naznačuji, že Python je jazyk jako každý jiný, a tak se na některé věci hodí víc, na některé míň, ale že bych si přál …</p></div><div><p>Před rokem a půl jsem napsal článek <a href="https://blog.python.cz/proc-python">Proč Python?</a> Je o tom, proč by si měl člověk vybrat Python jako svůj hlavní programovací jazyk. V textu naznačuji, že Python je jazyk jako každý jiný, a tak se na některé věci hodí víc, na některé míň, ale že bych si přál, aby se tím hlavním důvodem pro jeho výběr stala jeho skvělá, aktivní komunita.</p> +<p>Když máme ten konec roku, dovolím si tady trochu bilancovat a zhodnotit, jak se nám tato mise daří. Co se v roce 2015 událo?</p> +<p><small>Poznámka: řazení je chaotické</small></p> +<ul> +<li> +<p>Konalo se celkem 33 lokálních srazů ve 3 městech (<a href="http://pyvo.cz/praha">12 v Praze</a>, <a href="http://pyvo.cz/brno">12 v Brně</a>, <a href="http://pyvo.cz/ostrava">9 v Ostravě</a>).</p> +<p><em>Věčnou slávu si zaslouží hlavně: Jirka Bartoň, Kubík Vysoký, Aleš Zoulek, Tomáš Ehrlich, já, Milan Kubík, Petr Viktorin, Laco Krčmárik, Lumír Balhar.</em></p> +</li> +<li> +<p>Na srazech se zprovoznila <a href="https://github.com/pyvec/bookshelf/">knihovnička</a>, díky které můžou lidé prakticky po celé republice nabízet nebo si půjčovat knihy o Pythonu a přidružených technologiích.</p> +<p><em>Věčnou slávu si zaslouží hlavně Petr Viktorin.</em></p> +</li> +</ul> +<p><strong>Tento článek je z dob kdy <a href="http://blog.python.cz">blog.python.cz</a> ještě neexistoval a původně vyšel na Honzově blogu. <a href="http://honzajavorek.cz/blog/proc-proto/">Můžete si ho dočíst tam!</a></strong></p></div>Výzvy pro Pyvo2015-04-30T16:55:11+02:002015-04-30T16:55:11+02:00Honza Javorektag:blog.python.cz,2015-04-30:/vyzvy-pro-pyvo<div><p>Dnes v Brně slavíme <strong>čtyři roky</strong> od založení místního srazu příznivců programovacího jazyka Python. Srazu, který nazýváme Pyvo. Zábavné příhody o tom, jak k založení došlo jsem kolem sebe trousil celé čtyři roky, takže se v rámci tohoto článku z hlediska minulosti omezím spíš na bilancování toho, co se nám …</p></div><div><p>Dnes v Brně slavíme <strong>čtyři roky</strong> od založení místního srazu příznivců programovacího jazyka Python. Srazu, který nazýváme Pyvo. Zábavné příhody o tom, jak k založení došlo jsem kolem sebe trousil celé čtyři roky, takže se v rámci tohoto článku z hlediska minulosti omezím spíš na bilancování toho, co se nám povedlo, a taky něco o cestě, kterou si myslím, že by mělo Pyvo kráčet do budoucna.</p> +<h2 id="co-se-povedlo">Co se povedlo<small class="permalink"><a href="#co-se-povedlo" title="Trvalý odkaz na tento nadpis">#</a></small></h2> +<p>V Brně se za čtyři roky rozhodně podařilo <strong>vytvořit pravidelný sraz</strong>, který sdružuje místní komunitu Pythonistů (a Rubystů). To samo o sobě není tak snadný úkol jak se zdá a je možná vlastně i dílem náhody, že zrovna nám v Brně se to povedlo. Myslel jsem si, že se tento úspěch dá snadno replikovat, ale zpětně vidím, že to není tak jednoduché a za každým funkčním srazem je ohromná spousta práce.</p> +<p><strong>Tento článek je z dob kdy <a href="http://blog.python.cz">blog.python.cz</a> ještě neexistoval a původně vyšel na Honzově blogu. <a href="http://honzajavorek.cz/blog/vyzvy-pro-pyvo/">Můžete si ho dočíst tam!</a></strong></p></div>Proč pomáhat holkám do IT2015-04-19T16:00:11+02:002015-04-19T16:00:11+02:00Honza Javorektag:blog.python.cz,2015-04-19:/proc-pomahat-holkam-do-it<div><p>Pomáhám při organizaci <a href="http://djangogirls.org/prague/">Django Girls v Praze</a>. Jak už to tak u mě bývá, dělám hlavně maskota a snažím se akci propagovat na sociálních sítích a podobně.</p> +<p>Django Girls jsou jednodenní workshop pro dámy, na kterém se mohou zadarmo naučit úplné základy programování a udělat si svou první webovou stránku …</p></div><div><p>Pomáhám při organizaci <a href="http://djangogirls.org/prague/">Django Girls v Praze</a>. Jak už to tak u mě bývá, dělám hlavně maskota a snažím se akci propagovat na sociálních sítích a podobně.</p> +<p>Django Girls jsou jednodenní workshop pro dámy, na kterém se mohou zadarmo naučit úplné základy programování a udělat si svou první webovou stránku v Djangu, resp. v <a href="https://blog.python.cz/proc-python">programovacím jazyce Python</a>. Je to koncept převzatý ze zahraničí, všechno je připravené a nachystané, <a href="http://djangogirls.org/resources/">existují manuály i pro organizátory</a>, takže proto pro nás bylo jednodušší se pustit do něčeho takového, než něco stavět na koleně. A i tak je to dost velká fuška!</p> +<p><strong>Tento článek je z dob kdy <a href="http://blog.python.cz">blog.python.cz</a> ještě neexistoval a původně vyšel na Honzově blogu. <a href="http://honzajavorek.cz/blog/proc-pomahat-holkam-do-it/">Můžete si ho dočíst tam!</a></strong></p></div>Proč Python?2014-05-29T01:56:30+02:002014-05-29T01:56:30+02:00Honza Javorektag:blog.python.cz,2014-05-29:/proc-python<div><p>Občas se mě někdo zeptá, proč vlastně "kopu za Python". Co že je na něm tak úžasného. Zkusím to nějak sepsat.</p> +<p>Můžete mít rádi svou zahradní sekačku, ale stejně ji nepoužijete, když budete potřebovat míchat těsto na bábovku nebo vrtat poličku. Ačkoliv můžeme polemizovat nad tím, že pokud je programovací …</p></div><div><p>Občas se mě někdo zeptá, proč vlastně "kopu za Python". Co že je na něm tak úžasného. Zkusím to nějak sepsat.</p> +<p>Můžete mít rádi svou zahradní sekačku, ale stejně ji nepoužijete, když budete potřebovat míchat těsto na bábovku nebo vrtat poličku. Ačkoliv můžeme polemizovat nad tím, že pokud je programovací jazyk <a href="https://cs.wikipedia.org/wiki/Turingovsk%C3%A1_%C3%BAplnost">Turing-complete</a>, tak v něm lze teoreticky napsat cokoliv, asi se pragmaticky shodneme na tom, že s programovacími jazyky je to v něčem spíše jako s tou sekačkou a vrtačkou. Aplikace pro iOS je nejlepší psát v Objective-C, skriptování v prohlížeči se nejsnadněji dělá v JavaScriptu, ovladač k tiskárně se píše v C, atd.</p> +<p>Jenže pak máme ještě hromadu aplikací, kde to tak vyhraněné není, nebo je to minimálně sporné. Potom většinou nastupují emoce a sympatie. Řekněme třeba web. Web můžete udělat v PHP, Ruby, Pythonu, JavaScriptu/Node.js, Haskellu, ... Kvalita ekosystému, rychlost vývoje a podobné argumenty tady moc nehrají roli, protože když se to sečte a podtrhne, tak jsou ty technologie prostě srovnatelné. Áno, Node.js může být asynchronnější a rychlejší než třeba zrovna ten Python, ale zase si u něj nabijete čumák v něčem jiném - všechno má svá pro a proti. Ekonomicky je to prostě jedno - pokud tedy nebudeme uvažovat i to, jak je snadné najít na tu kterou technologii vývojáře, atd.</p> +<p><strong>Tento článek je z dob kdy <a href="http://blog.python.cz">blog.python.cz</a> ještě neexistoval a původně vyšel na Honzově blogu. <a href="http://honzajavorek.cz/blog/proc-python/">Můžete si ho dočíst tam!</a></strong></p></div>Tři roky Pyvo + BRUG2014-04-26T14:57:17+02:002014-04-26T14:57:17+02:00Honza Javorektag:blog.python.cz,2014-04-26:/tri-roky-pyvo-brug<div><p><em>Varování: Tento článek obsahuje mnohokrát slovo radost.</em></p> +<p>Prý už jsem dlouho nic nenapsal na blog. Teď mě napadlo, co bych sem mohl napsat, ale nevím, jestli to není nějaká sebechvála nebo něco. Jenže z toho <strong>mám takovou radost, že se prostě neudržím</strong>. Berte to třeba jako pozvánku na další <a href="http://lanyrd.com/series/brno-pyvo/">Pyvo …</a></p></div><div><p><em>Varování: Tento článek obsahuje mnohokrát slovo radost.</em></p> +<p>Prý už jsem dlouho nic nenapsal na blog. Teď mě napadlo, co bych sem mohl napsat, ale nevím, jestli to není nějaká sebechvála nebo něco. Jenže z toho <strong>mám takovou radost, že se prostě neudržím</strong>. Berte to třeba jako pozvánku na další <a href="http://lanyrd.com/series/brno-pyvo/">Pyvo + BRUG</a>.</p> +<p>Ve čtvrtek proběhlo další brněnské Pyvo + BRUG, tentokrát s podtitulem "překladačové". Překladače a vše kolem mám rád, takže jsem to téma měl v záloze už dlouho a těšil jsem se na něj, ale <strong>myslel jsem si, že nikoho dalšího to zase až tak moc nezajímá</strong>, tak jsem se do toho nehrnul. Teď v dubnu jsem se odvážil a přichystali jsme to. Napsal jsem vytipovaným speakerům a kupodivu měli nakonec všichni čas a odvahu dorazit, byť dva byli až z nějaké větší vesnice u Dobrovíze nebo odkud... Organizace proběhla celkem bez zaváhání - jediné problémy, které jsme řešili, byly čeština versus angličtina a natáčení videa, což už je takový náš folklór, takže to neberu jako nic vážného. Na programu byly tři přednášky a jeden lightning talk:</p> +<ul> +<li><strong><a href="http://majda.cz/">David Majda</a></strong> (<a href="https://www.suse.com/cs-cz/">SUSE Linux</a>): <a href="http://pegjs.majda.cz/">PEG.js</a>, Parser Generator for JavaScript</li> +<li><strong><a href="http://www.fit.vutbr.cz/~izemek/">Petr Zemek</a></strong> (<a href="http://www.fit.vutbr.cz/">FIT VUT</a> + <a href="http://www.avg.com/cz-cs/">AVG</a>): <a href="http://www.superlectures.com/barcampbrno2013/od-hamburgeru-ke-krave-aneb-jak-z-binarky-ziskat-zdrojak">Zpětný překlad - jak z binárky dostat zdroják</a></li> +<li><strong><a href="http://zdne.org/">Zdeněk Němec</a></strong> (<a href="http://apiary.io/">Apiary</a>): Jak jsem vyráběl <a href="https://github.com/apiaryio/snowcrash">Snowcrash</a></li> +<li><strong><a href="http://encukou.cz/">Petr Viktorin</a></strong> (<a href="http://www.redhat.com/">Red Hat</a>): <a href="https://docs.python.org/3.5/library/ast.html">import ast</a></li> +</ul> +<p><strong>Tento článek je z dob kdy <a href="http://blog.python.cz">blog.python.cz</a> ještě neexistoval a původně vyšel na Honzově blogu. <a href="http://honzajavorek.cz/blog/tri-roky-pyvo-brug/">Můžete si ho dočíst tam!</a></strong></p></div>Novoroční lednové pražské Pyvo2014-01-18T17:00:00+01:002014-01-18T17:00:00+01:00Jakub Vysokýtag:blog.python.cz,2014-01-18:/novorocni-lednove-prazske-pyvo<div><p>vsichni (vcetne me) meli po vanocich poradny abstak. dorazili jsme totiz +asi v rekordnim poctu. seslo se nas urcite vic nez 40. ono je to ale moc +dobre. zakladni temata typu <a href="http://lanyrd.com/2014/praha-pyvo-january/">virtualenv a +pip</a> je potreba opakovat, +aby packaging a bootstrap prestal byt postihovan <a href="http://en.wikipedia.org/wiki/Not_invented_here">nih +syndromem</a> uz navzdy!</p> +<p>behem 4 …</p></div><div><p>vsichni (vcetne me) meli po vanocich poradny abstak. dorazili jsme totiz +asi v rekordnim poctu. seslo se nas urcite vic nez 40. ono je to ale moc +dobre. zakladni temata typu <a href="http://lanyrd.com/2014/praha-pyvo-january/">virtualenv a +pip</a> je potreba opakovat, +aby packaging a bootstrap prestal byt postihovan <a href="http://en.wikipedia.org/wiki/Not_invented_here">nih +syndromem</a> uz navzdy!</p> +<p>behem 4 delsich prednasek a 7 lightning talku se ani posluchaci +neflakali - 2 sudy piva zkratka nestacily. peclive jsem cely vecer +monitoroval, vsichni byli hodni, moc rychle se nepohybovali, takze na +google plus panoramatku <a href="https://plus.google.com/110682730627902704385/posts/ZMBqcTUqNKR">nejsou +rozmazani</a>.</p> +<p>ja jsem ovsem i tak radeji zbabele utekl a kolem pulnoci jsem byl uz +doma. abych ale nezustal nic dluzen, doplnil jsem vsechny speakry a +lightning talkare do lanyrd schedule a <a href="https://twitter.com/ajtea">martin +bilek</a> hned druhy den <a href="http://www.youtube.com/playlist?list=PL7yZNWKe9iWUz3-Xrz6GhFNCR5YX5fjf_">kompletne zpracoval +videa</a>.</p> +<p>vsem za vsechno diky a na videnou <a href="https://foursquare.com/v/klub-na-v%C4%9Bne%C4%8Dku/4dd42e5a52b18e28aa0f1f6e">na +venecku</a> +pristi mesic. <a href="http://lanyrd.com/2014/praha-pyvo-february/">tema message +queues</a> nezni vubec +nelakave!</p> +<p><strong>Tento článek je z dob kdy <a href="http://blog.python.cz">blog.python.cz</a> ještě neexistoval a původně vyšel na <a href="https://github.com/kvbik/blogisek">Kubíkově GitHub blogu</a>.</strong></p></div>Prosincové pražské Pyvo2013-12-20T17:00:00+01:002013-12-20T17:00:00+01:00Jakub Vysokýtag:blog.python.cz,2013-12-20:/prosincove-prazske-pyvo<div><p>vcera <a href="http://lanyrd.com/2013/praha-pyvo-december/">byl treti ctvrtek v +mesici</a> a ja misto toho, +abych se pobudil s bolavou hlavou po spouste piv, jsem se probudil s +hlavou nemocnou. to vite, takova <a href="http://necyklopedie.wikia.com/wiki/Moribundus">zakerna rymicka a +teplutka</a> jednoho skoli.</p> +<p>a stalo se to zrovna tak blbe, ze jsem to vanocni pyvo zmeskal. dost me +to …</p></div><div><p>vcera <a href="http://lanyrd.com/2013/praha-pyvo-december/">byl treti ctvrtek v +mesici</a> a ja misto toho, +abych se pobudil s bolavou hlavou po spouste piv, jsem se probudil s +hlavou nemocnou. to vite, takova <a href="http://necyklopedie.wikia.com/wiki/Moribundus">zakerna rymicka a +teplutka</a> jednoho skoli.</p> +<p>a stalo se to zrovna tak blbe, ze jsem to vanocni pyvo zmeskal. dost me +to mrzelo, protoze vanoce si delame takovy pekny, prineseme spoustu +hardwaru, ktery jsme si treba prali pod stromecek a bylo nam jasny, ze +nam ho nikdo nenadeli, tak jsme si ho pro jistotu objednali sami. at uz +na adafruit.com, dx.com, ci jinych vyprodejich.</p> +<p>v brne na vanocnim srazu maji podobnou tradici. takovy vanocni hw uklid. +kazdy prinese, co ma doma tak nejak navic a nevidi pro to v danou chvili +vyuziti a treba to za neco pekneho jineho vymeni. takovy bazar. nicmene +to jsme s alesem pro prahy zamitli, protoze my se rozhodne svych +kabliku, redukci, starych apecek, ci dokonce notebooku zbavovat nemuzeme +- nikdy nevite, kdy se neco z toho bude hodit.</p> +<p>ja jsem si objednal novy nexus, tak jsem ho chtel vzit, stopovat s nim +lightning talky, aby se mi uz vsichni nesmali, ze k tomu staremu +rozbitemu nosim porad externi klavesnici. pak jsem si v lidlu koupil +velice vyhodne <a href="http://imgflip.com/i/5kb8w">zasuvky na dalkove +ovladani</a>, ktere jsem sice jeste nestihl +rozpohybovat arduinem, ale rozhodne se na to chystam a v neposledni rade +jsem se tesil, ze prijede petr viktroin, kteremu jsem uz na poslednim +prazskem pyvu nadelil prave moji externi klavesnici pod podminkou, ze z +ni udela klavesnici bezdratovou...</p> +<p>nastesti mi <a href="http://www.youtube.com/playlist?list=PL7yZNWKe9iWX5Kk7r-bKiTr_Q5H0AUNfL">martin bilek udelal +radost</a>, +protoze nejen, ze na sraz prinesl kameru a vsechno to natocil, dokonce +uz hned druhy den videa nastrihal a ja se ted jdu podivat, jak to s tou +moji klavesnici dopadlo...</p> +<p><strong>Tento článek je z dob kdy <a href="http://blog.python.cz">blog.python.cz</a> ještě neexistoval a původně vyšel na <a href="https://github.com/kvbik/blogisek">Kubíkově GitHub blogu</a>.</strong></p></div>Májové pražské Pyvo2013-11-29T17:00:00+01:002013-11-29T17:00:00+01:00Jakub Vysokýtag:blog.python.cz,2013-11-29:/majove-prazske-pyvo<div><p>jak <a href="https://twitter.com/lurkingideas">jirka @whiskybar barton</a> rikal: +"my cekali jaro a zatim prislo leto." a ten krasny teply vecer nam asi +mirne narusil sraz. ty co neprisli, omlouva jedine to, ze sedeli nekde +na zahradce, pili pivo a mysleli na nas ;)</p> +<p>seslo se nas ale nakonec vlastne celkem slusnych 15 pythonistu, z …</p></div><div><p>jak <a href="https://twitter.com/lurkingideas">jirka @whiskybar barton</a> rikal: +"my cekali jaro a zatim prislo leto." a ten krasny teply vecer nam asi +mirne narusil sraz. ty co neprisli, omlouva jedine to, ze sedeli nekde +na zahradce, pili pivo a mysleli na nas ;)</p> +<p>seslo se nas ale nakonec vlastne celkem slusnych 15 pythonistu, z toho +2x rubista jsou tak verni navstevnici, ze si zaslouzi byt zarazeni do +skupiny. navic pepa liska sam rekl, ze s radosti bude jako kouc na +libovolne #pyladies (ala #railsgirls) akci. tak ted uz jenom aby nekdo +nejakou usporadal?</p> +<p>tema bylo #CMS (content management system), radek svarz a honza kral +predstavili <a href="http://mezzanine.jupo.org/">mezzanine</a> a +<a href="https://github.com/ella/ella">ellu</a>. doufali jsme, ze nam dorazi nekdo +neco rict i o jinych, ale napriklad martin jahn behem sveho lightning +talku o <a href="http://wagtail.io/">wagtail</a> sithnul zminit, ze <a href="https://www.django-cms.org/en/">django +cms</a> ho nijak nenadchlo, cimz jsem dosel +k zaveru, ze to asi nepouziva nikdo. petr viktorin nam zase +lightningtalknul o static site generatoru +<a href="http://docs.getpelican.com/">pelican</a>. jeho poznamka, ze pelican +podporuje CNAME a 404 me trosku zarazila, ale vyjasnilo se, ze se jedna +o podporu pro napr github pages hosting, kde uz nejaka ta dynamika +prichazi ke slovu, nicmene <a href="https://www.youtube.com/watch?v=kZZQLcM3P5U">fidorku za +pozornost</a> jsem nedostal..</p> +<p>parecky a chlebicky byly, zelena a pivo taky. mini diverzitu srazu +podporila tyler z redhatu. a diky alespon tem 15ti nas z venecku +nevyhnali pro slabou ucast ;)) diky za odvoz domu +<a href="https://plus.google.com/102589571514173655088/posts">tatinkovi</a>. cca v +pul treti jsem byl v posteli jako slusnej kluk. takze celkove prima +vecer, diky vsem. jo a priste, zase treti stredu v mesici <a href="http://lanyrd.com/2014/praha-pyvo-june/">cervnu tedy +2014/6/18 na venecku</a>.</p> +<p><strong>Tento článek je z dob kdy <a href="http://blog.python.cz">blog.python.cz</a> ještě neexistoval a původně vyšel na <a href="https://github.com/kvbik/blogisek">Kubíkově GitHub blogu</a>.</strong></p></div>Pyvo v Ostravě2013-11-11T21:06:23+01:002013-11-11T21:06:23+01:00Honza Javorektag:blog.python.cz,2013-11-11:/pyvo-v-ostrave<div><p>Možná jste to zaznamenali, možná ne, každopádně proběhlo minulý týden ve čtvrtek (tj. 7. 11.) <strong>první Pyvo v Ostravě</strong>. Sponzorovaly jej <strong>dvě firmy</strong>, byly dvě krátké <strong>přednášky</strong> a přišlo kolem <strong>třiceti účastníků</strong>, což považuji za velký úspěch. Akce byla totiž organizována poměrně <em>punkově</em> a očekávání nebyla naprosto žádná. Místní příjemně …</p></div><div><p>Možná jste to zaznamenali, možná ne, každopádně proběhlo minulý týden ve čtvrtek (tj. 7. 11.) <strong>první Pyvo v Ostravě</strong>. Sponzorovaly jej <strong>dvě firmy</strong>, byly dvě krátké <strong>přednášky</strong> a přišlo kolem <strong>třiceti účastníků</strong>, což považuji za velký úspěch. Akce byla totiž organizována poměrně <em>punkově</em> a očekávání nebyla naprosto žádná. Místní příjemně překvapili a byl z toho parádní večer.</p> +<p>Za ty necelé tři roky, co v Brně pořádáme setkání přátel programovacího jazyka Python, se povedlo navázat vztahy s <a href="http://lanyrd.com/series/praha-pyvo/">Prahou</a>, <a href="http://rubyslava.sk/">Bratislavou</a> a dokonce i <a href="http://vienna-rb.at/">Vídní</a>. Sjednotili jsme komunitu, srazům jsme dali jednotnou značku, <em>Pyvo</em>. Co mě ale mrzelo, byl fakt, že nemáme <strong>spřátelený sraz v Ostravě</strong>.</p> +<p>Půlku života jsem prožil v Karviné, městě pár kilometrů na východ od Ostravy, přímo na hranicích s Polskem. K "regionu razovitemu" mám tedy vztah a sám si moc dobře pamatuju, jak mě kdysi štvalo, že se všechno zajímavé děje jen v Praze, nanejvýš v Brně. Že jsme jen takovým ocáskem republiky, na který nikdo nikdy nepamatuje. Jako by tam nežilo <a href="https://cs.wikipedia.org/wiki/Ostrava#cite_note-pocet_obyvatel-1">více než 500 000 obyvatel</a>. Dnes už to tak tragické není - Ostrava hostí spoustu zajímavých akcí z nejrůznějších oblastí a některé <a href="http://solocolours.cz/">koncerty</a> aj. události se dokonce konají exkluzivně pouze tam. I srazů je tam <a href="http://ovacom.cz/">nesčetně</a>. Přesto ve mě ale dávná křivda doutnala...</p> +<p><strong>Tento článek je z dob kdy <a href="http://blog.python.cz">blog.python.cz</a> ještě neexistoval a původně vyšel na Honzově blogu. <a href="http://honzajavorek.cz/blog/pyvo-v-ostrave/">Můžete si ho dočíst tam!</a></strong></p></div>Proč překládat články2013-10-03T16:28:46+02:002013-10-03T16:28:46+02:00Honza Javorektag:blog.python.cz,2013-10-03:/proc-prekladat-clanky<div><p>Před nedávnem jsem se rozhodl pro <a href="http://www.zdrojak.cz/">Zdroják</a> přeložit článek <a href="http://me.veekun.com/blog/2012/05/05/python-faq-webdev/">Python FAQ: Webdev</a> od <a href="http://me.veekun.com/about/">Eeveeho</a>. Výsledek dopadl nějak <a href="http://www.zdrojak.cz/clanky/jak-napisu-webovou-aplikaci-v-pythonu/">takto</a> (<a href="http://www.zdrojak.cz/clanky/jak-napisu-webovou-aplikaci-v-pythonu-2/">druhý díl</a>). Překlad měl celkem dost ohlasů a i počítadlo sdílení na Zdrojáku (které nevím jak funguje) hlásí 95 sdílení (a 35 sdílení druhého dílu), takže se to asi pár lidem líbilo …</p></div><div><p>Před nedávnem jsem se rozhodl pro <a href="http://www.zdrojak.cz/">Zdroják</a> přeložit článek <a href="http://me.veekun.com/blog/2012/05/05/python-faq-webdev/">Python FAQ: Webdev</a> od <a href="http://me.veekun.com/about/">Eeveeho</a>. Výsledek dopadl nějak <a href="http://www.zdrojak.cz/clanky/jak-napisu-webovou-aplikaci-v-pythonu/">takto</a> (<a href="http://www.zdrojak.cz/clanky/jak-napisu-webovou-aplikaci-v-pythonu-2/">druhý díl</a>). Překlad měl celkem dost ohlasů a i počítadlo sdílení na Zdrojáku (které nevím jak funguje) hlásí 95 sdílení (a 35 sdílení druhého dílu), takže se to asi pár lidem líbilo.</p> +<p>Než jsem s dílem začal, položilo mi několik lidí následující otázku:</p> +<blockquote> +<p>Proč se pouštět do překladu zahraničního článku, když je v angličtině a tu přece v IT umí každý?</p> +</blockquote> +<p>Je to výborná otázka, protože v sobě skrývá pravdu, za kterou si stojím i já - <strong>v drtivé většině případů je překládání zahraničních odborných (!) článků opravdu nesmysl</strong>. I ten, kdo anglicky neumí nijak dobře, naučil se v ní většinou alespoň číst (má-li tedy se svou IT profesí nějaké vážnější úmysly). Totiž ani zahraniční programátoři nejsou žádní spisovatelé a běžný blogpost na IT téma je tak stejně většinou akorát gulášem z dvaceti provařených slovíček, předložek a výrazů všeobecně známého slangu (ať žije <em>tůl</em> a <em>exepšna</em>). Lepší autoři přimíchají citoslovce, ale ty už dávno známe z komixů i my, kteří je nečteme.</p> +<p><strong>Tento článek je z dob kdy <a href="http://blog.python.cz">blog.python.cz</a> ještě neexistoval a původně vyšel na Honzově blogu. <a href="http://honzajavorek.cz/blog/proc-prekladat-clanky/">Můžete si ho dočíst tam!</a></strong></p></div>Brněnské PyVo má nové kamarády2013-04-08T14:17:24+02:002013-04-08T14:17:24+02:00Honza Javorektag:blog.python.cz,2013-04-08:/brnenske-pyvo-ma-nove-kamarady<div><p><a href="http://lanyrd.com/2011/pyvo-april/">Osm lidí se 26. 4. 2011 setkalo</a> +v kavárně <a href="http://www.falkcafe.cz/">Falk</a> u jednoho z jejích kulatých stolů, +aby si povídali o Pythonu. Tak nevinně to začalo! Na druhé PyVo jsme se +přemístili jinam a připravili už dokonce i přednášky.</p> +<p><small>Mimochodem, našel jsem o tom +<a href="https://blog.python.cz/druhe-brnenske-pyvo">zápisek na blogu</a>, který +stojí za připomenutí …</small></p></div><div><p><a href="http://lanyrd.com/2011/pyvo-april/">Osm lidí se 26. 4. 2011 setkalo</a> +v kavárně <a href="http://www.falkcafe.cz/">Falk</a> u jednoho z jejích kulatých stolů, +aby si povídali o Pythonu. Tak nevinně to začalo! Na druhé PyVo jsme se +přemístili jinam a připravili už dokonce i přednášky.</p> +<p><small>Mimochodem, našel jsem o tom +<a href="https://blog.python.cz/druhe-brnenske-pyvo">zápisek na blogu</a>, který +stojí za připomenutí - např. ona "návštěva z Finska", tedy Petr Viktorin, +je dnes už spolupořadatelem celé akce. V komentářích zase Věroš zmiňuje +telefonní ústřednu, kterou jsme zrovna teď v březnu viděli v akci přímo +na stolech mezi půllitry :-)</small></p> +<p>Rok poté jsme v lednu 2012 hostili <strong>zatím nejúspěšnější akci</strong> - +<a href="http://lanyrd.com/2012/pyvo-january/">NoSQL PyVo</a>, kde se nás sešlo přes +třicet a přijeli návštěvníci ze Slovenska i z Prahy.</p> +<p><strong>Tento článek je z dob kdy <a href="http://blog.python.cz">blog.python.cz</a> ještě neexistoval a původně vyšel na Honzově blogu. <a href="http://honzajavorek.cz/blog/brnenske-pyvo-ma-nove-kamarady/">Můžete si ho dočíst tam!</a></strong></p></div>Listopadové pražské Pyvo2012-11-29T17:00:00+01:002012-11-29T17:00:00+01:00Jakub Vysokýtag:blog.python.cz,2012-11-29:/listopadove-prazske-pyvo<div><p><a href="http://lanyrd.com/2013/praha-pyvo-november/">listopadove prazske +#pyvo</a> uz je tyden za +nami, potreboval jsem sice cely vikend, abych dospal spankovy deficit, +ale to jsem zdaleka neodchazel posledni. tentokrat nas <a href="https://foursquare.com/v/klub-na-v%C4%9Bne%C4%8Dku/4dd42e5a52b18e28aa0f1f6e">na +venecku</a> +nechali do rekordnich asi pul druhe, za coz moc dekujeme.</p> +<p>bylo to super! na posledni chvili jsme splasili <a href="https://twitter.com/honzajavorek">honzu +javorka</a>, ktery nam zaplacnul …</p></div><div><p><a href="http://lanyrd.com/2013/praha-pyvo-november/">listopadove prazske +#pyvo</a> uz je tyden za +nami, potreboval jsem sice cely vikend, abych dospal spankovy deficit, +ale to jsem zdaleka neodchazel posledni. tentokrat nas <a href="https://foursquare.com/v/klub-na-v%C4%9Bne%C4%8Dku/4dd42e5a52b18e28aa0f1f6e">na +venecku</a> +nechali do rekordnich asi pul druhe, za coz moc dekujeme.</p> +<p>bylo to super! na posledni chvili jsme splasili <a href="https://twitter.com/honzajavorek">honzu +javorka</a>, ktery nam zaplacnul diru po +nemohoucim <a href="https://twitter.com/rembish">alexovi</a> - ten nam to povi +jindy. prednasky byly nakonec pouze dve, takze bylo spoustu casu na <a href="http://en.wikipedia.org/wiki/Lightning_talk">me +oblibene lightning talky</a>. +vecer to byl zkratka rekordni se vsim vsudy, protoze lightning-talkeru +se seslo celych 12.</p> +<p>v utrobach meho harddisku se skryva seznam, ktery vystavim asi jako +<a href="http://bit.ly/prpylight">google dokument</a>, abychom ho mohli libovolne +upravit a hlavne pak doplnit prednasejici na lanyrd.</p> +<p>krome toho, ze se v mezicase <a href="http://lanyrd.com/2013/ostravske-pyvo-druhe/">vypravime do +ostravy</a>, si uz muzete +zakrouzkovat termin vanocniho prazskeho pyva: 2013/12/18 - ale to je +prece jasne, protoze ani tentokrat to neni jinak, nez <strong>treti streda v +mesici</strong>.</p> +<p>ps: lanyrd.com ma super ics export pro guide, kam hazeme <a href="http://lanyrd.com/guides/pyvo/pyvo.ics">vsechny +slovensko-ceska pyva</a> a mne se +indexuje jako <a href="https://www.google.com/calendar/embed?src=6h72s1k6bun8omjopdcnqf0kjip2c9qe%40import.calendar.google.com&amp;ctz=Europe/Prague">google +kalendar</a>, +jestli si ho chcete pridat, staci kliknout. trosku debilni je, ze v tom +ics exportu mizi probehnute akce a google je tudiz maze i v tom +kalendari.. nevite nekdo, co s tim?</p> +<p>ps2: doslova par <a href="https://plus.google.com/u/0/110682730627902704385/posts/PfKE5VgpJ67">fotek a komentare na g+ +prispevku</a>, +ciao..</p> +<p><strong>Tento článek je z dob kdy <a href="http://blog.python.cz">blog.python.cz</a> ještě neexistoval a původně vyšel na <a href="https://github.com/kvbik/blogisek">Kubíkově GitHub blogu</a>.</strong></p></div>Jaké bude příští PyVo2012-09-29T14:13:20+02:002012-09-29T14:13:20+02:00Honza Javorektag:blog.python.cz,2012-09-29:/jake-bude-pristi-pyvo<div><p>Ve čtvrtek 27. 9. proběhlo po delší odmlce <a href="http://srazy.info/brnenske-pyvo/2656">setkání vývojářů v Pythonu, PyVo</a>. Pořadovým číslem už deváté.</p> +<p>Devět setkání nad pivem a s přednáškami, to už se dá považovat za nějakou tradici. No a když už je v nějakém setkávání tradice, začne se od něj něco očekávat. Lidé očekávají nějakou …</p></div><div><p>Ve čtvrtek 27. 9. proběhlo po delší odmlce <a href="http://srazy.info/brnenske-pyvo/2656">setkání vývojářů v Pythonu, PyVo</a>. Pořadovým číslem už deváté.</p> +<p>Devět setkání nad pivem a s přednáškami, to už se dá považovat za nějakou tradici. No a když už je v nějakém setkávání tradice, začne se od něj něco očekávat. Lidé očekávají nějakou kvalitu přednášek, očekávají nějaký servis (jídlo, pití, wifi, klidný salonek), očekávají, že vše proběhne tak jak má. Už se nepromíjí chybky, kterým se dříve desítka Pythonistů nad pivem spíš jen zasmála. Jakmile jsou návštěvníci v očekávání, mizí z akce tzv. pořadatelský punk. A s jeho mizením mizí i lehkost, s jakou může pořadatel akci dělat.</p> +<p>Nutně si pak musím položit otázku, co s PyVem zamýšlím. Jestli z něj chci dělat seriózní "minikonferenci", nebo zda bych raději pořádal nezávazný pokec u piva. Potíž je v tom, že v tom prvním případě si organizace takové akce žádá mnohem víc energie a zařizování. Musím připomenout, že to zatím stále dělám sám a také zadarmo, ve volném čase a z čisté radosti. Abych pokračoval, musí to něco dát i mě.</p> +<p>V následujících odstavcích vám tedy nastíním nějakou svou vizi. Částečně vykrystalizovanou jednotlivými PyVy, částečně založenou na zpětné vazbě, kterou jsem posbíral ve čtvrtek.</p> +<p><strong>Tento článek je z dob kdy <a href="http://blog.python.cz">blog.python.cz</a> ještě neexistoval a původně vyšel na Honzově blogu. <a href="http://honzajavorek.cz/blog/jake-bude-pristi-pyvo/">Můžete si ho dočíst tam!</a></strong></p></div> \ No newline at end of file diff --git a/hackathon-datove-analyzy-pro-zacatecniky.html b/hackathon-datove-analyzy-pro-zacatecniky.html new file mode 100644 index 0000000..618c991 --- /dev/null +++ b/hackathon-datove-analyzy-pro-zacatecniky.html @@ -0,0 +1,143 @@ + + + + + + + + Hackathon datové analýzy – pro začátečníky! - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

Hackathon datové analýzy – pro začátečníky!

+

+ +
+ Petra Vondrová, Pavlína Froňková a Petr Messner +

+
+ +
+

V sobotu ráno 3. února 2018 se sešlo 16 začínajících programátorek a programátorů v Národní technické knihovně v Dejvicích, aby si vyzkoušeli datovou analýzu. Samostatné práci v rámci začátečnického hackathonu předcházelo setkání s členy týmu Seznam.cz, kteří se věnují analýze dat. Ti nejprve představili svoji práci a potom účastníkům ukázali data, která Seznam poskytl k učení, procvičování a analýze pomocí Pythonu. Jednalo se o dva datasety z databáze Srealit, kluci představili strukturu dat i možné formy interpretace a na co si dát pozor, poté poskytli data ke stažení všem a ti si je začali sami osahávat.

+

Po prvních dvou rozehřívacích úkolech pro všechny k seznámení s datasety se začali účastníci dělit do skupinek, které pak již budou pokračovat v práci na svých projektech samostatně. Rozhodující je vybrat dobré téma! Sreality nabízí aktuálně velmi palčivou problematiku bydlení, aneb jak neskončit pod mostem, když mosty v Praze teď nejsou v nejlepším stavu. První odvážná analytička se přihlásila: „Já jsem shodou okolností přidala inzerát na Sreality a je tam, ráda bych si to proto srovnala.“ Hned vzápětí se zvedla další ruka: „Kupujeme byt, taky by se mi to hodilo! Jsem s tebou.“ Týmy a témata se začaly rychle skládat dohromady. Další skupina se zaměřila na vliv rekonstrukce na cenu nemovitostí: „Můžeš mě přidat k té rekonstrukci?“, „Já bych taky rekonstruoval.“ Další týmy se vrhly na měření vlivu vzdálenosti bytu od centra města a zastávek MHD, v závislosti na jeho ceně – kam až kupec zajde?

+

První vlnu brainstormingu a konzultování přípravy přerušil společný oběd a po něm následovaly další hodiny práce. Za oknem krátce sněžilo a potemnělo, ale duhová podlaha NTK nás nenechala usnout. Po pečlivé analýze a dlouhém systematickém rozebírání alternativ došlo večer na prezentace výsledků. Všechny skupiny dokončily své projekty a k analýze přistoupily s odvahou a kreativitou. Porota složená z organizátorů a koučů ohodnotila přístup k řešení projektu, práci v týmu, správnost postupu, ale i užitečnost. V součtu těchto kritérií zvítězila analýza vlivu rekonstrukce na výslednou cenu bytu, a tedy odpověď na otázku – prodávat před, či po rekonstrukci? Další prezentovaný projekt byla analýza konkurenceschopnosti konkrétního inzerátu bytu oproti ostatním. Velmi užitečnou by mohla být i jednoduchá aplikace, jež vyhodnotila polohu eventuálních nemovitostí z nabídky vzhledem k nejbližší stanici MHD. Během konečných prezentací měli účastníci možnost i kriticky ohodnotit cizí řešení a zamyslet se nad tím, kde a proč vznikly jaké odchylky.

+

A co na to kouč Petr?#

+

Workshop byl svým formátem vlastně hackathon, ale hlavním cílem bylo něco se naučit, setkat se s novými lidmi, trochu networking… spíš než vytvořit funkční projekt (i k tomu se ale jeden tým přiblížil). Učení probíhalo jak formou přednášky na začátku, tak i mezi účastníky navzájem, radami od pomáhajících koučů a samozřejmě i googlením :) Nikdo se nenudil s tím, že by už všechno znal.

+

Všechny týmy si pro práci zvolily knihovnu Pandas. Ta na jednu stranu práci s daty usnadňuje, ale pokud s ní člověk nemá zkušenosti, tak neustále hledá, jak nějakou konkrétní věc udělat. Třeba i něco, co by nakonec bylo jednodušší v „čistém“ Pythonu. Pro začátečníky může být jednodušší pracovat s hodnotami tabulky (DataFrame) jednotlivě, což u Pandas bohužel není vhodné, protože je to docela pomalé; ale aspoň byl při běžícím výpočtu čas zajít si na kafe :)

+

Většina týmů použila prostředí Jupyter Notebook. Všichni účastníci přišli na workshop s již připraveným softwarem na svých noteboocích, což ušetří hodně času. Praktickým problémem bylo předávání dat mezi členy týmů, jeden z týmů to vyřešil pomocí GitHubu.

+

Co se týká samotné práce s daty, tak bych řekl, že účastníkům chyběly určité zkušenosti a návyky z oblasti statistiky. Často byl výstupem týmu sloupcový graf s průměrnou hodnotou, která ale nenese moc informace – nebylo zřejmé rozdělení dat, možné ovlivnění outliery… Nezbyl moc prostor hledat v datech nějaké další závislosti a souvislosti. Ale zase nejdříve je potřeba zvládnout nástroje, jako jsou Pandas, a toto workshop právě splnil.

+

Týmy si procvičily i čištění dat. Ukázalo se, že i tak jasná položka, jako je „cena,“ nemusí být úplně směrodatná, pokud je v textu inzerátu upřesněno, že je to cena např. pouze za částečný podíl vlastnictví činžovního domu. Nejvíce se do dat zanořil vítězný tým, který zkoušel různé možnosti, jak z textu inzerátu zjistit údaje o rekonstrukci dané nemovitosti, což bylo uvedeno někdy i dost nepřímo.

+

Děkujeme všem skvělým účastníkům, neúnavným PyLadies koučům, NTK a samozřejmě Seznamu.

+

Petra Vondrová, Pavlína Froňková a Petr Messner

+

Své postřehy sepsala i jedna z účastnic, Michaela Šebestová: Můj první datový hackathon

+
Vítězný tým
+
2. místo
+
Ilustrační foto z hackathonu
+
Ilustrační foto z hackathonu
+
Ilustrační foto z hackathonu
+
+ +
+ +
+

+ Petra Vondrová, Pavlína Froňková a Petr Messner + +

+
+
+
+ +
+
+
+

Tento blog píše česká komunita kolem programovacího jazyka Python. +I ty sem můžeš napsat článek! Chceš oznámit nějakou akci, zamyslet se nad budoucností +srazů nebo sepsat, co se ti líbilo na konferenci? +Stačí postupovat podle návodu.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/hledame-prostory-pro-plzenske-pyvo.html b/hledame-prostory-pro-plzenske-pyvo.html new file mode 100644 index 0000000..bd7402a --- /dev/null +++ b/hledame-prostory-pro-plzenske-pyvo.html @@ -0,0 +1,129 @@ + + + + + + + + Hledáme prostory pro plzeňské Pyvo - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

Hledáme prostory pro plzeňské Pyvo

+

+ +
+ Tomáš Bedřich +

+
+ +
+

Stala se nám taková nemilá věc. Během Corona období nám zavřeli naši oblíbenou restauraci Beer Factory, kde proběhlo několik (desítek) vydařených srazů. Nezbývalo nám tedy nic jiného, než hledat nové místo pro naše setkání.

+

Několikrát jsme se více či méně úspěšně sešli v prostorech HUB 2.0, které jsou výhodné svojí flexibilitou a přátelským přístupem místních lidiček. Bohužel má HUB i své problémy, např. chybějící občerstvení, které organázoři Pyva musí hradit ze svého a pak vybírat do kasičky. (To by nebyl problém – problém je odhadnout, kolik se toho sní a vypije.) Také sklepní atmosféra je trochu udergroundová, což nemusí nutně vyhovovat každému.

+

Rozhodli jsme se proto poohlédnout po něčem trochu jiném – po něčem kulturnějším, kde najdeme občerstvení i slušné zázemí pro přednášky. Konkrétně pro zářijové Pyvo padla volba na plzeňskou Moving Station, což je velice vkusný prostor, ve kterém se děje spousta kulturních akcí / divadel / koncertů / výstav / atd. Domluva se naštěstí zdařila a nakonec jsme měli možnost tam Pyvo uspořádat.

+
Prostor to byl vskutku na úrovni
+

Za sebe musím říct, že ten prostor má genius loci. Naše setkání to pozvedlo na úplně jinou úroveň – měli jsme velice hezký a kvalitní prostor pro přednášky oddělený od prostoru pro konzumaci a networking. Bohužel, našlo se i několik věcí, které by bylo třeba doladit: např. zážitek ze streamingu a zvuk přednášek na záznamu si úplně nesedl s novou akustikou prostoru. Také nabídka občerstvení neobsahovala nic většího k jídlu, na což jsme nebyli připraveni.

+

Nicméně, určitě to stálo za vyzkoušení a doufejme, že tímto ozvláštněním jsme oslovili zase jinou skupinu zájemců o Python. Děkujeme Pyvci za možnost vyzkoušet něco nového (za proplacení pronájmu sálu). Budeme však hledat dále – do Moving Station se můžeme vrátit vždy a co když tam někde venku čeká prostor, který postavili přímo pro nás? To musíme zjistit. :)

+
+ +
+ +
+

+ Tomáš Bedřich + +

+
+
+
+ +
+
+
+

Tomáš je SW Engineer s dlouhodobým zaměřením na DevOps, občas učí Python na placených kurzech nebo přednáší na komunitních akcích. V rámci plzeňského Pyva je pak součástí tvrdého jádra oranizačního týmu.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/holcici-it-sen.html b/holcici-it-sen.html new file mode 100644 index 0000000..a30da73 --- /dev/null +++ b/holcici-it-sen.html @@ -0,0 +1,159 @@ + + + + + + + + Holčičí IT sen - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

Holčičí IT sen

+

+ +
+ Tereza Jůzová +

+
+ +
+

Jak vzniká takový holčičí IT sen? Všechno to začalo před pár měsíci, kdy jsem objevila možnost, přihlásit se do Digitální Akademie od Czechitas. Nepřemýšlela jsem ani minutu a hned odesílala přihlášku. Nyní je konec března a celý první běh Digitální Akademie se blíží ke konci. Bude mi to celé hrozně chybět, protože jsem za ty 3 měsíce poznala skvělou partu holek, naučila se spoustu nových věcí, potkala se s úžasnými mentory a lektory a také s naší skvělou organizaci Czechitas, která pomáhá vytvářet holčičí IT sny 👸.

+

Můj závěrečný projekt výše zmíněného kurzu se jmenuje Czechitas wiki. Za obrovské pomoci mé skvělé mentorky Sveti, díky které jsem si zamilovala programovací jazyk Python a za to jí patří mé velké díky, se povedla za měsíc vytvořit první verze projektu, se kterou vás nyní seznámím.

+

Webová aplikace bude sloužit studentům a lektorům Czechitas jako interní wiki, pro sdílení materiálů z jednotlivých předmětů, kurzů, workshopů apod. Usnadnění komunikace a přehlednosti celého kurzu, všechny materiály budou na jednom místě. Studenti, pak mohou také sami tvořit wiki, mohou psát články o technologiích se kterými se během kurzů seznámili, další články by se mohly týkat závěrečných projektů studentů Digitální Akademie.

+

Uživatelé systému, jsou lektoři a studenti Czechitas. Lektor bude mít právo vytvářet jednotlivá vlákna týkající se oblastí, které vyučuje. Každé vlákno může mít několik dalších stránek a stránky pak několik dalších podstránek. Stránky a podstránky pak budou moci vytvářet jak lektoři, tak také studenti. Systém bude také propojený s kurzy na webu Czechitas a automaticky se v administraci vytvoří nové vlákno s názvem kurzu, pokud ještě vlákno neexistuje.

+

Schéma postupu#

+
Schéma postupu
+

Krok za krokem#

+

1. Návrh datového modelu

+

Základem pro tvorbu datového modelu jsou funkční požadavky aplikace (vytvořit vlákno, vložit stánku do vlákna, přihlášení, registrace, správa uživatelů, přidání souboru k předmětu, přidat komentář) a jednotlivá podstatná jména tvoří objekty a slovesa tvoří vazby mezi těmito objekty v datovém modelu.

+
Datový model
+

** 2. Správa uživatelů**

+
    +
  • registrovaný uživatel - lektor a student
  • +
  • neregistrovaný uživatel - veřejná vlákna
  • +
  • admin - veškerá práva
  • +
+

** 3. User interface aplikace **

+
UI
+

** 4. Django **

+

Přicházíme k přípravě vývojového prostředí. V tomto kroku vytváříme projekt, superusera a nastartujeme projekt na localhostu. Dalším krokem je si otevřít projekt ve vývojovém prostředí, já jsem zvolila Atom. Pak už můžeme přejít k vytvoření modelových entit v Djangu, vycházíme z navrženého datového modelu výše. Nesmíme zapomenout se připojit k databázovému serveru, budeme pracovat s databází PostgreSQL. Je tedy potřeba mít nainstalovaný databázový server a pro správu databáze potřebujeme mít nainstalovaný pgAdmin. V pgAdmin registrujeme nový server a připojíme se k němu. Teď nám zbývá vymyslet, jak bude fungovat správa vláken a správa článků.

+

** 5. Úvodní dashboard **

+

Konečně se dostáváme k datové práci. Úvodní dashboard je rozdělen do třech částí. V první částí se nachází zobrazení celkového počtu vláken, dále pak celkový počet uživatelů a informace o přihlášeném uživateli, jeho jméno a poslední přihlášení.

+

Druhou částí dashboardu je tabulka s kalendářem akcí, které pořádají Czechitas. Každá akce je zároveň také nové vlákno wiki. Byla použita metoda scrapování dat z webu a zpracování dat v pandasu, na webu je vykreslený přímo pandas dataframe jako tabulka.

+

Třetí částí je propojení Czechitas wiki s fotkami z Instagramu, kde se ve spodní části dashboardu zobrazují fotografie, které měly nejvyšší počet likes.

+

Podívejme se nyní, jak projekt vypadá :)#

+
    +
  • Přihlášení uživatele
  • +
+
Přihlášení uživatele
+* Vlákna
+
Vlákna
+* Články
+
Články
+* Dashboard
+
Dashboard
+

Tak to je ona první verze projektu po měsíci práce 🎉. Těším se na další pokračování a věřím, že z toho někdy bude plnohodnotná webová aplikace, která bude plnit svůj úkol. Jaký je tedy můj holčičí IT sen? Naučit se všechny ty super věci v Pythonu.

+
+ +
+ +
+

+ Tereza Jůzová + +

+
+
+
+ +
+
+
+

Nedávno jsem se stala novým nadšencem Pythonu. Volné chvíle trávím na letišti a pozoruji svět z ptačí perspektivy nebo zůstávám při zemi při jízdě na longboardu.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/images/05.png b/images/05.png new file mode 100644 index 0000000..b349f61 Binary files /dev/null and b/images/05.png differ diff --git a/images/09.jpg b/images/09.jpg new file mode 100644 index 0000000..0ae0d6e Binary files /dev/null and b/images/09.jpg differ diff --git a/images/2016_124_02.jpg b/images/2016_124_02.jpg new file mode 100644 index 0000000..aec977e Binary files /dev/null and b/images/2016_124_02.jpg differ diff --git a/images/2019-09-23_PyConCZ_DSC_3484.jpg b/images/2019-09-23_PyConCZ_DSC_3484.jpg new file mode 100644 index 0000000..74ad008 Binary files /dev/null and b/images/2019-09-23_PyConCZ_DSC_3484.jpg differ diff --git a/images/2019-09-23_PyConCZ_DSC_3498.jpg b/images/2019-09-23_PyConCZ_DSC_3498.jpg new file mode 100644 index 0000000..cbcb3fa Binary files /dev/null and b/images/2019-09-23_PyConCZ_DSC_3498.jpg differ diff --git a/images/2019-09-23_PyConCZ_DSC_3520.jpg b/images/2019-09-23_PyConCZ_DSC_3520.jpg new file mode 100644 index 0000000..e74ba0a Binary files /dev/null and b/images/2019-09-23_PyConCZ_DSC_3520.jpg differ diff --git a/images/2019-09-23_PyConCZ_DSC_3594.jpg b/images/2019-09-23_PyConCZ_DSC_3594.jpg new file mode 100644 index 0000000..351d7b4 Binary files /dev/null and b/images/2019-09-23_PyConCZ_DSC_3594.jpg differ diff --git a/images/2019-09-23_PyConCZ_DSC_3617.jpg b/images/2019-09-23_PyConCZ_DSC_3617.jpg new file mode 100644 index 0000000..291ff7b Binary files /dev/null and b/images/2019-09-23_PyConCZ_DSC_3617.jpg differ diff --git a/images/2019-09-23_PyConCZ_DSC_3669.jpg b/images/2019-09-23_PyConCZ_DSC_3669.jpg new file mode 100644 index 0000000..f8ce4d3 Binary files /dev/null and b/images/2019-09-23_PyConCZ_DSC_3669.jpg differ diff --git a/images/2019-09-23_PyConCZ_DSC_3817.jpg b/images/2019-09-23_PyConCZ_DSC_3817.jpg new file mode 100644 index 0000000..dc33afb Binary files /dev/null and b/images/2019-09-23_PyConCZ_DSC_3817.jpg differ diff --git a/images/2019-09-23_PyConCZ_DSC_3925.jpg b/images/2019-09-23_PyConCZ_DSC_3925.jpg new file mode 100644 index 0000000..f1e814c Binary files /dev/null and b/images/2019-09-23_PyConCZ_DSC_3925.jpg differ diff --git a/images/2019-09-23_PyConCZ_DSC_3946.jpg b/images/2019-09-23_PyConCZ_DSC_3946.jpg new file mode 100644 index 0000000..fa5f1ab Binary files /dev/null and b/images/2019-09-23_PyConCZ_DSC_3946.jpg differ diff --git a/images/2019-09-23_PyConCZ_graph_come_from.png b/images/2019-09-23_PyConCZ_graph_come_from.png new file mode 100644 index 0000000..b32f007 Binary files /dev/null and b/images/2019-09-23_PyConCZ_graph_come_from.png differ diff --git a/images/2019-09-23_PyConCZ_graph_edu_tickets.png b/images/2019-09-23_PyConCZ_graph_edu_tickets.png new file mode 100644 index 0000000..11d1665 Binary files /dev/null and b/images/2019-09-23_PyConCZ_graph_edu_tickets.png differ diff --git a/images/2019-09-23_PyConCZ_graph_position.png b/images/2019-09-23_PyConCZ_graph_position.png new file mode 100644 index 0000000..48e3fed Binary files /dev/null and b/images/2019-09-23_PyConCZ_graph_position.png differ diff --git a/images/20200420_112700.jpg b/images/20200420_112700.jpg new file mode 100644 index 0000000..336c511 Binary files /dev/null and b/images/20200420_112700.jpg differ diff --git a/images/20201014_100729.jpg b/images/20201014_100729.jpg new file mode 100644 index 0000000..f68df91 Binary files /dev/null and b/images/20201014_100729.jpg differ diff --git a/images/94846086-0963-11e7-8268-a8d338c72990.jpg b/images/94846086-0963-11e7-8268-a8d338c72990.jpg new file mode 100644 index 0000000..7e06969 Binary files /dev/null and b/images/94846086-0963-11e7-8268-a8d338c72990.jpg differ diff --git a/images/94849416-0963-11e7-8616-ca8148e71dab.jpg b/images/94849416-0963-11e7-8616-ca8148e71dab.jpg new file mode 100644 index 0000000..b80551f Binary files /dev/null and b/images/94849416-0963-11e7-8616-ca8148e71dab.jpg differ diff --git a/images/IMG_0060.jpg b/images/IMG_0060.jpg new file mode 100644 index 0000000..90c4580 Binary files /dev/null and b/images/IMG_0060.jpg differ diff --git a/images/IMG_0209.jpg b/images/IMG_0209.jpg new file mode 100644 index 0000000..98f4f6a Binary files /dev/null and b/images/IMG_0209.jpg differ diff --git a/images/IMG_0343.jpg b/images/IMG_0343.jpg new file mode 100644 index 0000000..46fb7d3 Binary files /dev/null and b/images/IMG_0343.jpg differ diff --git a/images/IMG_0518.jpg b/images/IMG_0518.jpg new file mode 100644 index 0000000..f872245 Binary files /dev/null and b/images/IMG_0518.jpg differ diff --git a/images/IMG_0758.JPG b/images/IMG_0758.JPG new file mode 100644 index 0000000..0d6739e Binary files /dev/null and b/images/IMG_0758.JPG differ diff --git a/images/IMG_1074.JPG b/images/IMG_1074.JPG new file mode 100644 index 0000000..df9fc30 Binary files /dev/null and b/images/IMG_1074.JPG differ diff --git a/images/IMG_1622.jpg b/images/IMG_1622.jpg new file mode 100644 index 0000000..6ea0c73 Binary files /dev/null and b/images/IMG_1622.jpg differ diff --git a/images/IMG_1623.jpg b/images/IMG_1623.jpg new file mode 100644 index 0000000..a668f51 Binary files /dev/null and b/images/IMG_1623.jpg differ diff --git a/images/IMG_1676.JPG b/images/IMG_1676.JPG new file mode 100644 index 0000000..bd7dd10 Binary files /dev/null and b/images/IMG_1676.JPG differ diff --git a/images/IMG_1905.jpg b/images/IMG_1905.jpg new file mode 100644 index 0000000..84acd30 Binary files /dev/null and b/images/IMG_1905.jpg differ diff --git a/images/IMG_20191016_210725.jpg b/images/IMG_20191016_210725.jpg new file mode 100644 index 0000000..9a4c936 Binary files /dev/null and b/images/IMG_20191016_210725.jpg differ diff --git a/images/UI-wiki.jpg b/images/UI-wiki.jpg new file mode 100644 index 0000000..f777b64 Binary files /dev/null and b/images/UI-wiki.jpg differ diff --git a/images/about.png b/images/about.png new file mode 100644 index 0000000..b7edd47 Binary files /dev/null and b/images/about.png differ diff --git a/images/clanek.jpg b/images/clanek.jpg new file mode 100644 index 0000000..accdf9c Binary files /dev/null and b/images/clanek.jpg differ diff --git a/images/co_prinesl_podzim_001.png b/images/co_prinesl_podzim_001.png new file mode 100644 index 0000000..59e9147 Binary files /dev/null and b/images/co_prinesl_podzim_001.png differ diff --git a/images/cvut.jpg b/images/cvut.jpg new file mode 100644 index 0000000..7ef4d37 Binary files /dev/null and b/images/cvut.jpg differ diff --git a/images/czech-python-user-group.png b/images/czech-python-user-group.png new file mode 100644 index 0000000..ce55828 Binary files /dev/null and b/images/czech-python-user-group.png differ diff --git a/images/czech-python-user-group.svg b/images/czech-python-user-group.svg new file mode 100644 index 0000000..dc1fcfd --- /dev/null +++ b/images/czech-python-user-group.svg @@ -0,0 +1,4342 @@ + + + + +Created by potrace 1.13, written by Peter Selinger 2001-2015 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/images/czech_python_at_eupy.jpg b/images/czech_python_at_eupy.jpg new file mode 100644 index 0000000..2bc3882 Binary files /dev/null and b/images/czech_python_at_eupy.jpg differ diff --git a/images/dashboard.jpg b/images/dashboard.jpg new file mode 100644 index 0000000..86ee314 Binary files /dev/null and b/images/dashboard.jpg differ diff --git a/images/datovy_model.jpg b/images/datovy_model.jpg new file mode 100644 index 0000000..991fbd5 Binary files /dev/null and b/images/datovy_model.jpg differ diff --git a/images/github-nalepky.jpg b/images/github-nalepky.jpg new file mode 100644 index 0000000..848b55c Binary files /dev/null and b/images/github-nalepky.jpg differ diff --git a/images/graf1.png b/images/graf1.png new file mode 100644 index 0000000..1740619 Binary files /dev/null and b/images/graf1.png differ diff --git a/images/im-sorry.png b/images/im-sorry.png new file mode 100644 index 0000000..ddd163f Binary files /dev/null and b/images/im-sorry.png differ diff --git a/images/img.jpg b/images/img.jpg new file mode 100644 index 0000000..0e3f6fc Binary files /dev/null and b/images/img.jpg differ diff --git a/images/img_1186-min.jpg b/images/img_1186-min.jpg new file mode 100644 index 0000000..a028e51 Binary files /dev/null and b/images/img_1186-min.jpg differ diff --git a/images/img_1190-min.jpg b/images/img_1190-min.jpg new file mode 100644 index 0000000..8c5e9da Binary files /dev/null and b/images/img_1190-min.jpg differ diff --git a/images/img_1194-min.jpg b/images/img_1194-min.jpg new file mode 100644 index 0000000..392682a Binary files /dev/null and b/images/img_1194-min.jpg differ diff --git a/images/img_1207-min.jpg b/images/img_1207-min.jpg new file mode 100644 index 0000000..51501fd Binary files /dev/null and b/images/img_1207-min.jpg differ diff --git a/images/img_1208-min.jpg b/images/img_1208-min.jpg new file mode 100644 index 0000000..a00c8cb Binary files /dev/null and b/images/img_1208-min.jpg differ diff --git a/images/img_1212-min.jpg b/images/img_1212-min.jpg new file mode 100644 index 0000000..6daa4a5 Binary files /dev/null and b/images/img_1212-min.jpg differ diff --git a/images/img_1215-min.jpg b/images/img_1215-min.jpg new file mode 100644 index 0000000..d93881b Binary files /dev/null and b/images/img_1215-min.jpg differ diff --git a/images/img_1218-min.jpg b/images/img_1218-min.jpg new file mode 100644 index 0000000..aa5e621 Binary files /dev/null and b/images/img_1218-min.jpg differ diff --git a/images/img_1253-min.jpg b/images/img_1253-min.jpg new file mode 100644 index 0000000..133ac7e Binary files /dev/null and b/images/img_1253-min.jpg differ diff --git a/images/img_1271-min.jpg b/images/img_1271-min.jpg new file mode 100644 index 0000000..03ff944 Binary files /dev/null and b/images/img_1271-min.jpg differ diff --git a/images/img_1302-min.jpg b/images/img_1302-min.jpg new file mode 100644 index 0000000..d9dfc46 Binary files /dev/null and b/images/img_1302-min.jpg differ diff --git a/images/img_1321-min.jpg b/images/img_1321-min.jpg new file mode 100644 index 0000000..30bb648 Binary files /dev/null and b/images/img_1321-min.jpg differ diff --git a/images/img_1329-min.jpg b/images/img_1329-min.jpg new file mode 100644 index 0000000..c18051e Binary files /dev/null and b/images/img_1329-min.jpg differ diff --git a/images/img_1332-min.jpg b/images/img_1332-min.jpg new file mode 100644 index 0000000..c2c1c15 Binary files /dev/null and b/images/img_1332-min.jpg differ diff --git a/images/img_1336-min.jpg b/images/img_1336-min.jpg new file mode 100644 index 0000000..95e57f5 Binary files /dev/null and b/images/img_1336-min.jpg differ diff --git a/images/img_1337_min.jpg b/images/img_1337_min.jpg new file mode 100644 index 0000000..b1677f2 Binary files /dev/null and b/images/img_1337_min.jpg differ diff --git a/images/img_1374-min.jpg b/images/img_1374-min.jpg new file mode 100644 index 0000000..ec37b18 Binary files /dev/null and b/images/img_1374-min.jpg differ diff --git a/images/img_1408-min.jpg b/images/img_1408-min.jpg new file mode 100644 index 0000000..56cf788 Binary files /dev/null and b/images/img_1408-min.jpg differ diff --git a/images/img_1505.jpg b/images/img_1505.jpg new file mode 100644 index 0000000..1e525ba Binary files /dev/null and b/images/img_1505.jpg differ diff --git a/images/img_1507.jpg b/images/img_1507.jpg new file mode 100644 index 0000000..9836c75 Binary files /dev/null and b/images/img_1507.jpg differ diff --git a/images/img_1508.jpg b/images/img_1508.jpg new file mode 100644 index 0000000..1f0b2b7 Binary files /dev/null and b/images/img_1508.jpg differ diff --git a/images/img_1513.jpg b/images/img_1513.jpg new file mode 100644 index 0000000..2220b2f Binary files /dev/null and b/images/img_1513.jpg differ diff --git a/images/img_1518.jpg b/images/img_1518.jpg new file mode 100644 index 0000000..f5a5f6a Binary files /dev/null and b/images/img_1518.jpg differ diff --git a/images/img_3131.jpg b/images/img_3131.jpg new file mode 100644 index 0000000..afbf8c1 Binary files /dev/null and b/images/img_3131.jpg differ diff --git a/images/img_3145.jpg b/images/img_3145.jpg new file mode 100644 index 0000000..a663b43 Binary files /dev/null and b/images/img_3145.jpg differ diff --git a/images/img_3153.jpg b/images/img_3153.jpg new file mode 100644 index 0000000..8250203 Binary files /dev/null and b/images/img_3153.jpg differ diff --git a/images/img_3154.jpg b/images/img_3154.jpg new file mode 100644 index 0000000..cd7c122 Binary files /dev/null and b/images/img_3154.jpg differ diff --git a/images/img_4119-min.jpg b/images/img_4119-min.jpg new file mode 100644 index 0000000..90d9a76 Binary files /dev/null and b/images/img_4119-min.jpg differ diff --git a/images/img_4184-min.jpg b/images/img_4184-min.jpg new file mode 100644 index 0000000..3399da8 Binary files /dev/null and b/images/img_4184-min.jpg differ diff --git a/images/imgl9364.jpg b/images/imgl9364.jpg new file mode 100644 index 0000000..18ee1ea Binary files /dev/null and b/images/imgl9364.jpg differ diff --git a/images/imgl9395.jpg b/images/imgl9395.jpg new file mode 100644 index 0000000..cd1e485 Binary files /dev/null and b/images/imgl9395.jpg differ diff --git a/images/imgl9403.jpg b/images/imgl9403.jpg new file mode 100644 index 0000000..e230db3 Binary files /dev/null and b/images/imgl9403.jpg differ diff --git a/images/linuxdays_img_2158.jpg b/images/linuxdays_img_2158.jpg new file mode 100644 index 0000000..675b13b Binary files /dev/null and b/images/linuxdays_img_2158.jpg differ diff --git a/images/linuxdays_img_2194.jpg b/images/linuxdays_img_2194.jpg new file mode 100644 index 0000000..b3c1f3f Binary files /dev/null and b/images/linuxdays_img_2194.jpg differ diff --git a/images/linuxdays_img_2200.jpg b/images/linuxdays_img_2200.jpg new file mode 100644 index 0000000..0e407e9 Binary files /dev/null and b/images/linuxdays_img_2200.jpg differ diff --git a/images/linuxdays_img_2211.jpg b/images/linuxdays_img_2211.jpg new file mode 100644 index 0000000..3c6f48b Binary files /dev/null and b/images/linuxdays_img_2211.jpg differ diff --git a/images/linuxdays_img_2216.jpg b/images/linuxdays_img_2216.jpg new file mode 100644 index 0000000..2c1e3a8 Binary files /dev/null and b/images/linuxdays_img_2216.jpg differ diff --git a/images/linuxdays_img_2292.jpg b/images/linuxdays_img_2292.jpg new file mode 100644 index 0000000..01e0ec6 Binary files /dev/null and b/images/linuxdays_img_2292.jpg differ diff --git a/images/linuxdays_img_2389.jpg b/images/linuxdays_img_2389.jpg new file mode 100644 index 0000000..bd6555b Binary files /dev/null and b/images/linuxdays_img_2389.jpg differ diff --git a/images/marcus1.png b/images/marcus1.png new file mode 100644 index 0000000..69721f5 Binary files /dev/null and b/images/marcus1.png differ diff --git a/images/marcus2.png b/images/marcus2.png new file mode 100644 index 0000000..caca2f0 Binary files /dev/null and b/images/marcus2.png differ diff --git a/images/medium_b80we0lVygI_O-aN9OieHA.jpeg b/images/medium_b80we0lVygI_O-aN9OieHA.jpeg new file mode 100644 index 0000000..4832eef Binary files /dev/null and b/images/medium_b80we0lVygI_O-aN9OieHA.jpeg differ diff --git a/images/medium_cjfouhan5gCpfdbz8wg.jpeg b/images/medium_cjfouhan5gCpfdbz8wg.jpeg new file mode 100644 index 0000000..cbd223b Binary files /dev/null and b/images/medium_cjfouhan5gCpfdbz8wg.jpeg differ diff --git a/images/medium_e7nA35DAtyfYnEeWHCv8Ug.jpeg b/images/medium_e7nA35DAtyfYnEeWHCv8Ug.jpeg new file mode 100644 index 0000000..c2cd35d Binary files /dev/null and b/images/medium_e7nA35DAtyfYnEeWHCv8Ug.jpeg differ diff --git a/images/medium_fnztTVGc3As9ygjpVSYrKw.jpeg b/images/medium_fnztTVGc3As9ygjpVSYrKw.jpeg new file mode 100644 index 0000000..42668b8 Binary files /dev/null and b/images/medium_fnztTVGc3As9ygjpVSYrKw.jpeg differ diff --git a/images/medium_g4AehfBMUivtViSd44DPGg.jpeg b/images/medium_g4AehfBMUivtViSd44DPGg.jpeg new file mode 100644 index 0000000..85a46ea Binary files /dev/null and b/images/medium_g4AehfBMUivtViSd44DPGg.jpeg differ diff --git a/images/medium_jaY8sRvQT9BeRewKAoCq5A.jpeg b/images/medium_jaY8sRvQT9BeRewKAoCq5A.jpeg new file mode 100644 index 0000000..4fbf8b2 Binary files /dev/null and b/images/medium_jaY8sRvQT9BeRewKAoCq5A.jpeg differ diff --git a/images/medium_kdAIo5hsaKfimZ-nWE0PeQ.jpeg b/images/medium_kdAIo5hsaKfimZ-nWE0PeQ.jpeg new file mode 100644 index 0000000..1d19e04 Binary files /dev/null and b/images/medium_kdAIo5hsaKfimZ-nWE0PeQ.jpeg differ diff --git a/images/medium_vQtaium-TrnSTN3EPcRJ3A.jpeg b/images/medium_vQtaium-TrnSTN3EPcRJ3A.jpeg new file mode 100644 index 0000000..47c93e4 Binary files /dev/null and b/images/medium_vQtaium-TrnSTN3EPcRJ3A.jpeg differ diff --git a/images/meetfactory1_hr.jpg b/images/meetfactory1_hr.jpg new file mode 100644 index 0000000..7b2356e Binary files /dev/null and b/images/meetfactory1_hr.jpg differ diff --git a/images/meetfactory6_music_hall_hr.jpg b/images/meetfactory6_music_hall_hr.jpg new file mode 100644 index 0000000..d1de192 Binary files /dev/null and b/images/meetfactory6_music_hall_hr.jpg differ diff --git a/images/mipytanketa.png b/images/mipytanketa.png new file mode 100644 index 0000000..a3c1e31 Binary files /dev/null and b/images/mipytanketa.png differ diff --git a/images/okno_prihlaseni.jpg b/images/okno_prihlaseni.jpg new file mode 100644 index 0000000..410a8cc Binary files /dev/null and b/images/okno_prihlaseni.jpg differ diff --git a/images/old_pc_clipart.png b/images/old_pc_clipart.png new file mode 100644 index 0000000..08112ab Binary files /dev/null and b/images/old_pc_clipart.png differ diff --git a/images/oss_table_at_eupy_2023.jpg b/images/oss_table_at_eupy_2023.jpg new file mode 100644 index 0000000..931ffa3 Binary files /dev/null and b/images/oss_table_at_eupy_2023.jpg differ diff --git a/images/output_FtEEP0.gif b/images/output_FtEEP0.gif new file mode 100644 index 0000000..3d7cd75 Binary files /dev/null and b/images/output_FtEEP0.gif differ diff --git a/images/plnici_se_bedny.jpg b/images/plnici_se_bedny.jpg new file mode 100644 index 0000000..3509593 Binary files /dev/null and b/images/plnici_se_bedny.jpg differ diff --git a/images/ppp/afterparty.jpeg b/images/ppp/afterparty.jpeg new file mode 100644 index 0000000..447d3c2 Binary files /dev/null and b/images/ppp/afterparty.jpeg differ diff --git a/images/ppp/bilge.jpeg b/images/ppp/bilge.jpeg new file mode 100644 index 0000000..a59591d Binary files /dev/null and b/images/ppp/bilge.jpeg differ diff --git a/images/ppp/everyone.jpeg b/images/ppp/everyone.jpeg new file mode 100644 index 0000000..72e9b02 Binary files /dev/null and b/images/ppp/everyone.jpeg differ diff --git a/images/ppp/how-did-you-enjoy.png b/images/ppp/how-did-you-enjoy.png new file mode 100644 index 0000000..11d3d4d Binary files /dev/null and b/images/ppp/how-did-you-enjoy.png differ diff --git a/images/ppp/how-did-you-like.png b/images/ppp/how-did-you-like.png new file mode 100644 index 0000000..247bd2d Binary files /dev/null and b/images/ppp/how-did-you-like.png differ diff --git a/images/ppp/karolina.jpeg b/images/ppp/karolina.jpeg new file mode 100644 index 0000000..dd1fba3 Binary files /dev/null and b/images/ppp/karolina.jpeg differ diff --git a/images/ppp/lukasz.jpeg b/images/ppp/lukasz.jpeg new file mode 100644 index 0000000..28aae26 Binary files /dev/null and b/images/ppp/lukasz.jpeg differ diff --git a/images/ppp/miro.jpeg b/images/ppp/miro.jpeg new file mode 100644 index 0000000..cd9db44 Binary files /dev/null and b/images/ppp/miro.jpeg differ diff --git a/images/ppp/pizza.jpeg b/images/ppp/pizza.jpeg new file mode 100644 index 0000000..162e737 Binary files /dev/null and b/images/ppp/pizza.jpeg differ diff --git a/images/ppp/thumbnails/afterparty.jpeg b/images/ppp/thumbnails/afterparty.jpeg new file mode 100644 index 0000000..9b8b66f Binary files /dev/null and b/images/ppp/thumbnails/afterparty.jpeg differ diff --git a/images/ppp/thumbnails/bilge.jpeg b/images/ppp/thumbnails/bilge.jpeg new file mode 100644 index 0000000..492bb3a Binary files /dev/null and b/images/ppp/thumbnails/bilge.jpeg differ diff --git a/images/ppp/thumbnails/everyone.jpeg b/images/ppp/thumbnails/everyone.jpeg new file mode 100644 index 0000000..548cf0b Binary files /dev/null and b/images/ppp/thumbnails/everyone.jpeg differ diff --git a/images/ppp/thumbnails/karolina.jpeg b/images/ppp/thumbnails/karolina.jpeg new file mode 100644 index 0000000..67fdcd7 Binary files /dev/null and b/images/ppp/thumbnails/karolina.jpeg differ diff --git a/images/ppp/thumbnails/lukasz.jpeg b/images/ppp/thumbnails/lukasz.jpeg new file mode 100644 index 0000000..3ff6457 Binary files /dev/null and b/images/ppp/thumbnails/lukasz.jpeg differ diff --git a/images/ppp/thumbnails/miro.jpeg b/images/ppp/thumbnails/miro.jpeg new file mode 100644 index 0000000..e1ed218 Binary files /dev/null and b/images/ppp/thumbnails/miro.jpeg differ diff --git a/images/ppp/thumbnails/pizza.jpeg b/images/ppp/thumbnails/pizza.jpeg new file mode 100644 index 0000000..f8eb643 Binary files /dev/null and b/images/ppp/thumbnails/pizza.jpeg differ diff --git a/images/ppp/thumbnails/tshirt.jpeg b/images/ppp/thumbnails/tshirt.jpeg new file mode 100644 index 0000000..890ede5 Binary files /dev/null and b/images/ppp/thumbnails/tshirt.jpeg differ diff --git a/images/ppp/tshirt.jpeg b/images/ppp/tshirt.jpeg new file mode 100644 index 0000000..4796a86 Binary files /dev/null and b/images/ppp/tshirt.jpeg differ diff --git a/images/ppp/would-you-attend.png b/images/ppp/would-you-attend.png new file mode 100644 index 0000000..e6adb2f Binary files /dev/null and b/images/ppp/would-you-attend.png differ diff --git a/images/prace_ve_skole.jpg b/images/prace_ve_skole.jpg new file mode 100644 index 0000000..0d32ed4 Binary files /dev/null and b/images/prace_ve_skole.jpg differ diff --git a/images/prace_ve_skole_fisheye.jpg b/images/prace_ve_skole_fisheye.jpg new file mode 100644 index 0000000..e084203 Binary files /dev/null and b/images/prace_ve_skole_fisheye.jpg differ diff --git a/images/pycon2016cz-105.jpg b/images/pycon2016cz-105.jpg new file mode 100644 index 0000000..4304c42 Binary files /dev/null and b/images/pycon2016cz-105.jpg differ diff --git a/images/pycon2016cz-113.jpg b/images/pycon2016cz-113.jpg new file mode 100644 index 0000000..d577e1d Binary files /dev/null and b/images/pycon2016cz-113.jpg differ diff --git a/images/pycon2016cz-120.jpg b/images/pycon2016cz-120.jpg new file mode 100644 index 0000000..b582a4f Binary files /dev/null and b/images/pycon2016cz-120.jpg differ diff --git a/images/pycon2016cz-14.jpg b/images/pycon2016cz-14.jpg new file mode 100644 index 0000000..1db5aa6 Binary files /dev/null and b/images/pycon2016cz-14.jpg differ diff --git a/images/pycon2016cz-140.jpg b/images/pycon2016cz-140.jpg new file mode 100644 index 0000000..6f9dbd1 Binary files /dev/null and b/images/pycon2016cz-140.jpg differ diff --git a/images/pycon2016cz-147.jpg b/images/pycon2016cz-147.jpg new file mode 100644 index 0000000..0dd0f61 Binary files /dev/null and b/images/pycon2016cz-147.jpg differ diff --git a/images/pycon2016cz-278.jpg b/images/pycon2016cz-278.jpg new file mode 100644 index 0000000..35232b2 Binary files /dev/null and b/images/pycon2016cz-278.jpg differ diff --git a/images/pycon2016cz-280.jpg b/images/pycon2016cz-280.jpg new file mode 100644 index 0000000..2b3905f Binary files /dev/null and b/images/pycon2016cz-280.jpg differ diff --git a/images/pycon2016cz-310.jpg b/images/pycon2016cz-310.jpg new file mode 100644 index 0000000..c44d0cb Binary files /dev/null and b/images/pycon2016cz-310.jpg differ diff --git a/images/pycon2016cz-32.jpg b/images/pycon2016cz-32.jpg new file mode 100644 index 0000000..70a6e31 Binary files /dev/null and b/images/pycon2016cz-32.jpg differ diff --git a/images/pycon2016cz-73.jpg b/images/pycon2016cz-73.jpg new file mode 100644 index 0000000..2450cf2 Binary files /dev/null and b/images/pycon2016cz-73.jpg differ diff --git a/images/pyconcz2016_d1-19.jpg b/images/pyconcz2016_d1-19.jpg new file mode 100644 index 0000000..fb159ac Binary files /dev/null and b/images/pyconcz2016_d1-19.jpg differ diff --git a/images/pyconcz2016_d1-21.jpg b/images/pyconcz2016_d1-21.jpg new file mode 100644 index 0000000..829f83b Binary files /dev/null and b/images/pyconcz2016_d1-21.jpg differ diff --git a/images/pyconcz2016_d1-27.jpg b/images/pyconcz2016_d1-27.jpg new file mode 100644 index 0000000..0a26d7f Binary files /dev/null and b/images/pyconcz2016_d1-27.jpg differ diff --git a/images/pyconcz2016_d1-33.jpg b/images/pyconcz2016_d1-33.jpg new file mode 100644 index 0000000..c778065 Binary files /dev/null and b/images/pyconcz2016_d1-33.jpg differ diff --git a/images/pyconcz2016_d1-38.jpg b/images/pyconcz2016_d1-38.jpg new file mode 100644 index 0000000..31ccdf2 Binary files /dev/null and b/images/pyconcz2016_d1-38.jpg differ diff --git a/images/pyconcz2016_d1-56.jpg b/images/pyconcz2016_d1-56.jpg new file mode 100644 index 0000000..8b54312 Binary files /dev/null and b/images/pyconcz2016_d1-56.jpg differ diff --git a/images/pyconcz2017_d2-12.jpg b/images/pyconcz2017_d2-12.jpg new file mode 100644 index 0000000..5317e7b Binary files /dev/null and b/images/pyconcz2017_d2-12.jpg differ diff --git a/images/pyconcz2017_d2-26.jpg b/images/pyconcz2017_d2-26.jpg new file mode 100644 index 0000000..3227df7 Binary files /dev/null and b/images/pyconcz2017_d2-26.jpg differ diff --git a/images/pyconcz2017_d2-46.jpg b/images/pyconcz2017_d2-46.jpg new file mode 100644 index 0000000..de0ac98 Binary files /dev/null and b/images/pyconcz2017_d2-46.jpg differ diff --git a/images/pyconcz2017_d2-72.jpg b/images/pyconcz2017_d2-72.jpg new file mode 100644 index 0000000..16bbf26 Binary files /dev/null and b/images/pyconcz2017_d2-72.jpg differ diff --git a/images/pyconcz23_3Dprinters.jpg b/images/pyconcz23_3Dprinters.jpg new file mode 100644 index 0000000..aff359c Binary files /dev/null and b/images/pyconcz23_3Dprinters.jpg differ diff --git a/images/pyconcz23_afterparty.jpg b/images/pyconcz23_afterparty.jpg new file mode 100644 index 0000000..4f5ce7b Binary files /dev/null and b/images/pyconcz23_afterparty.jpg differ diff --git a/images/pyconcz23_bgn.jpg b/images/pyconcz23_bgn.jpg new file mode 100644 index 0000000..1ca3ba1 Binary files /dev/null and b/images/pyconcz23_bgn.jpg differ diff --git a/images/pyconcz23_childcare.jpg b/images/pyconcz23_childcare.jpg new file mode 100644 index 0000000..e6e1866 Binary files /dev/null and b/images/pyconcz23_childcare.jpg differ diff --git a/images/pyconcz23_chillout.jpg b/images/pyconcz23_chillout.jpg new file mode 100644 index 0000000..fb8af31 Binary files /dev/null and b/images/pyconcz23_chillout.jpg differ diff --git a/images/pyconcz23_furniture.jpg b/images/pyconcz23_furniture.jpg new file mode 100644 index 0000000..b1d2f73 Binary files /dev/null and b/images/pyconcz23_furniture.jpg differ diff --git a/images/pyconcz23_mainroom.jpg b/images/pyconcz23_mainroom.jpg new file mode 100644 index 0000000..5b1a8c2 Binary files /dev/null and b/images/pyconcz23_mainroom.jpg differ diff --git a/images/pyconcz23_postits.jpg b/images/pyconcz23_postits.jpg new file mode 100644 index 0000000..4305ce8 Binary files /dev/null and b/images/pyconcz23_postits.jpg differ diff --git a/images/pyconcz23_pyramid.JPG b/images/pyconcz23_pyramid.JPG new file mode 100644 index 0000000..76c54a0 Binary files /dev/null and b/images/pyconcz23_pyramid.JPG differ diff --git a/images/pyconcz23_retrogames.jpg b/images/pyconcz23_retrogames.jpg new file mode 100644 index 0000000..dd5ac50 Binary files /dev/null and b/images/pyconcz23_retrogames.jpg differ diff --git a/images/pyconcz23_stairs.jpg b/images/pyconcz23_stairs.jpg new file mode 100644 index 0000000..297d6c4 Binary files /dev/null and b/images/pyconcz23_stairs.jpg differ diff --git a/images/pyconcz23_team.jpg b/images/pyconcz23_team.jpg new file mode 100644 index 0000000..d1f13a8 Binary files /dev/null and b/images/pyconcz23_team.jpg differ diff --git a/images/pyconcz23_volunteers.jpg b/images/pyconcz23_volunteers.jpg new file mode 100644 index 0000000..8dc3688 Binary files /dev/null and b/images/pyconcz23_volunteers.jpg differ diff --git a/images/pyladies-trika.jpg b/images/pyladies-trika.jpg new file mode 100644 index 0000000..28b6792 Binary files /dev/null and b/images/pyladies-trika.jpg differ diff --git a/images/pyvo-plzen-2021-09.jpg b/images/pyvo-plzen-2021-09.jpg new file mode 100644 index 0000000..ff96bd8 Binary files /dev/null and b/images/pyvo-plzen-2021-09.jpg differ diff --git a/images/pyvo.jpg b/images/pyvo.jpg new file mode 100644 index 0000000..46b0fb6 Binary files /dev/null and b/images/pyvo.jpg differ diff --git a/images/pyvo_ostrava_narozeniny.jpg b/images/pyvo_ostrava_narozeniny.jpg new file mode 100644 index 0000000..f12a24e Binary files /dev/null and b/images/pyvo_ostrava_narozeniny.jpg differ diff --git a/images/research.jpg b/images/research.jpg new file mode 100644 index 0000000..5316997 Binary files /dev/null and b/images/research.jpg differ diff --git a/images/robot.jpg b/images/robot.jpg new file mode 100644 index 0000000..9e6fe01 Binary files /dev/null and b/images/robot.jpg differ diff --git a/images/rtt.png b/images/rtt.png new file mode 100644 index 0000000..1cb8fac Binary files /dev/null and b/images/rtt.png differ diff --git a/images/rtt_scatter.png b/images/rtt_scatter.png new file mode 100644 index 0000000..340f08d Binary files /dev/null and b/images/rtt_scatter.png differ diff --git a/images/rychlost.png b/images/rychlost.png new file mode 100644 index 0000000..6958909 Binary files /dev/null and b/images/rychlost.png differ diff --git a/images/rychlost2.png b/images/rychlost2.png new file mode 100644 index 0000000..511bc34 Binary files /dev/null and b/images/rychlost2.png differ diff --git a/images/samolepky_pyladies_2023.jpg b/images/samolepky_pyladies_2023.jpg new file mode 100644 index 0000000..6da2c4b Binary files /dev/null and b/images/samolepky_pyladies_2023.jpg differ diff --git a/images/schema.jpg b/images/schema.jpg new file mode 100644 index 0000000..3c0977d Binary files /dev/null and b/images/schema.jpg differ diff --git a/images/snake-workshop-eupy-2023.jpg b/images/snake-workshop-eupy-2023.jpg new file mode 100644 index 0000000..1e59ad3 Binary files /dev/null and b/images/snake-workshop-eupy-2023.jpg differ diff --git a/images/snake2019-20190202_084911.jpg b/images/snake2019-20190202_084911.jpg new file mode 100644 index 0000000..2baa7e4 Binary files /dev/null and b/images/snake2019-20190202_084911.jpg differ diff --git a/images/snake2019-20190202_084946.jpg b/images/snake2019-20190202_084946.jpg new file mode 100644 index 0000000..44b93cc Binary files /dev/null and b/images/snake2019-20190202_084946.jpg differ diff --git a/images/snake2019-20190202_152641.jpg b/images/snake2019-20190202_152641.jpg new file mode 100644 index 0000000..2c3f448 Binary files /dev/null and b/images/snake2019-20190202_152641.jpg differ diff --git a/images/snake2019-20190202_152819.jpg b/images/snake2019-20190202_152819.jpg new file mode 100644 index 0000000..3b40026 Binary files /dev/null and b/images/snake2019-20190202_152819.jpg differ diff --git a/images/snake2019-20190202_162002.jpg b/images/snake2019-20190202_162002.jpg new file mode 100644 index 0000000..a1f894d Binary files /dev/null and b/images/snake2019-20190202_162002.jpg differ diff --git a/images/snake2019-20190202_173055.jpg b/images/snake2019-20190202_173055.jpg new file mode 100644 index 0000000..9bc68db Binary files /dev/null and b/images/snake2019-20190202_173055.jpg differ diff --git a/images/snake2019-20190202_173243.jpg b/images/snake2019-20190202_173243.jpg new file mode 100644 index 0000000..d83c06b Binary files /dev/null and b/images/snake2019-20190202_173243.jpg differ diff --git a/images/snakews_1.jpg b/images/snakews_1.jpg new file mode 100644 index 0000000..3e3adf1 Binary files /dev/null and b/images/snakews_1.jpg differ diff --git a/images/snakews_2.jpg b/images/snakews_2.jpg new file mode 100644 index 0000000..722ea3c Binary files /dev/null and b/images/snakews_2.jpg differ diff --git a/images/snakews_3.jpg b/images/snakews_3.jpg new file mode 100644 index 0000000..1b716cd Binary files /dev/null and b/images/snakews_3.jpg differ diff --git a/images/sprint_1.JPG b/images/sprint_1.JPG new file mode 100644 index 0000000..f38f567 Binary files /dev/null and b/images/sprint_1.JPG differ diff --git a/images/sprint_2.jpg b/images/sprint_2.jpg new file mode 100644 index 0000000..5b55753 Binary files /dev/null and b/images/sprint_2.jpg differ diff --git a/images/sprint_3.JPG b/images/sprint_3.JPG new file mode 100644 index 0000000..df636cf Binary files /dev/null and b/images/sprint_3.JPG differ diff --git a/images/sprint_4.JPG b/images/sprint_4.JPG new file mode 100644 index 0000000..157c519 Binary files /dev/null and b/images/sprint_4.JPG differ diff --git a/images/sprint_5.jpg b/images/sprint_5.jpg new file mode 100644 index 0000000..d05bb9a Binary files /dev/null and b/images/sprint_5.jpg differ diff --git a/images/sprint_6.jpg b/images/sprint_6.jpg new file mode 100644 index 0000000..0493717 Binary files /dev/null and b/images/sprint_6.jpg differ diff --git a/images/sprint_7.JPG b/images/sprint_7.JPG new file mode 100644 index 0000000..746869e Binary files /dev/null and b/images/sprint_7.JPG differ diff --git a/images/sprint_8.JPG b/images/sprint_8.JPG new file mode 100644 index 0000000..f40a5f3 Binary files /dev/null and b/images/sprint_8.JPG differ diff --git a/images/table.png b/images/table.png new file mode 100644 index 0000000..2ffb0f7 Binary files /dev/null and b/images/table.png differ diff --git a/images/thumbnails/09.jpg b/images/thumbnails/09.jpg new file mode 100644 index 0000000..b9e4cbb Binary files /dev/null and b/images/thumbnails/09.jpg differ diff --git a/images/thumbnails/2019-09-23_PyConCZ_DSC_3484.jpg b/images/thumbnails/2019-09-23_PyConCZ_DSC_3484.jpg new file mode 100644 index 0000000..49c7d72 Binary files /dev/null and b/images/thumbnails/2019-09-23_PyConCZ_DSC_3484.jpg differ diff --git a/images/thumbnails/2019-09-23_PyConCZ_DSC_3520.jpg b/images/thumbnails/2019-09-23_PyConCZ_DSC_3520.jpg new file mode 100644 index 0000000..cac2174 Binary files /dev/null and b/images/thumbnails/2019-09-23_PyConCZ_DSC_3520.jpg differ diff --git a/images/thumbnails/2019-09-23_PyConCZ_DSC_3594.jpg b/images/thumbnails/2019-09-23_PyConCZ_DSC_3594.jpg new file mode 100644 index 0000000..17f1bca Binary files /dev/null and b/images/thumbnails/2019-09-23_PyConCZ_DSC_3594.jpg differ diff --git a/images/thumbnails/2019-09-23_PyConCZ_DSC_3617.jpg b/images/thumbnails/2019-09-23_PyConCZ_DSC_3617.jpg new file mode 100644 index 0000000..464296c Binary files /dev/null and b/images/thumbnails/2019-09-23_PyConCZ_DSC_3617.jpg differ diff --git a/images/thumbnails/2019-09-23_PyConCZ_DSC_3669.jpg b/images/thumbnails/2019-09-23_PyConCZ_DSC_3669.jpg new file mode 100644 index 0000000..548dffa Binary files /dev/null and b/images/thumbnails/2019-09-23_PyConCZ_DSC_3669.jpg differ diff --git a/images/thumbnails/2019-09-23_PyConCZ_DSC_3817.jpg b/images/thumbnails/2019-09-23_PyConCZ_DSC_3817.jpg new file mode 100644 index 0000000..5681c13 Binary files /dev/null and b/images/thumbnails/2019-09-23_PyConCZ_DSC_3817.jpg differ diff --git a/images/thumbnails/2019-09-23_PyConCZ_DSC_3925.jpg b/images/thumbnails/2019-09-23_PyConCZ_DSC_3925.jpg new file mode 100644 index 0000000..c471647 Binary files /dev/null and b/images/thumbnails/2019-09-23_PyConCZ_DSC_3925.jpg differ diff --git a/images/thumbnails/2019-09-23_PyConCZ_DSC_3946.jpg b/images/thumbnails/2019-09-23_PyConCZ_DSC_3946.jpg new file mode 100644 index 0000000..15b1370 Binary files /dev/null and b/images/thumbnails/2019-09-23_PyConCZ_DSC_3946.jpg differ diff --git a/images/thumbnails/94846086-0963-11e7-8268-a8d338c72990.jpg b/images/thumbnails/94846086-0963-11e7-8268-a8d338c72990.jpg new file mode 100644 index 0000000..26d0668 Binary files /dev/null and b/images/thumbnails/94846086-0963-11e7-8268-a8d338c72990.jpg differ diff --git a/images/thumbnails/94849416-0963-11e7-8616-ca8148e71dab.jpg b/images/thumbnails/94849416-0963-11e7-8616-ca8148e71dab.jpg new file mode 100644 index 0000000..6a2d24b Binary files /dev/null and b/images/thumbnails/94849416-0963-11e7-8616-ca8148e71dab.jpg differ diff --git a/images/thumbnails/IMG_0060.jpg b/images/thumbnails/IMG_0060.jpg new file mode 100644 index 0000000..c4f46cb Binary files /dev/null and b/images/thumbnails/IMG_0060.jpg differ diff --git a/images/thumbnails/IMG_0209.jpg b/images/thumbnails/IMG_0209.jpg new file mode 100644 index 0000000..f288ea7 Binary files /dev/null and b/images/thumbnails/IMG_0209.jpg differ diff --git a/images/thumbnails/IMG_0343.jpg b/images/thumbnails/IMG_0343.jpg new file mode 100644 index 0000000..0fd702c Binary files /dev/null and b/images/thumbnails/IMG_0343.jpg differ diff --git a/images/thumbnails/IMG_0518.jpg b/images/thumbnails/IMG_0518.jpg new file mode 100644 index 0000000..9971e51 Binary files /dev/null and b/images/thumbnails/IMG_0518.jpg differ diff --git a/images/thumbnails/IMG_0758.JPG b/images/thumbnails/IMG_0758.JPG new file mode 100644 index 0000000..56d1dd7 Binary files /dev/null and b/images/thumbnails/IMG_0758.JPG differ diff --git a/images/thumbnails/IMG_1074.JPG b/images/thumbnails/IMG_1074.JPG new file mode 100644 index 0000000..f51d60d Binary files /dev/null and b/images/thumbnails/IMG_1074.JPG differ diff --git a/images/thumbnails/IMG_1622.jpg b/images/thumbnails/IMG_1622.jpg new file mode 100644 index 0000000..64e7d12 Binary files /dev/null and b/images/thumbnails/IMG_1622.jpg differ diff --git a/images/thumbnails/IMG_1623.jpg b/images/thumbnails/IMG_1623.jpg new file mode 100644 index 0000000..0966303 Binary files /dev/null and b/images/thumbnails/IMG_1623.jpg differ diff --git a/images/thumbnails/IMG_1676.JPG b/images/thumbnails/IMG_1676.JPG new file mode 100644 index 0000000..84d0c86 Binary files /dev/null and b/images/thumbnails/IMG_1676.JPG differ diff --git a/images/thumbnails/IMG_1905.jpg b/images/thumbnails/IMG_1905.jpg new file mode 100644 index 0000000..a054f6e Binary files /dev/null and b/images/thumbnails/IMG_1905.jpg differ diff --git a/images/thumbnails/clanek.jpg b/images/thumbnails/clanek.jpg new file mode 100644 index 0000000..f7833eb Binary files /dev/null and b/images/thumbnails/clanek.jpg differ diff --git a/images/thumbnails/cvut.jpg b/images/thumbnails/cvut.jpg new file mode 100644 index 0000000..ca3a000 Binary files /dev/null and b/images/thumbnails/cvut.jpg differ diff --git a/images/thumbnails/czech_python_at_eupy.jpg b/images/thumbnails/czech_python_at_eupy.jpg new file mode 100644 index 0000000..a376e86 Binary files /dev/null and b/images/thumbnails/czech_python_at_eupy.jpg differ diff --git a/images/thumbnails/dashboard.jpg b/images/thumbnails/dashboard.jpg new file mode 100644 index 0000000..493adc3 Binary files /dev/null and b/images/thumbnails/dashboard.jpg differ diff --git a/images/thumbnails/datovy_model.jpg b/images/thumbnails/datovy_model.jpg new file mode 100644 index 0000000..040f835 Binary files /dev/null and b/images/thumbnails/datovy_model.jpg differ diff --git a/images/thumbnails/github-nalepky.jpg b/images/thumbnails/github-nalepky.jpg new file mode 100644 index 0000000..ee34826 Binary files /dev/null and b/images/thumbnails/github-nalepky.jpg differ diff --git a/images/thumbnails/img.jpg b/images/thumbnails/img.jpg new file mode 100644 index 0000000..30a89d4 Binary files /dev/null and b/images/thumbnails/img.jpg differ diff --git a/images/thumbnails/img_1186-min.jpg b/images/thumbnails/img_1186-min.jpg new file mode 100644 index 0000000..b2718ae Binary files /dev/null and b/images/thumbnails/img_1186-min.jpg differ diff --git a/images/thumbnails/img_1190-min.jpg b/images/thumbnails/img_1190-min.jpg new file mode 100644 index 0000000..4daa5a4 Binary files /dev/null and b/images/thumbnails/img_1190-min.jpg differ diff --git a/images/thumbnails/img_1194-min.jpg b/images/thumbnails/img_1194-min.jpg new file mode 100644 index 0000000..0abb62e Binary files /dev/null and b/images/thumbnails/img_1194-min.jpg differ diff --git a/images/thumbnails/img_1207-min.jpg b/images/thumbnails/img_1207-min.jpg new file mode 100644 index 0000000..8fdaffd Binary files /dev/null and b/images/thumbnails/img_1207-min.jpg differ diff --git a/images/thumbnails/img_1208-min.jpg b/images/thumbnails/img_1208-min.jpg new file mode 100644 index 0000000..f82c719 Binary files /dev/null and b/images/thumbnails/img_1208-min.jpg differ diff --git a/images/thumbnails/img_1212-min.jpg b/images/thumbnails/img_1212-min.jpg new file mode 100644 index 0000000..d700d8a Binary files /dev/null and b/images/thumbnails/img_1212-min.jpg differ diff --git a/images/thumbnails/img_1215-min.jpg b/images/thumbnails/img_1215-min.jpg new file mode 100644 index 0000000..ba04ed4 Binary files /dev/null and b/images/thumbnails/img_1215-min.jpg differ diff --git a/images/thumbnails/img_1218-min.jpg b/images/thumbnails/img_1218-min.jpg new file mode 100644 index 0000000..d5fff9a Binary files /dev/null and b/images/thumbnails/img_1218-min.jpg differ diff --git a/images/thumbnails/img_1253-min.jpg b/images/thumbnails/img_1253-min.jpg new file mode 100644 index 0000000..1ac027a Binary files /dev/null and b/images/thumbnails/img_1253-min.jpg differ diff --git a/images/thumbnails/img_1271-min.jpg b/images/thumbnails/img_1271-min.jpg new file mode 100644 index 0000000..99b7520 Binary files /dev/null and b/images/thumbnails/img_1271-min.jpg differ diff --git a/images/thumbnails/img_1302-min.jpg b/images/thumbnails/img_1302-min.jpg new file mode 100644 index 0000000..967c203 Binary files /dev/null and b/images/thumbnails/img_1302-min.jpg differ diff --git a/images/thumbnails/img_1321-min.jpg b/images/thumbnails/img_1321-min.jpg new file mode 100644 index 0000000..9d72637 Binary files /dev/null and b/images/thumbnails/img_1321-min.jpg differ diff --git a/images/thumbnails/img_1329-min.jpg b/images/thumbnails/img_1329-min.jpg new file mode 100644 index 0000000..3008efd Binary files /dev/null and b/images/thumbnails/img_1329-min.jpg differ diff --git a/images/thumbnails/img_1332-min.jpg b/images/thumbnails/img_1332-min.jpg new file mode 100644 index 0000000..940e3eb Binary files /dev/null and b/images/thumbnails/img_1332-min.jpg differ diff --git a/images/thumbnails/img_1336-min.jpg b/images/thumbnails/img_1336-min.jpg new file mode 100644 index 0000000..8ac1459 Binary files /dev/null and b/images/thumbnails/img_1336-min.jpg differ diff --git a/images/thumbnails/img_1337_min.jpg b/images/thumbnails/img_1337_min.jpg new file mode 100644 index 0000000..7923902 Binary files /dev/null and b/images/thumbnails/img_1337_min.jpg differ diff --git a/images/thumbnails/img_1374-min.jpg b/images/thumbnails/img_1374-min.jpg new file mode 100644 index 0000000..1852729 Binary files /dev/null and b/images/thumbnails/img_1374-min.jpg differ diff --git a/images/thumbnails/img_1408-min.jpg b/images/thumbnails/img_1408-min.jpg new file mode 100644 index 0000000..a0d09b6 Binary files /dev/null and b/images/thumbnails/img_1408-min.jpg differ diff --git a/images/thumbnails/img_1505.jpg b/images/thumbnails/img_1505.jpg new file mode 100644 index 0000000..cb6aea0 Binary files /dev/null and b/images/thumbnails/img_1505.jpg differ diff --git a/images/thumbnails/img_1507.jpg b/images/thumbnails/img_1507.jpg new file mode 100644 index 0000000..2966dae Binary files /dev/null and b/images/thumbnails/img_1507.jpg differ diff --git a/images/thumbnails/img_1508.jpg b/images/thumbnails/img_1508.jpg new file mode 100644 index 0000000..d9bc6ef Binary files /dev/null and b/images/thumbnails/img_1508.jpg differ diff --git a/images/thumbnails/img_1513.jpg b/images/thumbnails/img_1513.jpg new file mode 100644 index 0000000..058af2e Binary files /dev/null and b/images/thumbnails/img_1513.jpg differ diff --git a/images/thumbnails/img_1518.jpg b/images/thumbnails/img_1518.jpg new file mode 100644 index 0000000..8b224c9 Binary files /dev/null and b/images/thumbnails/img_1518.jpg differ diff --git a/images/thumbnails/img_3131.jpg b/images/thumbnails/img_3131.jpg new file mode 100644 index 0000000..938465d Binary files /dev/null and b/images/thumbnails/img_3131.jpg differ diff --git a/images/thumbnails/img_3145.jpg b/images/thumbnails/img_3145.jpg new file mode 100644 index 0000000..709772e Binary files /dev/null and b/images/thumbnails/img_3145.jpg differ diff --git a/images/thumbnails/img_3153.jpg b/images/thumbnails/img_3153.jpg new file mode 100644 index 0000000..706d126 Binary files /dev/null and b/images/thumbnails/img_3153.jpg differ diff --git a/images/thumbnails/img_3154.jpg b/images/thumbnails/img_3154.jpg new file mode 100644 index 0000000..eed1494 Binary files /dev/null and b/images/thumbnails/img_3154.jpg differ diff --git a/images/thumbnails/img_4119-min.jpg b/images/thumbnails/img_4119-min.jpg new file mode 100644 index 0000000..974ff17 Binary files /dev/null and b/images/thumbnails/img_4119-min.jpg differ diff --git a/images/thumbnails/img_4184-min.jpg b/images/thumbnails/img_4184-min.jpg new file mode 100644 index 0000000..1046456 Binary files /dev/null and b/images/thumbnails/img_4184-min.jpg differ diff --git a/images/thumbnails/linuxdays_img_2158.jpg b/images/thumbnails/linuxdays_img_2158.jpg new file mode 100644 index 0000000..aac7931 Binary files /dev/null and b/images/thumbnails/linuxdays_img_2158.jpg differ diff --git a/images/thumbnails/linuxdays_img_2194.jpg b/images/thumbnails/linuxdays_img_2194.jpg new file mode 100644 index 0000000..3368ab4 Binary files /dev/null and b/images/thumbnails/linuxdays_img_2194.jpg differ diff --git a/images/thumbnails/linuxdays_img_2200.jpg b/images/thumbnails/linuxdays_img_2200.jpg new file mode 100644 index 0000000..39d20ec Binary files /dev/null and b/images/thumbnails/linuxdays_img_2200.jpg differ diff --git a/images/thumbnails/linuxdays_img_2211.jpg b/images/thumbnails/linuxdays_img_2211.jpg new file mode 100644 index 0000000..fc9a6a4 Binary files /dev/null and b/images/thumbnails/linuxdays_img_2211.jpg differ diff --git a/images/thumbnails/linuxdays_img_2216.jpg b/images/thumbnails/linuxdays_img_2216.jpg new file mode 100644 index 0000000..d1ef1ee Binary files /dev/null and b/images/thumbnails/linuxdays_img_2216.jpg differ diff --git a/images/thumbnails/linuxdays_img_2292.jpg b/images/thumbnails/linuxdays_img_2292.jpg new file mode 100644 index 0000000..b5920db Binary files /dev/null and b/images/thumbnails/linuxdays_img_2292.jpg differ diff --git a/images/thumbnails/linuxdays_img_2389.jpg b/images/thumbnails/linuxdays_img_2389.jpg new file mode 100644 index 0000000..ceb66e6 Binary files /dev/null and b/images/thumbnails/linuxdays_img_2389.jpg differ diff --git a/images/thumbnails/marcus1.png b/images/thumbnails/marcus1.png new file mode 100644 index 0000000..b56d163 Binary files /dev/null and b/images/thumbnails/marcus1.png differ diff --git a/images/thumbnails/medium_b80we0lVygI_O-aN9OieHA.jpeg b/images/thumbnails/medium_b80we0lVygI_O-aN9OieHA.jpeg new file mode 100644 index 0000000..aa5fa1e Binary files /dev/null and b/images/thumbnails/medium_b80we0lVygI_O-aN9OieHA.jpeg differ diff --git a/images/thumbnails/medium_cjfouhan5gCpfdbz8wg.jpeg b/images/thumbnails/medium_cjfouhan5gCpfdbz8wg.jpeg new file mode 100644 index 0000000..09342aa Binary files /dev/null and b/images/thumbnails/medium_cjfouhan5gCpfdbz8wg.jpeg differ diff --git a/images/thumbnails/medium_e7nA35DAtyfYnEeWHCv8Ug.jpeg b/images/thumbnails/medium_e7nA35DAtyfYnEeWHCv8Ug.jpeg new file mode 100644 index 0000000..4baf054 Binary files /dev/null and b/images/thumbnails/medium_e7nA35DAtyfYnEeWHCv8Ug.jpeg differ diff --git a/images/thumbnails/medium_fnztTVGc3As9ygjpVSYrKw.jpeg b/images/thumbnails/medium_fnztTVGc3As9ygjpVSYrKw.jpeg new file mode 100644 index 0000000..b81f940 Binary files /dev/null and b/images/thumbnails/medium_fnztTVGc3As9ygjpVSYrKw.jpeg differ diff --git a/images/thumbnails/medium_g4AehfBMUivtViSd44DPGg.jpeg b/images/thumbnails/medium_g4AehfBMUivtViSd44DPGg.jpeg new file mode 100644 index 0000000..9a1c31a Binary files /dev/null and b/images/thumbnails/medium_g4AehfBMUivtViSd44DPGg.jpeg differ diff --git a/images/thumbnails/medium_jaY8sRvQT9BeRewKAoCq5A.jpeg b/images/thumbnails/medium_jaY8sRvQT9BeRewKAoCq5A.jpeg new file mode 100644 index 0000000..f2eff27 Binary files /dev/null and b/images/thumbnails/medium_jaY8sRvQT9BeRewKAoCq5A.jpeg differ diff --git a/images/thumbnails/medium_kdAIo5hsaKfimZ-nWE0PeQ.jpeg b/images/thumbnails/medium_kdAIo5hsaKfimZ-nWE0PeQ.jpeg new file mode 100644 index 0000000..b6cb0b3 Binary files /dev/null and b/images/thumbnails/medium_kdAIo5hsaKfimZ-nWE0PeQ.jpeg differ diff --git a/images/thumbnails/medium_vQtaium-TrnSTN3EPcRJ3A.jpeg b/images/thumbnails/medium_vQtaium-TrnSTN3EPcRJ3A.jpeg new file mode 100644 index 0000000..0a9efbf Binary files /dev/null and b/images/thumbnails/medium_vQtaium-TrnSTN3EPcRJ3A.jpeg differ diff --git a/images/thumbnails/okno_prihlaseni.jpg b/images/thumbnails/okno_prihlaseni.jpg new file mode 100644 index 0000000..4faf285 Binary files /dev/null and b/images/thumbnails/okno_prihlaseni.jpg differ diff --git a/images/thumbnails/old_pc_clipart.png b/images/thumbnails/old_pc_clipart.png new file mode 100644 index 0000000..3792b52 Binary files /dev/null and b/images/thumbnails/old_pc_clipart.png differ diff --git a/images/thumbnails/oss_table_at_eupy_2023.jpg b/images/thumbnails/oss_table_at_eupy_2023.jpg new file mode 100644 index 0000000..a0de303 Binary files /dev/null and b/images/thumbnails/oss_table_at_eupy_2023.jpg differ diff --git a/images/thumbnails/plnici_se_bedny.jpg b/images/thumbnails/plnici_se_bedny.jpg new file mode 100644 index 0000000..90ca053 Binary files /dev/null and b/images/thumbnails/plnici_se_bedny.jpg differ diff --git a/images/thumbnails/prace_ve_skole.jpg b/images/thumbnails/prace_ve_skole.jpg new file mode 100644 index 0000000..a45e9b2 Binary files /dev/null and b/images/thumbnails/prace_ve_skole.jpg differ diff --git a/images/thumbnails/prace_ve_skole_fisheye.jpg b/images/thumbnails/prace_ve_skole_fisheye.jpg new file mode 100644 index 0000000..72c01ab Binary files /dev/null and b/images/thumbnails/prace_ve_skole_fisheye.jpg differ diff --git a/images/thumbnails/pycon2016cz-105.jpg b/images/thumbnails/pycon2016cz-105.jpg new file mode 100644 index 0000000..4a62b99 Binary files /dev/null and b/images/thumbnails/pycon2016cz-105.jpg differ diff --git a/images/thumbnails/pycon2016cz-147.jpg b/images/thumbnails/pycon2016cz-147.jpg new file mode 100644 index 0000000..e7a8d86 Binary files /dev/null and b/images/thumbnails/pycon2016cz-147.jpg differ diff --git a/images/thumbnails/pyconcz2016_d1-19.jpg b/images/thumbnails/pyconcz2016_d1-19.jpg new file mode 100644 index 0000000..65fbe29 Binary files /dev/null and b/images/thumbnails/pyconcz2016_d1-19.jpg differ diff --git a/images/thumbnails/pyconcz2016_d1-21.jpg b/images/thumbnails/pyconcz2016_d1-21.jpg new file mode 100644 index 0000000..b81443e Binary files /dev/null and b/images/thumbnails/pyconcz2016_d1-21.jpg differ diff --git a/images/thumbnails/pyconcz2016_d1-27.jpg b/images/thumbnails/pyconcz2016_d1-27.jpg new file mode 100644 index 0000000..33ec53f Binary files /dev/null and b/images/thumbnails/pyconcz2016_d1-27.jpg differ diff --git a/images/thumbnails/pyconcz2016_d1-33.jpg b/images/thumbnails/pyconcz2016_d1-33.jpg new file mode 100644 index 0000000..759055d Binary files /dev/null and b/images/thumbnails/pyconcz2016_d1-33.jpg differ diff --git a/images/thumbnails/pyconcz2016_d1-38.jpg b/images/thumbnails/pyconcz2016_d1-38.jpg new file mode 100644 index 0000000..c862afe Binary files /dev/null and b/images/thumbnails/pyconcz2016_d1-38.jpg differ diff --git a/images/thumbnails/pyconcz2016_d1-56.jpg b/images/thumbnails/pyconcz2016_d1-56.jpg new file mode 100644 index 0000000..b2be000 Binary files /dev/null and b/images/thumbnails/pyconcz2016_d1-56.jpg differ diff --git a/images/thumbnails/pyconcz2017_d2-12.jpg b/images/thumbnails/pyconcz2017_d2-12.jpg new file mode 100644 index 0000000..d82a3a8 Binary files /dev/null and b/images/thumbnails/pyconcz2017_d2-12.jpg differ diff --git a/images/thumbnails/pyconcz2017_d2-26.jpg b/images/thumbnails/pyconcz2017_d2-26.jpg new file mode 100644 index 0000000..1ca474b Binary files /dev/null and b/images/thumbnails/pyconcz2017_d2-26.jpg differ diff --git a/images/thumbnails/pyconcz2017_d2-46.jpg b/images/thumbnails/pyconcz2017_d2-46.jpg new file mode 100644 index 0000000..903cefe Binary files /dev/null and b/images/thumbnails/pyconcz2017_d2-46.jpg differ diff --git a/images/thumbnails/pyconcz2017_d2-72.jpg b/images/thumbnails/pyconcz2017_d2-72.jpg new file mode 100644 index 0000000..08c2ef0 Binary files /dev/null and b/images/thumbnails/pyconcz2017_d2-72.jpg differ diff --git a/images/thumbnails/pyconcz23_3Dprinters.jpg b/images/thumbnails/pyconcz23_3Dprinters.jpg new file mode 100644 index 0000000..d865b39 Binary files /dev/null and b/images/thumbnails/pyconcz23_3Dprinters.jpg differ diff --git a/images/thumbnails/pyconcz23_afterparty.jpg b/images/thumbnails/pyconcz23_afterparty.jpg new file mode 100644 index 0000000..418a69c Binary files /dev/null and b/images/thumbnails/pyconcz23_afterparty.jpg differ diff --git a/images/thumbnails/pyconcz23_bgn.jpg b/images/thumbnails/pyconcz23_bgn.jpg new file mode 100644 index 0000000..8309c25 Binary files /dev/null and b/images/thumbnails/pyconcz23_bgn.jpg differ diff --git a/images/thumbnails/pyconcz23_childcare.jpg b/images/thumbnails/pyconcz23_childcare.jpg new file mode 100644 index 0000000..ae27327 Binary files /dev/null and b/images/thumbnails/pyconcz23_childcare.jpg differ diff --git a/images/thumbnails/pyconcz23_chillout.jpg b/images/thumbnails/pyconcz23_chillout.jpg new file mode 100644 index 0000000..89e37d8 Binary files /dev/null and b/images/thumbnails/pyconcz23_chillout.jpg differ diff --git a/images/thumbnails/pyconcz23_furniture.jpg b/images/thumbnails/pyconcz23_furniture.jpg new file mode 100644 index 0000000..cc7cc88 Binary files /dev/null and b/images/thumbnails/pyconcz23_furniture.jpg differ diff --git a/images/thumbnails/pyconcz23_mainroom.jpg b/images/thumbnails/pyconcz23_mainroom.jpg new file mode 100644 index 0000000..806b9b6 Binary files /dev/null and b/images/thumbnails/pyconcz23_mainroom.jpg differ diff --git a/images/thumbnails/pyconcz23_postits.jpg b/images/thumbnails/pyconcz23_postits.jpg new file mode 100644 index 0000000..c934fdf Binary files /dev/null and b/images/thumbnails/pyconcz23_postits.jpg differ diff --git a/images/thumbnails/pyconcz23_pyramid.JPG b/images/thumbnails/pyconcz23_pyramid.JPG new file mode 100644 index 0000000..058ac99 Binary files /dev/null and b/images/thumbnails/pyconcz23_pyramid.JPG differ diff --git a/images/thumbnails/pyconcz23_retrogames.jpg b/images/thumbnails/pyconcz23_retrogames.jpg new file mode 100644 index 0000000..0a1ccff Binary files /dev/null and b/images/thumbnails/pyconcz23_retrogames.jpg differ diff --git a/images/thumbnails/pyconcz23_stairs.jpg b/images/thumbnails/pyconcz23_stairs.jpg new file mode 100644 index 0000000..9e2e7f6 Binary files /dev/null and b/images/thumbnails/pyconcz23_stairs.jpg differ diff --git a/images/thumbnails/pyconcz23_team.jpg b/images/thumbnails/pyconcz23_team.jpg new file mode 100644 index 0000000..4a9ad04 Binary files /dev/null and b/images/thumbnails/pyconcz23_team.jpg differ diff --git a/images/thumbnails/pyconcz23_volunteers.jpg b/images/thumbnails/pyconcz23_volunteers.jpg new file mode 100644 index 0000000..cfa666d Binary files /dev/null and b/images/thumbnails/pyconcz23_volunteers.jpg differ diff --git a/images/thumbnails/pyvo.jpg b/images/thumbnails/pyvo.jpg new file mode 100644 index 0000000..99de80d Binary files /dev/null and b/images/thumbnails/pyvo.jpg differ diff --git a/images/thumbnails/pyvo_ostrava_narozeniny.jpg b/images/thumbnails/pyvo_ostrava_narozeniny.jpg new file mode 100644 index 0000000..22289f2 Binary files /dev/null and b/images/thumbnails/pyvo_ostrava_narozeniny.jpg differ diff --git a/images/thumbnails/research.jpg b/images/thumbnails/research.jpg new file mode 100644 index 0000000..8279b00 Binary files /dev/null and b/images/thumbnails/research.jpg differ diff --git a/images/thumbnails/robot.jpg b/images/thumbnails/robot.jpg new file mode 100644 index 0000000..f9b950b Binary files /dev/null and b/images/thumbnails/robot.jpg differ diff --git a/images/thumbnails/samolepky_pyladies_2023.jpg b/images/thumbnails/samolepky_pyladies_2023.jpg new file mode 100644 index 0000000..0b9de8a Binary files /dev/null and b/images/thumbnails/samolepky_pyladies_2023.jpg differ diff --git a/images/thumbnails/schema.jpg b/images/thumbnails/schema.jpg new file mode 100644 index 0000000..60beb1d Binary files /dev/null and b/images/thumbnails/schema.jpg differ diff --git a/images/thumbnails/snake-workshop-eupy-2023.jpg b/images/thumbnails/snake-workshop-eupy-2023.jpg new file mode 100644 index 0000000..4603cb3 Binary files /dev/null and b/images/thumbnails/snake-workshop-eupy-2023.jpg differ diff --git a/images/thumbnails/snake2019-20190202_084911.jpg b/images/thumbnails/snake2019-20190202_084911.jpg new file mode 100644 index 0000000..b5aa025 Binary files /dev/null and b/images/thumbnails/snake2019-20190202_084911.jpg differ diff --git a/images/thumbnails/snake2019-20190202_084946.jpg b/images/thumbnails/snake2019-20190202_084946.jpg new file mode 100644 index 0000000..d92a7b7 Binary files /dev/null and b/images/thumbnails/snake2019-20190202_084946.jpg differ diff --git a/images/thumbnails/snake2019-20190202_152641.jpg b/images/thumbnails/snake2019-20190202_152641.jpg new file mode 100644 index 0000000..f97ac2f Binary files /dev/null and b/images/thumbnails/snake2019-20190202_152641.jpg differ diff --git a/images/thumbnails/snake2019-20190202_152819.jpg b/images/thumbnails/snake2019-20190202_152819.jpg new file mode 100644 index 0000000..716ad08 Binary files /dev/null and b/images/thumbnails/snake2019-20190202_152819.jpg differ diff --git a/images/thumbnails/snake2019-20190202_162002.jpg b/images/thumbnails/snake2019-20190202_162002.jpg new file mode 100644 index 0000000..86bb049 Binary files /dev/null and b/images/thumbnails/snake2019-20190202_162002.jpg differ diff --git a/images/thumbnails/snake2019-20190202_173055.jpg b/images/thumbnails/snake2019-20190202_173055.jpg new file mode 100644 index 0000000..06ee84b Binary files /dev/null and b/images/thumbnails/snake2019-20190202_173055.jpg differ diff --git a/images/thumbnails/snake2019-20190202_173243.jpg b/images/thumbnails/snake2019-20190202_173243.jpg new file mode 100644 index 0000000..8ee6d64 Binary files /dev/null and b/images/thumbnails/snake2019-20190202_173243.jpg differ diff --git a/images/thumbnails/snakews_1.jpg b/images/thumbnails/snakews_1.jpg new file mode 100644 index 0000000..e43390b Binary files /dev/null and b/images/thumbnails/snakews_1.jpg differ diff --git a/images/thumbnails/snakews_2.jpg b/images/thumbnails/snakews_2.jpg new file mode 100644 index 0000000..b700147 Binary files /dev/null and b/images/thumbnails/snakews_2.jpg differ diff --git a/images/thumbnails/snakews_3.jpg b/images/thumbnails/snakews_3.jpg new file mode 100644 index 0000000..c848c65 Binary files /dev/null and b/images/thumbnails/snakews_3.jpg differ diff --git a/images/thumbnails/sprint_1.JPG b/images/thumbnails/sprint_1.JPG new file mode 100644 index 0000000..67cb511 Binary files /dev/null and b/images/thumbnails/sprint_1.JPG differ diff --git a/images/thumbnails/sprint_2.jpg b/images/thumbnails/sprint_2.jpg new file mode 100644 index 0000000..76aa47b Binary files /dev/null and b/images/thumbnails/sprint_2.jpg differ diff --git a/images/thumbnails/sprint_3.JPG b/images/thumbnails/sprint_3.JPG new file mode 100644 index 0000000..742623a Binary files /dev/null and b/images/thumbnails/sprint_3.JPG differ diff --git a/images/thumbnails/sprint_4.JPG b/images/thumbnails/sprint_4.JPG new file mode 100644 index 0000000..96857d8 Binary files /dev/null and b/images/thumbnails/sprint_4.JPG differ diff --git a/images/thumbnails/sprint_5.jpg b/images/thumbnails/sprint_5.jpg new file mode 100644 index 0000000..17c9d2c Binary files /dev/null and b/images/thumbnails/sprint_5.jpg differ diff --git a/images/thumbnails/sprint_6.jpg b/images/thumbnails/sprint_6.jpg new file mode 100644 index 0000000..dbe1dd3 Binary files /dev/null and b/images/thumbnails/sprint_6.jpg differ diff --git a/images/thumbnails/sprint_7.JPG b/images/thumbnails/sprint_7.JPG new file mode 100644 index 0000000..1b273b7 Binary files /dev/null and b/images/thumbnails/sprint_7.JPG differ diff --git a/images/thumbnails/sprint_8.JPG b/images/thumbnails/sprint_8.JPG new file mode 100644 index 0000000..ffe3cb2 Binary files /dev/null and b/images/thumbnails/sprint_8.JPG differ diff --git a/images/thumbnails/ukazka_ve_skole.jpg b/images/thumbnails/ukazka_ve_skole.jpg new file mode 100644 index 0000000..42871e3 Binary files /dev/null and b/images/thumbnails/ukazka_ve_skole.jpg differ diff --git a/images/thumbnails/vlakna.jpg b/images/thumbnails/vlakna.jpg new file mode 100644 index 0000000..7168140 Binary files /dev/null and b/images/thumbnails/vlakna.jpg differ diff --git a/images/thumbnails/vychod1.jpg b/images/thumbnails/vychod1.jpg new file mode 100644 index 0000000..049332d Binary files /dev/null and b/images/thumbnails/vychod1.jpg differ diff --git a/images/thumbnails/vychod2.jpg b/images/thumbnails/vychod2.jpg new file mode 100644 index 0000000..73b201c Binary files /dev/null and b/images/thumbnails/vychod2.jpg differ diff --git a/images/thumbnails/vychod3.jpg b/images/thumbnails/vychod3.jpg new file mode 100644 index 0000000..4be06ca Binary files /dev/null and b/images/thumbnails/vychod3.jpg differ diff --git a/images/ukazka_ve_skole.jpg b/images/ukazka_ve_skole.jpg new file mode 100644 index 0000000..2d50994 Binary files /dev/null and b/images/ukazka_ve_skole.jpg differ diff --git a/images/vlakna.jpg b/images/vlakna.jpg new file mode 100644 index 0000000..2a8107c Binary files /dev/null and b/images/vlakna.jpg differ diff --git a/images/vychod1.jpg b/images/vychod1.jpg new file mode 100644 index 0000000..44d42ce Binary files /dev/null and b/images/vychod1.jpg differ diff --git a/images/vychod2.jpg b/images/vychod2.jpg new file mode 100644 index 0000000..32ea401 Binary files /dev/null and b/images/vychod2.jpg differ diff --git a/images/vychod3.jpg b/images/vychod3.jpg new file mode 100644 index 0000000..78573d8 Binary files /dev/null and b/images/vychod3.jpg differ diff --git a/images/vychod4.png b/images/vychod4.png new file mode 100644 index 0000000..41b837b Binary files /dev/null and b/images/vychod4.png differ diff --git a/images/vychod5.jpg b/images/vychod5.jpg new file mode 100644 index 0000000..87b2c98 Binary files /dev/null and b/images/vychod5.jpg differ diff --git a/images/vychod6.jpg b/images/vychod6.jpg new file mode 100644 index 0000000..0dc31c9 Binary files /dev/null and b/images/vychod6.jpg differ diff --git a/images/whoarewe.jpg b/images/whoarewe.jpg new file mode 100644 index 0000000..2158779 Binary files /dev/null and b/images/whoarewe.jpg differ diff --git a/images/workshops.gif b/images/workshops.gif new file mode 100644 index 0000000..3b4699e Binary files /dev/null and b/images/workshops.gif differ diff --git a/index.html b/index.html new file mode 100644 index 0000000..b7e39f3 --- /dev/null +++ b/index.html @@ -0,0 +1,553 @@ + + + + + + + + Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+

PyCon CZ 23 wrap-up and summary: How did we do?

+

Nejnovější článek

+ + + +

After four long years, PyCon CZ, the Czech Python community conference, was held on September 15–17, 2023 in Prague. +We hope you enjoyed the sessions, made meaningful connections, and enjoyed all the geeky surprises we prepared for you! +Scroll down for tl;dr 🙂

+

Restart of the Community#

+

At the …

+
+ + +
+ +
+ +
+

Python v ČR

+
+
+
+ +
+
+
+

Tento blog píše česká komunita kolem programovacího jazyka Python. +I ty sem můžeš napsat článek! Chceš oznámit nějakou akci, zamyslet se nad budoucností +srazů nebo sepsat, co se ti líbilo na konferenci? +Stačí postupovat podle návodu.

+
+
+
+ +
+ +
+

Archiv

+
+

+ 20242023202220212020201920182017201620152014201320122011 +

+ +
+
+ +
+ +
+ + Články + + + Všechny komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/ja-python-a-rosti.html b/ja-python-a-rosti.html new file mode 100644 index 0000000..2b1c2f4 --- /dev/null +++ b/ja-python-a-rosti.html @@ -0,0 +1,137 @@ + + + + + + + + Já, Python a Roští - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

Já, Python a Roští

+

+ +
+ Marek Dlabáček +

+
+ +
+

Bylo mi taktně naznačeno, že bych mohl napsat svoji pouť od mimo jiné skladníka k programátorovi.

+

Počátek spadá už do období střední školy, kde se zdál obor "Mechanik seřizovač-programátor" jako naprosto dokonalý pro mou duši bažící po IT vzdělání. Poznámka pro ty, kteří chtějí jít kamkoli na SŠ - opravdu důkladně si prověřte co se na tom kterém oboru vyučuje. Tento obor byl hlavně o "mechanik", pak lehce o "seřizovač" a takřka vůbec o "programátor". A když, tak programovat CNC, což není rozhodně totéž jako programovat dejme tomu aplikace pro web.

+

Po tomto zklamání jsem se rozhodl zkusit něco diametrálně odlišného a jít studovat něco, co by mělo něco společného s moji další zálibou - archivnictví a historii. Tam byla situace přesně opačná - studujete to, na co se to tváří z prvního pohledu a studujete toho opravdu hodně. Nepopírám, že v tomto oboru s alespoň základní představou o programování budete za všemohoucího. Ať už v otázkách "Jak se dělá háček u té?" nebo při použití (v té době ne chytrého) telefonu jako tahák. Nicméně jsem tento obor nedokončil a hrdinsky skončil týden před státnicemi a šel podnikat. Naprosto geniální nápad, kterého lituji dodnes.

+

Podnikání v řemesle (rodinná tradice, truhlařina, stavařina), je sice krásná věc, kreativní, tvůrčí, něco za vámi zůstane. Řemeslo má zlaté dno, říká se. Byl jsem na něm, zlaté není. Zato dluhů je tam dost. Takže jsem neslavně skončil, s dluhy na krku a hledal "obyčejnou" práci, kde se nechat zaměstnat. Po celou tuto dlouhou dobu jsem se průběžně snažil něco tvořit, nějak se zlepšit v programování. Prošel jsem si PHP (hlavně pro osobní weby a weby přátel či známých), Ruby (které mě nikdy moc nezaujalo) a hlavně Python. Ten byl (a stále je!) moc fajn.

+

Hrajete nějakou online strategii a nechce se vám klikat na něco ve stylu "Seber suroviny a zadej výrobu znovu"? Není problém, pár řádek skriptu, jděte do práce a vraťte se jako boháč. Potřebuje to samé váš bratr, který má ovšem jiný systém? Není problém! Zkrátka a přesně, i pro někoho, kdo se programováním neživí, se mi Python zdál ideální. Dokonce jsem v něm napsal i utilitky pro výpočet a určování historických dat (vymyšleno pouze pro osobní použití, leč postupem času jsem měl problém - chodili mi tam lidi). Ať už jsem dělal cokoli, vždy jsem něco programoval nebo se o to alespoň snažil. Práci v IT jsem zprvu nijak aktivně nehledal. Ovšem po zaměstnání na pozici skladník jsem o tom začal uvažovat opravdu vážně.

+

Bohužel, nemohu si z rodinných důvodů dovolit odstěhovat se do většího města, ať Prahy nebo Brna, jsem omezen na Hradec Králové. A to není zrovna IT velmoc (s čestnými výjimkami). Tou dobou jsem byl už v kontaktu s Honzou Javorkem, se kterým jsem leccos konzultoval. A byl tak nějak činný na Pyonýrech (činný = spamoval nepříliš inteligentníma otázkama). Jednou jsem v záchvatu deprese nad svou situací vytvořil příspěvek pokorně prosící o šanci, příležitost za takřka libovolnou částku. Honza už se na to nejspíš nemohl dál koukat a napsal pod to komentář vyzdvihují mé zkušenosti a projekty, za což mu patří velké díky.

+
šance
+Můj příspěvek prosící o šanci
+

A pak to přišlo (po menších komplikacích s FB, který filtruje zprávy) - "Ahoj, nechtěl by si to zkusit u nás na Roští?". Chtěl.

+

Poznámka pro ty, kteří poprvé nastupují do nějaké IT firmy - na tohle vás nic nepřipraví. Můžete si číst co chcete, můžete si zkoušet kde co, ale dokud v tom nejste, nevíte takřka nic. Obdivuji (dodnes) tu odvahu přijmout amatéra a také obdivuji tu nehynoucí trpělivost. Samozřejmě Roští je nejspíš trochu zvláštní případ, není to drobeček (v době mého příchodu měla jen administrace tuším okolo 18k* řádek kodu) a není to jen o Pythonu. Bez JavaScriptu to nejde (trpím), bez HTML už vůbec ne (trpím méně), a bez další hromady jiných technologií taky ne (kupříkladu není moc dobrý nevědět něco málo o Dockeru, pokud jste někde, kde mají hosting postavený na Dockeru).

+

Pro kluky jsem byl také první "zaměstnanec", takže čas od času se stávalo při vysvětlování nějakého problému "Tak teď prosím ještě jednou a pomaleji". Ale rozhodně se toho nebojte. A smiřte se s tím, že nevíte zdaleka všechno. To nebudete vědět nikdy. Nemá cenu řešit věci typu "Mě to trvalo XY dní a jim by to trvalo XY - 10 dní". Nejde o to hned vědět vše, je to proces a každý "vedoucí" přijímající amatéra to ví. Trpělivě čekejte na den, kdy přijde "Tohle jsi vymyslel dobře, to se mi líbí" a užijte si to. Taky si užijte pocit a pohled na funkci, která je vaše. Je to k nezaplacení. Už jen kvůli tomu se to vyplatí alespoň zkusit.

+

Ale samozřejmě má to i své zápory. Pokud jste dosud pracovali manuálně, navíc někde, kde byla reálná možnost, že vaše chyba může někoho zabít (zkuste zapomenout dát do střechy pár šroubů a klidně se vám spát nebude), tak budete překvapeni a budete dost ve stresu. Neberte to tak vážně, od toho jste nováček a chyby se očekávají, tak se s tím smiřte. Je to téměř nekonečný běh, kde se maximálně můžete snažit zlepšovat. Taky to, že teoreticky můžete pracovat pořád, alespoň tam, kde je PC, nutně neznamená, že musíte (jinak vám to volno výslovně nařídí, fakt!). Na závěr - děkuji za existenci Pyonýrů a vůbec lidí stojící za tím vším (nejen za FB skupinou). Dostal jsem jak rady, tak motivaci, vlastně vše, co jsem potřeboval. A hlavně děkuji klukům z Roští, že měli a mají tu odvahu, trpělivost, snahu a příležitost. Po mých životních zkušenostech je tohle práce snů. Místo, kde si člověka váží a snaží se mu vyjít vstříc jak jen to jde (pod tímto se skrývá tisíce věcí, od drobností až po úžasné věci).

+
děkování
+Poděkování na Silvestra
+
+ +
+ +
+

+ Marek Dlabáček + +

+
+
+
+ +
+
+
+

Stále se učící pythonista, GOučkař, historik a strojař poloprofesionál a najdete mě v Roští

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/jak-jsme-z-tezitek-udelali-uzitecne-notebooky-pro-zaky.html b/jak-jsme-z-tezitek-udelali-uzitecne-notebooky-pro-zaky.html new file mode 100644 index 0000000..58e7a8f --- /dev/null +++ b/jak-jsme-z-tezitek-udelali-uzitecne-notebooky-pro-zaky.html @@ -0,0 +1,142 @@ + + + + + + + + Jak jsme z těžítek udělali užitečné notebooky pro žáky - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

Jak jsme z těžítek udělali užitečné notebooky pro žáky

+

+ +
+ Lumír Balhar +

+
+ +
+

V moderní době výkonného a kvalitního hardware není výjimkou, když telefon, tablet nebo notebook, který je jinak stále ve skvělé kondici, dojde na konec svého životního cyklu, protože přestane dostávat softwarové aktualizace. To se nejprve projeví na horším zabezpečení a následně i na použitelnosti, protože moderní aplikace přestávají na neaktualizovaném systému jedna po druhé fungovat. Funkční zařízení se ale přece nevyhazují a tak by se na školách po celé republice jistě našla nejedna skříň plná zařízení, která sice fungují, ale nikdo je nepoužívá.

+
clipart starý počítač
+

Nejiná byla situace i na GALILEO SCHOOL - bilingvní mateřské škole a základní škole, s.r.o. ve Frýdku-Místku, kde měli k dispozici téměř čtyři desítky skoro deset let starých chromebooků Thinkpad. Jejich baterie byla stále ve skvělé kondici, procesor a další komponenty na kancelářskou práci dostačující, ale v zastaralém prohlížeči už moderní kancelářské balíky odmítly fungovat. Místní učitelku a absolventku začátečnického kurzu programování v komunitě PyLadies Ostrava Zuzku Grosmanovou napadlo, že tento problém musí mít nějaké řešení, a tak se ozvala ostravské komunitě a započalo hledání řešení.

+

V tuto chvíli by se mohlo zdát, že reinstalaci operačního systému nebude nic bránit, a nebude tedy ani o čem referovat. Opak je pravdou. Chromebooky mají firmware na základní desce chráněn proti přepisu, a proto jej nelze jednoduše nahradit. Bez nového fimware ale nejde provést reinstalaci operačního systému, jak jsme zvyklí z obyčejných počítačů.

+

O nějakých pár hodin hledání na internetu a mnoha vyšroubovaných šroubcích později jsme se dostali do stavu, kdy šroubek zajišťující hardwarovou ochranu firmwaru proti přepisu konečně opustil své místo na základní desce a nic nebránilo aktualizaci firmwaru a reinstalaci operačního systému.

+
rozebraný chromebook
+

Všechny testovacích kusy tento pokus přežily a testování na škole potvrdilo, že je nový systém pro žáky vyhovující. Jenže co se zbylými stroji? S trochou tréninku zabrala hardwarová část na jednom stroji přibližně 25 minut a reinstalace pak dalších 30. To bychom sami dělali věčnost. Co nezvládneme automatizovat, na to musí přijít hrubá (komunitní) lidská síla.

+

Nejprve jsme na Pyvu v Ostravě udělali o našich pokusech krátké povídání a abychom případné zájemce navnadili, jeden z notebooků jsme rozebrali i přímo na místě.

+
chromebook na Pyvu
+

A světe div se, našlo se dost lidí ochotných věnovat část svého volného času o víkendu dobré věci. Den D nastal v neděli 12. ledna 2024 v 9 ráno. Sešli jsme se v úctyhodném počtu patnácti dobrovolníků v prostorách GALILEO SCHOOL, usedli do lavic a hned se vrhli do práce. Mladší z nás byli v dobře známém prostředí, ti starší se do školních lavic vrátili po mnoha letech. Někteří montovali, jiní instalovali a do hodiny nabrala celá práce nevídaných obrátek. Notebooky na hardwarovou část postupně docházely a instalaci se dařilo dělat na mnoha strojích paralelně.

+
ukázka ve škole
+
práce ve škole
+

Předem připravený návod na reinstalaci, ochota si maximálně pomáhat, dobrá káva a skvělá organizace celé akce udělaly z různorodé skupinky lidí, z nichž se někteří viděli úplně poprvé, dobře organizovanou pracovní sílu s jasným cílem, který se dařilo velice rychle plnit.

+
práce ve škole
+

Chvílemi se zdálo, že ani nebude třeba řešit oběd. Pracovníci bohatě předčili naše očekávání a krátce po jedné hodině odpoledne už skoro nebylo co dělat. Až na pár strojů, které budou ještě vyžadovat speciální péči, se celá akce vydařila na výbornou a co bylo zbytečným těžítkem ve skříni, už opět slouží žákům.

+
plnící se přepravky
+

Poděkování patří všem, kteří neváhali a zapojili se do prospěšné činnosti. Věřím, že jsme si z toho všichni odnesli nejen dobrý pocit.

+
+ +
+ +
+

+ Lumír Balhar + + · @lumirbalhar +

+
+
+
+ +
+
+
+

Lumír pracuje jako senior software inženýr a ve volném čase organizuje komunitní srazy, kurzy a workshopy, vyučuje první pomoc a dělá dobrovolného hasiče.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/jake-bude-pristi-pyvo.html b/jake-bude-pristi-pyvo.html new file mode 100644 index 0000000..31b1486 --- /dev/null +++ b/jake-bude-pristi-pyvo.html @@ -0,0 +1,129 @@ + + + + + + + + Jaké bude příští PyVo - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

Jaké bude příští PyVo

+

+ +
+ Honza Javorek +

+
+ +
+

Ve čtvrtek 27. 9. proběhlo po delší odmlce setkání vývojářů v Pythonu, PyVo. Pořadovým číslem už deváté.

+

Devět setkání nad pivem a s přednáškami, to už se dá považovat za nějakou tradici. No a když už je v nějakém setkávání tradice, začne se od něj něco očekávat. Lidé očekávají nějakou kvalitu přednášek, očekávají nějaký servis (jídlo, pití, wifi, klidný salonek), očekávají, že vše proběhne tak jak má. Už se nepromíjí chybky, kterým se dříve desítka Pythonistů nad pivem spíš jen zasmála. Jakmile jsou návštěvníci v očekávání, mizí z akce tzv. pořadatelský punk. A s jeho mizením mizí i lehkost, s jakou může pořadatel akci dělat.

+

Nutně si pak musím položit otázku, co s PyVem zamýšlím. Jestli z něj chci dělat seriózní "minikonferenci", nebo zda bych raději pořádal nezávazný pokec u piva. Potíž je v tom, že v tom prvním případě si organizace takové akce žádá mnohem víc energie a zařizování. Musím připomenout, že to zatím stále dělám sám a také zadarmo, ve volném čase a z čisté radosti. Abych pokračoval, musí to něco dát i mě.

+

V následujících odstavcích vám tedy nastíním nějakou svou vizi. Částečně vykrystalizovanou jednotlivými PyVy, částečně založenou na zpětné vazbě, kterou jsem posbíral ve čtvrtek.

+

Tento článek je z dob kdy blog.python.cz ještě neexistoval a původně vyšel na Honzově blogu. Můžete si ho dočíst tam!

+
+ +
+ +
+

+ Honza Javorek + + · @honzajavorek +

+
+
+
+ +
+
+
+

Honza je programátor. Od roku 2011 buduje českou komunitu kolem jazyka Python. V současnosti pomáhá hlavně s propagací aktivit, jako jsou PyLadies, Pyvo, nebo PyCon CZ. Přes den jej najdete v Apiary, kde se stará o Dredd, framework na testování API. Občas taky radí lidem jak mají API dělat a přednáší o tom na konferencích.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/jako-holka-v-brne.html b/jako-holka-v-brne.html new file mode 100644 index 0000000..af7b5c4 --- /dev/null +++ b/jako-holka-v-brne.html @@ -0,0 +1,161 @@ + + + + + + + + Jako holka v Brně jsi už napůl programátorka - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

Jako holka v Brně jsi už napůl programátorka

+

+ +
+ Lucie Karmová +

+
+ +
+

Žiju s programátorem, půlka mých přátel jsou programátoři, na počítači mi běží Fedora, mám za sebou několik neslavných programovacích začátků a nakonec jsem narazila na poklad. Mohla jsem si jen vymýšlet důvody, proč se NEučit programovat. Nakonec ale nebylo vyhnutí a přihlásila jsem se do programování v Pythonu pro holky – PyLadies. +Co všechno jsem kdy nedokončila? Learn Python the Hard Way od Zeda A. Shawa, Codecademy nebo Programming for Everybody na Courseře. Taky jsem uvízla v polovině nulté (ano, nulté) série Korespondenčního semináře z informatiky FI MU. Celý jsem odchodila a pobrala snad jenom kurz SQLite na KISKu. Pak okolo mne prolétla registrace na PyLadies a bylo jasné, že to je to pravé. Přihlášku jsem poslala, slíbila, že budu makat, vzali mě a už to jelo.

+ +
+ +

Když v Brně hodíte kamenem, trefíte programátora#

+

Pro holky v Brně existuje jedinečný časoprostor. Tohle město je významné IT centrum a vývojáři se vyvažují zlatem. Zároveň jde o téměř výhradně mužské prostředí a mám pocit, že z toho samotní programátoři nejsou moc šťastní. Všichni se můžou přetrhnout, aby holkám umetli cestičku k programování. Holky v IT jsou prostě téma.

+

Dvě hodiny kurzu týdně a nekonečně hodin domácích úkolů#

+

Ohromně se mi líbila systematičnost, délka i pravidelnost kurzu, krásně zpracované materiály, různé “taháky” a taky nutnost domácích úkolů. Byly zábavné, i když pro mne vlastně docela náročné. V říjnu a v listopadu jsem s nimi strávila i 10 hodin týdně. A to nepočítám hodiny manžela, který mě zachraňoval před hysterákem a počítač před vyhozením z okna. Ke konci roku naštěstí tempo zvolnilo. Beztak jsem ale od prosince stále ještě u programování hada a na asteroidy jsem ani nesáhla. Před chvílí mě manžel upozornil, že píšu článek o programování místo toho, abych doopravdy programovala.

+ +
+ +

Diskriminace! Kurz je jen pro holky#

+

Být holkou v libovolném věku, která se učí programovat, jsou instatní plus čtyři tečky do vaší coolness. Kdybych byla klukem, který dnes začíná v Brně s Pythonem, byl by to spíš trapas. Co že jsem sakra dělala posledních patnáct let? +PyLadies se snaží trochu naředit klučičí programátorské prostředí. Počítá se s tím, že ve smíšeném prostředí by se účastnice kurzu mohly stydět ptát na věci, které přece “dávno známe ze střední”. Pro mě to určitě fungovalo. Zažila jsem třeba fantastický “aha moment”, když nám Petr Viktorin vysvětloval a na tabuli kreslil, jak funguje vlnová délka. Měla jsem dojem, že mi to poprvé v životě dává smysl – a viděla jsem, že podobně to mají i ostatní.

+ +
+ +

programmers = ["novinarka", "vedkyne", "maminka na materske"]#

+

Už dlouho se mi nestalo, že bych přišla do nové společnosti a byla z ní jednoduše nadšená. Na PyLadies se ale sešla ohromně zajímavá sestava dívek a žen. Každá má vlastní kariéru, studium a koníčky. Na kurzu jsme se potkaly většinou s tím, že programování vnímáme buď jako možnost nové kariéry, nebo jako mocný nástroj k vylepšení té stávající. Je to nový druh magie k ovládnutí světa. +Jednotlivé lekce se věnovaly cyklům, Gitu, funkcím, řetězcům, testování, GitHubu, seznamům, grafice, slovníkům, třídám a ve speciální lekci i MicroPythonu.

+ +
+ +

Bylo pro mne nesmírně motivační vidět, jak si maminka se dvěma dětmi poradí s domácím úkolem na kreslení pomocí želvy – zeptala se synka, co by to mělo být? A protože si poručil auto, nakreslila ve for cyklech auta. Fakt i takhle může vypadat mateřská? Paráda.

+
micropython
+

Miluju naše kouče. Všechny!#

+

Celé PyLadies jsou postavené na dobrovolnické práci a skvělé atmosféře. Martina Antalovová zajistila, že kurz vůbec proběhl. Firma Experis nám půjčila prostory. Ježíšek nám po Red Hatu poslal součástky na programování v MicroPythonu (blikají a pípají!). Petr Viktorin jako hlavní kouč ukazoval, jak má vypadat srozumitelná, věcná, perfektně promyšlená lekce.

+
micropython
+

Pavel Dedík, Jirka Zapletal, Jarka Hladká, Jenda Král, Zuzka Piskořová a Manka Stará se o nás starali jak o kuřátka. Celou dobu se jen třásli na to, kdy se nám povede se v něčem zamotat, aby nám mohli pomoct a všechno vysvětlit. Koučům jsme také mohly kdykoli napsat nebo se přijít poradit na čtvrteční NePyvo do Nekavárny.

+ +
+ +

Každý týden jsem se těšila, až všechny potkám. Se svou “strategií” v 1D piškvorkách jsem vyhrála pytlík bonbonů. Když měla spolužačka narozeniny, donesla bonboniéru. Na vánoční lekci donesl (nejenom) Jirka napečené cukroví. Petr nám na 3D tiskárně vytiskl vykrajovátka ve tvaru loga Pythonu. Po lekcích se chodilo plkat do hospody nebo na vánoční trhy.

+ +
+ +

Chtěla bych všem zúčastněným poděkovat za báječný podzim. PyLadies jsou jeden z nejlepších kurzů, jaké jsem kdy absolvovala. Jedu teď na týden na hory, ale nenávidím zimu. Takže věřím, že u krbu za ten týden doklepnu i domácí úkol s asteroidy!

+
+ +
+ +
+

+ Lucie Karmová + +

+
+
+
+ +
+
+
+

Lucka pracuje jako úřednice v Brně a spravuje dotační programy pro mimořádně nadané studenty z Jihomoravského kraje. Fascinuje ji programátorská komunita v Brně, a proto se přihlásila na kurz PyLadies v Brně.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/komunitni-python-stanek-na-linuxdays.html b/komunitni-python-stanek-na-linuxdays.html new file mode 100644 index 0000000..e9b7388 --- /dev/null +++ b/komunitni-python-stanek-na-linuxdays.html @@ -0,0 +1,185 @@ + + + + + + + + Komunitní Python stánek na LinuxDays - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

Komunitní Python stánek na LinuxDays

+

+ +
+ Veronika Gabrielová +

+
+ +
+

Organizátoři LinuxDays nás oslovili, zdali chceme využít možnosti prezentovat se na známé akci LinuxDays.#

+
>>> import czechpythoncommunityboothpanic
+
+ +

Odpověď byla jasná: "Jednoznačně chceme!"

+

Takže co si na to přichystáme:

+

...měsíc před akcí...pohodinda...

+

samolepky

+

letáčky

+

Závěr: Moc toho nemáme.

+

...týden před akcí...

+

ukulele orchestr

+

zelené destičky a hry 4x

+

fotky z akcí

+

MicroPython kódy k destičkám, které budou na stánku

+

nápisy na stánku v Monty Python fontu

+

Závěr: Lepší se to.

+

...pár dní před akcí...

+

Python žezlo (tyč) samozvané Pyč – došla modrá niť na 3D tisk

+

lidi na stánek – máme již 8+ a furt se hlásí, už stačí

+

kluci z Gymnázia Roudnice nad Labem a jejich zhruba (proměnlivě) 7 až 10 her: "A můžeme vzít i tři stolky navíc?"

+

Závěr: Máme toho nějak moc, DO PANIC. Vykřičník.

+

To jsme ještě nevěděli, že taková prezentace na podobné akci pro nás bude mít tak velký smysl. Organizátorům LinuxDays 2016 tímto velmi děkujeme za příležitost zviditelnit naši super českou Python komunitu.

+

Co jsou LinuxDays?#

+

Odcituji to z jejich oficiálních stránek, to abych to nespletla.

+
+

LinuxDays je česká linuxová konference, která se odehrává každoročně v Praze. Tato +konference vznikla v roce 2012, aby nahradila zrušenou konferenci LinuxExpo. Za pět +let se z LinuxDays stala největších akce svého druhu v Česku.

+
+
Koncert pro Chris Ward - podcast o LinuxDays
+procítěný koncert pro Chrisův podcast o LinuxDays 2016
+

Pokud Tě zajímá nějaké pěkné shrnutí LinuxDays 2016, kdo tam byl a nebyl a co se tam dělo, rozhodně si pusť tenhle super podcast od Chrise z Brna♪♫♪♪♫

+

A k našemu stánku. Tak v první řadě jsme nikdy předtím nic takového nedělali. A tím to možná byl super uvolněný punk, který se nám náramně povedl a na který jsme i patřičně hrdí. +Při plánování došlo nejprve na suché záležitosti typu letáčky, samolepky. Nutno míti na každém správném stánku. Sběratelé samolepek, zdá se, ještě nevyhynuli. +Ovšem s velkým nápadem přišel Jakub Vysoký, jakožto hrdý syn svého otce Jardy Vysokého z Roudnice nad Labem, navrhl zapojit i kluky z tamějšího Gymnázia a jejich učitele Jardu. +Což byl opravdu skvělý tah. Když už se nám ráno před samotnou akcí povedlo shromáždit vše a všechny, zjistili jsme, že jsme jeden z největších stánků co do rozlohy i do počtu prezentujících. +Na stánku jsme totiž měli několik her na zelených destičkách typu NodeMCU, micro:bit a na nich hry, které poháněl MicroPython. +O tyto destičky byl velký zájem a tak tímto velmi děkuji Petru Viktorinovi, Lumíru Balharovi a Janu Čermákovi, že mě v tom nenechali a všem nadšencům ochotně vysvětlovali a flashovali jejich destičky.

+

Zmínění Roudničáci si přivezli her asi 10 a kdyby jim večer nevypli proud, sedí tam ještě teď. Na Adamovi, Jakubovi a Jardovi z Roudnice je super, že dokážou okolí nejen pobavit, ale i proškolit a aby někomu nepřišlo druhý den, že mají stejný program, tak +kluci přes noc ještě pár her doprogramují. Skvělým příkladem toho byla hra rádoby „GTAčko“, ke které přes noc Adam kromě dosavadního volantu s akcelerátorem přidal ještě fungující pedál a světla z auta nalezená na půdě. +Velké nadšení vzbudila jejich hra s vlaječkami na rychlost, digitální tabule na kterou se dá kreslit či hrát had dálkovým ovládáním. Rádoby „GTAčko“ s pedálem, volantem a světly. Jednoznačně parádní show a u našeho stánku bylo téměř pořád plno.

+
Rádoby „GTAčko“
+rádoby „GTAčko“ od studentů z Gymnázia v Roudnici
+
Hry na stánku měly velký úspěch
+
Jarda Vysoký s digitální tabulí, kterou naprogramoval s klukama z Gymnázia Roudnice nad Labem
+Jarda Vysoký s digitální tabulí, kterou naprogramoval s klukama z Gymnázia Roudnice nad Labem
+

Při té příležitosti jsme lidem povídali o tom, co vše v české Python komunitě děláme. Překvapivé pro nás bylo, že se na konferenci objevilo spousty lidí, kteří nikdy ani o python.cz neslyšeli, na Pyvo srazech nebyli a celkově byli nadšení, že se o tom mohli dozvědět, protože v Pythonu dělají. +Dále jsme samozřejmě prezentovali kromě python.cz i PyLadies, Advanced PyLadies, blog Python komunity, PyCon 2016 v Brně. +Na stánku nechybělo ani Python žezlo, 3D vytištěné od Mira Hrončoka a Jakuba Průši. Děkujeme za jeho propůjčení.

+
Miro Hrončok a jeho Python žezlo samozvané Pyč #pythonicstaffofenlightenment
+Miro Hrončok a jeho Python žezlo samozvané Pyč #pythonicstaffofenlightenment
+

Chvílemi se k nám přidávali i prezentující z ostatních spřátelených stánků, jako je například CZ.NIC. Python nadšenců bylo na této konferenci opravdu dost. Došlo i k výměně věciček na bastlení, po kterých jsme už nikterak netoužili, za knihu o GIT do komunitní knihovničky, po které jsme naopak hrozně toužili.

+
Přátelství s ostatními stánky na nás bylo znát
+přátelství s ostatními stánky jsme dávali najevo
+

Podobný stánek jsme o pár týdnů později postavili i na PyCon 2016 v Brně, kam se také přijeli podívat kluci z Roudnice i se svou tabulí plnou her. +Rozhodně budeme šířit informace o těch všech skvělých věcech, které v Python komunitě děláme i dál na podobných akcích. Pokud nám již s něčím pomáháš, je to hrozně fajn a toto je i Tvá zásluha. +Pokud jsi se k nám zatím nepřidal/a, ale chtěl/a bys, mrkni na naši stránku, kde zjistíš, kde a jak se zapojit.

+
Jedna z mnoha částí herního koutku kluků z Roudnice a #pythonicstaffofenlightenment
+jedna z mnoha částí herního koutku kluků z Roudnice a #pythonicstaffofenlightenment
+
+ +
+ +
+

+ Veronika Gabrielová + + · @lspdv +

+
+
+
+ +
+
+
+

Veronička je velmi aktivní v české Python komunitě. Motá se hodně kolem PyLadies, účastnicím po kurzech pomáhá najít vysněnou práci a právě buduje rozjezd i dalších navazovacích kurzů a srazů pro všechny zájemce o Python, kteří jsou v začátcích. Také již pracuje jako programátorka a dokonce jí za to někdo platí. Nemá ráda datle. Má ráda vše ostatní kromě datlí. Nejvíc od Žufánka Ořechovku a od vietnamců Phở Bo. Nejčastěji ji potkáš v Praze na Pyvo srazech či na PyWorkingu a PyLadies.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/koucovani-na-pyladies_kurzech.html b/koucovani-na-pyladies_kurzech.html new file mode 100644 index 0000000..aa319fe --- /dev/null +++ b/koucovani-na-pyladies_kurzech.html @@ -0,0 +1,152 @@ + + + + + + + + Koučování na PyLadies kurzech - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

Koučování na PyLadies kurzech

+

+ +
+ Iveta Česalová +

+
+ +
+

Text vyšel původně na autorčině blogu.

+

Nevím, zda jsem ta správná osoba, která o tom může vyprávět, ale taky přispěji svou troškou do mlýna. +Jako vedlejší koučka na začátečnických kurzech jsem byla zatím pouze jeden semestr. +Víc čas nedovolil, když jsem měla další kurzy. Ale byla to velmi příjemná zkušenost.

+

Proč začít koučovat? Co k tomu lidi vede? Někoho baví učit, někdo se chce odvděčit pyladies, +- například absolventky začátečnických kurzů - a předat nabyté znalosti dál. Jiní si tam chodí upevňovat základy, +protože nemusíte každou hodinu jen koučovat, ale být tam jako pozorovatel a opakovat si látku, ve které si nejste jistí. +A největší motivace – šířit Python! 😀 Ale hlavně ta milá společnost na kurzech a příjemné prostředí, +celá Python komunita je neskutečná, tu nemůžete nemilovat.

+

Moje motivace byla kombinací výše zmíněných. Co bylo nejdůležitější, tak ta atmosféra na kurzech, +chodila jsem si tam odpočinout. Nevadí různé všetečné otázky, protože jak víte, žádná otázka není hloupá! 🙂 +Není tam žádný stres, spěch, tempo se přizpůsobí vždy individuálně. Každý je ochoten pomoci se sebemenším problémem. +Přeci jen nejblíže k účastníkům kurzů mají právě ostatní absolventky a můžou jim případně vysvětlit látku více lidsky. +Tím nechci říct, že by hlavní kouč přednášel nesrozumitelně, ale je to přeci jen programátor profesionál a my, +obyčejní smrtelníci to asi vysvětlíme úplně laicky neajťácky 🙂 Někdy jsem si všimla, že holky tápou, nezeptají se, +i když neví. Není nic jednoduššího, než se zeptat sama, i když to vlastně víte, ale je super, že to pak pochopí i ostatní.

+

Na začátku to byly hrozné pocity, že si mě někdo zavolá a bude mít problém, se kterým nedokáži pomoci, +a budu za trubku. No jistě, občas taková situace nastala, ale jednoduše se zavolal druhý, více zkušenější kouč, +a byli jsme chytřejší všichni 🙂 Nakonec to nebylo tak složité. Jistě, objevil se červený lísteček, znamení pro kouče, +a ve vás hrkne – Jejda, mám tam jít? Nebo budu dělat, že to nevidím a počkám, až tam půjde někdo jiný? 😀 +(Na vysvětlenou, v průběhu lekce jsou různé úkoly, pokud máte hotovo, vylepíte si na monitor zelený lísteček, pokud problém a chcete pomoci od kouče, tak červený.) +Průběžně jsem sledovala jak postupují holky s úkoly a dopředu již tušila, kde se objeví papírek, +no sebrala jsem odvahu a šla tam. Nakonec to byly obyčejné jednoduché problémy, se kterými jsem dokázala pomoci, +a pak jsem byla fakt ráda. Hele, něco vím, pomohla jsem, nejsem tu zbytečně, prostě fajn pocit.

+

Na několika hodinách jsem taky jen seděla s počítačem a opakovala si témata, co mě zajímala a potřebovala jsem si upevnit +znalosti. Na tom není nic špatného! Bylo tam vždy dost ostatních koučů, takže to nevadilo a něco nevědět není ostuda.

+

Jestli váháte, zda se taky přihlásit na koučování, ať už PyLadies či jiných kurzů, už se nerozmýšlejte! Když se vám to +nebude líbit, můžete kdykoli odejít a přestat, nikdo se zlobit nebude. Ale po osobní zkušenosti myslím, že si to tam +zamilujete. Všichni organizátoři, koučové, kteří jsou součástí těchto kurzů, jsou skvělí lidi a je příjemné se toho +účastnit, být užitečný, a po kurzu si zajít spolu sednout do hospody a povídat si o čemkoli.

+
+ +
+ +
+

+ Iveta Česalová + +

+
+
+
+ +
+
+
+

Iveta je bývalá účetní, má dvě děti a po absolvování několika PyLadies kurzů se jí podařilo získat vysněnou práci v IT.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/listopadove-prazske-pyvo.html b/listopadove-prazske-pyvo.html new file mode 100644 index 0000000..84fe315 --- /dev/null +++ b/listopadove-prazske-pyvo.html @@ -0,0 +1,156 @@ + + + + + + + + Listopadové pražské Pyvo - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

Listopadové pražské Pyvo

+

+ +
+ Jakub Vysoký +

+
+ +
+

listopadove prazske +#pyvo uz je tyden za +nami, potreboval jsem sice cely vikend, abych dospal spankovy deficit, +ale to jsem zdaleka neodchazel posledni. tentokrat nas na +venecku +nechali do rekordnich asi pul druhe, za coz moc dekujeme.

+

bylo to super! na posledni chvili jsme splasili honzu +javorka, ktery nam zaplacnul diru po +nemohoucim alexovi - ten nam to povi +jindy. prednasky byly nakonec pouze dve, takze bylo spoustu casu na me +oblibene lightning talky. +vecer to byl zkratka rekordni se vsim vsudy, protoze lightning-talkeru +se seslo celych 12.

+

v utrobach meho harddisku se skryva seznam, ktery vystavim asi jako +google dokument, abychom ho mohli libovolne +upravit a hlavne pak doplnit prednasejici na lanyrd.

+

krome toho, ze se v mezicase vypravime do +ostravy, si uz muzete +zakrouzkovat termin vanocniho prazskeho pyva: 2013/12/18 - ale to je +prece jasne, protoze ani tentokrat to neni jinak, nez treti streda v +mesici.

+

ps: lanyrd.com ma super ics export pro guide, kam hazeme vsechny +slovensko-ceska pyva a mne se +indexuje jako google +kalendar, +jestli si ho chcete pridat, staci kliknout. trosku debilni je, ze v tom +ics exportu mizi probehnute akce a google je tudiz maze i v tom +kalendari.. nevite nekdo, co s tim?

+

ps2: doslova par fotek a komentare na g+ +prispevku, +ciao..

+

Tento článek je z dob kdy blog.python.cz ještě neexistoval a původně vyšel na Kubíkově GitHub blogu.

+
+ +
+ +
+

+ Jakub Vysoký + + · @kvbik +

+
+
+
+ +
+
+
+

Jakub má fousy, kola, startup a počítač. Je rád, když všechno funguje (backendy a devopsy) a v ničem se nemusí vrtat. To pak organizuje Pyva a věci okolo. Jako třeba akce ve své oblíbené domovině Roudnici nad Labem.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/majove-prazske-pyvo.html b/majove-prazske-pyvo.html new file mode 100644 index 0000000..6081931 --- /dev/null +++ b/majove-prazske-pyvo.html @@ -0,0 +1,154 @@ + + + + + + + + Májové pražské Pyvo - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

Májové pražské Pyvo

+

+ +
+ Jakub Vysoký +

+
+ +
+

jak jirka @whiskybar barton rikal: +"my cekali jaro a zatim prislo leto." a ten krasny teply vecer nam asi +mirne narusil sraz. ty co neprisli, omlouva jedine to, ze sedeli nekde +na zahradce, pili pivo a mysleli na nas ;)

+

seslo se nas ale nakonec vlastne celkem slusnych 15 pythonistu, z toho +2x rubista jsou tak verni navstevnici, ze si zaslouzi byt zarazeni do +skupiny. navic pepa liska sam rekl, ze s radosti bude jako kouc na +libovolne #pyladies (ala #railsgirls) akci. tak ted uz jenom aby nekdo +nejakou usporadal?

+

tema bylo #CMS (content management system), radek svarz a honza kral +predstavili mezzanine a +ellu. doufali jsme, ze nam dorazi nekdo +neco rict i o jinych, ale napriklad martin jahn behem sveho lightning +talku o wagtail sithnul zminit, ze django +cms ho nijak nenadchlo, cimz jsem dosel +k zaveru, ze to asi nepouziva nikdo. petr viktorin nam zase +lightningtalknul o static site generatoru +pelican. jeho poznamka, ze pelican +podporuje CNAME a 404 me trosku zarazila, ale vyjasnilo se, ze se jedna +o podporu pro napr github pages hosting, kde uz nejaka ta dynamika +prichazi ke slovu, nicmene fidorku za +pozornost jsem nedostal..

+

parecky a chlebicky byly, zelena a pivo taky. mini diverzitu srazu +podporila tyler z redhatu. a diky alespon tem 15ti nas z venecku +nevyhnali pro slabou ucast ;)) diky za odvoz domu +tatinkovi. cca v +pul treti jsem byl v posteli jako slusnej kluk. takze celkove prima +vecer, diky vsem. jo a priste, zase treti stredu v mesici cervnu tedy +2014/6/18 na venecku.

+

Tento článek je z dob kdy blog.python.cz ještě neexistoval a původně vyšel na Kubíkově GitHub blogu.

+
+ +
+ +
+

+ Jakub Vysoký + + · @kvbik +

+
+
+
+ +
+
+
+

Jakub má fousy, kola, startup a počítač. Je rád, když všechno funguje (backendy a devopsy) a v ničem se nemusí vrtat. To pak organizuje Pyva a věci okolo. Jako třeba akce ve své oblíbené domovině Roudnici nad Labem.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/mame-python-v-hradci-kralove.html b/mame-python-v-hradci-kralove.html new file mode 100644 index 0000000..0c15b56 --- /dev/null +++ b/mame-python-v-hradci-kralove.html @@ -0,0 +1,161 @@ + + + + + + + + Máme Python v Hradci Králové - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

Máme Python v Hradci Králové

+

+ +
+ Ivana Brabcová +

+
+ +
+

A je to tu: 25. březen! Den velkých očekávání, lehké nervozity a brzkého vstávání. (Na tuto neděli nám totiž připadla zmněna času, ale nebojte se, nebudu tu toto téma diskutovat.)

+

Vezměme to pěkně po pořádku. Začátek celého příběhu může znít trochu lacině, neboť za ním stojí moje touha vyzkoušet si programování. Shodou okolností a náhod jsem před časem, kdy jsem ještě pobývala v Praze, narazila na kurzy PyLadies, které jsem absolvovala. Uplynulo pár měsíců a život, respektive pracovní příležitost, mě odvála zpět do rodných východních Čech. +PyLadies a pythoní komunita byla najednou trošku z ruky. +A proto jsem se jednou na jednom workshopu, který byl věnovaný Pythonu, zeptala: „Co by obnášelo vytvořit PyLadies kurz v Hradci?“ Odpověď na tuto otázku zněla jednoduše: „Za prvé, je třeba sehnat kouče, dále prostory a v neposlední řadě účastníky.“ Plán zněl jasně a tak jsem zacala plnit jednotlivé body z uvedeného seznamu. +A výsledek se dostavil poslední březnovou neděli. +Nutno podotknout, že kromě psaní emailů, oslovování potenciálních koučů, hledání prostorů a tak dále a tak dále, tu svoji významnou roli sehrála podpora a rady od zkušené organizátorky PyLadies Zuzky Válkové a především nadšení Petra Viktorina, který připravil náplň a materiály pro kurz a stal se jeho hlavním lektorem.

+

Je to tady!#

+

Poslední březnová neděle v Hradci Králové patřila začátečníkům, kteří měli zájem o programování v jazyce Python. Celá akce měla dva hlavní cíle, které jsem již v úvodu naznačila. +V první řadě seznámit zájemce a začátečníky s programovacím jazykem Python. Dát jim možnost nahlédnout pod pokličku programování, ukázat co obnáší a podpořit je v jejich prvních krůčcích. +Druhým, neméně důležitým cílem bylo nadchnout kouče pro koučování, protože většina z nich neměla s touto rolí žádné zkušenosti.

+

Jdeme na to!#

+

V neděli ráno jsem se sešili na Gymnáziu Boženy Němcové, které nám na akci poskytlo zázemí. V plánu bylo vyzkoušet si programování na atraktivním úkolu grafické hry - „Had“. +Dopolední část byla za měřena na základy práci s příkazovou řádku a základním stavebním kamenům Pythonu jako jsou příkazy if, while, funkce, seznamy, n-tice a třídy pro náš první program. +Odpolední část byla věnována úvodu do Pygletu, kreslení hada a jeho rozpohybování.

+

A co na to účastníci?#

+
+

Kurz byl super. Představil mi základní mechaniky programování. Určitě jsem nečekala, že z nás budou za jeden den programátoři, ale vytvoření si vlastní hry bylo skvělou motivací do dalších studií a pokusů-omylů v Pythonu.

+
+

– Jana M.

+
+

Ahoj, workshop předčil moje očekávání. Jednoduchou formou nás lektor naučil naprogramovat hru. Vše se dalo pochopit. Pokud jsme byli ve skluzu, měli jsme kouče, který nám poradil. Fakt skvělí. Podpůrná atmosféra. Děkuji moc za příležitost nahlédnout do programovacího jazyka Python. Ráda se zúčastním dalšího kurzu.

+
+

– Iva Č.

+
+

Byl jsem nadšený. Z pojetí kurzu, přátelské atmosféry i z celkového fungování komunity kolem Pyladies. Byl to jeden z nejprofesionálněji odvedených kurzů na kterých jsem byl, což se, pro mnohé překvapivě, nevylučuje s tím, že je organizován na komunitní, dobrovolnické bázi a zdarma.

+
+

– Robert H.

+

Pár slov závěrem#

+

V první řadě poděkování, všem! Na kurzu panovala příjemná a přátelská atmosféra, ze které si každý něco odnesl. Nové vědomosti, motivaci a především smysluplně strávný čas. +Těší mě, že kurz měl úspěch nejen u účastníků, ale také u koučů, kterým se jejich role líbila a odnesli si nové zkušenosti a zážitky. Obvykle je těžké se rozloučit, ale myslím, že v tomto případě se vlastně o loučení a závěr tak úplně nejedná. Z ohlasů na obou stranách totiž soudím, že tenhle závěr by mohl odstarotvat něco nového.

+

Držte nám palce!

+

Máte-li zájem získávat více informací o pythoním dění v Hradci Králové můžete nás sledovat na stránkách Facebooku.

+
ilustrační obrázek
+
ilustrační obrázek
+
ilustrační obrázek
+
+ +
+ +
+

+ Ivana Brabcová + +

+
+
+
+ +
+
+
+

Tento blog píše česká komunita kolem programovacího jazyka Python. +I ty sem můžeš napsat článek! Chceš oznámit nějakou akci, zamyslet se nad budoucností +srazů nebo sepsat, co se ti líbilo na konferenci? +Stačí postupovat podle návodu.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/mi-pyt.html b/mi-pyt.html new file mode 100644 index 0000000..d62c5ab --- /dev/null +++ b/mi-pyt.html @@ -0,0 +1,251 @@ + + + + + + + + Učili jsme Python na univerzitě, otevřeně a na GitHubu - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

Učili jsme Python na univerzitě, otevřeně a na GitHubu

+

+ +
+ Petr Viktorin, Miro Hrončok +

+
+ +
+

Na Fakultě informačních technologií Českého vysokého učení technického v Praze (FIT ČVUT) jsme v zimním semestru 2016/2017 učili volitelný předmět pro magisterské studenty Pokročilý Python (MI-PYT). +Na FITu již existoval volitelný předmět pro bakalářské studenty Programování v Pythonu (BI-PYT), avšak přišlo nám, že o Pythonu toho lze naučit mnohem více, než se dá za jeden semestr probrat. Petr učí začátečnický kurz PyLadies, Miro učí na FITu 3D tisk a dříve i tvorbu elektronické dokumentace. Učení nás oba baví a Red Hat, kde oba pracujeme, nás podpořil v myšlence vést na univerzitě předmět. Rozhodli jsme se tedy fakultu oslovit s nabídkou předmětu navazujícího na BI-PYT, abychom pomohli budovat vztahy mezi fakultou (potažmo celou univerzitou) a Red Hatem. Naše cíle byly:

+
    +
  • postavit předmět tak, aby nepřímo navazoval na BI-PYT;
  • +
  • vytvořit volně dostupné materiály pod svobodnou licencí;
  • +
  • propagovat Python a svobodný software mezi studenty.
  • +
+
Fakulta informačních technologií
+Fakulta informačních technologií (© Utar CC BY-SA)
+

Pro naplánování předmětu byl hlavně zpočátku zásadní výběr témat. Co je to vlastně pokročilý Python? Nakonec jsme vybrali seznam oblíbených knihoven, které se v Pythonu běžně používají, a přihodili pár témat, na které v BI-PYT nezbylo místo. Věnovali jsme se tak využívání webových API, tvorbě webových stránek, tvorbě rozhraní pro příkazovou řádku i tvorbě GUI, psaní testů a dokumentace, zpracování dat, propojení světa Pythonu se světem C, asynchronnímu programování i MicroPythonu. Konkrétní seznam témat najdete na naucse.python.cz.

+

Předmět jsme otevřeli ve dvou paralelkách (skupinách) po 24 studentech. Obě se zaplnily už v předběžném zápise a těsně před začátkem semestru vznikal drobný přetlak. Protože jsme tušili, že někdo brzy odpadne, povolili jsme zápis asi 51 studentům. Tři z nich opravdu během prvních týdnů odpadli a oficiálně tak mělo předmět zapsáno přesně 48 studentů. Nic nám tedy nebránilo začít učit.

+

GitHub a otevřený přístup při tvorbě a výuce předmětu#

+

Materiály k předmětům na FIT ČVUT jsou dle pravidel fakulty na školním portále Edux a zde jsou většinou dostupné pouze studentům fakulty (a učitelům a dalším, zkrátka jsou neveřejné). +Již u předmětu 3D tisk (BI-3DT, vyučuje Miro) se podařilo prosadit veřejně dostupné materiály pod licencí Creative Commons, ale je to na fakultě poměrně výjimečné. +Na rozdíl od 3D tisku, kde materiály vznikají na Eduxu, ale jsou veřejné, jsme se rozhodli udělat to u Pokročilého Pythonu jinak: materiály jsme vytvářeli nejen pod svobodnou licencí, ale také naprosto otevřeně na GitHubu, +tak, jak jsme zvyklí jak z práce v Red Hatu, tak z přispívání do projektů Pyvce. Na školní portál jsme je pak jen zkopírovali. +Ukázalo se, že otevřený přístup nese své ovoce. Studenti z FITu i samouci do repozitáře přispívali +drobné opravy i rozsáhlejší rady a vylepšení. Pokud měli problém nebo potřebovali poradit, často založili v repozitáři novou issue a společně s námi a ostatními studenty se dobrali kýžené pomoci.

+

Protože jsou materiály otevřené, dá se stejný kurz uspořádat i jinde než na ČVUT. Této možnosti jsme využili hned od začátku: před každou lekcí v Praze měl Petr přednášku pro několik zájemců v Brně ve sklípku Kiwi.com, kde se odladily chybky v nových materiálech a zjistili jsme, co nefunguje na jiných počítačích než na těch našich. +A po skončení kurzu na ČVUT začalo v Brně další neformální opakování, tentokrát v laboratoři Red Hatu na FI MUNI pod názvem Python a jeho knihovny. +Zjistili jsme, že lidem, kteří nestudují informatiku, je potřeba výklad trochu přizpůsobit; materiály by tak nyní měly být srozumitelné všem, kteří znají základy Pythonu.

+

Na GitHubu ale nevznikaly jen materiály k předmětu. Z téměř každé lekce dostali studenti zadaný úkol, který odevzdávali pomocí gitu. +Doporučili jsme GitHub, ale nabídli i alternativu ve formě fakultní instance GitLabu. Tu si nakonec nevybral nikdo. +Zpětnou vazbu k úkolům jsme dávali buď osobně, nebo prostřednictvím GitHub Issues. +Některé úlohy na sebe navazovaly a studenti tak mohli projít tvorbu projektu od zrodu přes přetvoření na modul až k přidání testů a dokumentace. +Zde jsme také využívali známé služby jako PythonAnywhere, Travis CI či Read the Docs. Často pak vznikly na základě úkolů práce, které jsou nyní volně k dispozici na GitHubu (a mnohdy i PyPI) pod svobodnou licencí.

+

Studenti si mohli na začátku semestru vybrat téma pro prvních pět úloh. Buďto TwitterWall +(1, +2, +3, +4, +5, +6) +nebo robota, který podle regulárních výrazů označuje issues na GitHubu pomocí štítků +(1, +2, +3, +4). +V závorce můžete využít odkazy na ty projekty, které studenti zveřejnili.

+
+
+11/04/2017 08:03:00 (https://twitter.com/naPyvo/statuses/851707139307429888)
+Chodíme na Pyvo [naPyvo]: #technologie #umění #design 🎨 Mrkněte na celkem unikátní konferu @SensoriumSK v Bratislavě 🇸🇰, 28.-30. dubna… https://t.co/PaKqiRGm0G
+
+11/04/2017 17:39:52 (https://twitter.com/jmtcz/statuses/851852310833762304)
+Jeanne Trojan [jmtcz]: I'm bringing @cedricmaloux from @startupyard to @naPyvo 19.4. He'll talk about their next program in #AI #ML #AR #VR #Robots See you there!
+
+18/04/2017 11:18:57 (https://twitter.com/naPyvo/statuses/854293167063146496)
+Chodíme na Pyvo [naPyvo]: 26.-28. května bude #BRNOHACKS, největší hackathon nad otevřenými daty! 👩‍💻 🐊 🇦🇹 🐊 👨‍💻 https://t.co/wGRtnhofiN #opendata #brno #hackaton
+
+18/04/2017 11:23:19 (https://twitter.com/kondrej/statuses/854294266117488640)
+Ondřej Kokeš [kondrej]: V Brně by chtěl hackovat každý. https://t.co/OdbP08jCb7
+
+19/04/2017 09:44:43 (https://twitter.com/jschovan/statuses/854631839868362752)
+Jarka Schovancova [jschovan]: Kdo jdete dnes @naPyvo ? /cc @kvbik @HonzaKral  @tylersiprova @honzajavorek @aleszoulek @EnCuKou @almadcz @benAbraham
+
+19/04/2017 09:48:17 (https://twitter.com/honzajavorek/statuses/854632738401525760)
+Honza Javorek [honzajavorek]: @jschovan @naPyvo @kvbik @HonzaKral @tylersiprova @aleszoulek @EnCuKou @almadcz @benAbraham Já jdu do divadla 🎭 Příště!
+
+19/04/2017 09:48:57 (https://twitter.com/EnCuKou/statuses/854632905724882944)
+Petr Viktorin [EnCuKou]: @jschovan @naPyvo @kvbik @HonzaKral @tylersiprova @honzajavorek @aleszoulek @almadcz @benAbraham Já!
+
+19/04/2017 10:00:08 (https://twitter.com/naPyvo/statuses/854635720279031808)
+Chodíme na Pyvo [naPyvo]: Určitě víte, že je dneska Pražské PyVo. Ale kdybyste to třeba nevěděli, tak teď už to víte. 🍺🐍🍺
+https://t.co/SLzcj4UNEx
+
+19/04/2017 10:58:31 (https://twitter.com/tylersiprova/statuses/854650411596304385)
+Tyler Golden [tylersiprova]: @jschovan @naPyvo @kvbik @HonzaKral @honzajavorek @aleszoulek @EnCuKou @almadcz @benAbraham I will come for a while! :-)
+
+19/04/2017 13:41:22 (https://twitter.com/HonzaKral/statuses/854691392865669120)
+Honza Král [HonzaKral]: @jschovan @naPyvo @kvbik @tylersiprova @honzajavorek @aleszoulek @EnCuKou @almadcz @benAbraham Ja taky budu
+
+19/04/2017 13:41:54 (https://twitter.com/aleszoulek/statuses/854691529876811777)
+Ales Zoulek [aleszoulek]: @HonzaKral @jschovan
+
+
+TwitterWall do terminálu, geekův sen (převedeno na HTML z výstupu aplikace Marka Suchánka)
+ +

Součástí hodnocení předmětu byla i semestrální práce. Každý student si mohl vybrat vlastní téma, které navazovalo na nějakou probranou látku. Téma jsme samozřejmě museli schválit. Nevyžadovali jsme, aby studenti svůj kód zveřejnili, ale důrazně jsme to doporučili. Vzniklo tak mnoho nových open-source projektů na GitHubu:

+ +
Raspberry Pi robot
+Ondřej Červenka semestrálkou ovládal Raspberry Pi robota (© 2016 Ondřej Červenka, MIT License)
+

GitHub, kolem kterého se výuka hodně točila, nás ještě před začátkem semestru zásoboval dostatečným množstvím nálepek a několika 100% slevovými vouchery na trička z GitHub Shopu. Studentům s nejlepším hodnocením jsme tak po skončení běhu mohli ještě dodatečně udělat radost. Pokud ve výuce používáte GitHub, určitě si také o swag řekněte.

+
GitHub nálepky
+GitHub nálepky
+

Tip: Studenti (a učitelé) mohou zdarma využívat GitHub Student Developer Pack. Mimo jiné tak mají k dispozici neomezené množství soukromých repozitářů a nemusíte se tak bát pověstného opisování. My jsme v předmětu využili i službu Travis CI pro soukromé repozitáře, která je jinak placená. V balíčku jsou také cloudové služby, na kterých lze provozovat i Python.

+

Zpětná vazba#

+

Po skončení kurzu nám někteří studenti poskytli zpětnou vazbu: buď přes univerzitní anketu, nebo přes formulář, který jsme vystavili na webu. K výsledkům fakultní ankety má přístup jen akademická obec, ale výsledky naší ankety jsou veřejné. +Výsledky jsme zpracovali, ale protože oba dotazníky bohužel vyplnilo poměrně málo studentů (a to skoro jen ti, kteří předmět úspěšně ukončili), nejsou příliš relevantní.

+
GitHub nálepky
+Část našeho formuláře pro zpětnou vazbu
+

Mnohem přínosnější než „známkování“ témat a spokojenosti pro nás byly textové odpovědi, ve kterých nás studenti buď chválili nebo konstruktivně kritizovali. +Většina studentů, kteří zaslali poznámku, se shodla na tom, že předmět byl přínosný, ale poměrně těžký a přísně hodnocený. +Konkrétně často kritizovali množství a náročnost úkolů. +Sypeme si tedy popel na hlavu a pro příští běh předmětu již přemýšlíme jak situaci zlepšit – jak jinak než veřejně na GitHubu.

+

Další problém, který nám studenti vytkli, byla nedostupnost materiálů a zadání úkolů v předstihu. Tvořili jsme je totiž často na poslední chvíli. +V příštím semestru by to u materiálů neměl být problém (ty už existují), a pro úkoly snad zvládneme zveřejnit aspoň předběžná zadání už ze začátku kurzu.

+

Výsledky studentů#

+

Předmět nakonec úspěšně dokončilo jen 16 studentů. Často nedokončovali proto, že se rozhodli nedělat semestrální práci, i když průběžné úkoly zvládali a předmět pro ně byl přínosný. +Téma práce si zvolilo 25 studentů – téměř všichni ti, kteří dostali alespoň 50 % bodů z úkolů, což byla podmínka úspěšného absolvování kurzu.

+

Úspěšnost 33 % je vyšší než u bakalářského Programování v Pythonu (BI-PYT) z minulého semestru, kde prošlo 25 % studentů (18 z 71). +Magisterské Programování v Ruby (MI-RUB) z tohoto semestru naopak úspěšně dokončilo více lidí – 55 % (38 z 69). +(Oba zmíněné předměty jsou volitelné, stejně jako MI-PYT.)

+

Budeme se snažit předmět zjednodušit, aby příště byla úspěšnost vyšší (a lépe odpovídala tomu, kolik se toho studenti naučili).

+

Data o průběžném hodnocení studentů a jejich analýza jsou k dispozici na GitHubu.

+

Přesun materiálů#

+

Po skončení kurzu jsme materiály z repozitáře ČVUT přesunuli na vznikající portál naucse.python.cz, kam se postupně přesouvají i podklady pro začátečnický kurz PyLadies. Tím dáváme najevo, že materiály nejsou určené jen pro určitou cílovou skupinu (studenty FIT, resp. holky), což některé lidi odrazovalo, a taky zjednodušujeme vytváření nových kurzů, které můžou kombinovat materiály z MI-PYT i začátečnického kurzu.

+

Zajímavostí je, že podle pravidel fakulty musí být materiály na již dříve zmíněném portále Edux. V průběhu kurzu jsme využili Travis CI a v Markdownu psané materiály z GitHubu jsme konvertovali na dokuwiki syntax a nalévali na Edux. Nyní, když jsou materiály na naucse.python.cz, naléváme na Edux materiály v PDF souborech (stále pomocí Travis CI). Systém, který má toto na starost, je poměrně divná chobotnice využívající Bash, GNU Make a Python, proto nabízíme jako téma semestrální práce přepis do znovupoužitelného Python frameworku, který by se dal využít i v jiných předmětech na FIT ČVUT.

+

A co dál?#

+

Nyní se musíme rozhodnout, jestli a jak povedeme předmět příští rok. Podle zpětné vazby bychom asi měli! +Musí to ale být v jiném složení – Petr už nebude každý týden jezdit na otočku z Brna do Prahy. Místo toho v Brně vede neformální kurz se stejným obsahem. +Na FITu tak bude předmět nejspíš učit Miro společně s jedním z absolventů prvního běhu.

+

Doufáme, že materiály poslouží i ostatním – ať už pro další kurzy, nebo na samostudium.

+
+ +
+ +
+

+ Petr Viktorin, Miro Hrončok + + · @hroncok +

+
+
+
+ +
+
+
+

Petr Viktorin a Miro Hrončok jsou vývojáři svobodného softwaru v Red Hatu a učitelé Pythonu na FIT ČVUT. Oba objíždějí Pyva v celém Česku.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/novorocni-lednove-prazske-pyvo.html b/novorocni-lednove-prazske-pyvo.html new file mode 100644 index 0000000..2b35081 --- /dev/null +++ b/novorocni-lednove-prazske-pyvo.html @@ -0,0 +1,146 @@ + + + + + + + + Novoroční lednové pražské Pyvo - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

Novoroční lednové pražské Pyvo

+

+ +
+ Jakub Vysoký +

+
+ +
+

vsichni (vcetne me) meli po vanocich poradny abstak. dorazili jsme totiz +asi v rekordnim poctu. seslo se nas urcite vic nez 40. ono je to ale moc +dobre. zakladni temata typu virtualenv a +pip je potreba opakovat, +aby packaging a bootstrap prestal byt postihovan nih +syndromem uz navzdy!

+

behem 4 delsich prednasek a 7 lightning talku se ani posluchaci +neflakali - 2 sudy piva zkratka nestacily. peclive jsem cely vecer +monitoroval, vsichni byli hodni, moc rychle se nepohybovali, takze na +google plus panoramatku nejsou +rozmazani.

+

ja jsem ovsem i tak radeji zbabele utekl a kolem pulnoci jsem byl uz +doma. abych ale nezustal nic dluzen, doplnil jsem vsechny speakry a +lightning talkare do lanyrd schedule a martin +bilek hned druhy den kompletne zpracoval +videa.

+

vsem za vsechno diky a na videnou na +venecku +pristi mesic. tema message +queues nezni vubec +nelakave!

+

Tento článek je z dob kdy blog.python.cz ještě neexistoval a původně vyšel na Kubíkově GitHub blogu.

+
+ +
+ +
+

+ Jakub Vysoký + + · @kvbik +

+
+
+
+ +
+
+
+

Jakub má fousy, kola, startup a počítač. Je rád, když všechno funguje (backendy a devopsy) a v ničem se nemusí vrtat. To pak organizuje Pyva a věci okolo. Jako třeba akce ve své oblíbené domovině Roudnici nad Labem.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/organizujeme-sprinty-a-ty-muzes-taky.html b/organizujeme-sprinty-a-ty-muzes-taky.html new file mode 100644 index 0000000..6b83aa5 --- /dev/null +++ b/organizujeme-sprinty-a-ty-muzes-taky.html @@ -0,0 +1,136 @@ + + + + + + + + Organizujeme sprinty. A ty můžeš taky! - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

Organizujeme sprinty. A ty můžeš taky!

+

+ +
+ Lumír Balhar +

+
+ +
+

Lidé spojení určitým společným zájmem se rádi potkávají. V Python komunitě je přiležitostí mnoho – konference (PyConCZ, EuroPython), srazy, kurzy, workshopy, … a také sprinty – a o jednom takovém bude tento článek.

+

Ve více lidech se to lépe táhne a tak, pokud chcete komunitu posouvat kupředu, je nejlepší si na to dedikovat kousek volného času, někde se sejít a společně udělat kousek užitečné práce. To je nejčastější motivace k uspořádání sprintu. Sprint je z akcí výše jedna z mála, kterou dokážeš připravit i v jednom člověku.

+

Myšlenka vrátit se k tradici sprintů na východě už tu nějakou dobu byla. Poslední sprint se konal v roce 2019 před PyConem v Ostravě. No a tak stačilo, aby se pár zájemců ozvalo, a z myšlenky se začal tvořit plán.

+

V kalendáři jsme našli věc vzácnou jako kvalitní dokumentace – volný víkend – a plánování mohlo začít. Nejdříve je třeba zjistit zájem. Dům je sice relativně velký, ale místa a matrací není neomezeně. Neznamená to, že bychom omezovali počet účastníků, ale kdo se registruje později bude muset počítat s menším komfortem nebo třeba se stanem na zahradě. Proto je lepší dělat sprint za hezkého počasí nebo si sehnat dostatečně velké prostory. Naštěstí si někteří myslí, že Frýdek-Místek už je východní Ukrajina a tak se nám ještě nestalo, že bychom se nevešli.

+

Mezi zájemci o sprint mohou být i cizí lidé, a proto je třeba detaily dobře komunikovat. Máme doma taková a maková zvířata, přespat se u nás dát tak či onak, a doprava je možná těmito X způsoby. To jsou všechno vlastnosti, které rozhodují o tom, kdo bude ochoten se sprintu zúčastnit. U nás je např. třeba počítat se psem vycvičeným k tulení. Obráceně je také nezbytné zjistit něco málo o účastnících. Kdo má jaké možnosti dopravy a plány se na místo dostat. Dietní omezení se pak snadno řeší společným nákupem. Vše popsané se dá jednoduše oboustranně komunikovat jedním Google dokumentem, či tabulkou.

+

Jak se přiblížil den D, bylo třeba skočit na nákup a sehnat vše, co by mohli účastníci potřebovat k přežití. Protože některé věci jsem v životě nekupoval, jezdil jsem po obchodním domě chvílemi dokola jako pilot NASCAR, ale nakonec se povedlo vše sehnat. Náklady na sprint u nás nepadají na bedra hosta, ale buď se sežene sponzor, nebo máme možnost požádat o grant naši neziskovku Pyvec.

+

S menšími či většími potížemi se všichni zvládli dostat na místo. Někomu stačila rada z oblasti místopisu, jiný potřeboval vyzvednout na nádraží. Ať tak nebo tak, v pátek odpoledne už jsme všichni byli bezpečně na místě. Proběhla nezbytná prohlídka domu, rychlá instruktáž (tady spíte, tady je toaleta, tady je jídlo, heslo na wifi, …) a mohli jsme začít debatovat. Pátek byl pro většinu pracovní den, a tak se k počítačům nikomu nechtělo. Navíc v konkurenci venkovního táboráku.

+

To hlavní se dělo v sobotu. Ráno snídaně v loveckém stylu – ulov si co chceš – a pak hurá do práce. Kdo neměl úkoly vymyšlené, tomu byly přiděleny. Můj hlavní úkol byl udržet pracující v maximální pohodě. Jídlo, pití, elektřina, připojení k internetu, zobání, canisterapie, objednávka oběda, hudba, plánování večera, nákup potravin a tak dále. Moc jsem toho na počítači neudělal, ale staral jsem se o to, aby toho hodně udělali jiní. Chvílemi se intenzivně programovalo, pak diskutovalo a plánovalo, a i v relativně malém počtu lidí se sloupec Done na našem kanban boardu plnil velmi rychle.

+

Odpolední pracovní nasazení přešlo volně k večernímu posezení u táboráku, opékání buřtů, grilování sýrů a diskusím na různá témata.

+

V neděli se někteří museli vydat na cestu k domovu časně ráno, takže jsem jim pomohl se dopravit na vlak. Něco málo se ještě stihlo udělat, či alespoň připravit, a mým hlavním úkolem bylo zajistit snídani, úklid a následně všechny bezpečně dopravit na vlak.

+

Povedlo se! Co se na začátku zdálo jako stres a spousta práce, nakonec uteklo jako voda, a na konci sice bylo unavené tělo, ale velmi spokojená duše.

+

A pokud tě zajímá, co všecho jsme udělali a odkud se účastníci sjeli, přečti si Anežčin report ze sprintu.

+
+ +
+ +
+

+ Lumír Balhar + + · @lumirbalhar +

+
+
+
+ +
+
+
+

Lumír pracuje jako senior software inženýr a ve volném čase organizuje komunitní srazy, kurzy a workshopy, vyučuje první pomoc a dělá dobrovolného hasiče.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/ostravske-pyvo-co-ted-a-co-potom.html b/ostravske-pyvo-co-ted-a-co-potom.html new file mode 100644 index 0000000..581a437 --- /dev/null +++ b/ostravske-pyvo-co-ted-a-co-potom.html @@ -0,0 +1,171 @@ + + + + + + + + Ostravské Pyvo – co teď? A co potom? - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

Ostravské Pyvo – co teď? A co potom?

+

+ +
+ Lumír Balhar +

+
+ +
+

tl; dr#

+

Mysleli jsme si, že o Python na Ostravsku lidi nestojí, ale enormní zájem o první +začátečnický kurz ostravských PyLadies +nás vyvedl z omylu, a proto jsme se rozhodli se na následujících Pyvech +věnovat hlavně začátečníkům.

+

Malinko historie#

+

Ostravské Pyvo oslaví za nedlouho tři roky své existence a za tu dobu jsme toho zažili vcelku hodně, +poznali spoustu nových lidí, našli si novou lepší práci a naučili se jeden od druhého spoustu nového. Pyvo nám sem +přivezli Honza Javorek s Petrem Viktorinem, kteří uspořádali jeho první vydání, na kterém jsme se +seznámili a já – nadšen touto myšlenkou – jsem od nich organizaci převzal.

+

Ze začátku to nebylo moc složité, protože o podobnou akci byl vcelku zájem a nám se dařilo každé vydání +naplnit zajímavým obsahem, který jsme nejčastěji tvořili sami. Taková strategie ale nejde udržet +věčně a dříve nebo později zkrátka dojdou nápady. Nepomohly nám ani ankety, kde bylo možno o tématech hlasovat, +motivace prezentujících, ani letáčky na univerzitách. Bohužel návštěvníci Pyv byli z větší části spíše +konzumenti než aktivní přispěvatelé, a tak se spolu s volnějším programem scházelo čím dál méně lidí.

+

Trocha současnosti#

+

V současné chvíli se srazy konají v komorní atmosféře a jejich obsah je spíše diskuzní než přednáškový, což +jim ovšem v žádném případě neubírá na atraktivitě. Myslím si, že kdokoli na podobnou akci zavítal, ví, +že se není čeho bát a představit svůj projekt, povědět něco o nově získaných znalostech nebo se +poradit o řešení problému může být jen a pouze přínosné pro všechny. Přičemž to v žádném případě nemusí +být omezeno pouze na Python a věci s ním přímo související.

+

Nicméně ani prezentace Pyva coby diskusního setkání nám žádný velký nárůst návštěvnosti nepřinesla.

+

Takže co? Pravděpodobně u nás není o Python zájem.

+

Pak jsme se ale společně s několika slečnami rozhodli uspořádat první ostravské PyLadies +a za deset dní se nám registrovalo přes 40 (!) účastnic. To je zvláštní. Na Pyvech se +zdá, že Python u nás nikoho nezajímá, ale když otevřeme kurz pro úplné +začátečnice, je naplněn ještě dříve, než se registrace začnou propagovat veřejně.

+

Takže co dál?#

+

Výše zmíněné indicie nám naznačují, že zájem o programování by byl, ale aktuální +ani předešlé schéma Pyv asi není pro příchozí vhodné. Proto jsme se rozhodli, že následující Pyva uděláme +na míru pro začátečníky, kteří o programování zavadili zatím jen ve sci-fi literatuře. Obsah bude také +vhodný pro PyLadies, na které se v současném běhu kurzu z kapacitních důvodů nedostane.

+

Máte potíže s instalací Pythonu? Chcete napsat svůj první program? Lámete si hlavu s nějakým problémem? +Vezměte notebook pod paži, do každé kapsy dobrou náladu a dorazte.

+

Nyní už nestojí nic v cestě ani naprostým začátečníkům, kteří na srazech najdou nejen obsah přesně +pro sebe, ale v začátcích se tam také mohou chodit radit a zlepšovat své znalosti díky spolupráci +s komunitou.

+

Dost váhání, prostě dorazte, startujeme první středu v říjnu.

+

Sledovat nás můžete všude možně.

+
+
+ +
+ +
+

+ Lumír Balhar + + · @lumirbalhar +

+
+
+
+ +
+
+
+

Lumír - Dříve správce superpočítačů, nyní SW inženýr v Red Hatu, organizátor Pyva a PyLadies v razovitem regionu, hasič, motorkář, bubeník ...

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/prague-python-pizza.html b/prague-python-pizza.html new file mode 100644 index 0000000..8eab0d2 --- /dev/null +++ b/prague-python-pizza.html @@ -0,0 +1,160 @@ + + + + + + + + Prague Python Pizza has Arrived to Prague - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

Prague Python Pizza has Arrived to Prague

+

+ +
+ Mia Bajic +

+
+ +
+

Python Pizza, an event that unites Python enthusiasts and pizza lovers, started its journey in Italy, the birthplace of pizza. After making its way through many cities, it has finally arrived in Prague. +This marks the very first time this unique gathering has taken place here, offering our community a fantastic chance to connect, share knowledge, and eat some delicious pizza!

+

pizza +tshirt

+

Talks#

+

We had a total of 22 speakers, with 6 being first-time presenters. Our schedule included two keynotes, each 30 minutes long, while the other talks were kept to 10 minutes. The concept of short talks aims to expand knowledge and keep the audience engaged without losing focus or attention.

+

bilge +lukasz

+

Attendees#

+

We wanted to keep prices as low as possible to make the event accessible, so the price for an on-site ticket was a symbolic 300 CZK or 12 EUR. +The venue had a maximum capacity of 100 people, so we sold 70 tickets, and we had 22 speakers + 5 organizers and 2 volunteers. Around 85 people in total checked in at the venue. The question about where people come from was optional, and out of the people who replied, around 75% came from the Czech Republic and 25% from abroad. A significant number of attendees are from Krakow, Poland. +We tried promoting the event in different social circles and reaching out to a diverse audience. We gave free tickets to PyLadies and CyberLadies, non-profit organizations supporting underrepresented groups in IT. +Remote tickets were for free, and we sold an equal amount of remote tickets - 100.

+

karolina +miro

+

Code of Conduct Report#

+

We set up a code of conduct and had organizers ready to jump in if needed. We’re happy to report that no code of conduct incidents appeared.

+

Feedback#

+

We conducted a survey among all attendees to gather their opinions on the event. We're very pleased to report that we received 35 responses in total, which represents half of the attendees filling in the form. +Approximately 85.7% of respondents rated the event with the highest score of 4 points - "I loved it," while the remaining 14.3% awarded it 3 points. This indicates that all surveyed attendees enjoyed the event.

+
how-did-you-like
+

Regarding the program and talks, 62.9% of attendees gave the highest rating of 4 points ("The program was great"), 34.3% gave it 3 points, and only one person rated it with two points.

+
how-did-you-enjoy
+

About 91.4% of respondents expressed they would definitely consider attending again, with a small 8.6% indicating a 'maybe'.

+
would-you-attend
+

Some feedback suggested the need for a larger venue. We recognize the venue's size limitations but we chose a smaller space for this initial run of Python Pizza in Prague, as we were uncertain about the expected number of attendees. Bigger venues are commercial and more expensive, and we aimed to keep the ticket price as low as possible. +At the same time, many surveyed attendees mentioned that they really liked the venue for its beauty and central location. +We're also very pleased that two people mentioned feeling safe - we aimed to make the event inclusive for underrepresented groups in computing.

+

The opportunity given to less experienced speakers was also highlighted. We're glad to hear this, considering the format of 10-minute-long talks is challenging for beginners, and the content was mostly advanced. +Other positive comments focused on the sense of community, relaxed atmosphere, social events, and interactions with speakers.

+

everyone +afterparty

+

Stream URL#

+

If you'd like to watch the event online, check out the stream recording.

+
+ +
+ +
+

+ Mia Bajic + +

+
+
+
+ +
+
+
+

Tento blog píše česká komunita kolem programovacího jazyka Python. +I ty sem můžeš napsat článek! Chceš oznámit nějakou akci, zamyslet se nad budoucností +srazů nebo sepsat, co se ti líbilo na konferenci? +Stačí postupovat podle návodu.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/proc-pomahat-holkam-do-it.html b/proc-pomahat-holkam-do-it.html new file mode 100644 index 0000000..27dd290 --- /dev/null +++ b/proc-pomahat-holkam-do-it.html @@ -0,0 +1,127 @@ + + + + + + + + Proč pomáhat holkám do IT - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

Proč pomáhat holkám do IT

+

+ +
+ Honza Javorek +

+
+ +
+

Pomáhám při organizaci Django Girls v Praze. Jak už to tak u mě bývá, dělám hlavně maskota a snažím se akci propagovat na sociálních sítích a podobně.

+

Django Girls jsou jednodenní workshop pro dámy, na kterém se mohou zadarmo naučit úplné základy programování a udělat si svou první webovou stránku v Djangu, resp. v programovacím jazyce Python. Je to koncept převzatý ze zahraničí, všechno je připravené a nachystané, existují manuály i pro organizátory, takže proto pro nás bylo jednodušší se pustit do něčeho takového, než něco stavět na koleně. A i tak je to dost velká fuška!

+

Tento článek je z dob kdy blog.python.cz ještě neexistoval a původně vyšel na Honzově blogu. Můžete si ho dočíst tam!

+
+ +
+ +
+

+ Honza Javorek + + · @honzajavorek +

+
+
+
+ +
+
+
+

Honza je programátor. Od roku 2011 buduje českou komunitu kolem jazyka Python. V současnosti pomáhá hlavně s propagací aktivit, jako jsou PyLadies, Pyvo, nebo PyCon CZ. Přes den jej najdete v Apiary, kde se stará o Dredd, framework na testování API. Občas taky radí lidem jak mají API dělat a přednáší o tom na konferencích.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/proc-prekladat-clanky.html b/proc-prekladat-clanky.html new file mode 100644 index 0000000..c6ac185 --- /dev/null +++ b/proc-prekladat-clanky.html @@ -0,0 +1,131 @@ + + + + + + + + Proč překládat články - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

Proč překládat články

+

+ +
+ Honza Javorek +

+
+ +
+

Před nedávnem jsem se rozhodl pro Zdroják přeložit článek Python FAQ: Webdev od Eeveeho. Výsledek dopadl nějak takto (druhý díl). Překlad měl celkem dost ohlasů a i počítadlo sdílení na Zdrojáku (které nevím jak funguje) hlásí 95 sdílení (a 35 sdílení druhého dílu), takže se to asi pár lidem líbilo.

+

Než jsem s dílem začal, položilo mi několik lidí následující otázku:

+
+

Proč se pouštět do překladu zahraničního článku, když je v angličtině a tu přece v IT umí každý?

+
+

Je to výborná otázka, protože v sobě skrývá pravdu, za kterou si stojím i já - v drtivé většině případů je překládání zahraničních odborných (!) článků opravdu nesmysl. I ten, kdo anglicky neumí nijak dobře, naučil se v ní většinou alespoň číst (má-li tedy se svou IT profesí nějaké vážnější úmysly). Totiž ani zahraniční programátoři nejsou žádní spisovatelé a běžný blogpost na IT téma je tak stejně většinou akorát gulášem z dvaceti provařených slovíček, předložek a výrazů všeobecně známého slangu (ať žije tůl a exepšna). Lepší autoři přimíchají citoslovce, ale ty už dávno známe z komixů i my, kteří je nečteme.

+

Tento článek je z dob kdy blog.python.cz ještě neexistoval a původně vyšel na Honzově blogu. Můžete si ho dočíst tam!

+
+ +
+ +
+

+ Honza Javorek + + · @honzajavorek +

+
+
+
+ +
+
+
+

Honza je programátor. Od roku 2011 buduje českou komunitu kolem jazyka Python. V současnosti pomáhá hlavně s propagací aktivit, jako jsou PyLadies, Pyvo, nebo PyCon CZ. Přes den jej najdete v Apiary, kde se stará o Dredd, framework na testování API. Občas taky radí lidem jak mají API dělat a přednáší o tom na konferencích.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/proc-proto.html b/proc-proto.html new file mode 100644 index 0000000..4f45a71 --- /dev/null +++ b/proc-proto.html @@ -0,0 +1,138 @@ + + + + + + + + Proč? Proto! - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

Proč? Proto!

+

+ +
+ Honza Javorek +

+
+ +
+

Před rokem a půl jsem napsal článek Proč Python? Je o tom, proč by si měl člověk vybrat Python jako svůj hlavní programovací jazyk. V textu naznačuji, že Python je jazyk jako každý jiný, a tak se na některé věci hodí víc, na některé míň, ale že bych si přál, aby se tím hlavním důvodem pro jeho výběr stala jeho skvělá, aktivní komunita.

+

Když máme ten konec roku, dovolím si tady trochu bilancovat a zhodnotit, jak se nám tato mise daří. Co se v roce 2015 událo?

+

Poznámka: řazení je chaotické

+
    +
  • +

    Konalo se celkem 33 lokálních srazů ve 3 městech (12 v Praze, 12 v Brně, 9 v Ostravě).

    +

    Věčnou slávu si zaslouží hlavně: Jirka Bartoň, Kubík Vysoký, Aleš Zoulek, Tomáš Ehrlich, já, Milan Kubík, Petr Viktorin, Laco Krčmárik, Lumír Balhar.

    +
  • +
  • +

    Na srazech se zprovoznila knihovnička, díky které můžou lidé prakticky po celé republice nabízet nebo si půjčovat knihy o Pythonu a přidružených technologiích.

    +

    Věčnou slávu si zaslouží hlavně Petr Viktorin.

    +
  • +
+

Tento článek je z dob kdy blog.python.cz ještě neexistoval a původně vyšel na Honzově blogu. Můžete si ho dočíst tam!

+
+ +
+ +
+

+ Honza Javorek + + · @honzajavorek +

+
+
+
+ +
+
+
+

Honza je programátor. Od roku 2011 buduje českou komunitu kolem jazyka Python. V současnosti pomáhá hlavně s propagací aktivit, jako jsou PyLadies, Pyvo, nebo PyCon CZ. Přes den jej najdete v Apiary, kde se stará o Dredd, framework na testování API. Občas taky radí lidem jak mají API dělat a přednáší o tom na konferencích.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/proc-python.html b/proc-python.html new file mode 100644 index 0000000..e569553 --- /dev/null +++ b/proc-python.html @@ -0,0 +1,128 @@ + + + + + + + + Proč Python? - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

Proč Python?

+

+ +
+ Honza Javorek +

+
+ +
+

Občas se mě někdo zeptá, proč vlastně "kopu za Python". Co že je na něm tak úžasného. Zkusím to nějak sepsat.

+

Můžete mít rádi svou zahradní sekačku, ale stejně ji nepoužijete, když budete potřebovat míchat těsto na bábovku nebo vrtat poličku. Ačkoliv můžeme polemizovat nad tím, že pokud je programovací jazyk Turing-complete, tak v něm lze teoreticky napsat cokoliv, asi se pragmaticky shodneme na tom, že s programovacími jazyky je to v něčem spíše jako s tou sekačkou a vrtačkou. Aplikace pro iOS je nejlepší psát v Objective-C, skriptování v prohlížeči se nejsnadněji dělá v JavaScriptu, ovladač k tiskárně se píše v C, atd.

+

Jenže pak máme ještě hromadu aplikací, kde to tak vyhraněné není, nebo je to minimálně sporné. Potom většinou nastupují emoce a sympatie. Řekněme třeba web. Web můžete udělat v PHP, Ruby, Pythonu, JavaScriptu/Node.js, Haskellu, ... Kvalita ekosystému, rychlost vývoje a podobné argumenty tady moc nehrají roli, protože když se to sečte a podtrhne, tak jsou ty technologie prostě srovnatelné. Áno, Node.js může být asynchronnější a rychlejší než třeba zrovna ten Python, ale zase si u něj nabijete čumák v něčem jiném - všechno má svá pro a proti. Ekonomicky je to prostě jedno - pokud tedy nebudeme uvažovat i to, jak je snadné najít na tu kterou technologii vývojáře, atd.

+

Tento článek je z dob kdy blog.python.cz ještě neexistoval a původně vyšel na Honzově blogu. Můžete si ho dočíst tam!

+
+ +
+ +
+

+ Honza Javorek + + · @honzajavorek +

+
+
+
+ +
+
+
+

Honza je programátor. Od roku 2011 buduje českou komunitu kolem jazyka Python. V současnosti pomáhá hlavně s propagací aktivit, jako jsou PyLadies, Pyvo, nebo PyCon CZ. Přes den jej najdete v Apiary, kde se stará o Dredd, framework na testování API. Občas taky radí lidem jak mají API dělat a přednáší o tom na konferencích.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/programatorem-za-365-dni-a-zadarmo-tak-urcite.html b/programatorem-za-365-dni-a-zadarmo-tak-urcite.html new file mode 100644 index 0000000..f724ff4 --- /dev/null +++ b/programatorem-za-365-dni-a-zadarmo-tak-urcite.html @@ -0,0 +1,157 @@ + + + + + + + + Programátorem za 365 dní a zadarmo? Tak určitě! - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

Programátorem za 365 dní a zadarmo? Tak určitě!

+

+ +
+ Honza Kovanda +

+
+ +
+

Být závislý na programátorech? To nechceš. Kdo má stejnou zkušenost s vlastním byznysovým projektem jako já, tak ví, že vývojářům musíte neustále sypat hromadu zlaťáků, a pokud je náhodou venku hezky, tak se termíny dodání jejich práce natahují úměrně k teplotě vody na koupalištích. Navíc jsem po 8 letech podnikání, kdy jsem se chtěl v důsledku krize nechat zaměstnat, zjistil, že pro zaměstnavatele nemá podnikatel téměř žádnou hodnotu. Podnikání je totiž takové abstraktní nic.

+

Na chvíli se tedy pozastavím, zauvažuji a říkám si: „Z pohledu ostatních lidí vlastně nic neumím a štve mě závislost na programátorech. Co s tím? - Už vím! Stanu se programátorem a začnu štvát ostatní lidi.“

+

Vyplatí se mi kvůli tomu vůbec vstávat z postele?#

+

Na pár dní jsem zasedl k vyhledávači a začal si oťukávat tuto oblast tak důkladně, jako slepec holí před eskalátorem. Jeden z prvních dotazů, na který mi musel Google dát odpověď, zněl: „kolik si vydělá programátor“. A že prej dobrý. Ale člověk se musí trochu ohánět.

+

To, že budu muset pracovat, abych se měl líp, mě zprvu trochu vyplašilo. Vydal jsem se proto ven mezi programátory, abych zjistil, jak se věci skutečně mají. Jestli mám i já šanci stát se programátorem navzdory tomu, že jsme se jako děti namísto hackování školní sítě na ulici s klukama řezali klackama po hlavě.

+

Míst, kde můžete potkat vývojáře ve skutečném světě, je překvapivě mnoho. Ať jsem šel na jakoukoliv networkingovou akci, vždy se tam našel alespoň jeden. A díky tomu, že jsem o programování začal mluvit, se najednou začali objevovat i v řadách mých známých, u kterých jsem do té doby nevěděl, co vlastně dělají za práci. Srazy typu Pyvo, kde se organizovaně shlukují, jsem samozřejmě vymetl taky.

+
Pyvo
+Autentická fotografie z mého prvního srazu Pyvo. Nerozuměl jsem tam tehdy nikomu a ničemu.
+

Zpovídám 2 a půl programátora týdně a objevuji junior.guru#

+

Během 3 měsíců jsem stihl mluvit s přibližně 30 vývojáři, kteří mi věnovali vždy alespoň hodinu svého času. Pecka! Tito lidé, freelanceři, zaměstnanci v korporátu a majitelé IT firem mi dali rady a rozmluvili mi naivní fantazie v mé hlavě, čímž mě raketově posunuli na mé cestě k tomu stát se milionářem. Upřímně si vážím jejich času a pomoci, kterou mi poskytli. Bůh jim žehnej!

+

Ty 3 měsíce jsem nechodil jen po hospodách. Popíjel jsem alkohol i doma. A jelikož jsem jako první z tipů kde začít dostal doporučení na stránku junior.guru, bylo to to první online místo, od kterého jsem se odpíchl. A musím říct, že mi tento web skutečně velmi pomohl. Úplnou náhodou jsem jen pár dní po objevení tohoto webu při sezení u stolu s kamarády (a kamarády mých kamarádů), narazil v pražské čajovně na zakladatele tohoto webu Honzu Javorka. Využil jsem situace a patřičně ho vyzpovídal na téma začátky programování. Vidíte, jak je důležité se o tomto tématu začít bavit před lidmi. Děkuji moc Honzovi za jeho čas, rady a zkušenosti se začátečníky. Bůh mu žehnej!

+

Junior.guru už mi blíže naservíroval podrobnější info a odkazy, kde se dá cvičit. Je to takový přehledný a velmi dobře zpracovaný rozcestník. Jedna z nejlepších stránek, na kterou mě přivedl, je naucse.python.cz Až mám skoro chuť všechno zapomenout a učit se to na tomto webu znova. Ten pocit, když se ti v okně poprvé rozjede želva, a po chvilce zahne o 90° doleva, už nikdy víc nezažiju :(

+

Už jsem programátor? … a teď?#

+

Po čtvrt roce učení se základům a neustálého dotazování se Googlu: „za jak dlouho se stanu programátorem“, jsem se pustil do dvou odvážných věcí, přičemž jedna z nich byla naprosto naivní. Začal jsem se učit Django framework pro vývoj webových aplikací, a to zejména proto, že jsem chtěl napsat aplikaci pro mou vlastní firmu Toptrika. Přesněji e-shop, který bude z větší části interním informačním systémem, který nám bude řídit výrobu ve firmě. Ano, přesně tu samou aplikaci, kterou už mi naprogramovala jistá firma. Ale já byl s výsledkem jejich práce nespokojen a z ceny vývoje diplomaticky řečeno překvapen. Mým cílem se tedy stalo napsat to znovu a lépe.

+

A teď ta druhá věc. Ze všemožných příběhů lidí, které jsem našel pod dotazem: „za jak dlouho se stanu programátorem“ jsem vyčetl, že je možné najít si job v nejlepším případě už za 3 měsíce. Paráda. Jdu tedy s kůží na trh, kde už netrpělivě čekají, až mi za můj 12 týdenní skill a schopnost otočit želvu doleva utrhaj ruce. Tušíte, jak to dopadlo?

+

I když věřím, že dnes, po roce intenzivního psaní kódu, už by mě ti samí lidé pravděpodobně přijali, tak tenkrát to bylo ještě příliš brzy. Domnívám se, že problémem nebyl ani tak nedostatek zkušeností, ale spíš to, že si dotyční nebyli jisti, zda u programování dlouhodobě vydržím, a jestli tak má cenu do mě investovat čas a zaučit mě.

+

Vyvinul jsem aplikaci pro moji firmu Toptrika.cz#

+

Nevadí. Já si poradím sám. Jsem samostatný. Ostatně byl jsem to já, kdo si ve školce jako první dokázal zavázat tkaničky bez pomoci úči. A tak nakupuji velkou zásobu mražených hranolek a na následujících 5 měsíců se zavírám před okolním světem. Po 5 měsících vylézám s hotovou aplikací a se zvýšeným množstvím podkožního tuku a rizikem srdečních chorob. Dokázal jsem to!

+
Košťata musela ustoupit
+Košťata musela ustoupit a na téměř půl roku jsem vládl v naší komoře já (a zavírám se tam před ženou dodnes).
+

Konečně mám hotovou aplikaci, za kterou jsem původně vyhodil oknem tolik peněz, že byste za to dojeli vlakem 2.500 krát z Prahy do Brna a zpět, a nebo koupili 16.700 pytlíků kečupových POM-BÄR. Konečně je má aplikace taková, jakou jsem ji vždy potřeboval a toužil mít. Konečně mohu okamžitě reagovat na požadavky zákazníků a provádět změny, a to zadarmo, jen za můj vlastní čas. Představuji vám eshop.toptrika.cz. Na oko jednoduchý, uvnitř však důmyslný systém :) Jelikož ale tiskneme trička převážně na různé akce, tak v současné době svádíme těžký boj s covidem a vypadá to, že možná budeme muset zavřít krám :(

+
Papírky
+Při vývoji aplikace jsem si oblíbil pravěkou metodu řízení projektů, tj. psát chaoticky úkoly na papírky.
+

Práce si našla mě#

+

Ačkoliv jsem se zrovna v tomto období, 8 měsíců od napsání prvního řádku kódu, do práce nijak nehrnul (byl jsem totiž dost zabraný do své aplikace), oslovil mě inzerát na Facebookové stránce Pyonieri - Python SR & ČR od malé firmy CreatiWeb. A to zejména tím, že hledali juniorního programátora jen na 2 dny v týdnu. To je velmi vzácné. Vždy jsem se totiž setkával jen s tím, že začátečníky brali pouze na full-time nebo vůbec.

+

Okamžitě odepisuji na inzerát, okamžitě jdu na pohovor a okamžitě jsem přijat. Dobrý dost! Ukázal jsem jim kód své aplikace Toptrika, ze kterého bylo patrné, že už jsem toho naprogramoval dost na to, než abych od programování zbaběle utekl. Dnes jsou tomu už 4 měsíce co ve firmě CreatiWeb pomáhám psát e-shop, a pod vedením dvou seniorních vývojářů se učím asi tak 10 krát rychleji než sám doma, a hlavně se učím psát kód kvalitně, což vás žádný tutorial na internetu nenaučí.

+

Co si myslím o programátorech dnes…#

+

Dnes už vím, že napsat pořádně aplikaci není hračka, protože jsem si to vyzkoušel na vlastní kůži. Získal jsem tím pokoru i respekt k programátorům a celé této profesi obecně. Takže až budete příště programátora kárat za to, proč mu změna toho blbého políčka trvala 6 hodin, dejte si bacha, aby vám jednu nelísknul.

+

I tak ale nemohu tvůrcům aplikace, kterou jsem si nechal vytvořit, odpustit určité věci. Programátor zřejmě napsal čistý kód (to si netroufám hodnotit ani teď), ale asi nikdy nenakupoval přes internet. Logika a funkčnost našeho e-shopu byla katastrofa.

+

Z toho plyne rčení: „Programátora raděj improvizovat nenech, sic na tom kalhoty tratit budeš.“ Vždy je nezbytné mít do puntíku přesné a opravdu velmi detailní zadání toho, co chcete vytvořit. Já měl zpracované celkem jasné zadání, ale netušil jsem, že je potřeba myslet doslova na každý puntík.

+

Moudro na závěr#

+

Uvidím, jak se bude moje cesta vyvíjet. Plány a cíle samozřejmě mám. Ale víte jak to v životě chodí, když si člověk něco plánuje. Pokud bych měl závěrem říci začátečníkům jen jedno slovo, vybrat to opravdu nejdůležitější a nejzásadnější - to, které je podle mne základním a hlavním předpokladem k tomu, abyste už za 365 dní seděli v křesle na pozici programátora, tak je to: VYTRVALOST. A to zejména během psaní samotného kódu. Je totiž úplně normální, že se třeba na 20 hodin zaseknete na jednom jediném místě a nevíte jak dál. A s tím se netrápí jen začátečník. I seniorní vývojáři se potýkají se záseky. O tom je vlastně celé programování. Vytrvale hledat způsoby a řešení, jak na to.

+

Přeji vám hodně štěstí a vytrvalosti na vaší cestě za první prací a ještě jednou velmi děkuji všem zkušeným vývojářům, kteří mi pomohli na té mojí cestě! Bůh ...

+

Pokud vás napadá nějaká otázka, klidně mi napište na kovandah@gmail.com nebo na LinkedIn, kde se dozvíte i o mých dalších aktivitách z oblasti podnikání.

+
+ +
+ +
+

+ Honza Kovanda + +

+
+
+
+ +
+
+
+

Už na střední škole založil firmu Toptrika.cz. Dnes mentoruje začínající podnikatele, přednáší a učí studenty na vysoké škole základy podnikání. Naučil se Python, aby si napsal aplikaci pro svou vlastní firmu. A natolik ho to chytlo, že u programování už zůstal.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/prosincove-prazske-pyvo.html b/prosincove-prazske-pyvo.html new file mode 100644 index 0000000..c327245 --- /dev/null +++ b/prosincove-prazske-pyvo.html @@ -0,0 +1,155 @@ + + + + + + + + Prosincové pražské Pyvo - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

Prosincové pražské Pyvo

+

+ +
+ Jakub Vysoký +

+
+ +
+

vcera byl treti ctvrtek v +mesici a ja misto toho, +abych se pobudil s bolavou hlavou po spouste piv, jsem se probudil s +hlavou nemocnou. to vite, takova zakerna rymicka a +teplutka jednoho skoli.

+

a stalo se to zrovna tak blbe, ze jsem to vanocni pyvo zmeskal. dost me +to mrzelo, protoze vanoce si delame takovy pekny, prineseme spoustu +hardwaru, ktery jsme si treba prali pod stromecek a bylo nam jasny, ze +nam ho nikdo nenadeli, tak jsme si ho pro jistotu objednali sami. at uz +na adafruit.com, dx.com, ci jinych vyprodejich.

+

v brne na vanocnim srazu maji podobnou tradici. takovy vanocni hw uklid. +kazdy prinese, co ma doma tak nejak navic a nevidi pro to v danou chvili +vyuziti a treba to za neco pekneho jineho vymeni. takovy bazar. nicmene +to jsme s alesem pro prahy zamitli, protoze my se rozhodne svych +kabliku, redukci, starych apecek, ci dokonce notebooku zbavovat nemuzeme +- nikdy nevite, kdy se neco z toho bude hodit.

+

ja jsem si objednal novy nexus, tak jsem ho chtel vzit, stopovat s nim +lightning talky, aby se mi uz vsichni nesmali, ze k tomu staremu +rozbitemu nosim porad externi klavesnici. pak jsem si v lidlu koupil +velice vyhodne zasuvky na dalkove +ovladani, ktere jsem sice jeste nestihl +rozpohybovat arduinem, ale rozhodne se na to chystam a v neposledni rade +jsem se tesil, ze prijede petr viktroin, kteremu jsem uz na poslednim +prazskem pyvu nadelil prave moji externi klavesnici pod podminkou, ze z +ni udela klavesnici bezdratovou...

+

nastesti mi martin bilek udelal +radost, +protoze nejen, ze na sraz prinesl kameru a vsechno to natocil, dokonce +uz hned druhy den videa nastrihal a ja se ted jdu podivat, jak to s tou +moji klavesnici dopadlo...

+

Tento článek je z dob kdy blog.python.cz ještě neexistoval a původně vyšel na Kubíkově GitHub blogu.

+
+ +
+ +
+

+ Jakub Vysoký + + · @kvbik +

+
+
+
+ +
+
+
+

Jakub má fousy, kola, startup a počítač. Je rád, když všechno funguje (backendy a devopsy) a v ničem se nemusí vrtat. To pak organizuje Pyva a věci okolo. Jako třeba akce ve své oblíbené domovině Roudnici nad Labem.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/pycon-cz-2017-changes-date-and-venue.html b/pycon-cz-2017-changes-date-and-venue.html new file mode 100644 index 0000000..e80f5c7 --- /dev/null +++ b/pycon-cz-2017-changes-date-and-venue.html @@ -0,0 +1,145 @@ + + + + + + + + PyCon CZ 2017 changes date and venue - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

PyCon CZ 2017 changes date and venue

+

+ +
+ Honza Javorek +

+
+ +
+

In the past month, the PyCon CZ conference became homeless. Because of some property issues, the venue we originally announced suddenly became unavailable for any events.

+

That has put our team into quite an unpleasant situation - instead of working hard on other tasks necessary for the conference to happen, we had to go back to the beginning and start looking for a new place. On a very tight schedule. After several weeks of contacting, visiting, and considering almost 50 venues, we're happy to present you with the replacement: MeetFactory!

+
MeetFactory from inside
+

MeetFactory is a non-profit international center for contemporary art founded in 2001 by the artist David Černý. It is in a very unique, industrial building in Prague's quarter Smíchov. It usually hosts music events, theatre, gallery exhibitions, and residential artists program.. You can walk through the whole space on Google Maps.

+
MeetFactory from outside
+

Unfortunately, with change of the venue, also the date had to change a bit. The bad news is, MeetFactory isn't available for us on Saturday 10th June, because they're hosting the Prague Museum Night. For that reason, we decided to move the conference from 9-11 June to 8-10 June. The new expected schedule is:

+
    +
  • Thursday 8th, MeetFactory - first conference day, talks
  • +
  • Friday 9th, MeetFactory - second conference day, talks
  • +
  • Saturday 10th, different venue - workshops & sprints
  • +
+

The good news is, while already being in Prague for PyCon CZ, you can attend the Prague Museum Night! It is a night during which 80+ Prague's museums, galleries, and other cultural institutions are open for free, often with rich accompanying program. Also, you can save Sunday for travelling home without missing workshops.

+
Prague Museum Night
+Source: Prague Museum Night's Official Photogallery
+

We understand this whole thing may cause a lot of inconvenience for you. We worked really hard to resolve the issue as soon as possible, but it still took us significant time. We didn't want to give up the idea about an extraordinary venue with artistic soul instead of university lecture rooms.

+

We may have failed to communicate the uncertainity early enough to prevent you from booking flights or accommodation. On the other hand, originally, we did not expect to shift the date. If you get into some serious trouble because of the changes, please let us know and we'll try to find a way to help you rearrange.

+
we're sorry
+

Many of you were asking for tickets, but they were still unavailable. As you can now imagine, we couldn't let you buy anything before we had the most important conference details secured. Now when everything is finally sorted, nothing is preventing us to start selling! Quick, maybe you can still catch an early bird price!

+

At this moment we're busy with selecting talks and workshops from the public Call for Papers. Soon we are going to present you with a full program. I can assure you already that there are some amazing pieces waiting for you!

+

Looking forward to see you soon in 43 days, at MeetFactory.

+
+ +
+ +
+

+ Honza Javorek + + · @honzajavorek +

+
+
+
+ +
+
+
+

Honza volunteers in the PyCon CZ organization team. His responsibility is to promote the event on social media and to take care of "Public Relations" of the conference.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/pycon-cz-2017-conference-wrap-up-summary.html b/pycon-cz-2017-conference-wrap-up-summary.html new file mode 100644 index 0000000..2ce4d79 --- /dev/null +++ b/pycon-cz-2017-conference-wrap-up-summary.html @@ -0,0 +1,337 @@ + + + + + + + + PyCon CZ 2017 Conference Wrap-Up Summary - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

PyCon CZ 2017 Conference Wrap-Up Summary

+

+ +
+ Honza Javorek +

+
+ +
+

In June this year we held the third annual PyCon in the Czech Republic, for the first time held in Prague. We’d like to take this opportunity to wrap up the 2017 conference so we can kick things off for 2018!

+
Backyard chill out
+

Thank you!#

+

All the people who organized the PyCon CZ event are volunteers and worked on it in their free time. Big shout out to all the core team members as well as all other people who helped with preparation up front or on site. Big thanks to all the CfP submission authors, the invited and accepted speakers, all the attendees who joined us to make PyCon CZ the amazing event it was, the sponsors, and our hosts at both MeetFactory and the Faculty of Information Technology CTU in Prague. Two special thanks also go to:

+
    +
  • Pyvec – The formal backers of the PyCon CZ events and so many other Python events in the Czech Republic. Continuous activities of people around Pyvec, Czech PyLadies, and monthly Pyvo meetups are the lifeblood of the Czech Python community.
  • +
  • Python Software Foundation – They are the good people who take care of the ongoing development of the Python language and the global activities around it. The PSF sponsored PyCon CZ 2017, as it does many such events.
  • +
+

Community Organization#

+

To acknowledge the heroic achievements of the PyCon CZ founder Tomáš Ehrlich and to give him some time off after two restless years organizing the conference, we agreed on moving the event to Prague. Bára Drbohlavová volunteered to become the chair of the conference and a new organizing team started to form.

+

Today, we can say that the hand-over was successful and the Prague team is very well capable of organizing PyCon CZ events! Even though the team was forced by bad luck to change the date and venue at the last minute, at the end there was an amazing atmosphere and a cheerful feedback.

+

We did not manage to have dedicated mobile apps for the event as last year. On the other hand, we had a UX-aware DTP-capable frontend designer as part of the core team, which resulted in many improvements in the presentation of the conference, especially the usability of the website on mobile devices.

+
In front of MeetFactory
+In front of MeetFactory
+
Lumír Balhar speaking in the main room
+Lumír Balhar
+

Content Stats#

+
    +
  • 31 talks (4 keynotes), 30 speakers
  • +
  • 9 workshops
  • +
+

Ticket Stats#

+
    +
  • 361 tickets, 334 attendees (20% women)
  • +
  • 62% of tickets were paid
      +
    • 24% (39% of all paid) Self-funded (38% of them were Early Bird)
    • +
    • 22% (35% of all paid) Employer-funded (40% of them were Early Bird)
    • +
    • 15% (24% of all paid) Student/Teacher (49% of them were Early Bird)
    • +
    • 3 tickets for PyLadies
    • +
    +
  • +
  • 38% of tickets were free
      +
    • 11% went to sponsors
    • +
    • 11% for speakers and workshop leaders
    • +
    • 7% for Django Girls (of those 35% were coaches)
    • +
    • 4% for PyCon CZ organizers
    • +
    • 4 tickets were given away in raffles at meetups
    • +
    • 4 tickets as Financial Aid
    • +
    • 3 tickets for GymGeek
    • +
    • 4 tickets for PyCon PL and PyCon SK organizers
    • +
    +
  • +
  • 27 people did not come (4 Django Girls, 3 Django Girls coaches, 6 Early Bird student/teachers, 2 student/teachers, 5 self-funded, 3 employer-funded, 3 sponsors, 1 PyCon SK organizer)
  • +
+
Audience
+

Feedback#

+

We carried out a feedback survey during and after the event. We’ve got 39 responses in total.

+
    +
  • Have you been satisfied with PyCon CZ 2017? 94.9% said yes!
  • +
  • I came to PyCon CZ to/because...
      +
    • 53.8% – networking and meeting people
    • +
    • 51.3% – talks and learning about Python
    • +
    +
  • +
  • Which talk did you enjoy the most?
      +
    1. 12.8% – Naomi Ceder (What lies ahead? Python’s future strengths and challenges) and Lilly Ryan (any of the two talks)
    2. +
    3. 10.3% – Lumír Balhar & Petr Viktorin (How we started teaching Python)
    4. +
    5. 7.7% – Kateřina Falk (Science with the world’s biggest lasers)
    6. +
    +
  • +
  • What were the top 3 things you most enjoyed at the event this year?
      +
    • 41.0% – community / people
    • +
    • 35.9% – venue / building / location
    • +
    • 25.6% – talks
    • +
    • 25.6% – atmosphere
    • +
    • 15.4% – coffee
    • +
    +
  • +
  • What were the bottom 3 things we could have done better?
      +
    • 20.5% – food
    • +
    • 20.5% – Wi-Fi
    • +
    • 12.8% – rooms, chairs
    • +
    • 12.8% – afterparty
    • +
    • 7.7% – venue / building / location
    • +
    +
  • +
  • Where did you travel from?
      +
    • 38.5% – Prague, Czech Republic
    • +
    • 7.7% – Brno, Czech Republic
    • +
    • 7.7% – Poland
    • +
    • 5.1% – not far from Prague, Czech Republic
    • +
    • 5.1% – Bratislava, Slovakia
    • +
    • 5.1% – other places, Czech Republic
    • +
    +
  • +
+
People during breaks
+

Videos & Photos#

+

This was the first time we managed to have a live stream from the event. The stream covered both days of the conference talks and both rooms. Thanks to the fact that the Q&A was running on Slido, not only people in the rooms, but also anyone watching the stream could ask questions. The stream recordings are still available on YouTube:

+ +

Special thanks go to Peter Hozák who voluntarily posted a comment with time anchors under each of the videos, so soon after the conference anyone could easily scan the recordings to watch what they like.

+

Post-processed videos of individual talks are available on YouTube as well. Each talk page was updated with the video embedded right under the talk description.

+

An official selection of photos from the event is available on Google Photos.

+

Video Stats#

+

The videos of talks were uploaded by the end of August. The numbers below were collected on 1 Oct 2017, that means after one month from publishing.

+ +
Why is formatting an issue?
+Sebastian Hillig
+

Socially Responsible Catering#

+

Catering (except of coffee, which was prepared by Kofárna) was provided by coffee shop & bakery Slunce, which employs people with disabilities. The activities of Slunce are formally backed by the Sun for Everyone Endowment Fund (Czech).

+

Diversity#

+

We’ve put effort into making the conference as welcoming as possible. We had a Code of Conduct in place and we were reaching out to specific communities which are usually underrepresented in technical conferences.

+

The women/men ratio of the organizing team was roughly 50:50. After moving the conference from Brno to Prague, the Prague PyLadies course graduate Bára Drbohlavová volunteered to become the chair of the conference. The PyLadies of Prague, Brno and Ostrava were invited to attend with a discount equal to the student/teacher ticket fare.

+

Zuzka Válková, a long-time Prague PyLadies course organizer, joined our team to hold the Django Girls workshop together with the conference. All Django Girls participants received a free ticket for the conference.

+

Vojtěch Polášek, author of the Blind attendee about PyCon CZ 2016 blog post, came to the conference again this year. His own report follows:

+
+

After I had attended PyCon CZ last year, I decided to repeat it as soon as possible. And therefore I arrived in Prague in June to see what's new with Python and to meet old and new friends. Unfortunately, I was able to attend only on Friday so I missed the workshops.

+

This year, I didn't manage to find anyone to assist me throughout the conference so I decided to go alone. But time showed that I wouldn't be alone at all. There was literally almost not a single minute when I would feel abandoned at this place. There was always someone around to help me or to talk to me. Whenever I am surrounded by such people, it leaves a long lasting positive feeling in me and PyCon CZ 2017 wasn't an exception.

+

Talks were very interesting and mostly accessible. I guess that speakers probably read my short post from previous PyCon CZ, where I suggested some improvements concerning the accessibility of talks. Also this year PyCon CZ was hosted in a somewhat smaller building. I understand that it could be a bit unconfortable but on the other hand after several hours I was able to navigate through the building almost without asistance.

+

During the conference I decided to give a lightning talk at the end, where I demonstrated very shortly how I can use the computer. I did that because the Linux screenreader Orca is written in Python. Thank you for giving me such opportunity to show that and I hope that it could attract someone who would like to focus their Python skills in this way. +Finally, I would like to thank Red Hat for providing me with a free ticket. My thanks also go to Chris Ward who tried to help me as much as possible throughout the whole conference.

+

I am looking forward to visiting PyCon CZ next year as well and to finally attend some workshops.

+
+
Kareřina Falk
+Kateřina Falk
+

Diversity Stats#

+

The selection process for talks and workshops did not take gender into consideration.

+
    +
  • Speakers: 71% men, 29% women, 3% non-binary
  • +
  • Workshops leaders: 89% men, 11% women
  • +
  • All attendees: 80% men, 20% women, 0.3% non-binary
  • +
+

From the detailed analysis of the data we have it seems that women tend to buy cheaper tickets than men, probably mostly because in the context of the Czech Python community they’re often beginners as well, without technology being their full-time day job. The data shows that the ticket price is important for achieving inclusivity. Without the discounts aimed towards women (Django Girls, PyLadies) and without the Financial Aid we would see much fewer women attending the conference.

+

Workshops aimed at beginners (testing, robots, programming for kids, Django Girls) significantly raised the number of women as well.

+

In the past years, the Czech Python community has made a big leap towards attracting both women and beginners into tech. We think the attendance of women and beginners at PyCon CZ is significantly influenced by the day-to-day work of all who put in the effort, primarily everyone around the activites of PyLadies. We hope to become an inspiration for other Czech tech communities and events.

+

What Could Have Been Done#

+
    +
  • Given the fact that we’re a developer-focused conference in the Czech Republic, 20% of women audience is a good number, but in the following years we would like to find and remove as many remaining obstacles for women to attend as possible and to achieve even higher numbers. Experience from abroad shows there’s still a margin.
  • +
  • Because of last minute changes of the venue, both of the main conference days happened during working days. According to reports, such choice isn’t exactly the best for attracting beginners, who often don’t have a job related to technology or as flexible as is common among Python professionals.
  • +
  • For the same reason, the Django Girls workshop had to be on Sunday, after the whole conference. That’s why many attendees of the workshop did not come to the conference, although they were given a free ticket.
  • +
  • We did not manage to pursue more partnerships. E.g. last year we invited VODICÍ PES.
  • +
+
Armin Ronacher
+Armin Ronacher
+

Code of Conduct Report#

+

The organization team agrees that all PyCon events should be accessible and welcoming to everyone, regardless of their background. We agree that a clear and specific Code of Conduct is a necessity for any event.

+
    +
  • The Code of Conduct was based on Conference anti-harassment policy from Geek feminism wiki and edited to be as specific to our event as possible.
  • +
  • Agreeing to the Code was mandatory when buying a ticket.
  • +
  • Two contact persons (male and female) were assigned.
  • +
  • Attendees were reminded of the Code in the opening speech of each day.
  • +
+

What Could Have Been Done#

+
    +
  • Summary of the Code in both languages was not posted around the venue.
  • +
  • Phone numbers of the contact persons were not posted around the venue.
  • +
  • There was no easy way to report an incident other than to write an e-mail or to talk to the CoC contact person.
  • +
  • Czech language version of the Code was not accessible on the website.
  • +
+
Coding during talks
+

Budget#

+

In the spirit of open source and transparency, we’re happy to share a summary of our budget (all numbers are thousands of Czech Koruna, CZK).

+

Income#

+
    +
  • Sponsorship: 690
  • +
  • Ticket sales: 400
  • +
  • Total: 1090
  • +
+

Expenses#

+
    +
  • Venue: 215
  • +
  • Catering: 187
  • +
  • Robot workshop: 9
  • +
  • Conference party (food + drinks): 41
  • +
  • Financial aid (incl. keynote speakers): 130
  • +
  • Photo/video recording & editing: 97
  • +
  • Swag, lanyards: 29
  • +
  • On-site fun (DJ, games): 21
  • +
  • Stationery, roll-ups: 18
  • +
  • Various other: 46
  • +
  • Total: 793
  • +
+

Conclusion#

+

We ended with a positive balance of close to 297 500 CZK. That’s because the conference moved from Brno to Prague and the organization team also changed, so we were very defensive about our estimates and spending. All the surplus funds will be available at Pyvec’s transparent account as support funds to any Python-related activities in the country, and the rest is going to be applied to the next year’s event budget.

+

In the past, Pyvec had only limited funds to reimburse community expenses such as stickers, community sprints, workshop/meetup equipment, open source educational materials, and more. Thanks to PyCon CZ 2017 surplus funds, the support budget is now much larger, which can be a significant help to the development of the Czech community.

+

Should funding prevent you from organizing a Python-related event, or should you miss any equipment needed to promote Python, please let us know at info@pyvec.org. The funds are a great opportunity for the Czech community to thrive – which means not only more beginners, but also a healthier job market.

+
Robot workshop buzz
+Robot workshop
+

2018#

+

Now, on planning PyCon CZ 2018. For the next year, the conference stays in Prague. Neither the approximate date should change, so count with early summer. You can join the organizing team, or just keep track of our progress via our different channels:

+ +

Send an email to info@pycon.cz if you’d like to request an invite to join our PyCon CZ planning channel on Slack (it can also be used through IRC).

+

See you in 2018!

+
Always look on the bright side of life
+Closing ceremony
+
+ +
+ +
+

+ Honza Javorek + + · @honzajavorek +

+
+
+
+ +
+
+
+

Honza is a software engineer. Since 2011, he has been helping to develop the Czech Python user group. He works at Apiary as a maintainer of Dredd, an open source tool for testing web APIs.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/pycon-cz-23-wrap-up-and-summary-how-did-we-do.html b/pycon-cz-23-wrap-up-and-summary-how-did-we-do.html new file mode 100644 index 0000000..6d0f34a --- /dev/null +++ b/pycon-cz-23-wrap-up-and-summary-how-did-we-do.html @@ -0,0 +1,296 @@ + + + + + + + + PyCon CZ 23 wrap-up and summary: How did we do? - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

PyCon CZ 23 wrap-up and summary: How did we do?

+

+ +
+ Bára Drbohlavová +

+
+ +
+

After four long years, PyCon CZ, the Czech Python community conference, was held on September 15–17, 2023 in Prague. +We hope you enjoyed the sessions, made meaningful connections, and enjoyed all the geeky surprises we prepared for you! +Scroll down for tl;dr 🙂

+

Restart of the Community#

+

At the heart of our conference is the community – PyCon CZ is created by the community, for the community. Due to Covid, we suffered a 4-year-long break so this year it was all about restarting: the community, the event, the momentum, and reigniting the passion that binds us together.

+

Organiser team#

+

Our team consisted both of people based in the Czech Republic and abroad so most of our communication was online and asynchronous. Just like at each PyCon CZ since 2015, we are all volunteers who have dedicated several months of spare time to prepare the event.

+
selfie with volunteers
+

Volunteer team meeting on the first morning

+

Core team members took on the usual task areas: finding and contracting the venue, AV services, catering, bringing in furniture and equipment (over 1,000 chairs, tables and other items!), writing the call for presentations, preparing the submission system, going through the applications and selecting speakers, creating a balanced programme, taking care of the ticketing system, managing social networks, writing and replying to emails, acquiring sponsors and communicating with them clearly, managing speakers, deciding on financial aid, selecting the best coffee provider, supplying internet at the venue, creating beautiful designs, deciding on t-shirt brand and quality, watching the budget closely, finding MCs and volunteers, keeping an eye on the deadlines and ~~pushing~~ motivating people to finish their tasks on time…

+
bringing in furniture
+

Bringing in the furniture

+

Results#

+

Goals#

+

Since this year's event was supposed to be a comeback after the pause, our goal was to make the conference the biggest PyCon CZ ever. That is, attract more attendees and offer more content than in previous years. Therefore, we aimed at running at least 3 tracks of talks and welcoming 600 attendees. Another big goal was to attract many beginners and people who have just recently started working in IT.

+

Content#

+

The agenda was distributed the same way as in previous years: two days of talks (Friday and Saturday) and one day of workshops (Sunday). This gave us enough space to focus the session tracks on specific topics. One track was focused solely on data, as it is a popular area in Python programming. The second track contained general topics or talks suitable for programmers on any level. The third track offered talks for beginners – and we had so much content for them that the sessions ran in two rooms! +Workshops ran in 9 rooms so they offered 240 seats in the morning and 200 in the afternoon, but we still couldn't satisfy everyone interested in joining them. Next time, we will need many more! And it's great to see so many people eager to learn new things. +Regarding the agenda, the conference offered:

+
    +
  • 4 keynotes
  • +
  • 45 talks by 46 speakers and 17 workshops by 27 tutors
  • +
  • 2 panel discussions with 9 panel members
  • +
  • a moderated group discussion for juniors
  • +
  • 2 social events: a board game night on Friday and the afterparty on Saturday
  • +
  • a lounge with retro games and 3D printers, and an on-site treasure hunt
  • +
  • speakers' dinner on Thursday (for speakers, organisers, VIP ticket holders and MCs)
  • +
+

Session topics ranged from very broad and general ones to deep dives. When we were selecting the content, we made sure that the topics won't repeat too much in the schedule. Obviously, some topics were more popular this year but we strove to cover a wider range of ideas and experience that the speakers offered to bring.

+
3D printers
+
3D printers
+

Retro games and 3D printers lounge

+
board game night
+

Board game night

+
music at the afterparty
+

Musical section at the afterparty

+

Tickets & registrations#

+

We offered tickets in several tiers. Regardless of the type of the ticket you had, you were able to access the same content and parts of the conference as anyone else. The tiers are there to allow us to create a balanced budget. Educational tickets, the most affordable option, were available to students, teachers, and attendees of PyLadies' courses. Company tickets were more expensive than the Individual tickets, allowing us to maintain a more affordable rate for people paying the ticket out of their own pocket. +Out of the 613 registered attendees, 599 (or 97.7%) attendees checked in at the conference. Those who have not arrived were equally split between the ticket tiers (disproving the idea that Company ticket holders are less likely to arrive because they didn't pay the ticket themselves).

+

Attendee diversity#

+

During the ticket purchase, attendees were asked several questions about their background. No questions were mandatory but each question was answered by at least two thirds of ticket buyers so the information is relevant. +Half (51.7%) attendees came from Prague, 31.3% came from the rest of the Czech Republic and 17% came from abroad. Most foreigners came from Poland (20 people), Germany (15) and Slovakia (10), the remaining 26 people came from Austria, the Netherlands, Hungary, Switzerland, India, Croatia, France, Ireland, USA, Japan, Finland, Spain, Bulgaria, Ukraine and Great Britain. +For most attendees (72.4%), this was their first PyCon CZ ever, while 10.6% have been to 3 or more Czech PyCons (remember that this was the 6th edition). +Regarding attendees' self-perceived level of skill in Python programming, 15.9% called themselves expert Pythonistas, 43.9% stated they have done some advanced stuff in Python, 29.4% have done a few things here and there, and 10.8% were beginners in Python.

+
pieces of advice
+

Junior Guru post-its, photo by Honza Javorek

+

And what did people come to the event for? Most obviously said that they were interested in professional and personal development, collaboration and free and open-source software. However, half attendees were also interested in ML/AI and data-related topics. About a third wanted to learn more about testing and debugging, web development, security, and system administration / DevOps / SRE. +Since we strove to keep the ticket registration form as short as possible, we only know about gender diversity from two sources:

+
    +
  • calculated from ticket registration names (25% were female names) and
  • +
  • feedback respondents (19% of attendees and 28% of speakers were female, and 1% of attendees and 1% of speakers were non-binary)
  • +
+

Regarding age, we only collected this data in the feedback form, which had a low response rate of 22%, so the following information might not represent all attendees of the conference. According to the feedback form, 35% of attendees were under 29 and 51% were in the 30–39 group.

+

Financial Aid#

+

PyCon CZ 23 offered to support people who would not otherwise be able to come to the event. This year, the financial aid was allocated as follows:

+
    +
  • Attendees: 12k CZK
  • +
  • Speakers: 41k CZK
  • +
+

For supported attendees, it means that we gave them a free ticket (9 times) and reimbursed their travel or accommodation costs (8 times). Speakers always receive a free ticket and usually their employers pay for the travel costs, but sometimes it wasn't the case and we were ready to cover such expenses (5 times).

+

Venue & accessibility#

+

This year we took extra care about accessibility issues because the venue was extremely tricky from this point of view – it is an old monastery, after all. For instance, the main entrance comprised a steep hill and two flights of stairs. Although there was an elevator in the building, the upstairs room was not exactly on the same level as the first floor so we had to set up a ramp on one flight of stairs. The toilets on the ground floor were renovated, but still not big enough for a wheelchair to fit in, so we ordered a special portapotty which was set up in the backyard. In the end, there was only one attendee with a wheelchair, but luckily they could use crutches to use the toilet.

+
Main room
+

This was the Main room, the biggest one, seating over 300 people

+
flights of stairs
+

If you kept switching the session tracks, you could get a pretty nice stair workout

+

One attendee informed us beforehand that they needed a quiet room (a sensory-neutral room) and to sit near the speakers, as they are hearing impaired. Therefore, we designated several of the tiny upstairs rooms in the further part of the building as “quiet rooms” and placed one chair or deck chair and a blanket in each of them. We also used one of the bigger rooms upstairs near the second coffee stand as a “chill room” with more places to sit and relax. We were happy to see that both types of rooms were well used and we believe this is a great example of making the conference a pleasant experience for everyone.

+

As far as we know, there were no other attendees with special needs – we asked about this in the ticket registration process.

+

We were lucky that the weather was really nice so people could chill out in the backyard.

+
chilling in the backyard
+

People enjoying the warm and sunny weather

+

Languages#

+

The official language of the event is English (17% of attendees and 38% of speakers arrived from abroad), but as we offered a significant part of the programme to beginners who were mostly Czech-speaking, we allowed speakers to present in Czech if they did not feel like speaking English. Sessions in Czech were:

+
    +
  • 13 talks (out of 51),
  • +
  • both panels and
  • +
  • 5 workshops (out of 17).
  • +
+

All keynotes were in English.

+

Childcare#

+

This edition was also special thanks to an extended provision of childcare. For parents (who could register their children while purchasing the tickets), we provided professional childcare services during the whole event, including Sunday's workshops. We contracted the same company that EuroPython used in July 2023 because they were happy with the quality. Just as well, we received great feedback and consider the cost to be well-spent money. Along with the retro games lounge, this was a great way to allow parents to take part in the conference and not worry about babysitting.

+
big childcare
+

Childcare rooms were really big!

+

Code of Conduct Report#

+

Our Code of Conduct is adapted from the Conference anti-harassment policy found on the Geek Feminism Wiki page, tailored specifically for our event. Agreeing to this Code was compulsory when purchasing a ticket. +Two contact persons, one male and one female, were designated as points of contact for the Code of Conduct. Attendees were reminded of the Code several times during the event. A short version and contact information was printed on attendee badges.

+

We are pleased to report that there were no Code of Conduct violations reported during the event.

+

Feedback#

+

Disclaimer: we did not manage to send the feedback form soon enough after the event, so we only received 130 responses, which is a 22% response rate.

+ +

We asked people to give us feedback on the conference programme.

+

In general, 35% of attendees were very satisfied with the overall content of the conference, and 47% were quite satisfied. Only 5 people said they were not satisfied and only two of those added further comments. One complained about too many AI-focused sessions.

+

The questionnaire also asked the respondents to rate individual sessions. This was done on a lexical scale (Excellent, Good, Not great, not terrible, and Not good). We recalculated the ratings into a numeric scale of 4 to 1, 4 being Excellent, i.e., the higher the number, the better the rating. Only sessions with enough ratings were considered.

+

Five best rated talks were:

+
    +
  • talk by P. Šimeček: Velké jazykové modely: naučte ChatGPT básnit a zkroťte si svou lamu (3.81)
  • +
  • talk by M. Brabenec: Tam a zase zpátky aneb cesta HTTP požadavku (3.78)
  • +
  • panel discussion Mýty a stereotypy o IT by M. Bajić, H. Javorek, L. Tvrdíková, Š. Melicharová, R. Hraška (3.73)
  • +
  • keynote by E. Gabašová: Transformational Power of Openness: Reflections on Open Science and Open Source (3.64)
  • +
  • keynote by K. Minařík: The Library and the Maze (3.64)
  • +
+

Best rated workshops were delivered by D. Seager: Effective Communication (3.60) and D. R. Raneland: Test Driven Development For Everyone (3.00).

+

Opinions on the programme#

+

Several respondents complained that the agenda contained too many talks about ML/AI (even though half of attendees stated they were interested in it while purchasing their tickets). We still think it's a modern technology that many people work with, so we consider this to be a case of “you can't cater to everyone's taste”.

+

While several people complained that the talks did not go deep enough, there were others who praised the entry-level talks. This feedback is expected because our audience was very diverse regarding their programming skills, and we really focused on beginner content this year. PyCon CZ is not only about the programme but also about the community spirit and networking opportunities.

+

Nevermind the criticisms, 83% stated that they would likely or definitely attend again next time!

+

Fuckup#

+

The AV company let us down when they forgot to record speakers' screens. Therefore, they had to merge recordings of speakers with the slides manually, which resulted in low quality videos. Moreover, some talks were not recorded at all by mistake. In the end, there are videos of only about half of all presentations. We demanded and received a discount on AV services, but it is irreparable nevertheless. This is a huge learning for us that we must often check the quality of suppliers' services during the event, not solely rely on their word.

+

Photos#

+

Find official photos in these albums:

+ +

Budget#

+

PyCon CZ budget, just like any other event budget, strives to end up in black numbers, that is, with expenses lower than the income. The income comprises two sources: money made by selling tickets and funds raised from sponsors. When the event organising team starts working, they have to estimate the expenses based on the expected income. This year, we knew that we might struggle to partner with enough sponsors due to the complicated economic situation on the market. On the other hand, we definitely did not want to raise the ticket prices to amounts that many people wouldn't be able to pay.

+

We had numbers from the past that we could base our financial estimates on, but we also wanted to make some changes in what the event looks like compared to previous Prague conferences. For example, we wanted to provide attendees with warm lunches, which is way more expensive than serving just sandwiches and salads because you have to pay for the staff and culinary equipment, while prices of foods have gone up as well. So, while we paid CZK 184,000 in 2018 for 400 people, we spent CZK 700,000 this year for 600 people. We needed a bigger venue where the AV services were more expensive. We wanted to have a bigger Retro games lounge. We needed more coffee stands…

+

Luckily, we were able to connect with many partners who supported us financially, and received 2 grants from Python NGOs (EuroPython Society and Python Software Foundation). We are grateful to everyone who joined in to help us make PyCon CZ 23 reality!

+

Below, you can find detailed income and expense items; all amounts are in thousand CZK.

+

Income#

+

Total income was 2,271, of which:

+
    +
  • Tickets: 1,066
  • +
  • T-shirts: 42
  • +
  • Sponsors: 709
  • +
  • Grants: 454
  • +
+

& there was some available amount from previous conferences: 223

+

Expenses#

+

Total expenses were 2,430, of which:

+
    +
  • Main venue rent: 169
  • +
  • Furniture rent: 129
  • +
  • Childcare: 45
  • +
  • AV services: 445
  • +
  • Catering (breakfast, lunch, coffee break): 719
  • +
  • Coffee: 185
  • +
  • Afterparty drinks: 60
  • +
  • Speakers' dinner: 68
  • +
  • T-shirts: 83
  • +
  • Volunteers' t-shirts: 10
  • +
  • All other prints: 55
  • +
  • Web design: 46
  • +
  • Retro games: 20
  • +
  • Ticketing system and paygate fees: 53
  • +
  • Speaker submission system fee: 14
  • +
  • Cleaning services, waste disposal, portapotty: 29
  • +
  • Internet: 5
  • +
  • Financial aid for speakers: 41
  • +
  • Financial aid for attendees: 12
  • +
  • Refreshments for volunteers: 7
  • +
  • Volunteer reimbursements (travel and accommodation): 14
  • +
  • Other purchases, fees and payments: 20
  • +
  • Bára's (main organiser) reward: 126
  • +
  • Dan's reward: 75
  • +
+

Therefore, the budget is finalised at plus CZK 64,000. This is not a huge amount but considering the current economic and social situation, we believe this is not a terrible result – our financial goal was to end up in black numbers.

+

tl;dr & outro#

+

PyCon CZ 23 has been the biggest PyCon CZ yet, and we ended up with a balanced financial result. We implemented an extended beginners track which brought many new people into the community. We provided extensive childcare and took extra care to make the venue welcoming, e.g. designated quiet rooms or a portable toilet for people on wheelchairs. Attendees and speakers arrived from both the Czech Republic and foreign countries. Reading through their feedback and talking to attendees in person during the event, I have to say that most people enjoyed the conference, its programme and the atmosphere despite some unpleasant moments on the first day.

+

I know that we – the organising team – have learned a lot during the short time we had to prepare the event and during the event itself. I would love to thank each and every member of the team again: you are invaluable for the Czech Python community!

+
team on stage
+

The final speech and giving thanks to the organisers and volunteers was an emotional moment

+

2024?#

+

What's next? Who knows! We have not formed a new organiser team, specifically, there is no main organiser ready to take on the challenge yet (as of June 2024). Should you wish to join our team, feel free to drop us a line at info@pycon.cz. And before we begin to prepare the next PyCon CZ, consider exploring and contributing to other community initiatives like PyLadies, Pyvo, PyData, and more!

+
human pyramid
+

Building a human pyramid is a tradition, photo by Honza Javorek

+

Photos in this blogpost were taken by Bára Drbohlavová unless stated otherwise

+
+ +
+ +
+

+ Bára Drbohlavová + + · @baradrb +

+
+
+
+ +
+
+
+

Tento blog píše česká komunita kolem programovacího jazyka Python. +I ty sem můžeš napsat článek! Chceš oznámit nějakou akci, zamyslet se nad budoucností +srazů nebo sepsat, co se ti líbilo na konferenci? +Stačí postupovat podle návodu.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/pycon-cz-conference-wrap-up-summary.html b/pycon-cz-conference-wrap-up-summary.html new file mode 100644 index 0000000..40e87cf --- /dev/null +++ b/pycon-cz-conference-wrap-up-summary.html @@ -0,0 +1,208 @@ + + + + + + + + PyCon CZ Conference Wrap-Up Summary - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

PyCon CZ Conference Wrap-Up Summary

+

+ +
+ Chris Ward +

+
+ +
+

In November last year we held the second annual PyCon in the Czech Republic (October 28–30, Brno). We’d like to take this opportunity to wrap-up the 2016 conference so we can kick things off for 2017 planning!

+
PyCon CZ
+

First off, while the 2016 conference was a lot of work for all the volunteer organizers, it was a ton of fun to organize as well! Over the three conference event days we had:

+
    +
  • about 380 visitors
  • +
  • 4 keynote speeches
  • +
  • 42 talks and 8 workshops on different subjects
  • +
  • 50 individual speakers
  • +
  • 22 lightning talks
  • +
  • 15 sponsors and event partners
  • +
  • 5500 Moravian cakes eaten
  • +
  • 16kg of coffee served
  • +
+

Not to mention all the incredible community networking that took place during the event!

+
coffee
+

Videos & Photos#

+

Videos from the event are available on YouTube. Official selection of photos from the event is available on Google Photos.

+
beer
+

Community organizations#

+

The core organizing team had grand expectations for this year’s event and it’s incredible to look back at all the things we have accomplished together. Not only did we completely rebrand PyCon CZ this year, we launched an entirely new and reusable Django based website, a mobile app (iOS, Android) and so much more!

+

With that said, we’d like to take a moment to thank everyone involved – all the CfP submission authors, the invited and accepted speakers, the sponsors, the fine folks at Faculty of Information Technology, Brno University of Technology who provided the venue space, the Czech Python community in general and all the attendees who joined us to make PyCon CZ the amazing event it was.

+
people clapping, yay
+

While we’re at it, we’d like to call out two special groups which could use your help – participation as well as sponsorships; groups whose ongoing work enabled this conference and will hopefully enable others like it in the future:

+
    +
  • Pyvec – the formal backers of the PyCon CZ events and so many other Python events in the Czech Republic, whose continuous activity and monthly Pyvo meetups are the lifeblood of the Czech Python community, and
  • +
  • the Python Software Foundation. They are the good people who take care of the ongoing development of the Python language and the global activities around it. The PSF sponsored PyCon CZ 2016, as it does many such events.
  • +
+
recording
+

Diversity#

+

We put a lot of effort in to make the conference more welcoming to diverse populations. Again this year, we included a Code of Conduct, as well as reaching out to specific communities, which are usually underrepresented in technical conferences. This included, of course, the cooperation with Django Girls and PyLadies of Prague, Brno and Ostrava. Also, VODICÍ PES, an organization which supports training of guide dogs for the blind, who each received a number of free tickets to attend the conference.

+

We did not collect the general statistics of visitor gender, but we have reason to believe it was significantly more balanced than usual, especially with respect to high profile speakers.

+
Magdalena rocks the stage
+

Code of Conduct Report#

+

The organization team agrees that all PyCon events should be accessible and welcoming to everyone, regardless of their background. We agree that a clear and specific Code of Conduct is a necessity for any event.

+
    +
  • The Code of Conduct was based on Conference anti-harassment policy from Geek feminism wiki and edited to be as specific to our event as possible
  • +
  • Agreeing to the Code was mandatory when buying a ticket
  • +
  • Two contact persons (male and female) were assigned and their phone numbers were visibly posted around the venue
  • +
  • Attendees were reminded of the Code in the opening speech of each day
  • +
+

What could have been done#

+
    +
  • Summary of the Code in both languages were not posted around the venue
  • +
  • There was no easy way to report an incident other than to call a CoC contact person
  • +
  • Czech language version of the Code was not accessible on the website
  • +
+

Anonymized incidents#

+
    +
  • During one of the keynotes, inappropriate image was used in a slideshow. The speaker was reminded, that a Code of Conduct applies to keynotes as well. No further action was taken.
  • +
  • During one of the lightning talks, speaker used disrespectful language towards different initiatives that aim to include underrepresented groups into IT. In his presentation he also used a slide that could be offensive to some groups. One of the attendees reacted to this by angrily leaving the venue. The speaker posted an apology in public group chat and also admitted his mistake in private discussion with one of the CoC contacts. The attendee apologized for his behavior in e-mail to one of the CoC contacts and in private discussion with head conference organizer. No video or slides will be published from this lightning talk.
  • +
+
FIT BUT
+

Budget#

+

In the spirit of Open Source and transparency, we’re happy to share a summary of our budget (all numbers are thousands of Czech Koruna, CZK).

+

Income#

+
    +
  • Sponsorship: 450
  • +
  • Ticket sales: 450
  • +
  • Total: 900
  • +
+

Expenses#

+
    +
  • Venue (incl. food): 490
  • +
  • Conference party (food+drinks): 50
  • +
  • Financial aid (incl. keynote speakers): 95
  • +
  • Speakers’ dinner: 20
  • +
  • Photo/Video recording & editing: 90
  • +
  • T-shirts & other swag: 80
  • +
  • Various other: 25
  • +
  • Total: 850
  • +
+

Conclusion#

+

As you can see, we ended with a positive balance of close to 50 000 CZK. All these surplus funds will be applied to next year’s event budget.

+
recording
+

2017#

+

Now, onto planning PyCon CZ 2017. Preparations have already begun! The latest news are the next PyCon CZ will take place in Prague, early summer. You can join the organizing team, or just keep track of our progress via our different channels:

+ +

Send an email to info@pycon.cz if you’d like to request an invite to join our PyCon CZ planning channel on Slack (it can be used also through IRC).

+

See you in 2017!

+
ORGs
+
+ +
+ +
+

+ Chris Ward + +

+
+
+
+ +
+
+
+

Long-time Pythonista and Red Hat Community Development Program Manager for the Red Hat Czechia office.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/pyconcz-2018-report.html b/pyconcz-2018-report.html new file mode 100644 index 0000000..4e4859d --- /dev/null +++ b/pyconcz-2018-report.html @@ -0,0 +1,167 @@ + + + + + + + + PyCon CZ 2018 — Report - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

PyCon CZ 2018 — Report

+

+ +
+ Josef Pospíšil +

+
+ +
+
+

This article first appeared on Josef's Medium blog +(part 1, +2), +and is re-posted here with kind permission. Thank you!

+
+

When I first met the Python guys as they visited our Ruby meetups, I thought – what a cute young people, who like to party hard. As I slowly moved from Ruby and meetups in general, I have lost contact with most of them. Only once I had talked about a library on the Pyvo meetup. It was mostly a rant on Ruby on Rails, and the library died soon after. However, there I first met Stařenka, who had a rant on Django in his talk. So a friendship was made. Next time I have met him on the very first PolyConf in Poznań, where he introduced me to my later conference colleague Míšo. As PolyConf seems to be missing this year, I decided to join both of the guys on PyCon CZ, and I hardly could choose better. Please bear in mind, that I know next to nothing about any advanced Python, and I mostly look at the conference from the point of the community and its mood.

+

When I came in the morning, I have met Stařenka and couple guys from the oldest group of Pythonistas, namely Dan Srb and Kvbik. Even as they were solving the usual problems of every conference I have ever been to, there were good laughs, and I hadn’t noticed any discontent of the visitors. Well guys behind me were calling with their company and uttered some swear words about their boss in the process.

+
Pythonistas
+

Then I moved to the back chill zone for chit-chat with Míšo before the start. The theme for the first keynote was some of the hottest in our industry these days: to remote or not remote. One of those rare duet talks and I enjoyed it a lot. Especially the notion that this problem is reducible to: to wear pants or not to wear pants. I took away some advice, even as I am moving to an office after quite a long time.

+

The next talk I attended was on machine learning sentiment rating. It was accessible and in the great rhythm with many jokes and winks. My Python knowledge was just enough so I could follow it without a problem and got a good general overview of the problem. Also, in the talk, there was only one evil math character!

+

Strengthened by this success, I decided to visit the DataFrames talk. However, my PyFu ended before the doors of this talk, and also theatre temperature was over my self-regulating possibilities. I moved to the dunder methods talk and found my knowledge of the language lacking again.

+
Spot the difference
+

Also, the beer kiosk opened. The rest of the day I spent in the spirit of the lobby conference life. I have met many people I knew from other communities and many new ones. I have talked about my contemporary point of view, and to my surprise, people were listening and thinking about what I was saying without any flame wars. One of this kind of discussion was with David Majda, whom I consider one of the best computer scientists, at least Czech ones. I missed the board games night, but when I visited it, I was smitten by how many people were having good fun there. As the midnight approached, we packed up and went to sleep.

+

Saturday morning fresh and new, we again gathered in MeetFactory and started the second day with some excellent tea and coffee. The first talk I have seen was how and why to teach kids programming, and it was one of the best talks I have ever seen. So close to my heart, it brought tears to my eyes couple of the times. Duet again, but mostly serial, by the parents, about things they love to do. Light on tech but heavy on ideas and sheer love. For me the highest point of the whole conference. Bravo bravo bravo.

+
Teach them
+

The second talk I went was about security and how to use marketing techniques for the higher success rate of the account hacking. Python was in the second plane again. Still, the love for the language was everywhere. If I would be hacking some account, I would first watch this talk again. Especially e-shop hacking part was gorgeous.

+

Then again I moved to chill areas talking with friends old and new and had great fun. No traces of any elitism, which is many times present on the events like this. Just friendship and goodwill. Even my everpresent doom sayer pose was funnier than looming. You know you are in the right company when you hear an ukulele every couple of minutes, usually with a singing voice, even if it is mostly Ring of Fire.

+

One last talk I wanted to see, and I managed it, even when it ran long after they opened beer kiosk. It was about algorave live coded music. I played with Sonic Pi in my days, and I was not disappointed with this talk. Well, there was a demonstration at the end of the talk, and later at the afterparty. Again, music.

+

I stayed for the lightning talks, and for the glorious end, where the big group played Always look on the Bright Side of Life on all the ukuleles and some guitars and other instruments on stage, and all the attendees sang along. It was like a spark of that cosmic power. “Tears in my eyes 2.0”. Goodbye from the organizers, and afterparty till the morning. I wish I had a better recollection of it, but suffice to say I found myself in the morning light playing a small drum – if that even means anything.

+
Always look on the bright side
+

You may wonder where is the part about food, venue or diversity as staples in this kind of reports. Well, those were great, any of them. Most of all, I loved the atmosphere! I have been to quite a number of the conferences in my life, but never experienced anything like this. Big love to all the people involved, you are the best!

+

Addenum#

+

One week after the thing, many forgotten pieces appeared in my mind.

+

The Diversity#

+
No gender left behind
+

The ratio of all the genders was almost on the level of the last Polyconf, and that was made diverse by design. Here it was much more organic. On PyCon you could meet people from all over the spectrum. Big love for this!
+We are all equal, and here it showed.

+

The Food#

+
Delicious
+

The food was abundant on the first floor, and it was there all the time, or at least until the main programme ran. What I liked the most: it was just ordinary food, nothing too fancy. Still, it was delicious, well prepared, well served. Pasta salads, nom nom, and cookies. And from what I gathered it was made in a protected workshop (sorry if it is not the right word for chráněná dílna, blame Google Translate). So eating there, you were helping some people in need, now you can see why I ate so much!
+Same for the tea and coffee. And when the pizza came, it was by two cars, no less!
+But what blew my mind was that onSunday morning, all the surplus was escorted, together with a drum-playing fool, by taxi to homeless people.
+We are all in this together, see?

+

Not talks#

+
Zoom Box Boy
+

Another thing I appreciate on confs was what happened in the lobby, chillouts and everywhere outside of the Main and Theatre rooms. Everybody was talking, laughing, hacking, playing musical instruments. I made more new friends in two days that in the last year. And made the old friendships last for life.
+You say toys? Oh, boy have seen all the people in the zoom boxes? Playing exotic instruments, electronic or small drums?
+Meet the people, cause they are diamonds in the rocks.

+

The Music#

+
Two ukuleles are better than one
+

I am a music lover. I cannot work efficiently without my Mixcloud stream, and my kids cannot fell asleep without my lullabies. I know I already raved about this in the report, but who cares. If the music average in the world were as it was here, it would be a much better place. All kinds of music: live played instruments, reproduced or generated on the spot.
+So always look on the bright side of life!

+

See you next year in the !!!

+
+ +
+ +
+

+ Josef Pospíšil + +

+
+
+
+ +
+
+
+

Visit Josef's blog on Medium.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/pyladies-advanced.html b/pyladies-advanced.html new file mode 100644 index 0000000..e17b42e --- /dev/null +++ b/pyladies-advanced.html @@ -0,0 +1,146 @@ + + + + + + + + PyLadies Advanced: Srazy pro programováníchtivé dívky - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

PyLadies Advanced: Srazy pro programováníchtivé dívky

+

+ +
+ Lenka 'Zouví' Matějová +

+
+ +
+
+

PyLadies Advanced probíhaly od července do půle října 2016 různě po Praze v kavárnách, posléze, díky Oskarovi, v coworkingové zasedačce Usertech na Smíchově. Což je super prostor! Děkujeme!

+
+

Celkem proběhlo 22 těchto setkání, které vždy svolala nejlepší organizátorka Veronička. +PyLadies Advanced bylo maloformátové setkání, nejvíce nás přišlo asi 12, někdy dorazilo i více koučů než PyLadies, ale umožnilo nám to:

+
    +
  1. +

    Posunout se dále v tom, co děláme. Často jsme díky pomoci koučů vyřešily problém s chybami, na které bychom samy přišly jen těžko. Bylo nám vysvětleno spoustu nových témat, jako např. regulární výrazy. Na tohle na kurzech většinou nezbývá čas a správné programátorce se to hodí znát!

    +

    Materiálů je na internetu sice spousta, ale člověk se snadno zamotá.

    +
    +
  2. +
  3. +

    Některá setkání byla více networkingového rázu typu meetup než programming session. Ale to nám zase umožnilo zapojit se aktivněji do Python komunity v ČR. Mohly jsme plánovat další kurzy pro budoucí PyLadies, podívat se na PyCon CZ, zapojit se do organizace nebo psaní atd.

    +

    Na dvou PyLadies Advanced se objevila i zahraniční PyLady, což je strašně super, že se tato mezinárodní komunita sdružuje.

    +
  4. +
+
+

I když se mi to ne vždy povedlo, snažila jsem se setkání PyLadies Advanced nezmeškat, protože to byly výborné akce, kde bylo vidět, jak se člověk posunuje v programování dále a učí se stále spousty nových věcí. Chtěla bych tímto velmi poděkovat koučům, že si na tato setkání našli čas a dorazili. Jste všichni skvělí!

+
+

A v neposlední řadě: s PyLadies je prostě sranda. Někdy jsme se tak nasmály, že to ani nešlo :)

+
+
+ +
+ +
+

+ Lenka 'Zouví' Matějová + + · @Zoellenka +

+
+
+
+ +
+
+
+

Zou je holka, která se učí Python. Má stránky Zoelles, leze po skalách, chodí po slackline a miluje akrojógu.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/pyladies-byly-jsme-na-europythonu.html b/pyladies-byly-jsme-na-europythonu.html new file mode 100644 index 0000000..95e98d8 --- /dev/null +++ b/pyladies-byly-jsme-na-europythonu.html @@ -0,0 +1,162 @@ + + + + + + + + PyLadies & Pyvo – Byly jsme na EuroPythonu - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

PyLadies & Pyvo – Byly jsme na EuroPythonu

+

+ +
+ Karolina Surma, Mia Bajic +

+
+ +
+

Do Prahy letos poprvé doputovala konference EuroPython. +Mezi 17. 7. a 23. 7. 2023 jste tam mohli potkat velkou část české Python komunity. +EuroPython nám poskytl jak možnost posílit vazby v naší komunitě, tak šanci rozšířit sítě do mezinárodních vod.

+

S PyLadies a s Pyvem jsme to nemohly zmeškat!

+
samolepky_pyladies
+

Aktivity PyLadies#

+

S nápadem, že oslovíme organizátory EuroPythonu, přišla Monika Bláhová z brněnských PyLadies. +Vděčíme jí za rozhýbání a finální rozsah prezentace PyLadies na EuroPythonu. +Původně byl v plánu pouze večerní sraz PyLadies a příznivců, z něhož se postupně vyklubaly další aktivity. +Realizace dopadla na výbornou díky nasazení, které do příprav vložila Mia Bajić. Díky!

+
aktivity_Python_komunity_na_EuPy
+

Hadí workshop#

+

17. 7. 2023, hned na začátku konference, se konal celodenní Hadí workshop +(zmiňován již zde na blogu v roce 2019 a 2020). +Ovšem letos to bylo poprvé anglicky. +Workshop opět nachystal a bravurně přednesl Petr Viktorin s výpomocí party kouček a koučů z Prahy, Plzně a Brna. +Někteří s námi koučovali vůbec poprvé, vítáme je v komunitě :)

+
snake_workshop
+

PyLadies Social Event#

+

21. 7. 2023, tentokrát na zakončení konference, jsme pozvaly všechny PyLadies a příznivce na večerní společenský event. +Do Hospůdky na Hradbách dorazilo přes 80 účastnic a účastníků konference. +Akce sklidila velký úspěch.

+

Pyvo#

+

V Praze už přes 10 let každou třetí středu v měsíci probíhá pražské Pyvo a EuroPython se konal přesně v tomto týdnu. +Ve spolupráci s pořadateli EuroPythonu jsme naplánovaly společné Pyvo, abychom daly naší místní komunitě příležitost pokecat s účastníky EuroPythonu. +Na Pyvo přišlo kolem 150 lidí a bylo to zatím největší a organizačně nejnáročnější Pyvo, jaké jsme v našich dějinách organizovaly. +Jsme velmi rády, že se nám podařilo vytvořit skvělý program a dát místní komunitě příležitost potkat se s lidmi z celého světa. +Zároveň jsme udělaly skvělé promo české komunity pro lidi ze zahraničí.

+

OSS stůl#

+

Česká komunita byla pozvaná k vystavení stolu v prostoru pro Open Source projekty. +Dohodly jsme se na společné propagaci PyLadies, meetupů Pyvo, PyData a letošní edice konference PyCon CZ (již od 15. září!).

+
OSS_stul_Python_komunity
+

Poděkování#

+

Díky grantu, který PyLadies udělil Pyvec, nezisková organizace naší komunity, jsme mohly nabídnout návštěvnicím a návštěvníkům kvalitní samolepky s naším logem ve čtyřech barvách. Díky!

+

Rády bychom také poděkovaly členům EuroPython Society Boardu za pozvánku na konferenci, volné lístky pro členy naší komunity a za skvělou spolupráci! Díky!

+

Příště nás najdete na konferenci PyCon CZ 23. Samolepky využíjeme také na lokálních eventech a všude, kde se budou konat aktivity pod naší hlavičkou.

+
+ +
+ +
+

+ Karolina Surma, Mia Bajic + +

+
+
+
+ +
+
+
+

Tento blog píše česká komunita kolem programovacího jazyka Python. +I ty sem můžeš napsat článek! Chceš oznámit nějakou akci, zamyslet se nad budoucností +srazů nebo sepsat, co se ti líbilo na konferenci? +Stačí postupovat podle návodu.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/pyladies-snake-report.html b/pyladies-snake-report.html new file mode 100644 index 0000000..3e35a97 --- /dev/null +++ b/pyladies-snake-report.html @@ -0,0 +1,261 @@ + + + + + + + + PyLadies Snake Workshop - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

PyLadies Snake Workshop

+

+ +
+ Petr Viktorin +

+
+ +
+
+

Další příspěvek v angličtině! +Píšu to pro širší publikum než pro naše obvyklé čtenáře (článek nakonec vyšel +i na blogu community.redhat.com). +A nechce se mi to překládat :)

+
+

On Saturday, February 2, PyLadies Brno organized a “Snake workshop”.

+

Let me first write a bit about the overall concept. +For info about this specific event, jump to “The Saturday” below.

+

PyLadies CZ Beginners' courses#

+

PyLadies CZ is an informal group of people that (among other things) organize +3-month Python courses for women (mostly beginners). +These courses have been going on for about 5 years in Brno, and have heavily +influenced the workshop, so let me write a bit on how they're organized.

+

The organizers are alumni of past courses – the very people that want to +learn make the courses happen possible. +They coordinate sign-ups, make sure they have a room with internet access, +respond to questions, and so on.

+

The lecturer knows the material deeply and comes to teach. +Often, this is done by external people – often it's my role, +and I'm not a PyLady :) +Thanks to the organizers, the lecturer doesn't need to deal with logistics, +registration or catering, and can focus on transferring knowledge.

+

And then there are coaches, something like teaching assistants – people who +help attendees with individual problems. +These can be experienced programmers, or people who have gone through +the last semester's course and are just a bit ahead. +Most of what the coaches do is trivial: finding mismatched parentheses, +files saved in wrong directories (or not saved at all), or typos. +Since it's perfectly OK for a coach to not know something (they can always +ask someone more experienced), this is a great opportunity for alumni to +see how much they learned since they were complete beginners. +And since the role needs no preparation, it's a great way for anyone to give +a few hours back to the community.

+

The whole thing is free for attendees, volunteer-organized, and budget-less +(companies are happy to provide a venue with internet, and while there are +minor expenses like sticky notes or candy for prizes, they usually aren't +worth the paperwork to get expensed). +It's also fully open – teaching materials are available to anyone to go +through or adapt. +This semester, PyLadies CZ are planning to run 7 forks of the beginners' course +in 4 cities (see pyladies.cz). +Organization in each city is relatively independent.

+
Beginner PyLadies on the workshop, with coaches in the back
+

The Snake workshop#

+

The full-day event we had on Saturday is a relatively new addition to the +“curriculum”. +It's modeled after the very successful Django Girls workshops, where attendees +who haven't programmed before build a web application (a blog) in just one day. +The Snake workshop has beginners make a game (Snake) in just one day.

+

Similarly to Django Girls workshops, the Snake workshop targets complete +beginners – prerequisites are on the level of installing Python, unzipping +an archive or sending an e-mail.

+

Unlike Django Girls, the Snake workshop tries to make things easier for +everyone: organizers, teachers, and attendees. Specifically:

+
    +
  • There are less technologies to learn: rather than Python, HTML, CSS and + databases, there's Python and a bit of graphics.
  • +
  • With a single lecturer rather than small coach-led groups, it's not + a problem if a coach doesn't show up. + Also, the coaches can be relative beginners. + (This format does introduce a single point of failure, though.)
  • +
+

It's still impossible to learn (and remember) programming in a single day, +so the workshop is positioned as a “pilot episode” for a regular 3-month +course. +As a “pilot”, the workshop should serve these purposes:

+
    +
  • Give people an overview of what learning programming looks like – hopefully, + the message is that it's fun and rewarding, but that it will require lots + of time.
  • +
  • Filter out people who'd drop out after the first few lessons of the course.
  • +
  • Give an overview of Python's the basic data types and building blocks, + which should be helpful because the 3-month course is “bottom-up” (introduces + elementary concepts and builds on them), so the “big picture” only reveals + itself near the end.
  • +
+
See the coaches coaching!
+

The Saturday#

+

The last instance of the Snake workshop happened on Saturday, February 2nd. +This was the 4th run so far (after the first trial for PyLadies in +Hradec Králové in March 2018, one for PyLadies Brno in September +2018, and one open for anyone in October 2018).

+

For this workshop, Red Hat provided the venue (Plutonium & Neptunium meeting +rooms in the TPB-C office) and food (of which there was a lot; thank you!).

+

I was the lecturer and I handled the Red Hat sponsorship.

+

We had an almost full house – more than 39 attendees plus 8 +coaches/organizers. +(The listed capacity of the rooms is 40, but we fit comfortably.)

+

We spent the morning (well, until 14:00) explaining basic concepts (numbers, +expressions, strings, functions, conditions, lists, dicts, imports, loops, …) +and the afternoon with the game. +Based on the feedback to date, everyone enjoyed the show. +There were smiles throughout; the coaches were kind and helpful, and I'd say +the attendees learned as much as they could in a day.

+
The importance of good ol' pen & paper
+

Of course, nothing is perfect – and there's a lot to improve for next time.

+

What didn't work#

+

I didn't manage time well, and I'd need about 30 more minutes at the end. +Some people were already leaving, so I rushed through the end – which didn't +help either the attendees or the coaches. +(For next time, I already have a plan to shuffle the materials around and +drop 30 minutes of less interesting stuff.)

+

Also, there was too much food in the end. +We had a generous sponsorship from Red Hat and people ordered their own +lunches. +This one is entirely on me as the link between the sponsor and the organizers; +next time I will coordinate better.

+

Finally, I did not request spare laptops in time. +Usually, Red Hat Regional IT is happy to lend a few out-of-warranty machines, +which are very helpful when some attendee's computer stops working, turns +out to be too slow, or has glitchy graphics. +I forgot to request them in a reasonable time, so we didn't have them. +Thankfully, they weren't needed – but hardware problems could have ruined the +atmosphere of the workshop.

+
Not quite there yet
+

And as for me...#

+

I think I'm addicted to this workshop.

+

It ticks the tree factors of intrinsic motivation: autonomy (deciding what +to teach and what to leave out in a time-limited workshop), +mastery (working on something that can always be improved) and purpose (helping +people understand my passion, not to mention the whole “underrepresented +minorities” thing that I'm not really going into here).

+

I have a hard time interacting with people, and I've found that it's mostly +because I don't think I have anything to say that would be interesting to them. +But that disappears in front of a class, with a clear expectations of what to +explain and a clear level of pre-requisites I can build on. +I know a few introverts who had similar experiences as lecturers/coaches, +and I'd recommend any geek to try teaching an interested audience :)

+

Anyway, I was throroughly exhausted at the end, after ten hours of live coding. +I think I'll wait a few months before doing this again.

+
Thanks to the sponsor & organizers
+

Thank you to everyone involved – the organizers, the coaches, +Red Hat GWS & BIPI, and the attendees. +Let's do more of these!

+
+ +
+ +
+

+ Petr Viktorin + +

+
+
+
+ +
+
+
+

Tento blog píše česká komunita kolem programovacího jazyka Python. +I ty sem můžeš napsat článek! Chceš oznámit nějakou akci, zamyslet se nad budoucností +srazů nebo sepsat, co se ti líbilo na konferenci? +Stačí postupovat podle návodu.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/pyladies-to-zacalo-kanadou-to-neskoncilo.html b/pyladies-to-zacalo-kanadou-to-neskoncilo.html new file mode 100644 index 0000000..370ad4b --- /dev/null +++ b/pyladies-to-zacalo-kanadou-to-neskoncilo.html @@ -0,0 +1,138 @@ + + + + + + + + PyLadies to začalo, Kanadou to (ne)skončilo - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

PyLadies to začalo, Kanadou to (ne)skončilo

+

+ +
+ Barbora Kacerovská +

+
+ +
+

Bude to znít jako cliché, ale zcela bez nadsázky můžu říct, že jedno z nejlepších rozhodnutí svého dosavadního života jsem učinila někdy v polovině roku 2015.

+

Pokud si správně vzpomínám, byly prázdniny a já jsem právě dokončila bakalářské studium oboru nanotechnologie. Ze setrvačnosti jsem si podala přihlášku na magisterské, ale neměla jsem ani páru, co budu dělat po jeho dokončení. Myslím, že to je pocit, který zažívá spoustu studentů, kteří nejsou schopni si představit, jak svoje nabyté znalosti přetaví v něco, po čem by mohla být na pracovním trhu poptávka.

+

V záchvatu jakéhosi vnitřního pnutí jsem se rozhodla naučit se rychle cokoliv, co má do budoucna potenciál a co se mi případně bude hodit i při studiu. A rozhodla jsem se naučit programovat. Abych byla upřímná, bylo to spíše impulzivní rozhodnutí než nějaký promyšlený tah. V té době jsem si ještě vůbec nedovedla představit, k čemu by mi nějaké programování bylo a co to vlastně obnáší.

+

Jak to tak bývá, někdy stačí myšlenka a začnou se dít věci. Neuběhl ani týden, když jsem narazila na plakát, který lákal na první ročník PyLadies v Ostravě. Bez přemýšlení jsem se přihlásila a dodatečně začala zjišťovat, o čem vlastně ten Python je.

+

Musím ale přiznat, že ze začátku mě Python spíš od školy odrazoval, než aby mi pomáhal. Místo přípravy na výuku jsem po nocích programovala piškvorky a na přednáškách přemýšlela, jak co nejlépe optimalizovat kód. Časem jsem se ale naučila, jak si usnadnit práci, a začala jsem si v Pythonu generovat různé tabulky a provádět první lehčí fyzikální výpočty. Vzpomínám si, že mě fascinovalo, do jaké míry je Python schopný nahradit drahé komerční softwary, které používali mí spolužáci a profesoři.

+

Po obhájení magisterského titulu jsem pořád nevěděla co se sebou, a tak jsem se přihlásila na doktorské studium do Kanady. Toužila jsem po nějaké praxi v oboru a věděla jsem, že místní univerzity nabízejí propojení akademického výzkumu s průmyslovou sférou. Navíc jsem si chtěla zdokonalit angličtinu a vyzkoušet si, jaké to je začít budovat úplně nový život v cizí zemi. Požádala jsem tedy svého tehdejšího přítele o ruku, vzala si ho, sehnala stipendia, sbalila nám kufry a odjela za oceán.

+

První rok v Kanadě byl úplně šílený, a tak na nějaké programování nebyl moc čas. Po úspěšném dokončení povinných zkoušek na univerzitě jsem se začala soustředit na to, kvůli čemu jsem tam jela – shánění stáže. Zanedlouho jsem dostala odpověď od společnosti, která se zabývala vývojem metamateriálů, konkrétně foliemi, které chrání letadla před laserovými útoky. Moc jsem nevěřila, že bych to místo dostala, spousta mých kanadských kolegů se o něj marně ucházela, a to měli lepší akademické výsledky než já. Na pohovor jsem se tedy ani moc nepřipravovala, brala jsem to jako předem prohraný boj. Možná, že jsem nakonec udělala dobře, protože se to celé stočilo úplně jinam, než bych čekala.

+

Na akademické výsledky se mě neptal nikdo, ale až podezřele moc je zajímalo, proč jsem se rozhodla učit Python a s jakou motivací jsem do Kanady odjela. O několik měsíců později jsem se dozvěděla, že moje ochota pracovat na sobě a znalost základů Pythonu (tehdy to byly opravdu pořád jen základy) byly klíčové pro moje přijetí.

+

Začínala jsem ve velmi úzkém kruhu kolegů a mým prvním úkolem bylo namodelovat v Pythonu dopad laserových paprsků na folii a optimalizovat vstupní podmínky tak, abychom dostali kýžený výsledek. Jednodušeji řečeno – nasimulovat experiment, který prováděli v laboratoři. Myslela jsem si, že jsem úplně v pytli. Netušila jsem, jak začít, ani jak bych to kdy mohla dokázat. To mi rovnou mohli dát naprogramovat Google. Sprostě jsem si nadávala, co jsem to na sebe zase ušila. Tohle bylo hodně vzdálené od programování piškvorek…

+

Vyšilovala jsem ale zbytečně. Můj kolega/mentor, který v Pythonu už dlouhé roky pracoval, mi ukázal, jak problém rozdělit do jednotlivých kroků, co si k tomu nastudovat a jak model pomalu vylepšovat. Režim jsme měli docela přísný – každý den jsme museli vykázat nějaké výsledky, psát reporty o tom, jak postupujeme. Na druhou stranu jsem se mohla kdykoliv na cokoliv zeptat, prostředí bylo neuvěřitelně přátelské a nikdo se na mě jako na začátečníka nedíval shora. A to i přes to, že celý tým patřil mezi největší kapacity v oboru. „Každý nějak začínal, a i my se pořád učíme“ mi s úsměvem odpověděli pokaždé, když jsem měla tendenci porovnávat jejich a své znalosti.

+

Té šance, kterou mi dali, a jejich přístupu jsem si vážila natolik, že jsem je nechtěla za žádnou cenu zklamat. Po nocích jsem studovala Python a doháněla, co jsem v práci nestihla. Bavilo mě to neskutečně moc. Každý den jsem viděla, jak se posouvám a do týdne jsem měla první verzi modelu hotovou.

+

Na stáži jsem původně měla být jen čtyři měsíce, ty mi ale prodloužily na osm a pak, když jsem odcházela, jsem dostala nabídku hlavního pracovního poměru. Tu jsem bohužel musela odmítnout, nicméně větší ocenění mojí práce se mi nemohlo dostat. Odcházela jsem se slzami v očích.

+

Když se teď podívám zpátky, vidím, jak absurdní byl strach, že pro ně nejsem dost dobrá. Sama na sobě jsem poznala, jak výkonný je člověk, který je správně motivován a kterého jeho práce baví. Často bývá ochota učit se více než umět. Doufám, že si to budu příště, až zase budu před pohovorem stresovat, pamatovat.

+
+
+ +
+ +
+

+ Barbora Kacerovská + + · @BaruZKanady +

+
+
+
+ +
+
+
+

„Baru z Kanady“, jak si říká na Twitteru, je vítězkou Lady Business Moravskoslezského kraje v roce 2019 v kategorii Výjimečná studentka (video).

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/python-komunita-a-ja.html b/python-komunita-a-ja.html new file mode 100644 index 0000000..d3cda16 --- /dev/null +++ b/python-komunita-a-ja.html @@ -0,0 +1,127 @@ + + + + + + + + Python komunita a já - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

Python komunita a já

+

+ +
+ Honza Javorek +

+
+ + + +
+ +
+

+ Honza Javorek + + · @honzajavorek +

+
+
+
+ +
+
+
+

Honza je programátor. Od roku 2011 pomáhá budovat českou komunitu kolem jazyka Python. Pracuje v Apiary, kde se stará o Dredd, Open Source nástroj na testování webových API.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/pyvo-v-ostrave.html b/pyvo-v-ostrave.html new file mode 100644 index 0000000..4530fd8 --- /dev/null +++ b/pyvo-v-ostrave.html @@ -0,0 +1,128 @@ + + + + + + + + Pyvo v Ostravě - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

Pyvo v Ostravě

+

+ +
+ Honza Javorek +

+
+ +
+

Možná jste to zaznamenali, možná ne, každopádně proběhlo minulý týden ve čtvrtek (tj. 7. 11.) první Pyvo v Ostravě. Sponzorovaly jej dvě firmy, byly dvě krátké přednášky a přišlo kolem třiceti účastníků, což považuji za velký úspěch. Akce byla totiž organizována poměrně punkově a očekávání nebyla naprosto žádná. Místní příjemně překvapili a byl z toho parádní večer.

+

Za ty necelé tři roky, co v Brně pořádáme setkání přátel programovacího jazyka Python, se povedlo navázat vztahy s Prahou, Bratislavou a dokonce i Vídní. Sjednotili jsme komunitu, srazům jsme dali jednotnou značku, Pyvo. Co mě ale mrzelo, byl fakt, že nemáme spřátelený sraz v Ostravě.

+

Půlku života jsem prožil v Karviné, městě pár kilometrů na východ od Ostravy, přímo na hranicích s Polskem. K "regionu razovitemu" mám tedy vztah a sám si moc dobře pamatuju, jak mě kdysi štvalo, že se všechno zajímavé děje jen v Praze, nanejvýš v Brně. Že jsme jen takovým ocáskem republiky, na který nikdo nikdy nepamatuje. Jako by tam nežilo více než 500 000 obyvatel. Dnes už to tak tragické není - Ostrava hostí spoustu zajímavých akcí z nejrůznějších oblastí a některé koncerty aj. události se dokonce konají exkluzivně pouze tam. I srazů je tam nesčetně. Přesto ve mě ale dávná křivda doutnala...

+

Tento článek je z dob kdy blog.python.cz ještě neexistoval a původně vyšel na Honzově blogu. Můžete si ho dočíst tam!

+
+ +
+ +
+

+ Honza Javorek + + · @honzajavorek +

+
+
+
+ +
+
+
+

Honza je programátor. Od roku 2011 buduje českou komunitu kolem jazyka Python. V současnosti pomáhá hlavně s propagací aktivit, jako jsou PyLadies, Pyvo, nebo PyCon CZ. Přes den jej najdete v Apiary, kde se stará o Dredd, framework na testování API. Občas taky radí lidem jak mají API dělat a přednáší o tom na konferencích.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/reportaz-z-udalosti-prosincove-microhratky.html b/reportaz-z-udalosti-prosincove-microhratky.html new file mode 100644 index 0000000..21cd477 --- /dev/null +++ b/reportaz-z-udalosti-prosincove-microhratky.html @@ -0,0 +1,131 @@ + + + + + + + + Reportáž z události: Prosincové MicroHrátky - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

Reportáž z události: Prosincové MicroHrátky

+

+ +
+ Zuzka Válková +

+
+ +
+

Věčnou slávu si tentokrát zaslouží Pepa Rousek, který pro nás v čase předvánočního neklidu uspořádal Vánoční MicroPython dílnu. Na sraz bylo nutné mít vlastní micropythoní výbavu, takže i z toho důvodu účastníků workshopu nebylo mnoho. Díky komornějšímu obsazení jsme ale zvládli v pohodovém tempu překonat četné nástrahy, které zelené destičky obnáší. Např. oblíbené magic smoky - tentokrát nebyl ani jeden!

+
image description
+
image description
+
image description
+

Pepa nám postupně představil pár triků, jak převádět do světýlek data z internetu, třeba skrz populární twitterový hashtag #cheerlights. Barva světýlek se měnila vždy, když někdo tweetnul název barvy společně s tímto hashtagem. Některé přítomné ale nejvíc zaujal nový káblík s teploměrovým čidlem, takže jsme si mimo jiné zasoutěžili o to, kdo z nás nadýchá nejvíc (stupňů). Samozřejmě za pomoci Pythonu. Aneb učení hrou!

+
image description
+

Co se týče finální úspěšnosti a výsledků našeho snažení: +Zatímco někteří účastníci sváděli velkolepé a dechberoucí bitvy s aktualizací ovladačů na Macu, obvykle zaostávající windowsácké šunky tentokrát obstály na jedničku. Takže se toho opravdu nemusí bát nikdo, ani ti jablíčkáři ne. Podklady z workshopu jsou pro inspiraci na tomto linku. No a my už se těšíme na další micropythoní hrátky v roce 2017!

+
+ +
+ +
+

+ Zuzka Válková + +

+
+
+
+ +
+
+
+

Zuzka patří k misionářkám Pythonu v Praze, organizátorka PyLadies a Django Girls Prague, sama je věčná začátečnice a vděčná účastnice kurzů minulých i budoucích.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/robots.txt b/robots.txt new file mode 100644 index 0000000..e69de29 diff --git a/seznam-akademie-python.html b/seznam-akademie-python.html new file mode 100644 index 0000000..ba1f649 --- /dev/null +++ b/seznam-akademie-python.html @@ -0,0 +1,131 @@ + + + + + + + + Naučte se Python v Seznam akademii - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

Naučte se Python v Seznam akademii

+

+ +
+ Daniel Milde +

+
+ +
+

Seznam IT akademie nabídne v říjnu další workshop zaměřený tentokrát na Python.

+

Workshop bude dvoudenní (pátek odpoledne a sobota) a poskytne výbornou příležitost, pokud s Pythonem chcete začít nebo už začínáte. +Obsahem je vhodný pro úplné začátečníky i pro pokročilé programátory. +Školení začne úvodem do jazyka a bude postupně probírat jednotlivé vlastnosti Pythonu, +běhěm čehož budou účastníci budovat ukázkovou aplikaci. +Doufáme, že zbyde dostatek času i na pokročilé techniky jako jsou dekorátory, deskriptory a metaprogramování.

+

Všechny worskshopy v rámci Seznam IT akademie jsou zdarma, je ale potřeba se včas zaregistrovat.

+
+ +
+ +
+

+ Daniel Milde + + · @danielmilde +

+
+
+
+ +
+
+
+

Dan je vášnivý Pythonista pracující v Seznamu. Rád píše testy (pytest), profiluje a prochází temnými zákoutími Gitu.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/splneny-holcici-sen.html b/splneny-holcici-sen.html new file mode 100644 index 0000000..3107ba5 --- /dev/null +++ b/splneny-holcici-sen.html @@ -0,0 +1,169 @@ + + + + + + + + Splněný holčičí sen - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

Splněný holčičí sen

+

+ +
+ Lenka 'Zouví' Matějová +

+
+ +
+
Společná hardwarová
+

V pátek 19. 8. 2016 proběhl ve Mšeném workshop pro PyLadies, na kterém jsme si my, holky, co se začaly učit programovat v Pythonu, vyzkoušely ovládat vývojovou desku s čipem ESP8266. Pokud vám to nic neříká, neděste se, taky jsme před workshopem vůbec netušily, o co jde. Je to počítačový čip, který lze ovládat pomocí MicroPythonu, což je takový zjednodušený Python.

+
Hardware pro PyLadies
+Petr Viktorin nám to krásně naservíroval, abychom se v hloupých i chytrých destičkách všichni vyznali
+
Cheatsheet made by Petr Viktorin
+připravil nám i skvělý cheatsheet
+
Hardware
+zátiší s hardwarem
+

A k čemu to je? Můžou se na to napojit různá světýlka, houkačky, tlačítka, blikačky, pás LED apod. Jak jsme se v praxi přesvědčily, dá se tím vykouzlit například překrásně barvená atmosféra pro grilovačku :), ale i celkem ohlušující randál, který kdekdo musí řešit špunty do uší. Některým holkám šlo hraní s „chytrými“ a „hloupými“ destičkami na jedničku, takže se těším, co z toho všechno vznikne. Vše nám skvěle a trpělivě vysvětloval Petr Viktorin, na kterém je znát pravé nadšení pro práci s hardwarem.

+

Jako malou mě hrozně fascinovalo pozorovat, jak táta pájí čipovou desku a napojuje na ni různé nožičky, případně propojuje různá místa čipu v jedno. Takže cílem bylo také vyzkoušet si to, dozvědět se o tom víc … a hlavně, naučit se pájet! V průběhu workshopu jsem zjistila, že touhu po pájení sdílí i ostatní účastnice workshopu, a tak jsme nakonec dostaly možnost se na to vrhnout! Díky, kluci!

+
Modré světýlko pro začátek
+pro zahřátí zkusíme nejprve jedno modré světýlko
+
Nela a její modré světýlko
+Nela už ví, jak na to
+
Nadšeni byli všichni
+nadšení byli všichni – malí programátoři, i ti velcí
+

Celá akce byla, díky skvělé Python komunitě a štědrému sponzorovi CZ.NIC, který zasponzoroval veškerý hardware a oběd hladovým programátorkám, hrozně super. Nešlo by to ale bez nejlepší organizátorky Veroničky Gabrielové a dvou pánů Vysokých, kteří poskytli dokonalé zázemí. Někteří cyklo nadšenci se dali strhnout k hromadnému příjezdu na kolech, Štěpán Bechyňský se ujal péče o strávníky a všechny zásobil přelahodnými pokrmy, večer jsme se všichni zahřáli za doprovodu několika ukulele u ohně a pěkně od plic si zapěli. Byl to fakt skvělý zážitek a jsem hrozně moc ráda, že jsem tam mohla být. Lidé kolem Pythonu jsou super, je s nimi sranda a člověk má mnohem větší motivaci se učit. A to je skvělý!

+

Počet úniků magic smoke: pouze 2

+

Autoři fotek: kvbik, Honza Javorek, Vochechule

+
Vochechule programuje
+Vochechule si to trochu vylepšila
+
Katka se k nám přidala úplně poprvé
+Katka se k nám přidala úplně poprvé, Python Workshopy spojují lidi
+
Vytuněno
+Vochechulin tuning
+
LED pasek
+a tak se přesuneme na LED pásky, motorky, bzučítka a jiná mučítka
+
Verča také svítí
+Verča už také svítí – LED pásky měly úspěch (oproti bzučítkům)
+
Svítíme a vymýšlíme fígle
+svítíme už i barevně
+
Lekce pájení s Honzou Čermákem
+Honza Čermák z CZ.NIC nám udělal odbornou přednášku ohledně pájení
+
Tak jsme si to také zkusily
+a tak jsme si to také zkusily
+
Nela pájí
+Nelče to šlo hned od ruky
+
Verča pájí
+Verča pájí a pájí
+
Vochechule pájí
+i Vochechuli k tomu pustili – počet škod: 0
+
Štěpán vaří
+Štěpán Bechyňský si vzal na starost kuchtění
+
Balonek tuning
+
+ +
+ +
+

+ Lenka 'Zouví' Matějová + + · @Zoellenka +

+
+
+
+ +
+
+
+

Zou je holka, co se učí Python. Má stránky Zoelles, leze po skalách, chodí po slackline a miluje akrojógu.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/theme/css/bootstrap.min.css b/theme/css/bootstrap.min.css new file mode 100644 index 0000000..1317635 --- /dev/null +++ b/theme/css/bootstrap.min.css @@ -0,0 +1,6 @@ +/*! + * Bootstrap v4.0.0-alpha.2 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active{outline:0}a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}@media print{*,::after,::before{text-shadow:none!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}html{-webkit-box-sizing:border-box;box-sizing:border-box}*,::after,::before{-webkit-box-sizing:inherit;box-sizing:inherit}@-ms-viewport{width:device-width}@viewport{width:device-width}html{font-size:16px;-webkit-tap-highlight-color:transparent}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:1rem;line-height:1.5;color:#373a3c;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #818a91}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}a{color:#0275d8;text-decoration:none}a:focus,a:hover{color:#014c8c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}pre{margin-top:0;margin-bottom:1rem}figure{margin:0 0 1rem}img{vertical-align:middle}[role=button]{cursor:pointer}[role=button],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{background-color:transparent}caption{padding-top:.75rem;padding-bottom:.75rem;color:#818a91;text-align:left;caption-side:bottom}th{text-align:left}label{display:inline-block;margin-bottom:.5rem}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,select,textarea{margin:0;line-height:inherit;border-radius:0}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit}input[type=search]{-webkit-box-sizing:inherit;box-sizing:inherit;-webkit-appearance:none}output{display:inline-block}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}.h1{font-size:2.5rem}.h2{font-size:2rem}.h3{font-size:1.75rem}.h4{font-size:1.5rem}.h5{font-size:1.25rem}.h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300}.display-2{font-size:5.5rem;font-weight:300}.display-3{font-size:4.5rem;font-weight:300}.display-4{font-size:3.5rem;font-weight:300}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:5px}.dl-horizontal{margin-right:-1.875rem;margin-left:-1.875rem}.dl-horizontal::after{display:table;clear:both;content:""}.initialism{font-size:90%;text-transform:uppercase}.blockquote{padding:.5rem 1rem;margin-bottom:1rem;font-size:1.25rem;border-left:.25rem solid #eceeef}.blockquote-footer{display:block;font-size:80%;line-height:1.5;color:#818a91}.blockquote-footer::before{content:"\2014 \00A0"}.blockquote-reverse{padding-right:1rem;padding-left:0;text-align:right;border-right:.25rem solid #eceeef;border-left:0}.blockquote-reverse .blockquote-footer::before{content:""}.blockquote-reverse .blockquote-footer::after{content:"\00A0 \2014"}.carousel-inner>.carousel-item>a>img,.carousel-inner>.carousel-item>img,.img-fluid{display:block;max-width:100%;height:auto}.img-rounded{border-radius:.3rem}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:.25rem;line-height:1.5;background-color:#fff;border:1px solid #ddd;border-radius:.25rem;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#818a91}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:.2rem .4rem;font-size:90%;color:#bd4147;background-color:#f7f7f9;border-radius:.25rem}kbd{padding:.2rem .4rem;font-size:90%;color:#fff;background-color:#333;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;margin-top:0;margin-bottom:1rem;font-size:90%;line-height:1.5;color:#373a3c}pre code{padding:0;font-size:inherit;color:inherit;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:.9375rem;padding-left:.9375rem;margin-right:auto;margin-left:auto}.container::after{display:table;clear:both;content:""}@media (min-width:544px){.container{max-width:576px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:940px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{padding-right:.9375rem;padding-left:.9375rem;margin-right:auto;margin-left:auto}.container-fluid::after{display:table;clear:both;content:""}.row{margin-right:-.9375rem;margin-left:-.9375rem}.row::after{display:table;clear:both;content:""}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:.9375rem;padding-left:.9375rem}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-1{width:8.333333%}.col-xs-2{width:16.666667%}.col-xs-3{width:25%}.col-xs-4{width:33.333333%}.col-xs-5{width:41.666667%}.col-xs-6{width:50%}.col-xs-7{width:58.333333%}.col-xs-8{width:66.666667%}.col-xs-9{width:75%}.col-xs-10{width:83.333333%}.col-xs-11{width:91.666667%}.col-xs-12{width:100%}.col-xs-pull-0{right:auto}.col-xs-pull-1{right:8.333333%}.col-xs-pull-2{right:16.666667%}.col-xs-pull-3{right:25%}.col-xs-pull-4{right:33.333333%}.col-xs-pull-5{right:41.666667%}.col-xs-pull-6{right:50%}.col-xs-pull-7{right:58.333333%}.col-xs-pull-8{right:66.666667%}.col-xs-pull-9{right:75%}.col-xs-pull-10{right:83.333333%}.col-xs-pull-11{right:91.666667%}.col-xs-pull-12{right:100%}.col-xs-push-0{left:auto}.col-xs-push-1{left:8.333333%}.col-xs-push-2{left:16.666667%}.col-xs-push-3{left:25%}.col-xs-push-4{left:33.333333%}.col-xs-push-5{left:41.666667%}.col-xs-push-6{left:50%}.col-xs-push-7{left:58.333333%}.col-xs-push-8{left:66.666667%}.col-xs-push-9{left:75%}.col-xs-push-10{left:83.333333%}.col-xs-push-11{left:91.666667%}.col-xs-push-12{left:100%}.col-xs-offset-0{margin-left:0}.col-xs-offset-1{margin-left:8.333333%}.col-xs-offset-2{margin-left:16.666667%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-4{margin-left:33.333333%}.col-xs-offset-5{margin-left:41.666667%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-7{margin-left:58.333333%}.col-xs-offset-8{margin-left:66.666667%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-10{margin-left:83.333333%}.col-xs-offset-11{margin-left:91.666667%}.col-xs-offset-12{margin-left:100%}@media (min-width:544px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-1{width:8.333333%}.col-sm-2{width:16.666667%}.col-sm-3{width:25%}.col-sm-4{width:33.333333%}.col-sm-5{width:41.666667%}.col-sm-6{width:50%}.col-sm-7{width:58.333333%}.col-sm-8{width:66.666667%}.col-sm-9{width:75%}.col-sm-10{width:83.333333%}.col-sm-11{width:91.666667%}.col-sm-12{width:100%}.col-sm-pull-0{right:auto}.col-sm-pull-1{right:8.333333%}.col-sm-pull-2{right:16.666667%}.col-sm-pull-3{right:25%}.col-sm-pull-4{right:33.333333%}.col-sm-pull-5{right:41.666667%}.col-sm-pull-6{right:50%}.col-sm-pull-7{right:58.333333%}.col-sm-pull-8{right:66.666667%}.col-sm-pull-9{right:75%}.col-sm-pull-10{right:83.333333%}.col-sm-pull-11{right:91.666667%}.col-sm-pull-12{right:100%}.col-sm-push-0{left:auto}.col-sm-push-1{left:8.333333%}.col-sm-push-2{left:16.666667%}.col-sm-push-3{left:25%}.col-sm-push-4{left:33.333333%}.col-sm-push-5{left:41.666667%}.col-sm-push-6{left:50%}.col-sm-push-7{left:58.333333%}.col-sm-push-8{left:66.666667%}.col-sm-push-9{left:75%}.col-sm-push-10{left:83.333333%}.col-sm-push-11{left:91.666667%}.col-sm-push-12{left:100%}.col-sm-offset-0{margin-left:0}.col-sm-offset-1{margin-left:8.333333%}.col-sm-offset-2{margin-left:16.666667%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.333333%}.col-sm-offset-5{margin-left:41.666667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.333333%}.col-sm-offset-8{margin-left:66.666667%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.333333%}.col-sm-offset-11{margin-left:91.666667%}.col-sm-offset-12{margin-left:100%}}@media (min-width:768px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-1{width:8.333333%}.col-md-2{width:16.666667%}.col-md-3{width:25%}.col-md-4{width:33.333333%}.col-md-5{width:41.666667%}.col-md-6{width:50%}.col-md-7{width:58.333333%}.col-md-8{width:66.666667%}.col-md-9{width:75%}.col-md-10{width:83.333333%}.col-md-11{width:91.666667%}.col-md-12{width:100%}.col-md-pull-0{right:auto}.col-md-pull-1{right:8.333333%}.col-md-pull-2{right:16.666667%}.col-md-pull-3{right:25%}.col-md-pull-4{right:33.333333%}.col-md-pull-5{right:41.666667%}.col-md-pull-6{right:50%}.col-md-pull-7{right:58.333333%}.col-md-pull-8{right:66.666667%}.col-md-pull-9{right:75%}.col-md-pull-10{right:83.333333%}.col-md-pull-11{right:91.666667%}.col-md-pull-12{right:100%}.col-md-push-0{left:auto}.col-md-push-1{left:8.333333%}.col-md-push-2{left:16.666667%}.col-md-push-3{left:25%}.col-md-push-4{left:33.333333%}.col-md-push-5{left:41.666667%}.col-md-push-6{left:50%}.col-md-push-7{left:58.333333%}.col-md-push-8{left:66.666667%}.col-md-push-9{left:75%}.col-md-push-10{left:83.333333%}.col-md-push-11{left:91.666667%}.col-md-push-12{left:100%}.col-md-offset-0{margin-left:0}.col-md-offset-1{margin-left:8.333333%}.col-md-offset-2{margin-left:16.666667%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.333333%}.col-md-offset-5{margin-left:41.666667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.333333%}.col-md-offset-8{margin-left:66.666667%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.333333%}.col-md-offset-11{margin-left:91.666667%}.col-md-offset-12{margin-left:100%}}@media (min-width:992px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-1{width:8.333333%}.col-lg-2{width:16.666667%}.col-lg-3{width:25%}.col-lg-4{width:33.333333%}.col-lg-5{width:41.666667%}.col-lg-6{width:50%}.col-lg-7{width:58.333333%}.col-lg-8{width:66.666667%}.col-lg-9{width:75%}.col-lg-10{width:83.333333%}.col-lg-11{width:91.666667%}.col-lg-12{width:100%}.col-lg-pull-0{right:auto}.col-lg-pull-1{right:8.333333%}.col-lg-pull-2{right:16.666667%}.col-lg-pull-3{right:25%}.col-lg-pull-4{right:33.333333%}.col-lg-pull-5{right:41.666667%}.col-lg-pull-6{right:50%}.col-lg-pull-7{right:58.333333%}.col-lg-pull-8{right:66.666667%}.col-lg-pull-9{right:75%}.col-lg-pull-10{right:83.333333%}.col-lg-pull-11{right:91.666667%}.col-lg-pull-12{right:100%}.col-lg-push-0{left:auto}.col-lg-push-1{left:8.333333%}.col-lg-push-2{left:16.666667%}.col-lg-push-3{left:25%}.col-lg-push-4{left:33.333333%}.col-lg-push-5{left:41.666667%}.col-lg-push-6{left:50%}.col-lg-push-7{left:58.333333%}.col-lg-push-8{left:66.666667%}.col-lg-push-9{left:75%}.col-lg-push-10{left:83.333333%}.col-lg-push-11{left:91.666667%}.col-lg-push-12{left:100%}.col-lg-offset-0{margin-left:0}.col-lg-offset-1{margin-left:8.333333%}.col-lg-offset-2{margin-left:16.666667%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.333333%}.col-lg-offset-5{margin-left:41.666667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.333333%}.col-lg-offset-8{margin-left:66.666667%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.333333%}.col-lg-offset-11{margin-left:91.666667%}.col-lg-offset-12{margin-left:100%}}@media (min-width:1200px){.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{float:left}.col-xl-1{width:8.333333%}.col-xl-2{width:16.666667%}.col-xl-3{width:25%}.col-xl-4{width:33.333333%}.col-xl-5{width:41.666667%}.col-xl-6{width:50%}.col-xl-7{width:58.333333%}.col-xl-8{width:66.666667%}.col-xl-9{width:75%}.col-xl-10{width:83.333333%}.col-xl-11{width:91.666667%}.col-xl-12{width:100%}.col-xl-pull-0{right:auto}.col-xl-pull-1{right:8.333333%}.col-xl-pull-2{right:16.666667%}.col-xl-pull-3{right:25%}.col-xl-pull-4{right:33.333333%}.col-xl-pull-5{right:41.666667%}.col-xl-pull-6{right:50%}.col-xl-pull-7{right:58.333333%}.col-xl-pull-8{right:66.666667%}.col-xl-pull-9{right:75%}.col-xl-pull-10{right:83.333333%}.col-xl-pull-11{right:91.666667%}.col-xl-pull-12{right:100%}.col-xl-push-0{left:auto}.col-xl-push-1{left:8.333333%}.col-xl-push-2{left:16.666667%}.col-xl-push-3{left:25%}.col-xl-push-4{left:33.333333%}.col-xl-push-5{left:41.666667%}.col-xl-push-6{left:50%}.col-xl-push-7{left:58.333333%}.col-xl-push-8{left:66.666667%}.col-xl-push-9{left:75%}.col-xl-push-10{left:83.333333%}.col-xl-push-11{left:91.666667%}.col-xl-push-12{left:100%}.col-xl-offset-0{margin-left:0}.col-xl-offset-1{margin-left:8.333333%}.col-xl-offset-2{margin-left:16.666667%}.col-xl-offset-3{margin-left:25%}.col-xl-offset-4{margin-left:33.333333%}.col-xl-offset-5{margin-left:41.666667%}.col-xl-offset-6{margin-left:50%}.col-xl-offset-7{margin-left:58.333333%}.col-xl-offset-8{margin-left:66.666667%}.col-xl-offset-9{margin-left:75%}.col-xl-offset-10{margin-left:83.333333%}.col-xl-offset-11{margin-left:91.666667%}.col-xl-offset-12{margin-left:100%}}.table{width:100%;max-width:100%;margin-bottom:1rem}.table td,.table th{padding:.75rem;line-height:1.5;vertical-align:top;border-top:1px solid #eceeef}.table thead th{vertical-align:bottom;border-bottom:2px solid #eceeef}.table tbody+tbody{border-top:2px solid #eceeef}.table .table{background-color:#fff}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #eceeef}.table-bordered td,.table-bordered th{border:1px solid #eceeef}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-striped tbody tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover tbody tr:hover{background-color:#f5f5f5}.table-active,.table-active>td,.table-active>th{background-color:#f5f5f5}.table-hover .table-active:hover{background-color:#e8e8e8}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:#e8e8e8}.table-success,.table-success>td,.table-success>th{background-color:#dff0d8}.table-hover .table-success:hover{background-color:#d0e9c6}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#d0e9c6}.table-info,.table-info>td,.table-info>th{background-color:#d9edf7}.table-hover .table-info:hover{background-color:#c4e3f3}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#c4e3f3}.table-warning,.table-warning>td,.table-warning>th{background-color:#fcf8e3}.table-hover .table-warning:hover{background-color:#faf2cc}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#faf2cc}.table-danger,.table-danger>td,.table-danger>th{background-color:#f2dede}.table-hover .table-danger:hover{background-color:#ebcccc}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#ebcccc}.table-responsive{display:block;width:100%;min-height:.01%;overflow-x:auto}.thead-inverse th{color:#fff;background-color:#373a3c}.thead-default th{color:#55595c;background-color:#eceeef}.table-inverse{color:#eceeef;background-color:#373a3c}.table-inverse.table-bordered{border:0}.table-inverse td,.table-inverse th,.table-inverse thead th{border-color:#55595c}.table-reflow thead{float:left}.table-reflow tbody{display:block;white-space:nowrap}.table-reflow td,.table-reflow th{border-top:1px solid #eceeef;border-left:1px solid #eceeef}.table-reflow td:last-child,.table-reflow th:last-child{border-right:1px solid #eceeef}.table-reflow tbody:last-child tr:last-child td,.table-reflow tbody:last-child tr:last-child th,.table-reflow tfoot:last-child tr:last-child td,.table-reflow tfoot:last-child tr:last-child th,.table-reflow thead:last-child tr:last-child td,.table-reflow thead:last-child tr:last-child th{border-bottom:1px solid #eceeef}.table-reflow tr{float:left}.table-reflow tr td,.table-reflow tr th{display:block!important;border:1px solid #eceeef}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;line-height:1.5;color:#55595c;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:.25rem}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{border-color:#66afe9;outline:0}.form-control::-webkit-input-placeholder{color:#999;opacity:1}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999;opacity:1}.form-control::placeholder{color:#999;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#eceeef;opacity:1}.form-control:disabled{cursor:not-allowed}.form-control-file,.form-control-range{display:block}.form-control-label{padding:.375rem .75rem;margin-bottom:0}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:2.25rem}.input-group-sm input[type=date].form-control,.input-group-sm input[type=time].form-control,.input-group-sm input[type=datetime-local].form-control,.input-group-sm input[type=month].form-control,input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:1.8625rem}.input-group-lg input[type=date].form-control,.input-group-lg input[type=time].form-control,.input-group-lg input[type=datetime-local].form-control,.input-group-lg input[type=month].form-control,input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:3.166667rem}}.form-control-static{min-height:2.25rem;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0}.form-control-static.form-control-lg,.form-control-static.form-control-sm,.input-group-lg>.form-control-static.form-control,.input-group-lg>.form-control-static.input-group-addon,.input-group-lg>.input-group-btn>.form-control-static.btn,.input-group-sm>.form-control-static.form-control,.input-group-sm>.form-control-static.input-group-addon,.input-group-sm>.input-group-btn>.form-control-static.btn{padding-right:0;padding-left:0}.form-control-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{padding:.275rem .75rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{padding:.75rem 1.25rem;font-size:1.25rem;line-height:1.333333;border-radius:.3rem}.form-group{margin-bottom:1rem}.checkbox,.radio{position:relative;display:block;margin-bottom:.75rem}.checkbox label,.radio label{padding-left:1.25rem;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox label input:only-child,.radio label input:only-child{position:static}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:.25rem;margin-left:-1.25rem}.checkbox+.checkbox,.radio+.radio{margin-top:-.25rem}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:1.25rem;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:.75rem}input[type=checkbox].disabled,input[type=checkbox]:disabled,input[type=radio].disabled,input[type=radio]:disabled{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label{cursor:not-allowed}.form-control-danger,.form-control-success,.form-control-warning{padding-right:2.25rem;background-repeat:no-repeat;background-position:center right .5625rem;-webkit-background-size:1.4625rem 1.4625rem;background-size:1.4625rem 1.4625rem}.has-success .checkbox,.has-success .checkbox-inline,.has-success .form-control-label,.has-success .radio,.has-success .radio-inline,.has-success .text-help,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#5cb85c}.has-success .form-control{border-color:#5cb85c}.has-success .input-group-addon{color:#5cb85c;background-color:#eaf6ea;border-color:#5cb85c}.has-success .form-control-feedback{color:#5cb85c}.has-success .form-control-success{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2MTIgNzkyIj48cGF0aCBmaWxsPSIjNWNiODVjIiBkPSJNMjMzLjggNjEwYy0xMy4zIDAtMjYtNi0zNC0xNi44TDkwLjUgNDQ4LjhDNzYuMyA0MzAgODAgNDAzLjMgOTguOCAzODljMTguOC0xNC4yIDQ1LjUtMTAuNCA1OS44IDguNGw3MiA5NUw0NTEuMyAyNDJjMTIuNS0yMCAzOC44LTI2LjIgNTguOC0xMy43IDIwIDEyLjQgMjYgMzguNyAxMy43IDU4LjhMMjcwIDU5MGMtNy40IDEyLTIwLjIgMTkuNC0zNC4zIDIwaC0yeiIvPjwvc3ZnPg==)}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .form-control-label,.has-warning .radio,.has-warning .radio-inline,.has-warning .text-help,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#f0ad4e}.has-warning .form-control{border-color:#f0ad4e}.has-warning .input-group-addon{color:#f0ad4e;background-color:#fff;border-color:#f0ad4e}.has-warning .form-control-feedback{color:#f0ad4e}.has-warning .form-control-warning{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2MTIgNzkyIj48cGF0aCBmaWxsPSIjZjBhZDRlIiBkPSJNNjAzIDY0MC4ybC0yNzguNS01MDljLTMuOC02LjYtMTAuOC0xMC42LTE4LjUtMTAuNnMtMTQuNyA0LTE4LjUgMTAuNkw5IDY0MC4yYy0zLjcgNi41LTMuNiAxNC40LjIgMjAuOCAzLjggNi41IDEwLjggMTAuNCAxOC4zIDEwLjRoNTU3YzcuNiAwIDE0LjYtNCAxOC40LTEwLjQgMy41LTYuNCAzLjYtMTQuNCAwLTIwLjh6bS0yNjYuNC0zMGgtNjEuMlY1NDloNjEuMnY2MS4yem0wLTEwN2gtNjEuMlYzMDRoNjEuMnYxOTl6Ii8+PC9zdmc+)}.has-danger .checkbox,.has-danger .checkbox-inline,.has-danger .form-control-label,.has-danger .radio,.has-danger .radio-inline,.has-danger .text-help,.has-danger.checkbox label,.has-danger.checkbox-inline label,.has-danger.radio label,.has-danger.radio-inline label{color:#d9534f}.has-danger .form-control{border-color:#d9534f}.has-danger .input-group-addon{color:#d9534f;background-color:#fdf7f7;border-color:#d9534f}.has-danger .form-control-feedback{color:#d9534f}.has-danger .form-control-danger{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2MTIgNzkyIj48cGF0aCBmaWxsPSIjZDk1MzRmIiBkPSJNNDQ3IDU0NC40Yy0xNC40IDE0LjQtMzcuNiAxNC40LTUyIDBsLTg5LTkyLjctODkgOTIuN2MtMTQuNSAxNC40LTM3LjcgMTQuNC01MiAwLTE0LjQtMTQuNC0xNC40LTM3LjYgMC01Mmw5Mi40LTk2LjMtOTIuNC05Ni4zYy0xNC40LTE0LjQtMTQuNC0zNy42IDAtNTJzMzcuNi0xNC4zIDUyIDBsODkgOTIuOCA4OS4yLTkyLjdjMTQuNC0xNC40IDM3LjYtMTQuNCA1MiAwIDE0LjMgMTQuNCAxNC4zIDM3LjYgMCA1MkwzNTQuNiAzOTZsOTIuNCA5Ni40YzE0LjQgMTQuNCAxNC40IDM3LjYgMCA1MnoiLz48L3N2Zz4=)}@media (min-width:544px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .form-control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.btn{display:inline-block;padding:.375rem 1rem;font-size:1rem;font-weight:400;line-height:1.5;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;border-radius:.25rem}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:focus,.btn:hover{text-decoration:none}.btn.focus{text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0}.btn.disabled,.btn:disabled{cursor:not-allowed;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-primary:hover{color:#fff;background-color:#025aa5;border-color:#01549b}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#025aa5;border-color:#01549b}.btn-primary.active,.btn-primary:active,.open>.btn-primary.dropdown-toggle{color:#fff;background-color:#025aa5;background-image:none;border-color:#01549b}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.btn-primary.dropdown-toggle.focus,.open>.btn-primary.dropdown-toggle:focus,.open>.btn-primary.dropdown-toggle:hover{color:#fff;background-color:#014682;border-color:#01315a}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary:disabled.focus,.btn-primary:disabled:focus{background-color:#0275d8;border-color:#0275d8}.btn-primary.disabled:hover,.btn-primary:disabled:hover{background-color:#0275d8;border-color:#0275d8}.btn-secondary{color:#373a3c;background-color:#fff;border-color:#ccc}.btn-secondary:hover{color:#373a3c;background-color:#e6e6e6;border-color:#adadad}.btn-secondary.focus,.btn-secondary:focus{color:#373a3c;background-color:#e6e6e6;border-color:#adadad}.btn-secondary.active,.btn-secondary:active,.open>.btn-secondary.dropdown-toggle{color:#373a3c;background-color:#e6e6e6;background-image:none;border-color:#adadad}.btn-secondary.active.focus,.btn-secondary.active:focus,.btn-secondary.active:hover,.btn-secondary:active.focus,.btn-secondary:active:focus,.btn-secondary:active:hover,.open>.btn-secondary.dropdown-toggle.focus,.open>.btn-secondary.dropdown-toggle:focus,.open>.btn-secondary.dropdown-toggle:hover{color:#373a3c;background-color:#d4d4d4;border-color:#8c8c8c}.btn-secondary.disabled.focus,.btn-secondary.disabled:focus,.btn-secondary:disabled.focus,.btn-secondary:disabled:focus{background-color:#fff;border-color:#ccc}.btn-secondary.disabled:hover,.btn-secondary:disabled:hover{background-color:#fff;border-color:#ccc}.btn-info{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#2aabd2}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#2aabd2}.btn-info.active,.btn-info:active,.open>.btn-info.dropdown-toggle{color:#fff;background-color:#31b0d5;background-image:none;border-color:#2aabd2}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.btn-info.dropdown-toggle.focus,.open>.btn-info.dropdown-toggle:focus,.open>.btn-info.dropdown-toggle:hover{color:#fff;background-color:#269abc;border-color:#1f7e9a}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info:disabled.focus,.btn-info:disabled:focus{background-color:#5bc0de;border-color:#5bc0de}.btn-info.disabled:hover,.btn-info:disabled:hover{background-color:#5bc0de;border-color:#5bc0de}.btn-success{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#419641}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#419641}.btn-success.active,.btn-success:active,.open>.btn-success.dropdown-toggle{color:#fff;background-color:#449d44;background-image:none;border-color:#419641}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.btn-success.dropdown-toggle.focus,.open>.btn-success.dropdown-toggle:focus,.open>.btn-success.dropdown-toggle:hover{color:#fff;background-color:#398439;border-color:#2d672d}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success:disabled.focus,.btn-success:disabled:focus{background-color:#5cb85c;border-color:#5cb85c}.btn-success.disabled:hover,.btn-success:disabled:hover{background-color:#5cb85c;border-color:#5cb85c}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#eb9316}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#eb9316}.btn-warning.active,.btn-warning:active,.open>.btn-warning.dropdown-toggle{color:#fff;background-color:#ec971f;background-image:none;border-color:#eb9316}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.btn-warning.dropdown-toggle.focus,.open>.btn-warning.dropdown-toggle:focus,.open>.btn-warning.dropdown-toggle:hover{color:#fff;background-color:#d58512;border-color:#b06d0f}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning:disabled.focus,.btn-warning:disabled:focus{background-color:#f0ad4e;border-color:#f0ad4e}.btn-warning.disabled:hover,.btn-warning:disabled:hover{background-color:#f0ad4e;border-color:#f0ad4e}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#c12e2a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#c12e2a}.btn-danger.active,.btn-danger:active,.open>.btn-danger.dropdown-toggle{color:#fff;background-color:#c9302c;background-image:none;border-color:#c12e2a}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.btn-danger.dropdown-toggle.focus,.open>.btn-danger.dropdown-toggle:focus,.open>.btn-danger.dropdown-toggle:hover{color:#fff;background-color:#ac2925;border-color:#8b211e}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger:disabled.focus,.btn-danger:disabled:focus{background-color:#d9534f;border-color:#d9534f}.btn-danger.disabled:hover,.btn-danger:disabled:hover{background-color:#d9534f;border-color:#d9534f}.btn-primary-outline{color:#0275d8;background-color:transparent;background-image:none;border-color:#0275d8}.btn-primary-outline.active,.btn-primary-outline.focus,.btn-primary-outline:active,.btn-primary-outline:focus,.open>.btn-primary-outline.dropdown-toggle{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-primary-outline:hover{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-primary-outline.disabled.focus,.btn-primary-outline.disabled:focus,.btn-primary-outline:disabled.focus,.btn-primary-outline:disabled:focus{border-color:#43a7fd}.btn-primary-outline.disabled:hover,.btn-primary-outline:disabled:hover{border-color:#43a7fd}.btn-secondary-outline{color:#ccc;background-color:transparent;background-image:none;border-color:#ccc}.btn-secondary-outline.active,.btn-secondary-outline.focus,.btn-secondary-outline:active,.btn-secondary-outline:focus,.open>.btn-secondary-outline.dropdown-toggle{color:#fff;background-color:#ccc;border-color:#ccc}.btn-secondary-outline:hover{color:#fff;background-color:#ccc;border-color:#ccc}.btn-secondary-outline.disabled.focus,.btn-secondary-outline.disabled:focus,.btn-secondary-outline:disabled.focus,.btn-secondary-outline:disabled:focus{border-color:#fff}.btn-secondary-outline.disabled:hover,.btn-secondary-outline:disabled:hover{border-color:#fff}.btn-info-outline{color:#5bc0de;background-color:transparent;background-image:none;border-color:#5bc0de}.btn-info-outline.active,.btn-info-outline.focus,.btn-info-outline:active,.btn-info-outline:focus,.open>.btn-info-outline.dropdown-toggle{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-info-outline:hover{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-info-outline.disabled.focus,.btn-info-outline.disabled:focus,.btn-info-outline:disabled.focus,.btn-info-outline:disabled:focus{border-color:#b0e1ef}.btn-info-outline.disabled:hover,.btn-info-outline:disabled:hover{border-color:#b0e1ef}.btn-success-outline{color:#5cb85c;background-color:transparent;background-image:none;border-color:#5cb85c}.btn-success-outline.active,.btn-success-outline.focus,.btn-success-outline:active,.btn-success-outline:focus,.open>.btn-success-outline.dropdown-toggle{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-success-outline:hover{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-success-outline.disabled.focus,.btn-success-outline.disabled:focus,.btn-success-outline:disabled.focus,.btn-success-outline:disabled:focus{border-color:#a3d7a3}.btn-success-outline.disabled:hover,.btn-success-outline:disabled:hover{border-color:#a3d7a3}.btn-warning-outline{color:#f0ad4e;background-color:transparent;background-image:none;border-color:#f0ad4e}.btn-warning-outline.active,.btn-warning-outline.focus,.btn-warning-outline:active,.btn-warning-outline:focus,.open>.btn-warning-outline.dropdown-toggle{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-warning-outline:hover{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-warning-outline.disabled.focus,.btn-warning-outline.disabled:focus,.btn-warning-outline:disabled.focus,.btn-warning-outline:disabled:focus{border-color:#f8d9ac}.btn-warning-outline.disabled:hover,.btn-warning-outline:disabled:hover{border-color:#f8d9ac}.btn-danger-outline{color:#d9534f;background-color:transparent;background-image:none;border-color:#d9534f}.btn-danger-outline.active,.btn-danger-outline.focus,.btn-danger-outline:active,.btn-danger-outline:focus,.open>.btn-danger-outline.dropdown-toggle{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-danger-outline:hover{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-danger-outline.disabled.focus,.btn-danger-outline.disabled:focus,.btn-danger-outline:disabled.focus,.btn-danger-outline:disabled:focus{border-color:#eba5a3}.btn-danger-outline.disabled:hover,.btn-danger-outline:disabled:hover{border-color:#eba5a3}.btn-link{font-weight:400;color:#0275d8;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link:disabled{background-color:transparent}.btn-link,.btn-link:active,.btn-link:focus{border-color:transparent}.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#014c8c;text-decoration:underline;background-color:transparent}.btn-link:disabled:focus,.btn-link:disabled:hover{color:#818a91;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:.75rem 1.25rem;font-size:1.25rem;line-height:1.333333;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .75rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height;-o-transition-property:height;transition-property:height}.dropdown,.dropup{position:relative}.dropdown-toggle::after{display:inline-block;width:0;height:0;margin-right:.25rem;margin-left:.25rem;vertical-align:middle;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-left:.3em solid transparent}.dropdown-toggle:focus{outline:0}.dropup .dropdown-toggle::after{border-top:0;border-bottom:.3em solid}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:1rem;color:#373a3c;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-divider{height:1px;margin:.5rem 0;overflow:hidden;background-color:#e5e5e5}.dropdown-item{display:block;width:100%;padding:3px 20px;clear:both;font-weight:400;line-height:1.5;color:#373a3c;text-align:inherit;white-space:nowrap;background:0 0;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#2b2d2f;text-decoration:none;background-color:#f5f5f5}.dropdown-item.active,.dropdown-item.active:focus,.dropdown-item.active:hover{color:#fff;text-decoration:none;background-color:#0275d8;outline:0}.dropdown-item.disabled,.dropdown-item.disabled:focus,.dropdown-item.disabled:hover{color:#818a91}.dropdown-item.disabled:focus,.dropdown-item.disabled:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:"progid:DXImageTransform.Microsoft.gradient(enabled = false)"}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:.875rem;line-height:1.5;color:#818a91;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:.3em solid}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:2}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar::after{display:table;clear:both;content:""}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group-lg.btn-group>.btn+.dropdown-toggle,.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn .caret{margin-left:0}.btn-group-lg>.btn .caret,.btn-lg .caret{border-width:.3em .3em 0;border-bottom-width:0}.dropup .btn-group-lg>.btn .caret,.dropup .btn-lg .caret{border-width:0 .3em .3em}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group::after{display:table;clear:both;content:""}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:.25rem;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:.25rem}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:active,.input-group .form-control:focus,.input-group .form-control:hover{z-index:3}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1;color:#55595c;text-align:center;background-color:#eceeef;border:1px solid #ccc;border-radius:.25rem}.input-group-addon.form-control-sm,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn{padding:.275rem .75rem;font-size:.875rem;border-radius:.2rem}.input-group-addon.form-control-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn{padding:.75rem 1.25rem;font-size:1.25rem;border-radius:.3rem}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:3}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.input-group-btn:last-child>.btn-group:active,.input-group-btn:last-child>.btn-group:focus,.input-group-btn:last-child>.btn-group:hover,.input-group-btn:last-child>.btn:active,.input-group-btn:last-child>.btn:focus,.input-group-btn:last-child>.btn:hover{z-index:3}.c-input{position:relative;display:inline;padding-left:1.5rem;color:#555;cursor:pointer}.c-input>input{position:absolute;z-index:-1;opacity:0}.c-input>input:checked~.c-indicator{color:#fff;background-color:#0074d9}.c-input>input:focus~.c-indicator{-webkit-box-shadow:0 0 0 .075rem #fff,0 0 0 .2rem #0074d9;box-shadow:0 0 0 .075rem #fff,0 0 0 .2rem #0074d9}.c-input>input:active~.c-indicator{color:#fff;background-color:#84c6ff}.c-input+.c-input{margin-left:1rem}.c-indicator{position:absolute;top:0;left:0;display:block;width:1rem;height:1rem;font-size:65%;line-height:1rem;color:#eee;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#eee;background-repeat:no-repeat;background-position:center center;-webkit-background-size:50% 50%;background-size:50% 50%}.c-checkbox .c-indicator{border-radius:.25rem}.c-checkbox input:checked~.c-indicator{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgOCA4IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA4IDgiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTYuNCwxTDUuNywxLjdMMi45LDQuNUwyLjEsMy43TDEuNCwzTDAsNC40bDAuNywwLjdsMS41LDEuNWwwLjcsMC43bDAuNy0wLjdsMy41LTMuNWwwLjctMC43TDYuNCwxTDYuNCwxeiINCgkvPg0KPC9zdmc+DQo=)}.c-checkbox input:indeterminate~.c-indicator{background-color:#0074d9;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iOHB4IiBoZWlnaHQ9IjhweCIgdmlld0JveD0iMCAwIDggOCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgOCA4IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGZpbGw9IiNGRkZGRkYiIGQ9Ik0wLDN2Mmg4VjNIMHoiLz4NCjwvc3ZnPg0K)}.c-radio .c-indicator{border-radius:50%}.c-radio input:checked~.c-indicator{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgOCA4IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA4IDgiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTQsMUMyLjMsMSwxLDIuMywxLDRzMS4zLDMsMywzczMtMS4zLDMtM1M1LjcsMSw0LDF6Ii8+DQo8L3N2Zz4NCg==)}.c-inputs-stacked .c-input{display:inline}.c-inputs-stacked .c-input::after{display:block;margin-bottom:.25rem;content:""}.c-inputs-stacked .c-input+.c-input{margin-left:0}.c-select{display:inline-block;max-width:100%;-webkit-appearance:none;padding:.375rem 1.75rem .375rem .75rem;padding-right:.75rem\9;color:#55595c;vertical-align:middle;background:#fff url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAUCAMAAACzvE1FAAAADFBMVEUzMzMzMzMzMzMzMzMKAG/3AAAAA3RSTlMAf4C/aSLHAAAAPElEQVR42q3NMQ4AIAgEQTn//2cLdRKppSGzBYwzVXvznNWs8C58CiussPJj8h6NwgorrKRdTvuV9v16Afn0AYFOB7aYAAAAAElFTkSuQmCC) no-repeat right .75rem center;background-image:none\9;-webkit-background-size:8px 10px;background-size:8px 10px;border:1px solid #ccc;-moz-appearance:none}.c-select:focus{border-color:#51a7e8;outline:0}.c-select::-ms-expand{opacity:0}.c-select-sm{padding-top:3px;padding-bottom:3px;font-size:12px}.c-select-sm:not([multiple]){height:26px;min-height:26px}.file{position:relative;display:inline-block;height:2.5rem;cursor:pointer}.file input{min-width:14rem;margin:0;filter:alpha(opacity=0);opacity:0}.file-custom{position:absolute;top:0;right:0;left:0;z-index:5;height:2.5rem;padding:.5rem 1rem;line-height:1.5;color:#555;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#fff;border:1px solid #ddd;border-radius:.25rem}.file-custom::after{content:"Choose file..."}.file-custom::before{position:absolute;top:-.075rem;right:-.075rem;bottom:-.075rem;z-index:6;display:block;height:2.5rem;padding:.5rem 1rem;line-height:1.5;color:#555;content:"Browse";background-color:#eee;border:1px solid #ddd;border-radius:0 .25rem .25rem 0}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:inline-block}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#818a91}.nav-link.disabled,.nav-link.disabled:focus,.nav-link.disabled:hover{color:#818a91;cursor:not-allowed;background-color:transparent}.nav-inline .nav-item{display:inline-block}.nav-inline .nav-item+.nav-item,.nav-inline .nav-link+.nav-link{margin-left:1rem}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs::after{display:table;clear:both;content:""}.nav-tabs .nav-item{float:left;margin-bottom:-1px}.nav-tabs .nav-item+.nav-item{margin-left:.2rem}.nav-tabs .nav-link{display:block;padding:.5em 1em;border:1px solid transparent;border-radius:.25rem .25rem 0 0}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#eceeef #eceeef #ddd}.nav-tabs .nav-link.disabled,.nav-tabs .nav-link.disabled:focus,.nav-tabs .nav-link.disabled:hover{color:#818a91;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.open .nav-link,.nav-tabs .nav-item.open .nav-link:focus,.nav-tabs .nav-item.open .nav-link:hover,.nav-tabs .nav-link.active,.nav-tabs .nav-link.active:focus,.nav-tabs .nav-link.active:hover{color:#55595c;background-color:#fff;border-color:#ddd #ddd transparent}.nav-pills::after{display:table;clear:both;content:""}.nav-pills .nav-item{float:left}.nav-pills .nav-item+.nav-item{margin-left:.2rem}.nav-pills .nav-link{display:block;padding:.5em 1em;border-radius:.25rem}.nav-pills .nav-item.open .nav-link,.nav-pills .nav-item.open .nav-link:focus,.nav-pills .nav-item.open .nav-link:hover,.nav-pills .nav-link.active,.nav-pills .nav-link.active:focus,.nav-pills .nav-link.active:hover{color:#fff;cursor:default;background-color:#0275d8}.nav-stacked .nav-item{display:block;float:none}.nav-stacked .nav-item+.nav-item{margin-top:.2rem;margin-left:0}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;padding:.5rem 1rem}.navbar::after{display:table;clear:both;content:""}@media (min-width:544px){.navbar{border-radius:.25rem}}.navbar-full{z-index:1000}@media (min-width:544px){.navbar-full{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:544px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0}.navbar-fixed-bottom{bottom:0}.navbar-sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1030;width:100%}@media (min-width:544px){.navbar-sticky-top{border-radius:0}}.navbar-brand{float:left;padding-top:.25rem;padding-bottom:.25rem;margin-right:1rem;font-size:1.25rem}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}.navbar-divider{float:left;width:1px;padding-top:.425rem;padding-bottom:.425rem;margin-right:1rem;margin-left:1rem;overflow:hidden}.navbar-divider::before{content:"\00a0"}.navbar-toggler{padding:.5rem .75rem;font-size:1.25rem;line-height:1;background:0 0;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}@media (min-width:544px){.navbar-toggleable-xs{display:block!important}}@media (min-width:768px){.navbar-toggleable-sm{display:block!important}}@media (min-width:992px){.navbar-toggleable-md{display:block!important}}.navbar-nav .nav-item{float:left}.navbar-nav .nav-link{display:block;padding-top:.425rem;padding-bottom:.425rem}.navbar-nav .nav-link+.nav-link{margin-left:1rem}.navbar-nav .nav-item+.nav-item{margin-left:1rem}.navbar-light .navbar-brand{color:rgba(0,0,0,.8)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.8)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.6)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .active>.nav-link:focus,.navbar-light .navbar-nav .active>.nav-link:hover,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.active:focus,.navbar-light .navbar-nav .nav-link.active:hover,.navbar-light .navbar-nav .nav-link.open,.navbar-light .navbar-nav .nav-link.open:focus,.navbar-light .navbar-nav .nav-link.open:hover,.navbar-light .navbar-nav .open>.nav-link,.navbar-light .navbar-nav .open>.nav-link:focus,.navbar-light .navbar-nav .open>.nav-link:hover{color:rgba(0,0,0,.8)}.navbar-light .navbar-divider{background-color:rgba(0,0,0,.075)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .active>.nav-link:focus,.navbar-dark .navbar-nav .active>.nav-link:hover,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.active:focus,.navbar-dark .navbar-nav .nav-link.active:hover,.navbar-dark .navbar-nav .nav-link.open,.navbar-dark .navbar-nav .nav-link.open:focus,.navbar-dark .navbar-nav .nav-link.open:hover,.navbar-dark .navbar-nav .open>.nav-link,.navbar-dark .navbar-nav .open>.nav-link:focus,.navbar-dark .navbar-nav .open>.nav-link:hover{color:#fff}.navbar-dark .navbar-divider{background-color:rgba(255,255,255,.075)}.card{position:relative;display:block;margin-bottom:.75rem;background-color:#fff;border:1px solid #e5e5e5;border-radius:.25rem}.card-block{padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card>.list-group:first-child .list-group-item:first-child{border-radius:.25rem .25rem 0 0}.card>.list-group:last-child .list-group-item:last-child{border-radius:0 0 .25rem .25rem}.card-header{padding:.75rem 1.25rem;background-color:#f5f5f5;border-bottom:1px solid #e5e5e5}.card-header:first-child{border-radius:.25rem .25rem 0 0}.card-footer{padding:.75rem 1.25rem;background-color:#f5f5f5;border-top:1px solid #e5e5e5}.card-footer:last-child{border-radius:0 0 .25rem .25rem}.card-primary{background-color:#0275d8;border-color:#0275d8}.card-success{background-color:#5cb85c;border-color:#5cb85c}.card-info{background-color:#5bc0de;border-color:#5bc0de}.card-warning{background-color:#f0ad4e;border-color:#f0ad4e}.card-danger{background-color:#d9534f;border-color:#d9534f}.card-primary-outline{background-color:transparent;border-color:#0275d8}.card-secondary-outline{background-color:transparent;border-color:#ccc}.card-info-outline{background-color:transparent;border-color:#5bc0de}.card-success-outline{background-color:transparent;border-color:#5cb85c}.card-warning-outline{background-color:transparent;border-color:#f0ad4e}.card-danger-outline{background-color:transparent;border-color:#d9534f}.card-inverse .card-footer,.card-inverse .card-header{border-bottom:1px solid rgba(255,255,255,.2)}.card-inverse .card-blockquote,.card-inverse .card-footer,.card-inverse .card-header,.card-inverse .card-title{color:#fff}.card-inverse .card-blockquote>footer,.card-inverse .card-link,.card-inverse .card-text{color:rgba(255,255,255,.65)}.card-inverse .card-link:focus,.card-inverse .card-link:hover{color:#fff}.card-blockquote{padding:0;margin-bottom:0;border-left:0}.card-img{border-radius:.25rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img-top{border-radius:.25rem .25rem 0 0}.card-img-bottom{border-radius:0 0 .25rem .25rem}@media (min-width:544px){.card-deck{display:table;table-layout:fixed;border-spacing:1.25rem 0}.card-deck .card{display:table-cell;width:1%;vertical-align:top}.card-deck-wrapper{margin-right:-1.25rem;margin-left:-1.25rem}}@media (min-width:544px){.card-group{display:table;width:100%;table-layout:fixed}.card-group .card{display:table-cell;vertical-align:top}.card-group .card+.card{margin-left:0;border-left:0}.card-group .card:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.card-group .card:first-child .card-img-top{border-top-right-radius:0}.card-group .card:first-child .card-img-bottom{border-bottom-right-radius:0}.card-group .card:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.card-group .card:last-child .card-img-top{border-top-left-radius:0}.card-group .card:last-child .card-img-bottom{border-bottom-left-radius:0}.card-group .card:not(:first-child):not(:last-child){border-radius:0}.card-group .card:not(:first-child):not(:last-child) .card-img-bottom,.card-group .card:not(:first-child):not(:last-child) .card-img-top{border-radius:0}}@media (min-width:544px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem}.card-columns .card{display:inline-block;width:100%}}.breadcrumb{padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#eceeef;border-radius:.25rem}.breadcrumb::after{display:table;clear:both;content:""}.breadcrumb>li{float:left}.breadcrumb>li+li::before{padding-right:.5rem;padding-left:.5rem;color:#818a91;content:"/"}.breadcrumb>.active{color:#818a91}.pagination{display:inline-block;padding-left:0;margin-top:1rem;margin-bottom:1rem;border-radius:.25rem}.page-item{display:inline}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link,.page-item.active .page-link:focus,.page-item.active .page-link:hover{z-index:2;color:#fff;cursor:default;background-color:#0275d8;border-color:#0275d8}.page-item.disabled .page-link,.page-item.disabled .page-link:focus,.page-item.disabled .page-link:hover{color:#818a91;cursor:not-allowed;background-color:#fff;border-color:#ddd}.page-link{position:relative;float:left;padding:.5rem .75rem;margin-left:-1px;line-height:1.5;color:#0275d8;text-decoration:none;background-color:#fff;border:1px solid #ddd}.page-link:focus,.page-link:hover{color:#014c8c;background-color:#eceeef;border-color:#ddd}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.333333}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.275rem .75rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.pager{padding-left:0;margin-top:1rem;margin-bottom:1rem;text-align:center;list-style:none}.pager::after{display:table;clear:both;content:""}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eceeef}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover{color:#818a91;cursor:not-allowed;background-color:#fff}.pager .disabled>span{color:#818a91;cursor:not-allowed;background-color:#fff}.pager-next>a,.pager-next>span{float:right}.pager-prev>a,.pager-prev>span{float:left}.label{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.label:empty{display:none}.btn .label{position:relative;top:-1px}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.label-default{background-color:#818a91}.label-default[href]:focus,.label-default[href]:hover{background-color:#687077}.label-primary{background-color:#0275d8}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#025aa5}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#eceeef;border-radius:.3rem}@media (min-width:544px){.jumbotron{padding:4rem 2rem}}.jumbotron-hr{border-top-color:#d0d5d8}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{padding:15px;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:35px}.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d0e9c6}.alert-success hr{border-top-color:#c1e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bcdff1}.alert-info hr{border-top-color:#a6d5ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faf2cc}.alert-warning hr{border-top-color:#f7ecb5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebcccc}.alert-danger hr{border-top-color:#e4b9b9}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:block;width:100%;height:1rem;margin-bottom:1rem}.progress[value]{-webkit-appearance:none;color:#0074d9;border:0;-moz-appearance:none;appearance:none}.progress[value]::-webkit-progress-bar{background-color:#eee;border-radius:.25rem}.progress[value]::-webkit-progress-value::before{content:attr(value)}.progress[value]::-webkit-progress-value{background-color:#0074d9;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.progress[value="100"]::-webkit-progress-value{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}@media screen and (min-width:0\0){.progress{background-color:#eee;border-radius:.25rem}.progress-bar{display:inline-block;height:1rem;text-indent:-999rem;background-color:#0074d9;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.progress[width^="0"]{min-width:2rem;color:#818a91;background-color:transparent;background-image:none}.progress[width="100%"]{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}}.progress-striped[value]::-webkit-progress-value{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:1rem 1rem;background-size:1rem 1rem}.progress-striped[value]::-moz-progress-bar{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}@media screen and (min-width:0\0){.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:1rem 1rem;background-size:1rem 1rem}}.progress-animated[value]::-webkit-progress-value{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-animated[value]::-moz-progress-bar{animation:progress-bar-stripes 2s linear infinite}@media screen and (min-width:0\0){.progress-animated .progress-bar-striped{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}}.progress-success[value]::-webkit-progress-value{background-color:#5cb85c}.progress-success[value]::-moz-progress-bar{background-color:#5cb85c}@media screen and (min-width:0\0){.progress-success .progress-bar{background-color:#5cb85c}}.progress-info[value]::-webkit-progress-value{background-color:#5bc0de}.progress-info[value]::-moz-progress-bar{background-color:#5bc0de}@media screen and (min-width:0\0){.progress-info .progress-bar{background-color:#5bc0de}}.progress-warning[value]::-webkit-progress-value{background-color:#f0ad4e}.progress-warning[value]::-moz-progress-bar{background-color:#f0ad4e}@media screen and (min-width:0\0){.progress-warning .progress-bar{background-color:#f0ad4e}}.progress-danger[value]::-webkit-progress-value{background-color:#d9534f}.progress-danger[value]::-moz-progress-bar{background-color:#d9534f}@media screen and (min-width:0\0){.progress-danger .progress-bar{background-color:#d9534f}}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right{padding-left:10px}.media-left{padding-right:10px}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:0}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-flush .list-group-item{border-width:1px 0;border-radius:0}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom:0}a.list-group-item,button.list-group-item{width:100%;color:#555;text-align:inherit}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#818a91;cursor:not-allowed;background-color:#eceeef}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#818a91}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#0275d8;border-color:#0275d8}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#a8d6fe}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9{padding-bottom:42.857143%}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.embed-responsive-1by1{padding-bottom:100%}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:transform .3s ease-out,-o-transform .3s ease-out;transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out,-o-transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.in{opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header::after{display:table;clear:both;content:""}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.5}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer::after{display:table;clear:both;content:""}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:544px){.modal-dialog{width:600px;margin:30px auto}.modal-sm{width:300px}}@media (min-width:768px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:.875rem;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;opacity:0;line-break:auto}.tooltip.in{opacity:.9}.tooltip.bs-tether-element-attached-bottom,.tooltip.tooltip-top{padding:5px 0;margin-top:-3px}.tooltip.bs-tether-element-attached-bottom .tooltip-arrow,.tooltip.tooltip-top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.bs-tether-element-attached-left,.tooltip.tooltip-right{padding:0 5px;margin-left:3px}.tooltip.bs-tether-element-attached-left .tooltip-arrow,.tooltip.tooltip-right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.bs-tether-element-attached-top,.tooltip.tooltip-bottom{padding:5px 0;margin-top:3px}.tooltip.bs-tether-element-attached-top .tooltip-arrow,.tooltip.tooltip-bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bs-tether-element-attached-right,.tooltip.tooltip-left{padding:0 5px;margin-left:-3px}.tooltip.bs-tether-element-attached-right .tooltip-arrow,.tooltip.tooltip-left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:.875rem;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;line-break:auto}.popover.bs-tether-element-attached-bottom,.popover.popover-top{margin-top:-10px}.popover.bs-tether-element-attached-bottom .popover-arrow,.popover.popover-top .popover-arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.bs-tether-element-attached-bottom .popover-arrow::after,.popover.popover-top .popover-arrow::after{bottom:1px;margin-left:-10px;content:"";border-top-color:#fff;border-bottom-width:0}.popover.bs-tether-element-attached-left,.popover.popover-right{margin-left:10px}.popover.bs-tether-element-attached-left .popover-arrow,.popover.popover-right .popover-arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.bs-tether-element-attached-left .popover-arrow::after,.popover.popover-right .popover-arrow::after{bottom:-10px;left:1px;content:"";border-right-color:#fff;border-left-width:0}.popover.bs-tether-element-attached-top,.popover.popover-bottom{margin-top:10px}.popover.bs-tether-element-attached-top .popover-arrow,.popover.popover-bottom .popover-arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-top .popover-arrow::after,.popover.popover-bottom .popover-arrow::after{top:1px;margin-left:-10px;content:"";border-top-width:0;border-bottom-color:#fff}.popover.bs-tether-element-attached-right,.popover.popover-left{margin-left:-10px}.popover.bs-tether-element-attached-right .popover-arrow,.popover.popover-left .popover-arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-right .popover-arrow::after,.popover.popover-left .popover-arrow::after{right:1px;bottom:-10px;content:"";border-right-width:0;border-left-color:#fff}.popover-title{padding:8px 14px;margin:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:-.7rem -.7rem 0 0}.popover-content{padding:9px 14px}.popover-arrow,.popover-arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover-arrow{border-width:11px}.popover-arrow::after{content:"";border-width:10px}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.carousel-item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.carousel-item>a>img,.carousel-inner>.carousel-item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.carousel-item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:transform .6s ease-in-out,-o-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out,-o-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.carousel-item.active.right,.carousel-inner>.carousel-item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.carousel-item.active.left,.carousel-inner>.carousel-item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.carousel-item.active,.carousel-inner>.carousel-item.next.left,.carousel-inner>.carousel-item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);opacity:.5}.carousel-control.left{background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;width:20px;height:20px;margin-top:-10px;font-family:serif;line-height:1}.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-prev::before{content:"\2039"}.carousel-control .icon-next::before{content:"\203a"}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:transparent;border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media (min-width:544px){.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .icon-prev{margin-left:-15px}.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix::after{display:table;clear:both;content:""}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-xs-left{float:left!important}.pull-xs-right{float:right!important}.pull-xs-none{float:none!important}@media (min-width:544px){.pull-sm-left{float:left!important}.pull-sm-right{float:right!important}.pull-sm-none{float:none!important}}@media (min-width:768px){.pull-md-left{float:left!important}.pull-md-right{float:right!important}.pull-md-none{float:none!important}}@media (min-width:992px){.pull-lg-left{float:left!important}.pull-lg-right{float:right!important}.pull-lg-none{float:none!important}}@media (min-width:1200px){.pull-xl-left{float:left!important}.pull-xl-right{float:right!important}.pull-xl-none{float:none!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.invisible{visibility:hidden!important}.text-hide{font:"0/0" a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-justify{text-align:justify!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-xs-left{text-align:left!important}.text-xs-right{text-align:right!important}.text-xs-center{text-align:center!important}@media (min-width:544px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-normal{font-weight:400}.font-weight-bold{font-weight:700}.font-italic{font-style:italic}.text-muted{color:#818a91}.text-primary{color:#0275d8!important}a.text-primary:focus,a.text-primary:hover{color:#025aa5}.text-success{color:#5cb85c!important}a.text-success:focus,a.text-success:hover{color:#449d44}.text-info{color:#5bc0de!important}a.text-info:focus,a.text-info:hover{color:#31b0d5}.text-warning{color:#f0ad4e!important}a.text-warning:focus,a.text-warning:hover{color:#ec971f}.text-danger{color:#d9534f!important}a.text-danger:focus,a.text-danger:hover{color:#c9302c}.bg-inverse{color:#eceeef;background-color:#373a3c}.bg-faded{background-color:#f7f7f9}.bg-primary{color:#fff!important;background-color:#0275d8!important}a.bg-primary:focus,a.bg-primary:hover{background-color:#025aa5}.bg-success{color:#fff!important;background-color:#5cb85c!important}a.bg-success:focus,a.bg-success:hover{background-color:#449d44}.bg-info{color:#fff!important;background-color:#5bc0de!important}a.bg-info:focus,a.bg-info:hover{background-color:#31b0d5}.bg-warning{color:#fff!important;background-color:#f0ad4e!important}a.bg-warning:focus,a.bg-warning:hover{background-color:#ec971f}.bg-danger{color:#fff!important;background-color:#d9534f!important}a.bg-danger:focus,a.bg-danger:hover{background-color:#c9302c}.m-x-auto{margin-right:auto!important;margin-left:auto!important}.m-a-0{margin:0 0!important}.m-t-0{margin-top:0!important}.m-r-0{margin-right:0!important}.m-b-0{margin-bottom:0!important}.m-l-0{margin-left:0!important}.m-x-0{margin-right:0!important;margin-left:0!important}.m-y-0{margin-top:0!important;margin-bottom:0!important}.m-a-1{margin:1rem 1rem!important}.m-t-1{margin-top:1rem!important}.m-r-1{margin-right:1rem!important}.m-b-1{margin-bottom:1rem!important}.m-l-1{margin-left:1rem!important}.m-x-1{margin-right:1rem!important;margin-left:1rem!important}.m-y-1{margin-top:1rem!important;margin-bottom:1rem!important}.m-a-2{margin:1.5rem 1.5rem!important}.m-t-2{margin-top:1.5rem!important}.m-r-2{margin-right:1.5rem!important}.m-b-2{margin-bottom:1.5rem!important}.m-l-2{margin-left:1.5rem!important}.m-x-2{margin-right:1.5rem!important;margin-left:1.5rem!important}.m-y-2{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-a-3{margin:3rem 3rem!important}.m-t-3{margin-top:3rem!important}.m-r-3{margin-right:3rem!important}.m-b-3{margin-bottom:3rem!important}.m-l-3{margin-left:3rem!important}.m-x-3{margin-right:3rem!important;margin-left:3rem!important}.m-y-3{margin-top:3rem!important;margin-bottom:3rem!important}.p-a-0{padding:0 0!important}.p-t-0{padding-top:0!important}.p-r-0{padding-right:0!important}.p-b-0{padding-bottom:0!important}.p-l-0{padding-left:0!important}.p-x-0{padding-right:0!important;padding-left:0!important}.p-y-0{padding-top:0!important;padding-bottom:0!important}.p-a-1{padding:1rem 1rem!important}.p-t-1{padding-top:1rem!important}.p-r-1{padding-right:1rem!important}.p-b-1{padding-bottom:1rem!important}.p-l-1{padding-left:1rem!important}.p-x-1{padding-right:1rem!important;padding-left:1rem!important}.p-y-1{padding-top:1rem!important;padding-bottom:1rem!important}.p-a-2{padding:1.5rem 1.5rem!important}.p-t-2{padding-top:1.5rem!important}.p-r-2{padding-right:1.5rem!important}.p-b-2{padding-bottom:1.5rem!important}.p-l-2{padding-left:1.5rem!important}.p-x-2{padding-right:1.5rem!important;padding-left:1.5rem!important}.p-y-2{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-a-3{padding:3rem 3rem!important}.p-t-3{padding-top:3rem!important}.p-r-3{padding-right:3rem!important}.p-b-3{padding-bottom:3rem!important}.p-l-3{padding-left:3rem!important}.p-x-3{padding-right:3rem!important;padding-left:3rem!important}.p-y-3{padding-top:3rem!important;padding-bottom:3rem!important}.pos-f-t{position:fixed;top:0;right:0;left:0;z-index:1030}.hidden-xs-up{display:none!important}@media (max-width:543px){.hidden-xs-down{display:none!important}}@media (min-width:544px){.hidden-sm-up{display:none!important}}@media (max-width:767px){.hidden-sm-down{display:none!important}}@media (min-width:768px){.hidden-md-up{display:none!important}}@media (max-width:991px){.hidden-md-down{display:none!important}}@media (min-width:992px){.hidden-lg-up{display:none!important}}@media (max-width:1199px){.hidden-lg-down{display:none!important}}@media (min-width:1200px){.hidden-xl-up{display:none!important}}.hidden-xl-down{display:none!important}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/theme/css/code.css b/theme/css/code.css new file mode 100644 index 0000000..a0d95b9 --- /dev/null +++ b/theme/css/code.css @@ -0,0 +1,65 @@ +/** + * Code highlight stylesheet. + * Monokai theme. + */ + +.highlight .hll { background-color: #49483e } +.highlight { background: #272822; color: #f8f8f2 } +.highlight .c { color: #75715e } /* Comment */ +.highlight .err { color: #960050; background-color: #1e0010 } /* Error */ +.highlight .k { color: #66d9ef } /* Keyword */ +.highlight .l { color: #ae81ff } /* Literal */ +.highlight .n { color: #f8f8f2 } /* Name */ +.highlight .o { color: #f92672 } /* Operator */ +.highlight .p { color: #f8f8f2 } /* Punctuation */ +.highlight .cm { color: #75715e } /* Comment.Multiline */ +.highlight .cp { color: #75715e } /* Comment.Preproc */ +.highlight .c1 { color: #75715e } /* Comment.Single */ +.highlight .cs { color: #75715e } /* Comment.Special */ +.highlight .ge { font-style: italic } /* Generic.Emph */ +.highlight .gs { font-weight: bold } /* Generic.Strong */ +.highlight .kc { color: #66d9ef } /* Keyword.Constant */ +.highlight .kd { color: #66d9ef } /* Keyword.Declaration */ +.highlight .kn { color: #f92672 } /* Keyword.Namespace */ +.highlight .kp { color: #66d9ef } /* Keyword.Pseudo */ +.highlight .kr { color: #66d9ef } /* Keyword.Reserved */ +.highlight .kt { color: #66d9ef } /* Keyword.Type */ +.highlight .ld { color: #e6db74 } /* Literal.Date */ +.highlight .m { color: #ae81ff } /* Literal.Number */ +.highlight .s { color: #e6db74 } /* Literal.String */ +.highlight .na { color: #a6e22e } /* Name.Attribute */ +.highlight .nb { color: #f8f8f2 } /* Name.Builtin */ +.highlight .nc { color: #a6e22e } /* Name.Class */ +.highlight .no { color: #66d9ef } /* Name.Constant */ +.highlight .nd { color: #a6e22e } /* Name.Decorator */ +.highlight .ni { color: #f8f8f2 } /* Name.Entity */ +.highlight .ne { color: #a6e22e } /* Name.Exception */ +.highlight .nf { color: #a6e22e } /* Name.Function */ +.highlight .nl { color: #f8f8f2 } /* Name.Label */ +.highlight .nn { color: #f8f8f2 } /* Name.Namespace */ +.highlight .nx { color: #a6e22e } /* Name.Other */ +.highlight .py { color: #f8f8f2 } /* Name.Property */ +.highlight .nt { color: #f92672 } /* Name.Tag */ +.highlight .nv { color: #f8f8f2 } /* Name.Variable */ +.highlight .ow { color: #f92672 } /* Operator.Word */ +.highlight .w { color: #f8f8f2 } /* Text.Whitespace */ +.highlight .mf { color: #ae81ff } /* Literal.Number.Float */ +.highlight .mh { color: #ae81ff } /* Literal.Number.Hex */ +.highlight .mi { color: #ae81ff } /* Literal.Number.Integer */ +.highlight .mo { color: #ae81ff } /* Literal.Number.Oct */ +.highlight .sb { color: #e6db74 } /* Literal.String.Backtick */ +.highlight .sc { color: #e6db74 } /* Literal.String.Char */ +.highlight .sd { color: #e6db74 } /* Literal.String.Doc */ +.highlight .s2 { color: #e6db74 } /* Literal.String.Double */ +.highlight .se { color: #ae81ff } /* Literal.String.Escape */ +.highlight .sh { color: #e6db74 } /* Literal.String.Heredoc */ +.highlight .si { color: #e6db74 } /* Literal.String.Interpol */ +.highlight .sx { color: #e6db74 } /* Literal.String.Other */ +.highlight .sr { color: #e6db74 } /* Literal.String.Regex */ +.highlight .s1 { color: #e6db74 } /* Literal.String.Single */ +.highlight .ss { color: #e6db74 } /* Literal.String.Symbol */ +.highlight .bp { color: #f8f8f2 } /* Name.Builtin.Pseudo */ +.highlight .vc { color: #f8f8f2 } /* Name.Variable.Class */ +.highlight .vg { color: #f8f8f2 } /* Name.Variable.Global */ +.highlight .vi { color: #f8f8f2 } /* Name.Variable.Instance */ +.highlight .il { color: #ae81ff } /* Literal.Number.Integer.Long */ diff --git a/theme/css/font-awesome.min.css b/theme/css/font-awesome.min.css new file mode 100644 index 0000000..d0603cb --- /dev/null +++ b/theme/css/font-awesome.min.css @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.5.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.5.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.5.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.5.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.5.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.5.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.5.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"} diff --git a/theme/css/main.css b/theme/css/main.css new file mode 100644 index 0000000..f950a15 --- /dev/null +++ b/theme/css/main.css @@ -0,0 +1,432 @@ + +figure { + width: 100%; + text-align: center; + margin-top: 2rem; + margin-bottom: 2rem; +} + +figure > a { + display: inline-block; + max-width: 100%; +} + +iframe, +object, +figure > img, +figure > a { + margin-left: auto; + margin-right: auto; +} + +@media only screen and (min-width: 1000px) { + .container { + max-width: 940px; + } +} + +body { + font-family: 'Slabo 13px', 'Palatino Linotype', 'Book Antiqua', Palatino, serif; + color: #404040; + border-top: #90AA3C 0.5rem solid; +} + +h1, +h2, +h3, +h4 { + font-family: 'Roboto Slab', serif; + color: #242424; +} + +a { + color: #90AA3C; +} + +a:hover, +a:active, +a:focus { + color: #81992C; +} + +hr { + border-color: transparent; + margin: 5rem 0; +} + +.site-header { + text-align: center; + margin: 6rem 0 6rem 0; +} + +.site-header-title { + text-transform: uppercase; + font-weight: normal; + font-size: 4rem; +} + +.site-navigation { + margin-top: -0.3rem; + text-align: right; +} + +.site-navigation .btn { + text-transform: uppercase; + font-weight: normal; + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.archive-navigation { + text-align: center; + margin: 0 0 5rem 0; +} + +.archive-index { + -webkit-columns: 3 15em; + -moz-columns: 3 15em; + columns: 3 15em; + -webkit-column-gap: 1em; + -moz-column-gap: 1em; + column-gap: 1em; +} + +.archive-index, +.archive-index ul, +.archive-index li { + padding: 0; + list-style-type: none; +} + +.archive-year h3 { + text-align: center; + margin-bottom: 3rem; +} + +.archive-year { + margin-bottom: 2rem; +} + +.archive-year h4.supressed { + margin: 1.7rem 0 0.5rem 0; + text-align: left; +} + +.archive-article { + display: table; +} + +.archive-article time { + display: table-cell; + width: 3rem; +} + +.archive-article a { + display: table-cell; +} + +.latest-article { + position: relative; +} + +.latest-article-content { + height: 25rem; + overflow: hidden; +} + +.latest-article-content .latest-article-title { + text-align: center; + font-weight: normal; + font-size: 3rem; + margin: 0 0 1rem 0; + line-height: normal; +} + +.latest-article-content .supressed { + margin-bottom: 3rem; +} + +.img-featured { + max-width: 30%; + margin-left: 1rem; +} + +.continue-overlay { + display: -webkit-box; + display: -moz-box; + display: -ms-flexbox; + display: -webkit-flex; + display: flex; + align-items: center; + justify-content: center; + position: absolute; + bottom: 0; + width: 100%; + height: 25rem; + background: transparent linear-gradient(to bottom, rgba(255, 255, 255, 0) 30%, #FFF) repeat scroll 0% 0%; +} + +.continue-overlay, +.continue-overlay:hover, +.continue-overlay:active, +.continue-overlay:focus, +.continue-overlay:active:hover { + text-decoration: none; +} + +.continue .btn { + align-self: flex-end; +} + +.btn-primary, +.btn-primary:hover, +.btn-primary:active, +.btn-primary:focus, +.btn-primary:active:hover { + background-color: #90AA3C; + border-color: #90AA3C; +} + +.footer { + text-align: center; + background-color: #242424; + padding: 4rem 0 1rem 0; +} + +.footer, +.footer a, +.footer a:hover, +.footer a:active, +.footer a:focus, +.footer a:active:hover { + color: #FFF; +} + +.footer .separator { + margin: 0 0.5em; +} + +.call-to-action { + padding: 4rem 0; +} + +.feeds, .call-to-action { + text-align: center; +} + +.feeds .btn, .call-to-action .btn { + margin: 0.5rem 0.5rem; +} + +.feeds .btn-primary-outline, +.call-to-action .btn-primary-outline { + color: #242424; + border-color: #242424; +} + +.feeds .btn-primary-outline:hover, +.feeds .btn-primary-outline:active, +.feeds .btn-primary-outline:focus, +.feeds .btn-primary-outline:active:hover, +.call-to-action .btn-primary-outline:hover, +.call-to-action .btn-primary-outline:active, +.call-to-action .btn-primary-outline:focus, +.call-to-action .btn-primary-outline:active:hover { + color: #FFF; + background-color: #242424; + border-color: #242424; +} + +.header { + text-align: center; + margin: 6rem 0 10rem 0; +} + +.header h1 { + font-size: 4rem; + font-weight: normal; + margin-bottom: 3rem; + padding: 0 1em; +} + +.content { + line-height: 2em; +} + +.content h1, +.content h2, +.content h3, +.content h4 { + margin: 2em 0 0.5em 0; + line-height: 1.5em; +} + +.article-container .content a:visited { + color: #999; +} + +.content img.left { + margin: 0.5em 2em 2em 0; +} + +.content img.right { + margin: 0.5em 0 2em 2em; +} + +.content ul { + list-style: none; + padding-left: 0; +} + +.content ul li::before { + content: '■'; + position: absolute; + left: 0.3em; + top: -0.1em; + color: #90AA3C; +} + +.content ul li { + position: relative; + padding-left: 2em; +} + +.content .alert { + margin-bottom: 4rem; + text-align: center; +} + +.content .alert a { + font-weight: bold; +} + +.content .alert-warning a { + color: #8a6d3b; +} + +.content .alert-danger a { + color: #a94442; +} + +blockquote { + border-left: 5px solid #DDD; + padding-left: 1rem; + font-style: italic; +} + +.supressed { + text-align: center; + font-family: sans-serif; + text-transform: uppercase; + font-size: 0.9rem; +} + +.supressed, +.supressed * { + color: #AAA; + font-weight: normal; + letter-spacing: 0.1rem; +} + +.supressed a:hover, +.supressed a:active, +.supressed a:focus, +.supressed a:active:hover { + color: #5B5B5B; +} + +h2.supressed, +h3.supressed, +h4.supressed { + margin-bottom: 1rem; +} + +.permalink { + margin: 0 0.2em; +} + +.permalink a { + color: #999; +} + +.share { + display: -webkit-box; + display: -moz-box; + display: -ms-flexbox; + display: -webkit-flex; + display: flex; + align-items: center; + justify-content: center; +} + +.share a { + margin: 0 0.5rem; +} + +.about-box { + line-height: 2em; + font-size: 110%; + text-align: center; + display: table; +} + +.about-image-crop { + width: 10em; + height: 10em; + overflow: hidden; +} + +.about-image img { + width: 100%; + position: relative; + top: 50%; + transform: perspective(1px) translateY(-50%); +} + +.about-image, +.about-text { + text-align: left; + vertical-align: middle; + display: table-cell; +} + +.about-text { + padding: 0 0 0 2rem; +} + +@media only screen and (max-width: 550px) { + .about-box { + display: block; + text-align: center; + } + + .about-image { + float: right; + width: 6em; + margin: 0.3rem 0 1rem 1rem; + } + + .about-image, + .about-text { + padding: 0; + text-align: left; + display: block; + } +} + + +i.fa { + margin-right: 0.3rem; +} + +pre { + line-height: 120%; + margin: 1em 0; padding: 1em; + overflow: auto; +} + +abbr[data-original-title], +abbr[title] { + text-decoration: none; +} diff --git a/theme/css/site.css b/theme/css/site.css new file mode 100644 index 0000000..ee56201 --- /dev/null +++ b/theme/css/site.css @@ -0,0 +1,95 @@ + +body { + font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; + border-color: #337AB7; +} + +.supressed, .supressed *, .site-header-subtitle { + color: #646464; +} + +body, .site-header-subtitle, +.supressed +.btn { + color: #333; +} + +h1, +h2, +h3, +h4 { + font-weight: bold; + color: #333; +} + +h1, +h2, +h3, +h4 { + font-family: 'Arbutus Slab', serif; +} + +a { + color: #337AB7; +} + +a:hover, +a:active, +a:focus { + color: #23527C; +} + +.btn-primary, +.btn-primary:hover, +.btn-primary:active, +.btn-primary:focus, +.btn-primary:active:hover { + background-color: #337AB7; + border-color: #337AB7; +} + +.content ul li::before { + color: #337AB7; +} + +.site-header { + margin-bottom: 4rem; +} + +.site-header::after { + content: ""; + display: block; + height: 200px; + margin: 3rem auto 0 auto; + background-image: url('/images/czech-python-user-group.png'); + background-image: url('/images/czech-python-user-group.svg'); + background-repeat: no-repeat; + background-position: center; + background-size: contain; +} + +.site-header-title { + max-width: 35rem; + margin-left: auto; + margin-right: auto; +} + +@media only screen and (max-width: 600px) { + .site-header-title { + font-size: 3rem; + } +} + +@media only screen and (max-width: 400px) { + .site-header-title { + font-size: 2.5rem; + } +} + +.archive-year { + /* Keep each year's entries together + * inspired by http://stackoverflow.com/questions/6424088/css-column-breaks + */ + display: inline-block; + width: 100%; +} diff --git a/theme/fonts/FontAwesome.otf b/theme/fonts/FontAwesome.otf new file mode 100644 index 0000000..3ed7f8b Binary files /dev/null and b/theme/fonts/FontAwesome.otf differ diff --git a/theme/fonts/fontawesome-webfont.eot b/theme/fonts/fontawesome-webfont.eot new file mode 100644 index 0000000..9b6afae Binary files /dev/null and b/theme/fonts/fontawesome-webfont.eot differ diff --git a/theme/fonts/fontawesome-webfont.svg b/theme/fonts/fontawesome-webfont.svg new file mode 100644 index 0000000..d05688e --- /dev/null +++ b/theme/fonts/fontawesome-webfont.svg @@ -0,0 +1,655 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/theme/fonts/fontawesome-webfont.ttf b/theme/fonts/fontawesome-webfont.ttf new file mode 100644 index 0000000..26dea79 Binary files /dev/null and b/theme/fonts/fontawesome-webfont.ttf differ diff --git a/theme/fonts/fontawesome-webfont.woff b/theme/fonts/fontawesome-webfont.woff new file mode 100644 index 0000000..dc35ce3 Binary files /dev/null and b/theme/fonts/fontawesome-webfont.woff differ diff --git a/theme/fonts/fontawesome-webfont.woff2 b/theme/fonts/fontawesome-webfont.woff2 new file mode 100644 index 0000000..500e517 Binary files /dev/null and b/theme/fonts/fontawesome-webfont.woff2 differ diff --git a/tri-roky-pyvo-brug.html b/tri-roky-pyvo-brug.html new file mode 100644 index 0000000..07f3c85 --- /dev/null +++ b/tri-roky-pyvo-brug.html @@ -0,0 +1,134 @@ + + + + + + + + Tři roky Pyvo + BRUG - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

Tři roky Pyvo + BRUG

+

+ +
+ Honza Javorek +

+
+ +
+

Varování: Tento článek obsahuje mnohokrát slovo radost.

+

Prý už jsem dlouho nic nenapsal na blog. Teď mě napadlo, co bych sem mohl napsat, ale nevím, jestli to není nějaká sebechvála nebo něco. Jenže z toho mám takovou radost, že se prostě neudržím. Berte to třeba jako pozvánku na další Pyvo + BRUG.

+

Ve čtvrtek proběhlo další brněnské Pyvo + BRUG, tentokrát s podtitulem "překladačové". Překladače a vše kolem mám rád, takže jsem to téma měl v záloze už dlouho a těšil jsem se na něj, ale myslel jsem si, že nikoho dalšího to zase až tak moc nezajímá, tak jsem se do toho nehrnul. Teď v dubnu jsem se odvážil a přichystali jsme to. Napsal jsem vytipovaným speakerům a kupodivu měli nakonec všichni čas a odvahu dorazit, byť dva byli až z nějaké větší vesnice u Dobrovíze nebo odkud... Organizace proběhla celkem bez zaváhání - jediné problémy, které jsme řešili, byly čeština versus angličtina a natáčení videa, což už je takový náš folklór, takže to neberu jako nic vážného. Na programu byly tři přednášky a jeden lightning talk:

+ +

Tento článek je z dob kdy blog.python.cz ještě neexistoval a původně vyšel na Honzově blogu. Můžete si ho dočíst tam!

+
+ +
+ +
+

+ Honza Javorek + + · @honzajavorek +

+
+
+
+ +
+
+
+

Honza je programátor. Od roku 2011 buduje českou komunitu kolem jazyka Python. V současnosti pomáhá hlavně s propagací aktivit, jako jsou PyLadies, Pyvo, nebo PyCon CZ. Přes den jej najdete v Apiary, kde se stará o Dredd, framework na testování API. Občas taky radí lidem jak mají API dělat a přednáší o tom na konferencích.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/vyzvy-pro-pyvo.html b/vyzvy-pro-pyvo.html new file mode 100644 index 0000000..5b112cf --- /dev/null +++ b/vyzvy-pro-pyvo.html @@ -0,0 +1,128 @@ + + + + + + + + Výzvy pro Pyvo - Python v ČR bloguje + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

Výzvy pro Pyvo

+

+ +
+ Honza Javorek +

+
+ +
+

Dnes v Brně slavíme čtyři roky od založení místního srazu příznivců programovacího jazyka Python. Srazu, který nazýváme Pyvo. Zábavné příhody o tom, jak k založení došlo jsem kolem sebe trousil celé čtyři roky, takže se v rámci tohoto článku z hlediska minulosti omezím spíš na bilancování toho, co se nám povedlo, a taky něco o cestě, kterou si myslím, že by mělo Pyvo kráčet do budoucna.

+

Co se povedlo#

+

V Brně se za čtyři roky rozhodně podařilo vytvořit pravidelný sraz, který sdružuje místní komunitu Pythonistů (a Rubystů). To samo o sobě není tak snadný úkol jak se zdá a je možná vlastně i dílem náhody, že zrovna nám v Brně se to povedlo. Myslel jsem si, že se tento úspěch dá snadno replikovat, ale zpětně vidím, že to není tak jednoduché a za každým funkčním srazem je ohromná spousta práce.

+

Tento článek je z dob kdy blog.python.cz ještě neexistoval a původně vyšel na Honzově blogu. Můžete si ho dočíst tam!

+
+ +
+ +
+

+ Honza Javorek + + · @honzajavorek +

+
+
+
+ +
+
+
+

Honza je programátor. Od roku 2011 buduje českou komunitu kolem jazyka Python. V současnosti pomáhá hlavně s propagací aktivit, jako jsou PyLadies, Pyvo, nebo PyCon CZ. Přes den jej najdete v Apiary, kde se stará o Dredd, framework na testování API. Občas taky radí lidem jak mají API dělat a přednáší o tom na konferencích.

+
+
+
+ +
+ + + +
+ +
+
+ + +
+
+ +
+ +
+ + Komentáře + +
+
+ +
+ + + + + + + + \ No newline at end of file