Quick jump:  What's new

 
Go to:
 
Weblog: MarcellMars   
in RazmjenaVjestina
NovaStranica

ja ju napravim
test


original Apr 30 3:50am

permalink
MarcellMarsJingleRazmjenaVjestina

Draft #1:

 A: Jedan tebi, jedan meni, drugi tebi, jedan-dva meni, treći tebi, jen-dva-tri meni...

 B: EEej, jel ti to varaš?

 A: Šta ti je? Dat ću ti root password pa provjeri...

 B: Aaaaa, ruuut password.. da da da... onda ok.

 A: četvrti tebi, jen-dva-tri-četri meni...

Razmjeni vještine, svakodnevne dovitljivosti i pokaži što znaš u _ 11.06. od __ do __. Haker je hakeru drug. http://www.razmjenavjestina.org


Draft #2

ovaj je bez veze, ali neka ga...

"Ove subote instaliranje linuxa na sve što na struju gmiže, pa s gmizavcem u rex, a s dual butom doma."


original Oct 31 4:59am

permalink
MarcellMarsCodeGamepadX

GamepadX

at the moment i try to get account at savannah.gnu.org with this project:
*"topot" is python scripting environment to allow classic input devices, gamepads/joysticks and midi/osc gears to mimic each other... to use mouse/keyboard as midi/osc controlers and vice versa...

visualisations of the parameters in charge is an extra layer.

the code written till now is at wiki page:
http://www.razmjenavjestina.org/[MarcellMars]/[MarcellMarsCodeGamepadX]

it allows user to use gamepad as mouse, keyboard or any other system call written in XAction class.. also there is a draft class which allows user to use MIDI controller as a regular mouse...*

GamepadX is a little python script which prepares gamepad (in my case Logitech Cordless Rumble Pad) to act as mouse, arrows, backspace, delete, enter, escape... whatever u put in methods of class XAction ;)

if you are looking for the "real app" for making your joystick the new mouse in X try http://qjoypad.sourceforge.net/... unfortunately i didn't test it but it seems quite matured :*

at the moment the configuration is in konf list where the first member of the list is pseudo-modifier, second is axe or button of the gamepad, third the number of ax or button and finally forth is the name of the method of class Kontroler which will be called after particular axe or button is pressed. modifiers should be used to bring extra functionality for axis or buttons and therefore should be placed before other (non-modifiers) functionalities in the conf list... when modifier is pressed the particular axe or button when pressed gets different job than when pressed without the modifier.. as easy as that ;)

the future plans are to make "while 1:" separated thread + make python OSC/MIDI server (open sound control) which will call then methods of XAction so it will be possible to use MIDI gears to cheat X server ;)

UPDATE: the proof of concept regarding MIDI is in the code.. and at the moment MIDI controllers 72 and 73 are mouse axis and notes 49, 50 and 51 are left/middle/right click of the mouse... it is easy to catch any other midi event and make it do whatever is in XAction class... if testing just be sure that your MIDI controller is connected to GetMIDI midi device... i recommend qjackctl for doing that

the other thing is to make this also controller of rvwm fork of evilwm. rvwm are python bindings of evilwm controllable from interactive python sessions (separated thread)...

whatever...

it depends on pyJSW responsible for communication to gamepad and
pyseq responsible for communication to X server.

from pyrobot import *
import JSW,sys,time
from pyseq import *


class GetMIDI(PySeq):
    def __init__(self):
        PySeq.__init__(self,'GetMIDI')
        self.iport = self.createInPort('')

    def startGetMIDI(self):
        self.mt=MidiThread(self)
        self.mt.start()

    def callback(self, ev):
        if ev.type =
^ SND_SEQ_EVENT_NOTEON and ev.getData().note
= 48 \
and ev.getData().velocity > 0:
            K.leftClick(1, 'midi00')
        if ev.type =
^ SND_SEQ_EVENT_NOTEON and ev.getData().note
= 48 \
and ev.getData().velocity == 0:
            K.leftClick(0, 'midi00')

        if ev.type =
^ SND_SEQ_EVENT_NOTEON and ev.getData().note
= 49 \
and ev.getData().velocity > 0:
            K.middleClick(1, 'midi01')
        if ev.type =
