<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="sr">
<title type="html">Đurina laboratorija</title>
<link rel="alternate" type="text/html" href="http://www.lab21.net"/>
<author><name>djura-san</name><uri>http://www.lab21.net</uri></author>
<icon>http://www.lab21.net/sajt/slike/favicon.ico</icon><logo>http://www.lab21.net/sajt/slike/favicon.ico</logo>
<link rel="self" type="application/atom+xml" href="http://www.lab21.net/tekstovi/dovod.xml"/>
<updated>2012-05-03T05:17:00Z</updated>
<id>http://www.lab21.net/tekstovi/</id>
<!-- 2012/05/03 --><entry><title type="html"><![CDATA[ Android 2.3.x i MMS ]]></title><link href="http://www.lab21.net/tekstovi/android_2.3.x_i_mms.html"/><id>http://www.lab21.net/tekstovi/android_2.3.x_i_mms.html</id><updated>2012-05-03T05:17:00Z</updated><summary type="html"><![CDATA[ Android 2.3.x i MMS (oznake: #android) <br/><br/> MMS se možda ne koristi kod nas dovoljno ali je činjenica da je zanimljiv servis. Ja ga koristim kada god mogu budući da je jeftin način da se zabavite i da nasmejete nekoga a ume i biti praktičan. Android podržava MMS slanje/primanje međutim postoji veliki problem kod korisnika "džindžerhleba" odnosno verzije <code>2.3.x</code> i slanje/primanje MMS poruka je otežano sada.<br/><br/><br/><br/>Ukratko: moguće je slati/primati MMS poruke koristeći <code>2.3.x</code> ali se tu javljaju veći problemi. Nakon malo čačkanja na DDG(u), pronašao sam <a href="https://code.google.com/p/android/issues/detail?id=17329">Issue 17329</a> koji se bavi ovim problemom. Ako pogledamo detaljnije tekst i komentare, oslonimo se na iskustvo od ranije i činjenicu da postoji bar 50 romova zasnovanih na kodu androida verzije <code>2.3.x</code> sa istim problemom, dolazimo do sledećeg zaključka:<br/><br/><br/><br/><ul><br/><li>MMS primanje/slanje radi samo kada su aktivna "MMS" APN podešavanja u vašem telefonu;</li><br/><li>Ukoliko su aktivna samo "MMS" APN podešavanja, data konekcija (slanje/primanje) nije u funkciji i ne dozvoljava protok (dakle, nema gprs/edge/3G konekcije);</li><br/><li>Android <code>2.3.x</code> ne podržava korišćenje dva APN-a paralelno kako bi mogli da koristite MMS i data konekciju (ovo treba potvrditi ali su svi pokazatelji ove tvrdnje prisutni).</li><br/></ul><br/><br/><br/>Rešenje za ovaj problem bi moglo biti pravljenje novog APN(a) kod operatera koji bi omogućavao MMS/data konekciju unutar jednog seta podešavanja. To bi značilo 1 pravila za sve i svi bi imali telefone koji funkcionišu 100% ispravno. Sa druge strane, Google bi mogao da softverski ispravi to međutim pitanje je da li će to ikada uraditi za ovu verziju sistema (verzija <code>4.0</code> je podržana donekle na mom uređaju ali nisam zainteresovan za testiranje uopšte).<br/><br/>p.s. Takođe je moguće da menjate profile vaše konekcije i da prebacujete sa MMS na GPRS konekciju ("GPRS" je obično ime za data konekciju kod naših operatera) povremeno ali to je zamlaćivanje. Verujem da bi mogla da se napravi jedna aplikacija koja bi to radila periodično i verujem da bi garantovano bila veliki hit.<br/> ]]></summary></entry> <!-- 2012/04/16 --><entry><title type="html"><![CDATA[ Minimalne Pastebin alternative ]]></title><link href="http://www.lab21.net/tekstovi/minimalne_pastebin_alternative.html"/><id>http://www.lab21.net/tekstovi/minimalne_pastebin_alternative.html</id><updated>2012-04-16T05:17:00Z</updated><summary type="html"><![CDATA[ Minimalne Pastebin alternative (oznake: #kodiranje #alternative) <br/><br/> Pre neki dan sam na leteo na 2 servisa koja se bave čuvanjem tekstualnih sadržaja sa mogućnošću označavanja programskog/skript koda (ukoliko postoji). Verujem da vam odmah na pamet pada <a href="https://pastebin.com/">Pastebin</a> budući da on nudi mnogo opcija, dobar <abbr="application programming interface">API</abbr> i sl. Geekovima pada na pamet <a href="https://gist.github.com/">Gist</a> koji nudi slične opcije sa akcentom na programiranje i pisanje programskog/skript koda. Ja lično nikada nisam voleo Pastebin ali sam znao za 2 servisa koja nude najosnovije opcije za dizanje teksta na internet sa mogućnošću označavanja programskog/skript koda: <a href="http://sprunge.us">sprunge</a> i <a href="http://ix.io">ix</a>.<br/><br/><br/><br/>Ovi jednostavni servisi imaju za cilj da sačuvaju vaše datoteke i da vam omguće brzi pristup/deljenje sadržaja. Oba servisa nude opcije za označavanje koda i to je najbitinije za mene. Gist je komplikovan i alati za dizanje sadržaja na ovaj sajt su kompleksni (opravdano sa obtirom na broj opcija). sprunge i ix nude dizanje sadržaja bez mnogo gnjavaže i konfuzije. Imate jednostavne aplije sa najjednostavnijim komandama koje <code>curl</code> (ili <code>wget</code>, kako ko voli) može da izvrši za par sekundi.<br/><br/><br/><br/>ix nudi prosleđivanje parametara za označavanje koda koristeći ekstenziju dok sprunge koristi <a href="http://pygments.org/docs/lexers/">Pygments</a> za taj posao. Na kraju krajeva, sve se svodi na jednostavno dodavanje opcija na kraju linka. Uzećemo za primere <span class="istaknuto">http://ix.io/2jr</span> i <span class="istaknuto">http://sprunge.us/YSBN</span>:<br/><div class="kutija"><code>http://ix.io/2jr<span class="variable">/sh</span><br/><br/>http://sprunge.us/YSBN<span class="variable">?sh</span></code></div><br/><br/>Prostim dodavanjem ekstenzije, u ovom slučaju <span class="istaknuto">sh</span>, smo uključili označavanje koda. Umesto toga može da stoji i <span class="istaknuto">js</span>, <span class="istaknuto">hs</span>, <span class="istaknuto">c</span>... Napominjem samo da ix koristi <span class="istaknuto">/</span> za prosleđivanje takvih parametara dok sprunge koristi <span class="istaknuto">?</span>.<br/><br/><br/><br/><br/>Ja sam bio vredan pa sam skockao skripte i za jedan i za drugi servis:<br/><br/><br/><br/>sprunge.sh<br/><div class="kutija"><code><br/><pre><span class="comment">#!/usr/bin/env bash</span><br/><span class="comment"># api from http://sprunge.us/</span><br/>curl_parameters='-s'<br/><br/><span class="comment"># if we pass argument, it will be used as file extension</span><br/><span class="keyword">if</span> <span class="test_condition">[ -z <span class="string">"<span class="variable">$1</span>"</span> ]</span>; <span class="keyword">then</span> unset file_type; <span class="keyword">else</span> file_type=<span class="string">"?<span class="variable">$1</span>"</span>; <span class="keyword">fi</span><br/><span class="comment">#command for uploading using api</span><br/>url=<span class="string">"$(curl <span class="variable">$curl_parameters</span> -sF 'sprunge=&lt;-' http://sprunge.us)"</span><br/><br/><span class="comment"># print result and apppend syntax highlighting (if any)</span><br/><span class="keyword">echo</span> <span class="string">"$(date +%d%m%Y_%H%M):<span class="variable">$url</span><span class="variable">$file_type</span>"</span> &gt;&gt; /tmp/saved.urls<br/><span class="comment">#copy to clipboard</span><br/>xclip -i &lt;&lt;&lt; <span class="string">"<span class="variable">$url</span><span class="variable">$file_type</span>"</span> &amp;&amp; xclip -o</code></pre></div><br/><br/><br/><br/>ix.io.sh<br/><div class="kutija"><code><pre><span class="comment">#!/usr/bin/env bash</span><br/><span class="comment"># api stuff is from http://ix.io/</span><br/>curl_parameters='-s'<br/><br/><span class="comment"># if we pass argument, it will be used as file extension</span><br/><span class="keyword">if</span> <span class="test_condition">[ -z <span class="string">"<span class="variable">$1</span>"</span> ]</span>; <span class="keyword">then</span> unset file_type; <span class="keyword">else</span> file_type=<span class="string">"/<span class="variable">$1</span>"</span>; <span class="keyword">fi</span><br/><span class="comment">#command for uploading using api</span><br/>url=<span class="string">"$(curl <span class="variable">$curl_parameters</span> -n -F 'f:1=&lt;-' http://ix.io)"</span><br/><br/><span class="comment"># print result and apppend syntax highlighting (if any)</span><br/><span class="keyword">echo</span> <span class="string">"$(date +%d%m%Y_%H%M): <span class="variable">$url</span><span class="variable">$file_type</span>"</span> &gt;&gt; /tmp/saved.urls<br/><span class="comment">#copy to clipboard</span><br/>xclip -i &lt;&lt;&lt; <span class="string">"<span class="variable">$url</span><span class="variable">$file_type</span>"</span> &amp;&amp; xclip -o</code></pre></div><br/><br/><br/>Obe skripte mogu da primaju parametar koji je ekstenzija datoteke, kako bi se znalo koje označavanje teksta da se primeni. Primer prosleđivanja ekstenzije:<br/><div class="kutija">$ <code>sprunge.sh <span class="variable">sh</span> &lt; sadržaj_unosa_za_internet<br/><br/>http://sprunge.us/YSBN?sh</code></div><br/><br/>Moguće je čitanje standardnog ulaza i izlaza (stdin i stout). Standardni izlaz same skripte će biti adresa do vašeg koda sa ekstenzijom, ako je prosledite prilikom slanja inače.<br/> ]]></summary></entry> <!-- 2012/02/21 --><entry><title type="html"><![CDATA[ Besplatna (i legalna) muzika na dohvat ruke ]]></title><link href="http://www.lab21.net/tekstovi/besplatna_i_legalna_muzika_na_dohvat_ruke.html"/><id>http://www.lab21.net/tekstovi/besplatna_i_legalna_muzika_na_dohvat_ruke.html</id><updated>2012-02-21T05:17:00Z</updated><summary type="html"><![CDATA[ Besplatna (i legalna) muzika na dohvat ruke (oznake: #alternative) <br/><br/> <span class="fensi">16-04-2012: članak je ažuriran, <a href="#astrix">dodati su novi linkovi</a></span><br/><br/><br/>Danas postoji mnogo <a href="https://en.wikipedia.org/wiki/Netlabel">netlabel</a> grupa. Njihv cilj je distribucija i deljenje audio sadržaja sa ljudima koji su zainteresovani za nešto novo, alternativno ili klasično ali sigurno (ovo se odnosi na žanrove i tipove pesama). Netlabel grupe često distribuiraju pesme pod licencama koje <span class="podebljano">dozvoljavaju</span> deljenje, umnožavanje i nekomercijalnu manipulaciju sadržajima koje izdaju.<br/><br/><br/><br/>Postoje sajtovi danas koji se bave indeksiranjem i sakupljanjem sadržaja sa ovih sajtova kako bi pravili onlajn baze podataka koje korisnici mogu da pretraže. Najveći, na koje sam ja naišao, su:<br/><br/><br/><ul><br/><li><span class="podebljano">Jamendo</span> (<a href="http://www.jamendo.com">http://www.jamendo.com</a>) - sadrži žanrove svih vrsta i najrazličitije pesme počev od najprostijih eksperimenata do profesionalnih radova. Sadržaj sa ovog sajta se najčešće distribuira pod "Creative Commons" (BY-NC-SA tj. "Attribution-NonCommercial-ShareAlike") licencama verzije <a href="http://creativecommons.org/licenses/by-nc-sa/2.5/">2.5</a> i <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/">3.0</a>;</li><br/><li><span class="podebljano">Ektoplazm</span> (<a href="http://www.ektoplazm.com">http://www.ektoplazm.com</a>) - sadrži žanrove elektronskog tipa: psychedelic|uplifting|vocal|progressive trance, elektronic ambient i sl. Licence koje koriste su iste kao i na Jamendo sajtu;</li><br/><li><span class="podebljano">Pretty Lights music</span> (<a href="http://www.prettylightsmusic.com/therecordlabel/">http://www.prettylightsmusic.com/therecordlabel/</a>) - sadrži žanrove elektronskog tipa, trip hop, dub i sl. Ovaj sajt nudi besplatno preuzimanje albuma par poznatijih izvođača međutim nude i mogućnost donacija za sadržaje koje preuzimate.</li><br/></ul><br/><br/><br/>Naravno, sajtovi koje sam naveo nisu jedini ali su, imho, najbolji za sada. "Jamendo" nudi razne rok, pop i vocal pesme, "Ektoplazm" nudi progresivni trans, psihodeliju i fine ambijentalne zvukove dok "Pretty Lights Music" nudi vrlo kvalitetne pesme za svaki dan (trip hop). Kvalitet pesama se kreće od prosečnog do odličnog: Jamendo jedini nudi <a href="https://en.wikipedia.org/wiki/Variable_bitrate">VBR</a> kvalitet, "Ektoplazm" nudi prosečne kvalitete dok "Pretty Lights Music" nudi izuzetno kvalitetne snimke (najkvalitetnije među nabrojanim sajtovima).<br/><br/><br/><br/>Kao što se da videti, situacija nije uopšte loša i neophodno je samo izdvojiti vreme i internet konekciju kako bi se pronašli dragulji u moru pesama. Pošto o ukusima ne vredi raspravljati, pesme za koje ja mislim da su vredne slušanja ću izostaviti i napomenuću samo na svakom sajtu ima za nekoga ponešto. <span class="podebljano">Cena?</span> Ništa, nada, kein, aucun, нет, なし. <span class="podebljano">Upotreba?</span> Možete deliti sve pesme, možete ih dizati na net i sl. Neki sadržaji su licencirani ponaosob tj. svaka pesma (Jamendo) dok su drugi licencirani na nivou celog albuma (Ektoplazm). Vredi napomenuti da:<br/><br/><br/><ul><br/><li>Menjanjem sadržaja albuma (dodavanje/uklanjanje pesama) vi pravite svoju kompilaciju (hvala Daliboru za ovaj hint). Drugim rečima: ako želite da delite pesme sa "Ektoplazm" portala, neophodno je da delite kompletne albume bez izmena sadržaja;</li><br/><li>Pojam "nekomercijalna upotreba" je danas vrlo nerazjašnjen u praksi stoga oprez. Na Creative Commons sajtu možete da se informišete o ovome: <a href="http://wiki.creativecommons.org/Defining_Noncommercial">http://wiki.creativecommons.org/Defining_Noncommercial</a>.</li><br/></ul><br/><br/><br/>Ove informacije su bitne ukoliko želite da zadržite pravo da legalno delite sadržaje koje preuzimate sa navedenih sajtova (izuzev "Pretty Lights Music" sajta koji nije pod CC licencom) bez povrede autorskih prava.<br/><br/><br/><br/><a id="astrix"></a><span class="podebljano">[Dopuna 16. april 2012.]</span><br/><br/>Naleteo sam i na dodatak za sve koji vole psychedelic muziku. Naime, Astrix, poznati psy trance izvođač, je snimio više mikseva pod imenom "Trance for Nations" i omogućio besplatno preuzimanje. Budući da je u pitanju veliki igrač sa trance scene, verujem da je njegov pravni tim odradio sve kako bi bilo omogućeno da obični korisnici uživaju u ovim čarolijama. Više informacija o sadržaju, linkovima i pravnim detaljima se mogu naći na zvaničnoj FB strani:<br/><br/><a href="http://www.facebook.com/Astrix.Official">http://www.facebook.com/Astrix.Official</a><br/><br/> ]]></summary></entry> <!-- 2012/01/30 --><entry><title type="html"><![CDATA[ --purge (i kako ga koristiti uvek za manipulaciju deb paketa) ]]></title><link href="http://www.lab21.net/tekstovi/purge_(i_kako_ga_koristiti_uvek_za_manipulaciju_deb_paketa).html"/><id>http://www.lab21.net/tekstovi/purge_(i_kako_ga_koristiti_uvek_za_manipulaciju_deb_paketa).html</id><updated>2012-01-30T05:17:00Z</updated><summary type="html"><![CDATA[ --purge (i kako ga koristiti uvek za manipulaciju deb paketa) (oznake: #linux #kako-da #debian) <br/><br/> Danas sam kopao po apt-get konfiguraciji i primeto sam da ne koristim <span class="iskoseno">purge</span> parametar. Iskreno, uvek sam ga dodavao uz svaku <code>dpkg/apt</code> komandu i nisam se mnogo opterećivao ovom opcijom međutim moram da priznam da je vrlo korisna.<br/><br/><br/><br/><span class="iskoseno">purge</span> parametar vam omogućava da ukolnite, pored samog paketa, konfiguracije koje stižu uz instalirani paket. Tako će, recimo, brisanje <code>bluetooth</code> paketa, ovom komandom, izvršiti:<br/><br/><br/><ul><br/><li>brisanje <code>bluetooth</code> paketa;</li><br/><li>brisanje <span class="istaknuto">/etc/bluetooth/</span> direktorijuma (i ostalih <code>bluetooth</code> konfiguracija i direktorijuma).</li><br/></ul><br/><br/><br/><br/>Da bi otkrili kako da ubacite ovaj parametar u apt, neohodno je pokrenuti man stranu apt-get komande i baciti pogled na sledeće:<br/><div class="kutija"><code><br/>--purge<br/><br/> &nbsp;Use purge instead of remove for anything that would be removed. An asterisk ("&#42;") will be displayed next to packages which are scheduled to be purged. remove --purge is equivalent to the purge command. <span class="podebljano">Configuration Item: APT::Get::Purge.</span><br/></code></div><br/><span class="podebljano">APT::Get::Purge</span> je opcija koja nas interesuje u ovom slučaju mada možete za svaku komandu da nađete relevantan deo i da je ubacite u vašu konfiguraciju.<br/><br/><br/><br/>Elem, ova opcija nije podrazumevana u <code>apt</code>-u stoga je neophodno dodati:<br/><div class="kutija">APT::Get::Purge "1";</div><br/>u <span class="istaknuto">/etc/apt/apt.conf</span> (napravite tu datoteku ako ne postoji).<br/><br/><br/>Voila, sada će svaka komanda za uklanjanje paketa uklanjati i konfiguraciju paketa. Paketi koji imaju konfiguraciju koja se može izbrisati su obeleženi zvezdicom. Primer:<br/><div class="kutija"><code><br/># <span class="podebljano">apt-get remove easymp3gain-gtk vorbisgain</span><br/><br/>Reading package lists... Done<br/><br/>Building dependency tree<br/><br/>Reading state information... Done<br/><br/>The following package was automatically installed and is no longer required:<br/><br/> &nbsp;mp3gain<br/><br/>Use 'apt-get autoremove' to remove them.<br/><br/>The following packages will be REMOVED:<br/><br/> &nbsp;<span class="podebljano">easymp3gain-gtk&#42; vorbisgain&#42;</span><br/><br/>0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded.<br/><br/>After this operation, 4,753 kB disk space will be freed.<br/><br/>Do you want to continue [Y/n]?<br/><br/>(Reading database ... 43779 files and directories currently installed.)<br/><br/>Removing easymp3gain-gtk ...<br/><br/>Removing vorbisgain ...<br/><br/>Processing triggers for man-db ...<br/><br/>#</code></div><br/> ]]></summary></entry> <!-- 2012/01/26 --><entry><title type="html"><![CDATA[ $EDITOR i $VISUAL (ni)su sigurnosne rupe u linux sistemima ]]></title><link href="http://www.lab21.net/tekstovi/editor_i_visual_su_sigurnosne_rupe_u_linux_sistemima.html"/><id>http://www.lab21.net/tekstovi/editor_i_visual_su_sigurnosne_rupe_u_linux_sistemima.html</id><updated>2012-01-26T05:17:00Z</updated><summary type="html"><![CDATA[ $EDITOR i $VISUAL (ni)su sigurnosne rupe u linux sistemima (oznake: #linux #bezbednost) <br/><br/> <br/><span class="fensi">30-01-2012: dopuna teksta o tome koliko je ovaj problem zapravo trivijalan</span><br/><br/><a href="https://wiki.archlinux.org/index.php/Nano#Replacing_vi_with_nano">Naleteo sam</a> na informaciju da <del>su</del> <code>$EDITOR</code> i <code>$VISUAL</code> promenljive <del>zapravo</del> mogući sigurnosni rizik na sistemu <del>zato što omogućavaju napadaču da sa udaljene mašine uređuje datoteke na vašem računaru. Moram da priznam da nisam o tome mnogo razmišljao ali mi deluje sasvim logično stoga sam gledao da se zaštitim na brzaka od svega toga.</del><br/><br/><br/><br/>Pre nego što nastavim sa tekstom, skrenuću vam pažnju na konkretan deo teksta sa <code>man <a href="http://linux.die.net/man/8/visudo">visudo</a></code> strane:<br/><div class="kutija">...However, if visudo is configured with the --with-env-editor option or the env_editor Default variable is set in sudoers, visudo will use any the editor defines by VISUAL or EDITOR. Note that this can be a security hole since it allows the user to execute any program they wish simply by setting VISUAL or EDITOR...</div><br/>Teoretski, to znači da svako ko ima pristup raučunaru, lično ili sa udaljene lokacije, može da <del>se uloguje na sistem</del> pokrene bilo koji program koristeći uređivač teksta koji podržava tzv. "escaped" karaktere (čitaj: <code>\, \uE512, ^, $</code> ...) i koji je kompajliran sa <span class="iskoseno">--with-enveditor</span> zastavicom. Šanse da se nešto zaista desi su <span class="podvuceno">male</span> stoga je ovaj tekst potpuno informativnog karaktera.<br/><br/><br/><br/>Ostatak teksta jeste relevantan ali nije previše koristan no možda u nekim slučajevima može da posluži :o)<br/><br/><br/><br/><span class="podebljano">Delimično rešenje</span> ovog problema se svodi na jednostavne komande:<br/><br/><div class="kutija"><code><span class="command">unset</span> EDITOR<br/><br/><span class="command">unset</span> VISUAL</code></div><br/><br/>Ovo <span class="podvuceno">nisu trajna rešenja</span> za ove probleme međutim ukoliko postoje isti, savet je da rekompajlirate <code>sudo</code> sa bez <span class="iskoseno">--with-enveditor</span> zastavice.<br/><br/><br/><br/>Za ljude koje bi da budu sigurni da će ova podešavanja da se primene svakih, recimo, 5 minuta, mogu da ubace kompletnu petlju u <del><span class="istaknuto">~/.bashrc</span></del> <span class="istaknuto">~/.profile</span> koja će da resetuje ove promenljive svakih 5 minuta:<br/><br/><div class="kutija"><code><span class="keyword">while</span> <span class="literal">true</span><br/><br/>&nbsp;<span class="keyword">do</span><br/><br/>&nbsp;&nbsp;<span class="command">unset</span> EDITOR<br/><br/>&nbsp;&nbsp;<span class="command">unset</span> VISUAL<br/><br/>&nbsp;&nbsp;sleep <span class="number">300</span> <span class="comment"># 5min pauza pa sve opet izvršavamo</span><br/><br/>&nbsp;<span class="keyword">done</span></code></div><br/><br/>Ubacite ovo u <span class="istaknuto">~/.bashrc</span> i "problem je rešen". Imajte u vidu da je u pitanju ograničenje a ne sigurnosna rupa. Čini mi se da sam prebrzo doneo zaključak o tome koliko je ovo štetno za sistem no dobro, svaka greška nas nečemu nauči.<br/><br/><br/><br/>Ovaj tekst je pokrenuo diskusiju sa detaljnijim objašnjenjima koja možete videti na forumu Ubuntu zajednije iz Srbije: <a href="http://forum.ubuntu-rs.org/Thread-editor-i-visual-pretnja-po-sistem?pid=188193">http://forum.ubuntu-rs.org/Thread-editor-i-visual-pretnja-po-sistem?pid=188193</a><br/> ]]></summary></entry>
</feed>

