субота, децембар 10, 2011

PHP tail

Dva načina realizacije Linux komande tail iz PHP-a. Prvi sa adrese stackoverflow.com/a/1102346 predstavlja jednostavnu funkciju koja se vrti u beskonačnoj petlji, a drugi sa adrese code.google.com/p/php-tail/ se zasniva na ajax-u.

недеља, децембар 04, 2011

ssh i prekid veze

Ukoliko se često dešava da se prekine ssh konekcija sa serverom usled neaktivnosti, potrebno je dodati sledeću liniju

ServerAliveInterval 120

u datoteku ssh_config. Ovim kažemo ssh klijentu da na svakih 120 sekundi šalje TCP pakete bez nekog posebnog značaja serveru, samo da bi održavao vezu aktivnom.

недеља, новембар 20, 2011

MIME i UUEncode

"Šaljem mejlom sliku od 800kB a on mi kaže da sam premašio kvotu od 1MB. WTF?!"

Da bi se mejlom slali binarni dokumenti (a binarno je sve što nije tekst), ti dokumenti moraju prvo da se kodiraju u tekst kako se informacije koje opisuju binarni dokument ne bi izgubile tokom prenosa. Najpoznatiji algoritmi za ovakvo kodiranje su UUEncode i MIME i kod njih se pomoću 64 alfanumerička znaka predstavlja 256 različitih bajtova. Kao rezultat ovakvog kodiranja dobijamo binarni dokument u njegovoj tekstualnoj reprezentaciji ali i povećavanje obima podataka koje treba poslati za nekih 33-40%.

ICAgIOwgIFoGRCDxUVVBRENBU0UgTTtBO0oNClsxXSAgICCm
b2YgcXVhZCBuYW1lcyBpbiBhcnJheSAXDQpbMl0gICAgpiBD
cHBlcmNhc2UgaWYgRD0xLCB0byBsb3dlcmNhc2UgaWYgRD39
LCBjb252ZXJ0cyBuYW1lcyB0byB0aGUgcHJpbWFyeSBhbHBo

Svaki pristojan program za elektronsku poštu će automatski kodirati i dekodirati datoteke za vas tako da toga nećete ni biti svesni. Ukoliko mejl imate sačuvan na disku, Total Commander će vam pomoći da iz njega izvučete kodirane priloge. Pod Linuxom možemo u istu svrhu koristiti program ripmime:

ripmime -i mail.txt

DMA molim, ako je ikako moguće

Na jednom starijem računaru koji u sebi još uvek ima ATA diskove, odjednom se pojavio problem seckanja muzike tokom neke pozadinske aktivnosti. Primera radi, prilikom kopiranja datoteka ili rada antivirusnog programa muzika je bila užasno izobličena. Ako se ovo desi prvo što treba proveriti jeste da li diskovi rade u DMA ili PIO modu: otvori se Device Manager, klikne se na IDE ATA/ATAPI controllers i onda se za svaki disk kontroler proveri Transfer mode. Ako je Current transfer mode DMA onda je sve u redu a ako je transfer mode PIO onda to ne valja.


Pod uslovom da disk podržava DMA, da bismo pokušali da prebacimo disk iz PIO u DMA režim rada najpre je potrebno da se postaramo da je disk sa pločom povezan putem 80-pinskog IDE kabla a ne 40-pinskog. Na sledećoj slici se vidi razlika između ova dva kabla:


Generalno gledano, 80-pinski IDE kabal ima isti priključak kao i 40-pinski ali je duplo gušći :-) Nakon što smo se uverili da koristimo odgovarajući kabal, sa ovog linka ćemo preuzeti skript pod nazivom resetdma.vbs, pokrenuti ga i, kada on završi posao, restartovati računar. Nakon ovoga seckanje bi trebalo da prestane a u Device Manageru bi Transfer mode trebalo da stoji na DMA.

субота, новембар 19, 2011

DHCP demon u problemu

Nedavno se u sistemskom logu pojavilo interesantno upozorenje da ruter jednostavno odbija da komunicira sa DHCP demonom:

Nov 18 19:01:22 localhost dhcpcd[5263]: eth0: reject NAK via 10.0.0.1
Nov 18 19:01:25 localhost dhcpcd[5263]: eth0: reject NAK via 10.0.0.1
Nov 18 19:01:30 localhost dhcpcd[5263]: eth0: reject NAK via 10.0.0.1
Nov 18 19:01:33 localhost dhcpcd[5263]: eth0: reject NAK via 10.0.0.1
Nov 18 19:01:37 localhost dhcpcd[5263]: eth0: reject NAK via 10.0.0.1