^ SND_SEQ_EVENT_NOTEON and ev.getData().note
= 49 \
and ev.getData().velocity == 0:
            K.middleClick(0, 'midi01')

        if ev.type =
^ SND_SEQ_EVENT_NOTEON and ev.getData().note
= 50 \
and ev.getData().velocity > 0:
            K.rightClick(1, 'midi02')
        if ev.type =
^ SND_SEQ_EVENT_NOTEON and ev.getData().note
= 50 \
and ev.getData().velocity == 0:
            K.rightClick(0, 'midi02')

        if ev.type =
^ SND_SEQ_EVENT_CONTROLLER and ev.getData().param
= 73:
            K.mouseX = (ev.getData().value + 1)*(1024/128)
            K.moveMouse()
        if ev.type 
^^ SND_SEQ_EVENT_CONTROLLER and ev.getData().param
 72:
            K.mouseY = (ev.getData().value + 1)*(1024/128)
            K.moveMouse()

        return 1

class XAction:
    def __init__(self):
        self.R = PyRobot()
        self.dev = "/dev/input/js0"
        self.cal = "/tmp/.joystick"
        self.jsd = JSW.Joystick(self.dev,self.cal)
        self.ax = self.jsd.getAxisCoeff
        self.bt = self.jsd.getButtonState
        self.mouseX = 0
        self.mouseY = 0
        self.states = {}
        for i in range(self.jsd.axisCount):
            self.states['ax'+str(i)] = 0
        for i in range(self.jsd.buttonCount):
            self.states['bt'+str(i)] = 0
        self.states['ax4b'] = 0
        self.states['ax5b'] = 0
        for i in range(3):
            self.states['midi0'+str(i)] = 0

    def getMouseCoord(self):
        self.R.grabAll()
        ev = self.R.getEvent()
        dat = ev.getData()
        self.mouseX, self.mouseY = dat.x, dat.y
        self.R.releaseAll()

    def setMouseX(self, x, state):
        step = self.getMouseStep(x)
        if x > 0:
            self.mouseX += step + 1
            if self.mouseX > 1024: self.mouseX = 1024
        elif x < 0:
            self.mouseX += step - 1
            if self.mouseX < 0: self.mouseX = 0

    def setMouseY(self, y, state):
        step = self.getMouseStep(y)
        if y > 0:
            self.mouseY -= step + 1
            if self.mouseY > 768: self.mouseY = 768
        elif y < 0:
            self.mouseY -= step - 1
            if self.mouseY < 0: self.mouseY = 0

    def getMouseStep(self, s):
        return int(((round(s,2)*100)**3)/20000)

    def moveMouse(self):
        self.R.sendMotionEvent(self.mouseX, self.mouseY)

    def leftClick(self, click, state):
        if click 
^^ 1 and self.states[state]
 0:
            self.R.sendButtonEvent(1,1)
            self.states[state] = 1
        elif click =
^ 0 and self.states[state]
= 1:
            self.R.sendButtonEvent(1,0)
            self.states[state] = 0

    def rightClick(self, click, state):
        if click 
^^ 1 and self.states[state]
 0:
            self.R.sendButtonEvent(3,1)
            self.states[state] = 1
        elif click =
^ 0 and self.states[state]
= 1:
            self.R.sendButtonEvent(3,0)
            self.states[state] = 0

    def middleClick(self, click, state):
        if click 
^^ 1 and self.states[state]
 0:
            self.R.sendButtonEvent(2,1)
            self.states[state] = 1
        elif click =
^ 0 and self.states[state]
= 1:
            self.R.sendButtonEvent(2,0)
            self.states[state] = 0

    def arrowUpDownAx(self, click, state):
        if click 
^^ 1 and self.states[state]
 0:
            self.R.sendKeyEvent(98,1)
            self.states[state] = 1
        elif click =
^ -1 and self.states[state+'b']
= 0:
            self.R.sendKeyEvent(104,1)
            self.states[state+'b'] = 1
        elif click 
^^ 0 and self.states[state]
 1:
            self.R.sendKeyEvent(98,0)
            self.states[state] = 0
        elif click =
