Nedeterministična glasbena notacija

Komponiranje glasbe je veliko več kot le klikanje z miško, igranje na inštrument ter zapisovanje idej v zvezek. Komponiranje glasbe je programiranje, ustvarjanje lastnega sveta, v katerem zaživijo ideje, ki so drugače zelo težko izrazljive. Vsakdor, ki je kadarkoli želel prenesti svoje ideje v glasbo, se je soočil s problemom pretvorbe svojih idej v splošno sprejeto glasbeno notacijo.

Nedeterministična glasbena notacija je moj način spopadanja s prenosom idej v glasbo (ter predvsem s hranjenjem teh idej za kasnejša glasbena dela). Upam, da objava tega dela ni moja zadnja beseda na področju glasbe.

Objavljam povezavo na PDF, v katerem je razložena moja notacija:

Nedeterministična notacija (PDF v Angleščini)

Odpiranje PDF-ja odsvetujem za vse, ki se bojite matematike, ter za vse branilce deviškosti umetnosti – stroge definicije so namreč nujne za konsistenčnost ter za prenos informacij za izdelavo orodij. Povsem enostavno bi svoje ideje zadržal zase, v tem primeru nobena stroga definicija notacije ne bi bila potrebna, a v tem primeru bi prikrajšal vse ostale za možnost razvoja na tem področju. Sem eden od tistih, ki pravijo, da umetnost ni samostojno področje človeškega delovanja, temveč je le še eno orodje za izražanje več.

Zahvaljujem se Ani Horvat za njeno pomoč pri iskanju napak.

Našel 2078-to največje praštevilo!

Ravno sem s projekta PrimeGrid (porazdeljeno procesiranje, spada pod BOINC) prejel sporočilo, da sem našel praštevilo, ki je uvrščeno med 5000 največjih praštevil v zgodovini.

Število: 7397 · 2^973263 + 1 (292986 števk)

Več na primes.utm.edu

Jedrno okolje operacijskega sistema OS X 10.4 (Tiger)

Pri predmetu Operacijski sistemi sem za seminarsko nalogo (na kratko) predstavil jedrno okolje operacijskega sistema Mac OS X 10.4 Tiger.

Za to različico sistema sem se odločil ravno zaradi dostopnosti potrebne dokumentacije (knjiga OS X Internals avtorja Amita Sighna), saj bi bila moja naloga drugače veliko zahtevnejša (na voljo bi mi bila le izvorna koda sistema).

Na koncu sem objavil tudi kratek vodič po glavnih direktorijih z izvorno kodo jedra tega operacijskega sistema.

Vso (morebitno) izvorno kodo, uporabljeno v tem delu, lahko najdete na naslovu http://opensource.apple.com/.

PDF datoteka: OS X 10.4 jedrno okolje (PDF)

LaTeX izvorna koda: LaTeX izvorna koda v Zip datoteki

Direktorij na FTP strežniku: http://www2.arnes.si/~mmarko7/javno/OS2012/

Perl skripta za preverjanje delovanja tujega GSM modema/mobitela

Objavljam program, napisan v Perl-u, ki s pomočjo Device::Modem modula pošlje SMS na neko številko (številko drugega modema ali mobitela). Od centrale zahteva poročilo o dostavi tega SMS-a, nato pa uporabniku sporoči, ali je SMS bil dostavljen ali ne. Rok za dostavo SMS-a je nastavljen na 5 minut.

Klicanje programa: (primeri so v navodilih spodaj)
./program $stevilka,$dev_naprava,$pin,[-f] ali sporocilo za poslat , [lokacija LOG-a (ce -f)]

Kako program sploh deluje?
1. priključi se na modem (/dev/ttyUSB0 naprimer)
2. nastavi modem:

  • AT
  • AT+CPIN (nastavi PIN)
  • AT+CREG (poglej če si priključen na omrežje)
  • AT+CSQ (poglej moč signala)
  • AT+CNMI (nastavi parametre delovanja modema)
  • AT+CSMS (preklopi modem v fazo 2+)
  • AT+CSMP (nastavi SMS parametre)

3. izbriši pomnilnik modema

  • AT^SLMS (dobi spomin MT(1), MT(2), MT(3) pomnilnikov – SMS spomin
  • ali izbriši prvih 75 mest v SIM-u
  • briši z AT+CMGD

4.  pošlji SMS

  • AT+CMGF (navaden 7-bitni tekstovni način SMS-a)
  • AT+CMGS (pošlji SMS na dano številko, vpis teksta prekini z CTRL+Z)

5. čakaj največ 6 minut, v 10s korakih preverjaj nove SMS-e, nato na korak 7
6. ko novi SMS-i prispeli:

  • AT+CMGL (dobi seznam novih SMS-ov)
  • AT+CMGR (preberi vsak SMS posebej)
  • obdelaj SMS, če je to navaden SMS, ga prezri, drugače ga obdelaj, obvesti uporabnika ter pojdi na korak 7

7. obvesti uporabnika o statusu SMS-a (glede na odgovor centrale ali pomanjkanje le-tega), odklopi modem ter se zaustavi
————————————————————————————————-
Trenutna različica programa ja 6.2.2

Povezava do perl kode: gsm_6_2_2.pl (šumniki so malo hecni :) )

Dodatna navodila:

1. Parametri za program
so: [stevilka] , [/dev/...] , [pin] , [-f , pot do log datoteke] ali
[sms sporočilo] 

Primer: ./gsm_6_1_2.pl +38631558798 /dev/ttyUSB0 4299 -f /tmp/abc 

Primer: ./gsm_6_1_2.pl +38631338798 /dev/ttyUSB0 4299 Klemen je prevec zivcen 

2. Program izpisuje tako na STDOUT kot na LOG (če je bila podana dnevniška datoteka za -f ) 

--> primer izpisa na
STDOUT: "./gsm_program CRITICAL Modem ni na liniji, NAPAKA" 

--> primer izpisa na LOG (ce obstaja): "25/08/2011 08:22:23 OK" (prva beseda je
datum, druga ura, tretja status (OK,ERROR,WARNING) , cetrta je morebitno
poročilo o napakah) 

 __Primer LOG (2) : "25/08/2011 08:05:37 ERROR Napaka pri pošiljanju SMS-a (AT+CMGS): ERROR" 

Če vsebina na STDOUT ni zaželjena, se ga lahko preusmeri na /dev/null , lahko pa se ga tudi
preusmeri v datoteko. 

V primeru da prišlo do več napak, je vsaka napaka v novi vrstici: 

./gsm_6_1.pl CRITICAL Ne vem ali sem priključen na omrežje! 
 Nisem prejel odgovora od modema na nastavitev faze 2+ delovanja (AT+CSMS). 
 Nisem prejel odgovora od modema na nastavitev SMS parametrov. 
 Nisem prejel odgovora od modema na zahtevo za pridobitev velikosti MT pomnilnika. 
 Nisem dobil odgovora na pošiljanje SMS-a (AT+CMGS)

Lahko se pa zgodi tudi, da je SMS prispel, vendar je včasih modem zamujal.
Tedaj se namesto OK pojavi WARNING.

./gsm_6_1.pl WARNING Nisem prejel odgovora od modema na zahtevo za
pridobitev velikosti MT pomnilnika. 

Izvorna koda je priložena v datoteki gsm_6_2_2.pl