Nakon malo pretraživanja foruma, došao sam do saveta da bi trebalo u datoteci /etc/dhcpcd.conf zatarabiti deo koji se odnosi na zahtev za ServerID:

# A ServerID is required by RFC2131.
require dhcp_server_identifier

ServerID je po RFC2131 standardu potrebno slati ali neki ruteri ga ne šalju što samo po sebi ne pravi problem DHCP demonu ali zato ako šalju NAK a ne šalju ServerID, e onda nastane gore opisani problem. U svakom slučaju, demon sada radi bez problema a kao alternativu treba razmotriti i upotrebau dhclient-a...

субота, октобар 15, 2011

Moć tvrdih linkova

Svi znamo za simboličke linkove ili, u Windows svetu, prečice do datoteka. To je posebna vrsta datoteka koje predstavljaju vezu do neke druge datoteke. Ako uklonimo izvornu datoteku, link se prekida i postaje nevažeći. Nasuprot simboličkim linkovima imamo tvrde linkove koji predstavljaju aliase jedne datoteke. Bitna stvar je da ako se izvorna datoteka ukloni, linkovi ostaju važeći odnosno sadrže informacije originalne datoteke. Ove informacije će postojati sve dok postoji i poslednji tvrdi link. Takođe je bitno shvatiti da tvrdi link nije kopija datoteke već samo drugo ime iste datoteke.

Koja korist od tvrdih linkova? Program za pravljenje rezervnih kopija datoteka rsnapshot (rsnapshot.org) se u mnogome oslanja na tvrde linkove. Poenta prilikom pravljenja rezervnih kopija je da se samo prvi put napravi kopija svega što nam treba a sledeći put kopiramo samo podatke koji su se izmenili u odnosu na prethodi put. Pravljenje potpune kopije svih podataka svaki put nije racionalno u pogledu zauzeća prostora. rsnapshot zato kopira samo datoteke koje su se promenile u odnosu na poslednji put a za datoteke koje se nisu promenile pravi tvrde linkove ka njihovoj prethodnoj verziji. Na taj način u svakom trenutku imamo raspoloživu celokupnu arhivu podataka a ona zauzima prostor prve kopije uvećan za prostor koji zauzimaju izmenjeni podaci.

Pakovanje i raspakivanje iz komandne linije

ZIP
zip -r arhiva.zip direktorijum
unzip arhiva.zip
TAR
tar -cvf arhiva.tar direktorijum
tar -xvf arhiva.tar
TAR.GZ
tar -zcvf arhiva.tar.gz direktorijum
tar -zxvf arhiva.tar.gz
TAR.BZ2
tar -jcvf arhiva.tar.bz2 direktorijum
tar -jxvf arhiva.tar.bz2

Futer na dnu stranice

Danas sam se namučio da prilepim futer na dno tzv. "kratkih stranica", odnosno stranica koje imaju malo teksta pa se futer pomeri na gore. Nakon malo pretraživanja Interneta rešio sam da primenim savet sa stranice ryanfait.com/sticky-footer/ koji inače mnogi preporučuju. Tek kada sam završio sav posao i prilagodio svoj dizajn savetima sa ovog sajta shvatio sam da donja margina stranice prekriva futer i da nije moguće kliknuti na linkove u futeru. Posle još malo proučavanja problematike usvojio sam kao konačno rešenje savet sa stranice matthewjamestaylor.com/blog/ koje se praktično zasniva na sledećem rasporedu elemenata:

<div id="container">
<div id="header"></div>
<div id="body"></div>
<div id="footer"></div>
</div>

i stilu definisanim kao:

html, body {margin:0; padding:0; height:100%;}
#container {min-height:100%; height:auto !important; height:100%; position:relative;}
#body {padding-bottom:60px;}
#footer {position:absolute; bottom:0; height:60px;}

субота, септембар 03, 2011

Brzi pregled slika