^ 0 and self.states[state+'b']
= 1:
            self.R.sendKeyEvent(104,0)
            self.states[state+'b'] = 0

    def arrowLeftRightAx(self, click, state):
        if click 
^^ 1 and self.states[state]
 0:
            self.R.sendKeyEvent(102,1)
            self.states[state] = 1
        elif click =
^ -1 and self.states[state+'b']
= 0:
            self.R.sendKeyEvent(100,1)
            self.states[state+'b'] = 1
        elif click 
^^ 0 and self.states[state]
 1:
            self.R.sendKeyEvent(102,0)
            self.states[state] = 0
        elif click =
^ 0 and self.states[state+'b']
= 1:
            self.R.sendKeyEvent(100,0)
            self.states[state+'b'] = 0

    def backspaceDeleteAx(self, click, state):
        if click 
^^ 1 and self.states[state]
 0:
            self.R.sendKeyEvent(107,1)
            self.states[state] = 1
        elif click =
^ -1 and self.states[state+'b']
= 0:
            self.R.sendKeyEvent(22,1)
            self.states[state+'b'] = 1
        elif click 
^^ 0 and self.states[state]
 1:
            self.R.sendKeyEvent(107,0)
            self.states[state] = 0
        elif click =
^ 0 and self.states[state+'b']
= 1:
            self.R.sendKeyEvent(22,0)
            self.states[state+'b'] = 0

    def enterEscapeAx(self, click, state):
        if click 
^^ 1 and self.states[state]
 0:
            self.R.sendKeyEvent(9,1)
            self.states[state] = 1
        elif click =
^ -1 and self.states[state+'b']
= 0:
            self.R.sendKeyEvent(36,1)
            self.states[state+'b'] = 1
        elif click 
^^ 0 and self.states[state]
 1:
            self.R.sendKeyEvent(9,0)
            self.states[state] = 0
        elif click =
^ 0 and self.states[state+'b']
= 1:
            self.R.sendKeyEvent(36,0)
            self.states[state+'b'] = 0

Midi = GetMIDI()
Midi.startGetMIDI()

K = XAction()
K.getMouseCoord()
nomo_state = 0

konf = [        [[['bt',7]], 'ax', 4, 'backspaceDeleteAx'],
                [[['bt',7]], 'ax', 5, 'enterEscapeAx'],
                [[], 'ax', 2, 'setMouseX'],
                [[], 'ax', 3, 'setMouseY'],
                [[], 'bt', 4, 'leftClick'],
                [[], 'bt', 6, 'rightClick'],
                [[], 'bt', 5, 'middleClick'],
                [[], 'ax', 5, 'arrowUpDownAx'],
                [[], 'ax', 4, 'arrowLeftRightAx']
                ]

try:
    while 1:
        for i in konf:
            if getattr(K,i[1])(i[2]) != 0:
                keep = True

        if K.jsd.update() or keep == True:
            keep = False
            K.moveMouse()
            for i,iobj in enumerate(konf):
                for j in iobj[0]:
                    if getattr(K, j[0])(j[1]) == 1:
                        nomo_state += 1

                if nomo_state == len(konf[i][0]):
                        nomo_state = 0
                        getattr(K, konf[i][3]) \
(getattr(K, konf[i][1])(konf[i][2]),konf[i][1]+str(konf[i][2]))
                else:
                    nomo_state = 0

        sys.stdout.flush()
        time.sleep(0.02)

except KeyboardInterrupt:
    print
    sys.exit()


original Aug 26 7:30am

permalink
CreativeCommons
permalink
RijecSaDvaSlova

nekaj i jos nekaj


original Apr 21 5:11am

permalink
MarcellMarsTxtPrelazakGranice

Prelaz granice

na ulazu (u subotu 10.03.) u bosnu su mi rekli da mi tog dana istice registracija na iznajmljenom kombiju. nisam se zabrinjavao jer mi je lik koji mi ga je iznajmio rekao da ce ga brzo registrirati pa sam mislio da valjda to onda vrijedi ak on sve ima pod kontrolom...

