HotShots – dokumentacijos ekranvaizdžių kūrimui

1 Comment

Apie

„Hotshots“ yra ekranvaizdžių kūrimo įrankis su redagavimo funkcijomis. Jis ypač tinka dokumentacijos iliustracijų kūrimui (arba šiaip kokiam atgrubnagiui parodyt kurį mygtuką paspaust).
Kadangi HotShots parašytas su Qt jis veikia Linux ir windows sistemose.

Galimybės

Gali įrašyti esamo ekrano vaizdą, visų monitorių vaizdą (jei yra keli monitoriai), dabartinio lango ar dalies darbastalio vaizdą.
Išsaugoti ekranvaizdį populiariausiais formatais (PNG, JPG, BMP, …).
Automatiškai išsaugoti ekranvaizdį į iškarpinę ar diską; paleisti redagavimo įrankį.
Automatiškai pakeisti ekranvaizdžio dydį iki pasirinkto dydžio.
Ekranvaizdžio kūrimui naudoja „sistemos“ sparčiuosius klavišus.
Automatiškai prideda kelis efektus (šešėlio metimas, pasukimas, rėmelis, …).
Gali būti sumažintas į sistemos dėklą ir dirbti fone.
Galima paleisti kartu su sistema (Windows).
Eksportuoti paveikslėlį įvairiais formatais (PNG, JPG, BMP …).
Saugoti/Atstatyti redaguotą paveikslėlį savu formatu.

Lietuviška sąsaja.

Palaikomos platformos

Linux (reikia kompiliuoti)

Windows XP, Vista, Seven (su diegykle)

Kaip atrodo

Galimybės vaizdžiai

1. Apibraukimas

2. Didinimo stiklas

3. Tekstas

4. Rodyklė

5. Teksto paryškinimas

6. Vaizdo suliejimas

Diegimas

Archlinux naudotojai gali diegti iš AUR

Likę Linux ir windows naudotojai gali parsisiųsti iš autoriaus puslapio.

 

P.S. Projektas nesenai pradėtas, tai dar galima būtų pridėti ne vieną galimybę, manau ateity jos ir bus pridėtos. Esminis faktorius kodėl išvis rašau apie šią programą – ji lengva ir greita, ne taip kaip pvz. „shutter“ kuri atsidaro ne ką greičiau nei „gimp“.

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

 

Firefox 20 – epic fail?

1 Comment

firefox
Raudona spalva – nepatenkinti žmonės
Žalia spalva – patenkinti žmonės
Lentelė paimta iš http://input.mozilla.org

Aš ir pats grįžau prie firefox 19, jei taip ir toliau tai… sudie firefox, labas chromium. Man asmeniškai tai labai smarkiai užkliuvo tai jog naršant privačiam režime išjungiama tema. Tai yra toks didelis minusas jog aš (ne vien aš) galvoju pereit prie kitos naršyklės, kiek teko skaityt firefox 22 atstatė tą funkcionalumą, bet ar mes ištversim iki firefox 22?

Libreoffice neveikia rašybos tikrinimas

No Comments

Įsirašiau lietuvių kalbą į „libreoffice“ ir iškart bėdos 😀 Kartu su lietuviška sąsajos kalba įdiegė ir papildinį kurio aš neprašiau ir man jo nereikia. Pas mane sistemoje rašybos tikrinimui naudojamas „hunspell-lt“, o libreoffice man įdiegė kažkokį kitokį. Kartu jie atsisako veikti, nustatymuose pažymėjus kurį nors ir paspaudus „gerai“ ir kitą kart sugrįžus į tą dialogą abu būna atžymėti. Ištrinti hunspell iš sistemos (ir prarasti rašybos tikrinimą visoje sistemoje) tik tam, kad turėčiau rašybos tikrinimą libreoffice nelogiška, todėl reikia ištrinti libreoffice papildinį. Jis kažkodėl užrakintas ir jo ištrinti geruoju negalima (primena windows mąstymą „mes geriau žinom ko jums reikia“). Todėl šalinam jį piktuoju:
sudo rm -R /usr/lib/libreoffice/share/extensions/dict-lt
ir viskas, dabar rašybos tikrinimas vėl veikia 🙂