[Gimp] Sfera

No Comments

Kalėdos, eglė, šventės, etc. ta proga prireikė išlenkt foto ant kalėdinio žaisliuko(sferos) galvojau jog viskas paprasta „gimp->filter->sphere“, bet pasirodo ne viskas taip paprasta. Gimp sferos filtras veikia kažkaip ne taip kaip tikimasi iš jo, tai teko paskaitinėt google ir išsiaiškint kas ir kaip, dabar pasidalinsiu patirtim 🙂

Kadangi mikrofono visdar neturiu(Liudai, skaitai? Puslapis surenka milijonus pajamų, o autoriai rašo su senom klaviatūrom, neturi galimybės net padoraus video padaryt… vis dėlto kalėdos artėja 😀 )

P. S. video įrašyta su windows, tiesiog su windows video gražiau įsirašo, ne taip stringa(kad ir kaip ten bebūtų kompas nebenaujas)

Paveiksliuko išlenkimas ant sferos

Kitas pavyzdys

Galiausiai

akmc

Aš negaliu parodyt „step-by-step“ aš galiu parodyt tik į kurią pusę eit… Viską reik imt ir bandyt, kiekvienu atveju reikia kažko kito, reik daryt kažkaip kitaip. Interneto pavyzdžiuose tai mačiau žmonės išplečia paveikslėlį 1,5-3 kartus, man arčiau širdies uždėt paveiksliuką ant 3x išplėsto fono, na vienu žodžiu kas kaip moka tas taip šoka 🙂

Paveiksliukai video buvo tik principo parodymui, įdėjus truputuką darbo į tą pavyzdinį paveiksliuką gaunam maždaug:

kaledos

P.S.  Šiais metais nesiruošiu daugiau rašyt, todėl Su Kalėdom ir naujais metais!

"LXDE" jungiasi su "Razor QT" ir tampa "LXDE-QT"

2 Comments

Vakar(07.21) Jerome Leclanche iš Razor-qt projekto LXDE ir Razor-qt pašto konferencijose paskelbė apie Razor Qt ir LXDE projekto ateitį.

“…mes nusprendėme jog geriausias kelias yra sujungti abu projektus ir sutelkti dėmesį į vienos darbastalio aplinkos kūrimą.
Kalbos apie šių projektų sujungimą netilo nuo pat LXDE-QT paskelbimo. Nusprendę bendradarbiauti, mes jau pradėjome dirbti kartu.
Mūsų planas yra surinkti ką geriausio turi Razor bei LXDE ir perkelti tai į LXDE-Qt. Kiti komponentai bus perkelti tiesiai iš GTK kodo arba perrašyti nuo nulio. Bendroj sumoj mes norime pasiūlyti geriausią kas įmanoma panaudojant kiek įmanoma daugiau seno kodo.”

Per ateinančias savaites, mūsų komandos pasistengs išleisti pirmą LXDE-Qt leidimą ir paskutinį oficialų Razor Qt leidimą. LXDE GTK versija nebus palikta, su ja ir toliau bus dirbama, ji bus gerinama. Visi atnaujinimai kurie bus padaryti Qt versijai bus padaryti ir GTK versijai.

Ilgalaikėj perspektyvoj dauguma Razor-qt komponentų bus pilnai integruoti į LXDE-Qt projektą ir abi komandos sutelks visą savo dėmesį į vieną projektą.  Žiūrint dar toliau į ateitį, LXDE GTK versija bus palikta ir visos pastangos bus sutelktos į QT versiją.  Mes, pagrindiniai kūrėjai ir projektų administratoriai pabandysime suderinti savo pozicijas ir išspręsti nuomonių skirtumus.

Pilną pranešimą galite paskaityti pašto archyve Razor Qt ar LXDE-list.

Sujungti šiuos du projektus prireiks pagalbos, todėl kviečiame visus kūrėjus, vertėjus ir pritaikytojus prisijungti prie mūsų pašto konferencijoje lxde-list@lists.sourceforge.net.

Šaltinis: lxde tinklaraštis

IRC bot paprastai ir aiškiai

2 Comments

IRC bot‘as yra scenarijų rinkinys arba ištisa programa kuri jungiasi prie IRC kaip klientas, ji taip ir atrodo kitiem naudotojams. IRC bot’as nuo paprasto IRC kliento skiriasi tuo jog jis nesuteikia žmogui interaktyvaus priėjimo prie IRC, o tiesiog vykdo užprogramuotus veiksmus.

Nusprendžiau išsiaiškint kas tie IRC bot’ai, kaip jie veikia, ką galvoja, kuo kvėpuoja. Čia aprašysiu visus savo nuotykius kuriant ir paleidžiant IRC bot’ą. Parašysiu nuo a iki z, bet vistiek tai nebus „step-by-step“ gidas. Jeigu kyla klausimas „kam rašyt savo jei yra milijonas jau parašytų?“ atsakau: paėmus svetimą veikiantį bot’ą tu negauni žinių kurios padėtų suprast kaip veikia bot’as, kaip jį pritaikyt savo reikmėm, etc. beto čia būtų tas pats kas klaust „kam man skaityt „dievų mišką“? juk mano mama ją skaitė.“

Pradžia

Bot’ą rašiau su tikslu padaryt veikiantį (nebūtinai naudingą, stabilų ar saugų) daiktą kurį būtų galima būtų panaudoti vykdyti kažkokiems menamiem naudingiem tikslams. Aš ne (nebe) programuotojas todėl bot rašymui naudojau tą ką kiekvienas linux naudotojas naudoja kiekvieną mielą dieną – shell(mano atveju bash). Žmonės kalba jog rašyt bot’ą su bash nelabai protinga, bet esmė tame jog taip rašyt galima ir jis veikia, beto ir tas pats perl tėra pagerinta bash versija.