na povratku dan kasnije (nedjelja 11.03.) par kilometara od granice s hrvatskom (bosanski brod, rs) naglo sam se sjetio da nisam pokupio pasos sa recepcije hostela.. nakon dva zavoja od ustanovljavanja me zastopao murjak... 75km/s gdje je 50 dozvoljeno, duga svijetla njemu u oci i neregistrirani kombi su bile kazne koje mi se spremao naplatiti... onda mi je 15 minuta citao stvari iz zakona koje me se ticu.. trudio se jako izrazajno citati...

ja sam stajao vani na blizu 0 celzijusa samo u gornjem dijelu trenirke i slapama (s carapama)... njegov zakljucak koji je ponovio barem tri puta bio je: auto ide van iz prometa, vi idete samnom u stanicu i cekate do ujutro suca za prekrsaje + minimum 1000km ukupnih kazni koje je nabrojao za vec spomenute pizdarije... ja sam razmisljao da ce biti super zabavno kad ustanovi da nemam ni osobnih dokumenata...

rekao sam mu svega par stvari.. nakon 15 minuta tlacenja i ponavljanja jednih te istih stvari rekao sam mu pazljivo da nisam glup i da sam razumio sto sam sve pogrijesio ali da mi se cini da iako zakonito da je sve to sto je nabrojao ipak prevelika kazna za mene + jos sest ljudi u autu i da je bas zalosno da se tako precizno i neumoljivo provodi zakon u ovakvim situacijama a ni nasa ni njegova drzava nije u stanju suprostaviti se pravim kriminalcima... pa sam mu jos rekao da ako zeli da ga potplatim da ja imam sve skupa 15 EUR-a i da ako mu trebam platiti vise da mozemo otici zajedno do bankomata.... pustio me bez ikakve kazne + samo me jos pitao nakon sto je cuo da smo "kompjuterasi" sto bi mu preporucio od antivirusnih programa... ja sam rekao nod32 pa me pitao da li to imam na cd-ima pa da mu eventualno dam.. rekao sam mu da ne koristim windowse nego linux i da zbog toga nemam nikakvih problema s virusima.... na pola prve slozenije recenice o tome zasto je linux tako super jer ga nitko ne posjeduje i razvijan je od strane hiljade ljudi sirom svijeta sam odustao jer sam imao sve dokumente u svojim rukama i nije izgledalo da ga zanima ista od kiber komunizma... nije ni svjestan kako se njegov zivot mogao promijeniti da je samo malo bio zainteresiraniji...

poslije toga sam morao ustanoviti da li mi je fakat ostao pasos u hostelu... aco je fotkao tablu od hostela pa sam promptno dobio broj telefona.. probudio sam tipa koji mi je rekao da pasos nije tamo... nakon 10 minuta sam ga ponovno probudio i rekao da je bolje da provjeri jer ja moram prijaviti muriji da sam izgubio pasos i da ce murjaci prvo kod njega doci provjeravati jer sam ja siguran da je pasos kod njih.. tada je prvi put rekao da on u stvari nije u hostelu i da mora zvati tamo ali da mu se nitko ne javlja... onda sam morao cekati da ipak dobije nekog u hostelu... to cekanje se odvijalo na 15 metara od granicnih kucica gdje smo se parkirali.... na kraju je ustanovio da moj pasos ipak je u hostelu...

sad smo imali dva problema... kako preci preko granice bez pasosa (i bez osobne koja mi je ostala u zagrebu) a sa vozackom, prometnom i saobracajnom od beverlyja + nesto kreditnih kartica na moje ime... i drugi problem neregistriranog kombija... odsetao sam do granicara u slapicama s carapama i objasnio mu koji je problem.. nakon ne previse zavrzlama odlucili su me/nas pustiti... taman kad smo mislili da je gotovo on me trazio saobracajnu i prometnu od kombija jer da mu papiri od skutera ne pomazu.. mi smo se iako smo se dobro crnohumorno zabavljali ipak i smrzli jer je to trebalo znaciti da ce on skuziti za "nasu malu tajnu" kako ju je aka ranije nazvao... tip se nakon pet minuta vratio i pozelio nam sretan put...