FastStone Image Viewer je brz, jednostavan i besplatan program za pregled grafičkih datoteka odnosno slika. Kao što je to već postalo uobičajeno za ovakav tip programa, FastStone ima dva režima rada: brauzer, kada šetanjem kroz stablo direktorijuma vidite umanjene verzije slika, i pregledač (viewer) kada preko celog ekrana vidite željenu sliku. Sem toga, pomoću ovog programa možete vršiti i jednostavne modifikacije slika tipa njihovo rotiranje, opsecanje, podešavanje boja, primena jednostavnih efekata ili možete vršiti konverziju u druge grafičke formate. Takođe slike možete prikazati i u formi slajd šoa od kojeg čak možete napraviti nezavistan program i podeliti s prijateljima. Program ima i mogućnost grupne konverzije i reimenovanja datoteka.



Još jedno odlično rešenje je program pod nazivom XnView koji je čak i u svojoj minimalnoj verziji sasvim dovoljan za pregled slika i pokretanje slajd šoa, kao i svakodnevne operacije nad grafičkim datotekama poput premeštanja, štampanja, brisanje ili masovnih (paketnih) obrada.



Program je besplatan za kućnu upotrebu i možete ga preuzeti sa matične strane xnview.com

уторак, август 16, 2011

Mobile viewport

Svako ko se bavio razvojem web sajtova za mobilne telefone, pre ili kasnije se susreo sa nestandardnim prikazom HTML rasporeda na različitim telefonima i različitim rezolucijama ekrana. Pojavom pametnih telefona, stvari kao da su postale još gore pošto većina novih telefona poseduje nešto što se zove viewport a viewport omogućuje da se čak i sajtovi koji su preširoki za uobičajenih mobilnih 320 ili 480 piksela naguraju na širinu ekrana i to smanjivanjem istih do nečitljivosti. Viewport bismo mogli nazvati virtuelnim ekranom.

Odlične tekstove na ovu temu možete naći na sledećim adresama:

недеља, август 14, 2011

Novi YouTube izgled

Na stranici http://www.youtube.com/cosmicpanda moguće je videti kako će uskoro izgledati YouTube. Primetna su poboljšanja poput plejera koji može da zauzme celu širinu ekrana, skrivanje komentara itd.

петак, јул 15, 2011

Pronađi i zameni

Komandom

sed -i.bak '{:q;N;s/\n/,/g;t q}' ./list.txt

možemo na veoma jednostavan i brz način da datoteku sa vrednostima koje su ispisane jedna ispod druge pretvorimo u datoteku sa vrednostima koje su razdvojene zarezima

уторак, јун 21, 2011

Masovna konverzija

Ako želimo čitav direktorijum mp3 datoteka da konvertujemo u amr format, možemo da napravimo bash skript poput ovog koji će to da odradi umesto nas:

#!/bin/bash

SAVEIFS=$IFS
IFS=$(echo -en "\n\b")
for originFile in *
do
      originName=$(echo $originFile|awk '{sub(".mp3","");print}');
      newFile=$originName".amr"
      echo $newFile;
      echo "Converting $originFile to $newFile";
      c=$(ffmpeg -i $originFile -ab 12.2k -ar 8k -ac 1 $newFile);
done
IFS=$SAVEIFS

недеља, јун 19, 2011

Konzola za Windows

Ako ste primorani da pod Windowsom koristite komandni prompt (cmd.exe) a smatrate ga isuviše nepraktičnim, dajte šansu programu pod nazivom Console i nećete se prevariti. Console izgledom i funkcionalnošću više podseća na Linux terminal i veoma je podesiv kako po pitanju izgleda tako i po funkcionalnosti. Adresa za preuzimanje je sourceforge.net/projects/console/ a program je besplatan.


Hoću da snimim radnju

Ukoliko ste ikada poželeli da snimite kako obavljate neku radnju na računaru ili kako prelazite nivo omiljene igre, onda je program pod nazivom E.M. Free Game Capture prava stvar za vas. Program je veoma jednostavan za korišćenje i pomoću njega možete snimiti ceo ekran, jedan prozor ili pak možete definisati pravougaonu oblast koju želite da ovekovečite a snimanje se može pokrenuti i zaustaviti mišem ili pomoću prečica sa tastature. Podržan je veliki broj video formata za snimanje poput flv, avi i mpeg kao i svi popularni kodeci tipa XviD i H.264. Povrh svega ovoga program je besplatan.


Ukoliko pak želite samo da uhvatite statični snimak ekrana (sliku bre), pogledajte šta ima da ponudi Greenshot.

