Domknięcia to jedna z najpotężniejszych cech języka JavaScript. Kiedy poznaje się mechanizm, który za nimi stoi, z początku wydaje się to piękne, ale mało życiowe. Okazuje się jednak, że czym więcej domknięć w kodzie, tym kod czystszy i bardziej zmodularyzowany. Przyjrzyjmy się jednemu przykładowi z Raw Salad.
trzewiczek info
Przy okazji konkursu Wiki Lubi Zabytki chciałem szybko postawić prostą wyszukiwarkę zabytków znajdujących się w rejestrze Narodowego Instytutu Dziedzictwa. Pracując w webie zawsze działam w Django, a przy tego typu prostych i szybkich realizacjach wybieram SQLite jako bazę danych - jeden upload lokalnie, a później kopia pliku na serwer. Problemy pojawiły się, gdy okazało się, że łomża nie posiada żadnych zabytków.
Posłałem informację o konkursie, który organizowaliśmy w Centrum Cyfrowym między innymi do Agnieszki Słodownik. Dawno nie mieliśmy kontaktu, więc zaraz za tym posypała się szybka wymiana maili ze zdjęciami pięciomiesięcznej Marysi i innymi tematami z życia prywatnego. Ostatni mail przesłany przez Agę dotyczył Czytelni - projektu, którego była kuratorką w ramach Europejskiego Kongresu Kultury. A może jesteś zainteresowany takim tematem? „Czytelnia” to chyba dobry temat dla Maćka. Byłaby okazja w końcu coś razem zrobić.
Mój twardy dysk przepełniony jest plikami mp3 - mój telefon nie rozumie innego formatu, więc jestem do tego zmuszony. Chcąc publikować muzykę na swojej stronie internetowej wybieram format OGG. Jak w terminalu przekonwertować pliki z mp3 do ogg? Wystarczy lame, oggenc i mała rurka.
Zgrywanie, konwertowanie, kompresowanie... Prawdziwy ból głowy. Udało mi się jednak znaleźć kilka narzędzi command-linowych, które pozwalają na manipulację plikami dźwiękowymi z łatwością. Dzisiaj o ripowaniu płyt magicznym programem abcde
Dwa dni koncertów w takim towarzystwie (Tomek Chołoniewski, Emiter, Mikołaj Pałosz, Zenial i inni) i w takim miejscu (Cafe OTO w Londynie) to nielada wydarzenie. Niczym jednak jest w porównaniu z aresztowaniem na lotniku w drodze powrotnej - reprezentując polską myśl koputerowo-muzyczną na obczyźnię skończyłem na mandacie za nielegalne przekroczenie granicy RP.
Ostatecznie, po kilku tygodniach ostrych przygotowań Beet (aka Beta Vulgaris) został napisany, a ja mogłem wyruszyć w swoją pierwszą mini-trasę koncertową. Dzień po dniu dwa solowe koncerty poprzedzone krótkimi wykładami - na temat roli open source w sztuce (Kamil Śliwowski) i o Creative Commons (trzewiczek).
Sprawa jest prosta i w gruncie rzeczy oczywista. Niemniej jednak straciłem dzisiaj czterdzieści minut szukając błędu, który okazał się błachostką. Chodzi o to, że standardowa biblioteka UGenów ChucKa zorganizowana jest w typową hierarchię klas. To dobrze! Szkoda tylko, że ta hierarchia ma luki.
Dwa operatory przypisania w ChucKu robią nieco zamieszania. W przypadku większości zmiennych nie natrafimy na problemy, ponieważ wirtualna maszyna zbuntuje się przeciwko niewłaśniwemu operatorowi. Niebezpieczeństwa pojawiają się jednak, gdy przyjdzie do obiektów klasy UGen. Dla nich klasyczny chuck operator ma swoje znaczenie.
Temat setterów i getterów jest w programowaniu obiektowym powszechny. Sam ChucK pozwala na bardzo ładną ich implementację, z którą spotykamy się w ChucKu dosłownie na każdym kroku.
Niestety ChucK jest wciąż we wczesnej fazie rozwoju, przez co wiele prostych rzeczy należy robić “na skróty”. Przykładem są statyczne pola klas, które nie są typami podstawowymi. W kwestii typów ChucK wzorowany jest na Javie – wszystko, co nie jest typem podstawowym (int, float, char) jest referencją do obiektu. Stąd mamy prosty problem – statyczny napis wewnątrz klasy.
Minęły dwa lata od momentu, kiedy grałem z Wojtkiem Blecharzem po raz ostatni. Wyprowadził się do San Diego na studia doktoranckie z kompozycji, co zdecydowanie utrudnia nam współpracę. W czerwcu przyjechał jednak na wakacje do Polski i przyznam, że moje zdziwienie było ogromne, gdy zadzwonił z propozycją zagrania wspólnego koncertu ze średniowiecznym repertuarem. Co prawda Wojtek przez wiele lat prowadził zespół muzyki dawnej, ale ja?! Ja gram rzężąco-konkretne elektro!!
Kiedy Paweł Bukowski powiedział mi o festiwalu w Budapeszcie, prawdę mówiąc nie kojarzyłem większości muzyków, którzy mieli tam wystąpić. Ucieszyłem się natomiast, że wystąpi Piotrek Bukowski, z którym znamy sie od lat, lecz nie mamy okazji do tego, by razem zagrać. Znałem też Piotrka Tkacza i Patryka Lichotę – poznaliśmy się kiedyś podczas koncertu Kurortu w Krakowie.
Zrobiło się poważnie, gdy Marcin Barski powiedział, co interesuje go najbardziej w mojej muzyce. Okazuje sie, że nasze zainteresowania się spotykają, bo organiczność muzyki to, coś co czego w muzyce szukam. Wciąż nie mogę tego problemu dobrze uchwycić, ale jest on dla mnie priorytetowy.
N E W S