na hrvatskoj granici sam im rekao istu pricu ne odavsi im "nasu malu tajnu"... i oni su me pustili + sto su mi uz smjesak rekli da nije najpametnije da super amila koja je u medjuvremenu pokupila pasos iz hostel ode s njim u .hr ambasadu jer bi u tom slucaju oni meni morali naplatiti 900 kuna za prekrsaj prelaska granice s vozackom a ne osobnom ili pasosem... ja sam rekao da se to sigurno nece desiti i on je rekao da posto smo svi nakon njihove provjere "cisti" i da se njemu cini da je to bolje jer 900 kuna nije malo... dobrica mi je prigovorio da cak i u takvim situacijama upadam u rijec sugovorniku... meni se cinilo da sam mu povladjivao a ne upadao u rijec.. ili preciznije upadao sam mu u rijec onako kako uzbudjeno dijete sto prije zeli dati do znanja kao ce
napraviti sve sto roditelj kaze... never mind...

i tako sam u sat vremena prosao toliku kolicinu stresnih situacija da bi sad rado otisao tjedan dana u tuheljske toplice na igranje saha sa senilnim penzionerima...

da ja sam glupan i sreckovic...


original Mar 12 5:52am

permalink
MarcellMarsSvakodnevneDovitljivostiJednostavnaProvjeraMreze

Jednostavna provjera mreže

Tri su provjere koje obično radim da provjerim da li je sve u redu (ili što nije u redu) s mrežom. To su:

ping 10.0.0.1 # ili što god već je difoltna ruta
ping 4.2.2.2 # imam li izlaz na net 4.2.2.2 je DNS koji je uvijek up
ping www.google.com # ako prva dva rade ovo provjeri rizolvanje ip-jeva

e i sad da to sve skupa ne bi pisao svaki put iznova (pogotovo prisjećajući se koja je difoltna ruta) eto i aliasa u mom .zshrc fajlu:

alias pingd="ping `netstat -rn|grep "^0"|awk '{print $2}'`"
alias pingdn="ping 4.2.2.2"
alias pingdns="ping www.google.com"

to znači da kad neš ne štima prvo upišem pingd što provjeri da li radi mreža do prvog rutera, pingdn provjeri oće li paketi na Internet i na kraju pingdns provjeri da li radi rizolvanje domena u numeričke ip adrese. i to upravo tim redom. ovim redom je super i to da ne moram upisivati svaki put pingd, nego ga samo pozovem strelicom prema gore pa dodam n, pa još jednom i dodam s. eto... svakodnevna dovitljivost...


original Dec 13 12:10pm

permalink
MarcellMarsTemp
sandala-Tshirt.jpg


original Oct 23 3:45am

permalink
MarcellMarsTxtFeedbackLetter


Feedback Letter

question

hello ppl,

skill sharing was there ;)

i feel it would be good to give you some feedback on what we did and ask
you for follow up things which we need to finish.

i would say the skill sharing in kunsthaus went ok. we (8 of us) were
sitting there with our laptops chatting a bit with people (mostly
exhibition stuff) and doing something which we could call "regular"
skill sharing. unfortunately we didn't have people who were coming
particularly on skill sharing session but instead did have many people
who were walking around doing the regular visiting of the exhibition.

we did quite long video interview and that was quite funny + hope
interesting for author's and future audience...

as we (geekz) are easy to turn off social sensibility we acted like
visitors are temporarily in our temporary house. that later on brought to
us very interesting discussions about the feeling and meaning of 'being
exhibited together with your regular activities' inside of exhibition set
up in the museum. it is sort of funny but also when in cynical mood it
brings up questions of (no) meaning in recontextualisation or changing
radically communicational context.. we agreed we don't care too much
about art ;)

but also we agreed we care about sharing skills in easy way we got use
to do...

if we or you will do similar thing in the future it is important to
bring interpretation of 'being exhibited as authentic form of daily
life activity ' as part of the preparation of the event so that would
help to step onto higher level of abstraction of wtf is going on at
particular moment... that could be very inspirational for both geekz and
art(*ists/historians/consumers)... if not prepared in advance that
part of the communicational context could be overexposed/covered in
particular time of happening... the issue described above was
interesting for us and i hope it is of some interest for you too...