субота, април 23, 2011

Jednostavna sinhronizacija

Ukoliko želimo da na jednostavan način sinhronizujemo sadržaj između udaljenog i lokalnog direktorijuma, koristićemo program rsync. U svom osnovnom obliku:

rsync -avz -e "ssh -p 2233" user@host.com:/home/user /home/user/backup

program će se preko sigurnosnog protokola povezati na port 2233 servera koji se nalazi na adresi host.com pod korisničkim imenom user. Sve što se nalazi u udaljenom direktorijumu /home/user biće iskopirano u lokalni direktorijum /home/user/backup. Ukoliko želimo da iz sinhronizacije isključimo neki direktorijum, koristićemo exclude. Tako na primer, ukoliko ne želimo da kopiramo sadržaj direktorijuma /home/user/http_logs, dodaćemo

--exclude 'http_logs'

kao parametar pozivu programa.

уторак, март 22, 2011

MTU

Nedavno je počeo da me muči nezgodan problem u smislu da Pidgin više nije hteo da se poveže na MSN dok nekako u isto vreme ni Firefox više nije bio u stanju da pošalje veće forme. Nakon malo istraživanja po Internetu došao sam do zaključka da bi trebalo promeniti vrednost MTU. MTU se može promeniti  ili na ruteru ili na računaru koji ima problema sa slanjem podataka. Pošto su mi i Pidgin i Firefox bez problema radili na ostalim računarima, rešio sam da promenu izvršim na problematičnom računaru. Podrazumevana vrednost iznosi 1500 a metodom isprobavanja sam došao do toga da najveća vrednost MTU pri kojoj ova dva programa rade kako treba iznosi 1460 pa sam istu i postavio komandom ifconfig. Da bi promena bila aktivna svaki put kada se računar restartuje, u datoteci /etc/rc.local sam dodao sledeću liniju:

ifconfig eth0 mtu 1460

Kako se pronalazi optimalna vrednost za MTU? Najpre, već pomenutom komandom ifconfig postavimo vrednost na 1500. Onda krenemo da pingujemo neku destinaciju paketima od 1472 bajta:

ping -M do -s 1472 www.google.com

Ukoliko je sve u redu - ne diramo ništa: MTU od 1500 je optimalna vrednost (1472 bajta veličina paketa + 28 bajtova za ping zaglavlje). Ukoliko ping ne stiže do destinacije, smanjujemo veličinu paketa dok ne stignemo do najveće vrednosti kod koje ping prolazi. Na tu vrednost dodajemo 28 i to je to (u mom slučaju 1432+28=1460).

YouTube bez zvuka

Ukoliko nemate zvuk sa YouTube filmova a koristite pulseaudio zvučni server, u datoteku /etc/asound.conf dodajte sledeće:


pcm.pulse {
type pulse
}

ctl.pulse {
type pulse
}

pcm.!default {
type pulse
}

ctl.!default {
type pulse
}
Trebalo bi da se sad sve normalno čuje :-)

понедељак, март 07, 2011

Transmission

Transmission je besplatan program za BitTorent. Krase ga mala potrošnja resursa, jednostavnost i klijent-server arhitektura što znači da možete pokrenuti rezidentan program a onda ga kontrolisati iz terminala ili još bolje Internet čitača.


Podešavanja se nalaze u json fajlu

~./.config/transmission-daemon/settings.json
U njemu možete na primer da dodate IP adresu umreženog računara sa kojeg želite da kao klijent pristupite serverskom delu aplikacije. Recimo da se server nalazi na adresi 10.0.0.100 a klijent sa kojeg želite da pristupite je na adresi 10.0.0.101. U datoteci settings.json potražite linije rpc-whitelistrpc-whitelist-enabled i ispravite ih da izgledaju ovako:

"rpc-whitelist": "127.0.0.1,10.0.0.100,10.0.0.101",
"rpc-whitelist-enabled": true,

Sačuvajte izmene i naterajte transmission da ponovo pročita podešavanja komandom

pkill -HUP transmission-da

Sada u brauzeru klijentskog računara (10.0.0.101) kucajte http://10.0.0.100:9091/transmission/web i trebalo bi da vidite interfejs sa gornje slike.

Program je dostupan za Linuks i Mek a neko ga je portovao i na Vindouz. Adresa je www.transmissionbt.com