Kaip ir kiekvienu atveju visi darbai prasideda google.lt 🙂 susiradau pirmą pasitaikiusį irc bot parašytą su bash, radau jį http://flux242.blogspot.com/2011/06/simple-bash-irc-loggin-bot.html

#!/bin/sh

nick="blb$$"
channel=testchannel
server=irc.freenode.net
config=/tmp/irclog

[ -n "$1" ] && channel=$1
[ -n "$2" ] && server=$2
config="${config}_${channel}"

echo "NICK $nick" > $config
echo "USER $nick +i * :$0" >> $config
echo "JOIN #$channel" >> $config

trap "rm -f $config;exit 0" INT TERM EXIT

tail -f $config | nc $server 6667 | while read MESSAGE
do
  case "$MESSAGE" in
    PING*) echo "PONG${MESSAGE#PING}" >> $config;;
    *QUIT*) ;;
    *PART*) veiksmas ;;
    *JOIN*) ;;
    *NICK*) ;;
    *PRIVMSG*) echo "${MESSAGE}" | sed -nr "s/^:([^!]+).*PRIVMSG[^:]+:(.*)/[$(date '+%R')] 1> 2/p";;
    *) echo "${MESSAGE}";;
  esac
done

Iš esmės tai čia viskas paprasta ir aišku, bet tai buvo tik pradžia. Aš jo funkcionalumą truputį praplėčiau. Dėl savaime suprantamų priežasčių savo kodo čia nerašysiu. Šiaip keli komentarai apie kodą:

  • Kam reikalingas ciklas manau ir taip aišku.
  • Kaip veikia „case“ manau taipogi aišku, jei žinutėje yra žodis „PART“ ji vykdo komandą „veiksmas“.
  • Žinutės siuntimas kanalui: „echo „PRIVMSG #kanalas“ :labas >> $config“
  • Žinutės siuntimas konkrečiam žmogui: „echo „PRIVMSG žmogaus_nick“ :labas >> $config“
  • Cikle gaunama/apdorojama žinutė yra kintamasis $MESSAGE ji yra tokiu formatu: „:nick!nick@host PRIVMSG #kanalas :žinutė“ pvz. „:gymka!gymka@unaffiliated/gymka PRIVMSG #gymka :žinutė“
  • IRC komandos siunčiamos kaip ir žinutės „echo „NICKSERV identify slaptažodis“ >> $config“
  • Mano paredaguotame kode konfigūracija yra faile config.txt, ten viskas aišku

Prieglauda

Kodas jau yra, dabar reikia jį kažkur vykdyti. Jei reikia tik asmeniniams poreikiams, galima paleist savo kompe ir viskas veiks kaip priklauso, bet veiks tik tol kol kompiuteris įjungtas. Jei tokia situacija netenkina galima įkelti į svetimą kompiuterį kuris įjungtas 24/7. Tarnybų kurios teikia tokias paslaugas apstu, tereikia į google įrašyti „free shell“ ir pirmyn 🙂

Aš pasirinkau fewona.net, nes kitam kurį bandžiau negavau atsakymo į savo užklausą 🙂

SSH/SFTP

Kai jau turim vietą kur galima priglausti/vykdyti savo failus, juos reikia ten įkelti 🙂 Tam yra komanda „scp“, bet man arčiau širdies pažįstama ftp kliento sąsaja, todėl failams kelti naudoju ftp klientą (filezilla). Manau visi save gerbiantys ftp klientai susidoroja su SFTP protokolu.

Taigi prisijungiam ir įkeliam failus. Čia nėra apie ką pasakot, viskas taip pat kaip ir betkokiam ftp serveryje. Sukeliam, tiems kuriems reikia suteikiam vykdymo teisę, tiems kuriems reikia suteikiam rašymo teisę.

 

Kai failai jau sukelti reikia paleisti scenarijų, prisijungiam prie ssh. Komanda atrodo maždaug:

ssh -p prievadas naudotojas@host

Matom langą:

ten iš esmės tas pats kas jūsų terminale, tik skirtumas tas jog veiksmas vyksta ne jūsų kompiuteryje 🙂

Paleidžiam scenarijų:

./bot.sh &

išeinam iš ssh taip pat kaip ir iš sudo, su komanda „exit“. Va mūsų bot’as ir veikia serveryje, jis nepriklausomas nuo mūsų kompiuterio.

Mano bot’as

Kaip sakoma „sauso nieks neklauso“, todėl dalinuosi savo kodu: https://github.com/gymka/ircbot-sh

Aš bot’ą rašiau tik susipažinimui su šia tema, taip sakant savišvietai, kad žinočiau kaip veikia botas, todėl į bot’ą sudėjau tuos scenarijus kuriuos buvau parašęs anksčiau, kitiem projektams. Ką daro bot’as:

  • parašius „!rss“ parodo 4 naujausias delfi.lt naujienų antraštes
  • parašius „!test tekstas“ parašo „tekstas“
  • kam nors prisijungus pasisveikina
  • jei kas nors kreipiasi į bot’ą pvz. „ne_botas: labas“ jis atsako

Bot’as parašytas ne taip, kad būtų protingas ar naudingas, jis parašytas kaip po „žurnalistinis tyrimas“ 😀

Kaip botas atrodo galite pažiūrėti kanale #gymka serveryje irc.freenode.net ten nėra žmonių todėl spam’as niekam netrukdys, tuo tarpu mane galima rasti kanale #akmc serveryje irc.freenode.net