if we will do the same thing somewhere else we would probably recommend
contacting local linux user group and diy communities from the side of
organizers or even more probable we would try to do that on our own
also..hope that's ok for paying the agreed amounts... i must say i need that
quite soon as i paid everything in cash and the amount of money is quite
close to my monthly salary ;)

i left two (signed by me) invoices to thomas tigel (?!?) as i was told
by werner (?!?) one for traveling costs + hotel and second one for
agreed artist's fee.. i also left all of the bills which i had from the
gas station and highways... (i'm sorry if i forgot the right names)...

i'm sorry i didn't meet any of you guys but hope that we will have
another chance soon..

best

m@rcell.net

reply

Hello Marcel

First

Thanks for your mail and feedback.
I really appreciated you agreeing to participate in Generosity and your
response is useful for future projects

Second

Exactly the same thing happened to me and my \214workshop? - very few
people/lack of support and equipment, and even signage

Thirdly

So I feel like shit, and I?m sorry ,and I feel that I have to apologise and
take some responsibility.
We wanted to invite you, but were unable to take care of you.

The museum wanted to have a non-exhibition; of events, performances and
workshops. And yet they have none of the infrastructure to advertise,
support , interpret and host such events ­bills, equipment, audience, etc.
So I apologise on their behalf because our and more especially your
generosity was exploited. Exploited partly by us, but mostly by the museum.
This is not something we are comfortable with, or indeed ever intended

What you say here

as we (geekz) are easy to turn off social sensibility we acted like
     
visitors are temporarily in our temporary house. that later on brought to

us very interesting discussions about the feeling and meaning of 'being

exhibited together with your regular activities' inside of exhibition set

up in the museum. it is sort of funny but also when in cynical mood it

brings up questions of (no) meaning in recontextualisation or changing

radically communicational context.. we agreed we don't care too much
 
about art ;)

Is very interesting, particularly what you go on to say about needing
interpretation to stop the abstraction of everyday life activities -
There was no guide, text or person to help visitors understand what was
happening in any of the workshops, and yes it was stupid of them not to
contact the Linux and media community in Graz.

So once again I?m sorry that it was not more productive, and sorry that I
was not even able to be there.

Best wishes though, and i hope we meet again soon


original Oct 18 4:32am

permalink
MarcellMarsTxtDanasnjiSvijetJeGeekovkiRaj

Današnji svijet je geekovski raj

Muškarac u sandalama s čarapama. Naočalima. Pretežno frustracijama kad je srednja škola u pitanju. Žmirka dok tipka - s deset prstiju bez gledanja. Obožava Zvjezdane staze - ili Ratove zvijezda, nikada oboje. Telefon koristi da bi pričao o telefonima. Ne zna nijedno ime parfema, ali zna barem nekoliko prototipa za digitaliziranje mirisa. Ako poznaje parfeme (vrlo rijedak slučaj) zna u kojoj se tvornici parfem proizvodi, a tko samo nalijepi ime i etiketu. Ako je danas još uvijek siromašan dobre su šanse da već sutra bude jako bogat. Ima mačku. Ima omiljenu listu omiljenih listi omiljenih stvari. Ljudi iz njegove okoline misle da on ili njegovi najbolji prijatelji mogu provaliti u računala bilo koje banke. Zna tko stoji iza svega. I ima gomilu materijala s dokazima. Obožava video igre iz sedamdesetih, osamdesetih, devedesetih, nultih - tim redom. Kada bi mogao glasao bi za Yodu ili Homera Simpsona. Ako i nije rođen u Americi mogao bi pobijediti bilo koga u Americi na Jeopardy!u. Ne radi backup. Zna kako napraviti lažne otiske prstiju. Mrzi pop upove, obožava pin upove. Mrzi loše formatirane mejlove sa gomilom adresa u To: polju. Broj akronima koje zna napamet usporediv je sa vokabularom G.W.Busha. Baki i njenim prijateljicama na njihove šale odgovara sa: LoL. Na svom čvrstom disku ima pohranjenu kolekciju svih sezona svoje omiljene TV serije. Kolekcija je bekapirana. On je geek. I današnji svijet je geekovski raj. (Today's world is geek's heaven.)

