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.
субота, децембар 10, 2011
недеља, децембар 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.
понедељак, новембар 21, 2011
недеља, новембар 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:
субота, новембар 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 direktorijumTAR
unzip arhiva.zip
tar -cvf arhiva.tar direktorijumTAR.GZ
tar -xvf arhiva.tar
tar -zcvf arhiva.tar.gz direktorijumTAR.BZ2
tar -zxvf arhiva.tar.gz
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:
Trebalo bi da se sad sve normalno čuje :-)
pcm.pulse {
type pulse
}
ctl.pulse {
type pulse
}
pcm.!default {
type pulse
}
ctl.!default {
type pulse
}
понедељак, март 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.jsonU 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-whitelist i rpc-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
недеља, фебруар 20, 2011
Пријавите се на:
Постови (Atom)