Ne tako davno video igre, preuređivanje i raskapanje računala i raznorazne elektronike, teorije zavjera, znanstvena fantastika, japanska pornografija, astronomija, robotika, cyberpunk, bizarna kolekcionarstva i opsjednutost simpatičnim uređajima potrošačke elektronike (gadgets) bili su rezervirani za geekovkske garaže i razmjenu na opskurnim bbs-ovima. Danas je teško zamisliti tv sapunicu u večernjim satima koja ne koketira barem s dvije od navedenih tema. Mrežne komunikacijske tehnologije i digitalizacija koja je zahvatila gotovo sva područja ljudske produkcije i digitalizirala okoliš svih naših osjetila osim mirisa (što će vjerojatno vrlo skoro) stopile su se neraskidivu vezu sa kulturnim proizvodima gdje je jako teško povući granicu između sadržaja i forme, medija i poruke.

I srećom po nas (geekove) sve je sačuvano u digitalnom obliku. Filigranskim arheološkim odmotavanjem jednoga dana biti ćemo u stanju ispričati bezbroj mogućih povijesti geek kulture sa potpunom dokumentacijom. Kao nijedna (sub)kultura do sad ;)

Problem koji se već u samom početku odmotavanja javlja je naravno makar i najmanja operativna definicija geeka, geekuše i geek kulture generalno. Gotovo sve reference na koje nailazimo su ne puno više od šaljivih dosjetki iz tinejdžerskih komedija. Kratki scenariji za strip, film ili web animaciju. Vrlo geekish. I sasvim dovoljno za početak:

Odnos informacijsko komunikacijskih tehnologija i kulturne produkcije, te kulture generalno je jedna od najvažnijih tema teorijskih refleksija kulture danas. Utjecaj razvoja tehnologije prožima sve sfere kulturne produkcije od estetike i izražajnih sredstava do specifičnih tema pozicija moći, raspolaganja (informacijskim/kulturnim) resursima, pitanja autorstva, originalnosti i integriteta djela i/ili autora.

Najčešći diskurs refleksije odnosa tehnologije i kulture je pokušaj procjene u kolikoj mjeri se nešto staro transformiralo ili bilo prisiljeno transformirati u susretu s novim (kao posljedicom tehnološkog razvoja). Vrlo rijetko je u fokusu interesa kultura koja nastaje izvorno i gotovo isključivo kao posljedica razvoja digitalnih komunikacijskih tehnologija. Još rjeđe su u fokusu ljudi čiji je životni stil ili bolje rečeno život upravo ta neprestana interakcija sa informacijsko komunikacijskim tehnologijama. Za takve ljude udomaćio se izraz geek, nastao u engleskom jeziku za cirkuske gutače insekata, da bi u drugoj polovici 20. stoljeća, od pojave prvih računaladobio svoje današnje značenje.

Konotacija i mit vezan uz pojam "geeka" u zadnjih nekoliko desetljeća radikalno se mijenjala: ranije u samim počecima razvoja računalnih tehnologija "geek" je prije svega označavao čovjeka (najčešće adolescenta) potpuno posvećenog i gotovo zaluđenog razvojem novih tehnologija, koji (prema stereotipu) nema razvijene socijalne vještine i društvo ga vidi kao "iščašenog", bizarnog i marginalnog.

Kako su se nove tehnologije prihvaćale od strane društva, specifično znanje o tehnologijama kojima su "geekovi" obilovali postojalo je sve traženije i prihvatljivije kako na tržištu tako i u socijalnim interakcijama. S vremenom je kreativna proizvodnja tema, konstrukcija, ideja, opsesija i humora "geekova" stvarala nešto što danas zovemo geek kulturom, a "geekovi" su sve češće prihvaćeni kao napredni i progresivni pojedinci u društvu.

Stvaranju mita o ubergeeku koji je nadprosječno inteligentan, samodovoljan i sposoban, pogodavala je ekonomska eksplozija na računalnom tržištu zadnjih tridesetak godina gdje su se u vrlo kratkom vremenu vrlo mladi ljudi fascinatno obogatili. Taj mit također uključuje i razdoblje frustracije zbog društvenog odbacivanja kroz adolescenciju i kasniju osvetu (simboličku) u iznimnom bogaćenju i penjanju na vrh društvene ljestvice.

Utjecaj geek kulture na popularnu kulturu u zadnjih dvadesetak godina gotovo je nesaglediv: cyberpunk, računalne igre, računalna animacija, mrežne kolaboracije, znanstvena fantastika, teorije zavjere, iščašeni humor, bizarni hobiji i kolekcionarstvo. Geek kultura asimilirala je i na sebi svojstven način obradila različita kulturna nasljeđa poput kontrakulture, hippie pokreta, punka, popularne znanosti, te stvorila svoj specifični asocijativni prostor značenja.

Geek kulturu danski teoretičar Lars Konzack sa Aalborg univerziteta naziva trećom kontrakulturom, gdje nakon izvornog pokreta kontrakulture krajem šezdesetih Konzack pronalazi drugu generaciju u Yuppie kulturi sredine i kraja osamdesetih. (Lars Konzack: Geek culture, The 3rd Counter-Culture; prezentirano 26.-28. lipnja 2006. na FNG2006. konferenciji u Prestonu, Engleska).

Stereotipni kulturni proizvod geek kulture je u estetskom smislu bizarni neukus, ali sa izuzetno inteligentnim i lucidnim podtekstom, formom/formatom i kontekstom. Geek kultura je opsjednuta znanjem, informacijama i lucidnim idejnim konstrukcijama, a u estetskom smislu najčešće poseže za rubnim, marginalnim, bizarnim, radikalnim, što srednja struja smatra neukusom.

Poput svega što je u dodiru s novim tehnologijama i geek kultura je prvenstveno narativ obojan sjevernoameričkim kontekstom. Evropa, a posebno Istočna Evropa s nasljeđem komunizma i socijalizma geek kulturi daje poseban povijesni obrat gdje je konzumeristički optimizam američkog društva osamdesetih suprostavljen raspadajućem mitu o svemoći znanja, znanosti i industrijskog progresa. U velikom dijelu konzumeristički nagon sa Zapada prevladao je i u geek kulturi Istoka, no neke od najsvježijih refleksija geek kulture ipak dolaze iz kritičkog promišljanja Evrope i Istočne Evrope.

G33koskop je nastavak (satelit) Razmjene vještina, dvogodišnjeg uspješnog okupljanja entuzijasta i geekova subotom u klubu mama. G33koskop je pokrenut s namjerom istraživanja pojma, definicije, opsega, identiteta i teme geeka i geek kulture. U seriji predavanja, prezentacija i moderiranih diskusija, uz neizostavnu perspektivu tinejdžerske komedije želimo istražiti i ispričati jednu od mogućih povijesti geek kulture u kontekstu jedne istočnoevropske, tranzicijske zemlje čiji nešto stariji entuzijastični građani pamte što su to geekovi radili, pisali i komunicirali i prije nego što su znali da se to može zvati geekovštinom. U međuvremenu su naučili štošta o Americi, čak i to da se može roditi i živjeti negdje geografski jako daleko, ali ako je u blizini kabel, može se život oblikovati u tipičan život jednog globalnog američkog geeka.

Teme koje želimo dotaknuti su i da li definicija geeka podrazumijeva njegovu naivnost i nemogućnost refleksije geekdoma i geekovske prirode, da li je fetiš na geek toliko negeek? Da li je geek angažiran, da li je u službi održanja prevladavajućeg društvenog sistema, da li geek mijenja svijet oko sebe na bolje? Koliko? Da li je geek queer? Da li je geek umjetnik? Da li je geek elitist? Da li je geek muško? Da li je geek žensko? Da li je hakerdom podskup geekdoma? Da li su geekovi solidarni? Da li je geek živ? Da li je geek stvaran? Da li je univerzum geek? Da li je borg geek? Da li je geek borg?.....

Prvi u seriji G33koskopa u sklopu Device arta ne može zamisliti bolji početak od razgovora sa urednikom Make magazina, kultnog američkog geek časopisa za geek tržište, te entuzijastima dorkbota.


original Sep 6 10:22am

permalink
Weblog Navigation
Loading...
Weblog Archives
  • Loading...