10 фебруар 2013

How to install Lotus Notes 8.3 on Kubuntu 12.04

Installing Lotus Notes became easier than in previous versions and fortunately there is no need to edit .deb files anymore.
Follow these steps to install Lotus Notes (Kubuntu 12.04.1 32b):

  1. untar the installation: tar xvf lotus_notes853_linuxUb_en.tar
  2. run installer: sudo dpkg -i ibm-lotus-notess-8.5.3.i586.deb
  3. dpkg will throw missing dependencies, you should search and install all that dependencies using apt-get, aptitude or Muon package manager
  4. run: sudo dpkg -i ibm-lotus-notess-8.5.3.i586.deb again
  5. install other lotus notes parts: sametime, activities and so on using the same approach
  6. similarly untar and install fixpack
  7. install the wrapper:
mkdir -p /tmp/notesfix
cd /tmp/notesfix
 
wget –no-check-certificate https://github.com/sgh/lotus-notes_gtk2.23.3/raw/d3492c997bc7a92b895fa1369d4743a8e20b56b5/Makefile
 
wget –no-check-certificate https://github.com/sgh/lotus-notes_gtk2.23.3/raw/d3492c997bc7a92b895fa1369d4743a8e20b56b5/libnotesgtkfix.c
 
wget –no-check-certificate https://github.com/sgh/lotus-notes_gtk2.23.3/raw/d3492c997bc7a92b895fa1369d4743a8e20b56b5/notes-wrapper
 
make
chmod +x notes-wrapper
 
sudo cp notes-wrapper libnotesgtkfix.so /opt/ibm/lotus/notes/
The final step is to edit menu. Right click to Kickoff App Launcher -> Edit Application, find the Lotus Notes entry in Office menu, and put this line into command field:

sudo -u $USER env  GTK2_RC_FILES="/usr/share/themes/Raleigh/gtk-2.0/gtkrc" /opt/ibm/lotus/notes/framework/../notes-wrapper
Now you can "enjoy" your Lotus Notes :)

23 јун 2012

Pro Spring 3

Right now I am reading Pro Spring 3 written by Clarence Ho and Rob Harrop (a SpringSource co-founder). Very up to date book about Spring covering version 3.1. This book doesn't lack information, almost every part of Spring is covered including some useful addons like Spring Data JPA, Spring Batch, Spring Integration and Roo, The book is not just about Spring it is about how to be productive with Spring. Author explains how to use SpringTool Suite (STS), how to decide which approach to follow, examples are very profound. And through the book author is developing a real application! I wish that authors have paid attention on Spring security (not covered at all) and Beans Validation chapter is too thin with only 2 field validation annotations mentioned (@NotNull and @Size). Still this is the best book that will make you a good and capable Spring programmer even if you don't have any precognition about Spring.

21 јун 2012

YU18n

Raspad SFRJ doneo je mnogo problema lokalizatorima za naše pordučje. Autori Java jezika se nisu baš najbolje snašli u tome pa i u javi 6-te verzije postoje problemi. Rešenje za te probleme kao i kratak istorijat problema pogledajte na sledećem linku: http://klaus.e175.net/java-yu

Hvala Draženu na ovom linku :)

29 фебруар 2012

Zanimljivosti iz istorije Ujedninjenog kraljvestva

Dok sam u Škotskoj često gledam emisije iz njihove istorije što i nije teško naći jer ih ima na svim kanalima a postoji i poseban kanal samo za to pod slikovitim nazivom Yesterday.

Evo nekoliko zanimljivosti nabacanih na gomilu:

U toku 2. sv. rata zalihe čaja su strateški raspoređene na 7 lokacija kako bi se izbeglo uništavanje što bi po moral Britanaca bilo pogubno.

Šetland, ostrvo na pola puta između Britanije i Norveške danas deo Škotske je istorijski deo Norveške. Norveški vladar je dao engleskoj kraljici u zakup ostrvo a ono nikad nije vraćeno majci Norveškoj. Na ostrvu i dan danas imaju svetkovine posvećene Vikinzima jer oni i jesu njihovi potomci

Racionalisanje ishrane (dobijanje sledovanja hrane na bonove, tačkice i slično ograničavanje i razdeljivanje hrane) u UK je ukinuto tek 1954. godine. Toliko ih je rat upropastio.

U 17. veku je škotskim brđanima (Highlanderima) bilo zabranjeno da nose tartane i oružje. Mnogi klanovi (npr. Mc Donald) su bili desetkovani zbog nepoštovanja naredbe. Vojska je imala naredbu da nikog starijeg od 17 godina ne ostavi u životu.

Britanija je zagospodarila morem tako što su se prvo zakačili u 16. veku sa moćnom španskom armadom. Povod je bio vrlo prozaičan, Španci su trgovali robovima, Britanci pokušali da sa samo 2 broda uzmu koju mrvicu iz tog ogromnog posla ali im ni toliko nisu dali već su ih napali španski brodovi. Jedan od preživelih britanskih mornara je čitav život posvetio borbi protih Španaca i bio je vrlo ubedljiv. Špancima se škrtarenje nije isplatilo :)

Najveći poraz engleska mornarica je doživela kad je parlament zavrnuo slavinu za mornare. Brodovi su nedeljama stajali usidreni kod Londona, a onda su došli Nizozemci, probili se kroz Temzu i iznenadili englesku mornaricu. U očaju Englezi pale i potapaju nekoliko brodova kako bi zatvorili prolaz ali kasno. Najveći engleski brod su Nizozemci zarobili i odveli. Takvu sramotu sebi Englezi nikad nisu zaboravili.

Krajem 18. veka kad se razivija nova klasa sastavljena od trgovaca i ostalih koji su bogatstvo stekli na krilima britanskog gospodarenja morem. Čaj je jako skup ali je ova klasa imala dovoljno para da pravi redovne čajanke. Čajanke su postale sastavni deo društvenog života. Iako su te domoćice imale služavke, same su pravile čaj, tako nešto skupo nisu želele da prepuste služavkama.

U to vreme dosetio se jedan njihov vladar da oporezuje prozore. I to tako da je bila velika razlika između poreza na 10 i više prozora i onog na manje od 10. Kao posledica utaje poreza i dan danas se mogu videti na starijim kućama zazidani prozori :D

Britanija je uvela gas mnogo pre nego što je uvedena struja. Gas je do 60-tih bio pravljen od uglja. Služio je ne samo za grajanje i kuvanje već je bio preteča sijalica ne samo u uličnoj rasveti već i u samim domovima.

Kralj koji je bio kreativan po pitanju poreza na prozore je imao i druge zamisli. Oprezovao je ogledala po kućama pa čak i bele voštane sveće koje su samo imućniji imali. Sirotinja je imala lojane koje su stvarale mnogo čađi.

Britanija je konačno postala jedina supersila na moru tako što je porazila tada najstrašniju mornaricu sveta: Frnacusku. To je urađeno na vrlo originalni način. Većina brodova Francuzi su držali usidrene u luci Brest na Antlantiku. Jedan se Britanac dosetio da bi mogao isploviti i blokirati brodove u luci. Nikome ranije to nije palo na pamet iz jednog vrlo praktičnog razloga: tada se nije moglo biti dugo na moru, moranri bi se zbog loše i jednolične hrane posle par sedmica porazboljevali. No Britanac se dosetio da mu drugi brodovi donose zalihe sveže hrane i vode tako da je do beskonačnosti mogao držati Francuze za ... Za to vreme je ostatak britanske vojske uzimao francuske posede u srednjoj Americi, Quebec, Indiju... Francuzi nisu mogli imati pomoć mornarice niti dotur oružja i ljudstva. Kad je Frnacuskom kralju dosadilo da mesecima ne dobija novac iz kolonija kao i da gubi zemlju kojekude, naredio je ništa manje nego zauzeće Londona. Francuska mornarica je krenula u proboj kroz deo koji je pun hridina a koji su poznavali bolje od Engleza. Ali su se Englezi ipak usudlili da krenu za njima i rizik se isplatio, uništili su silu brodova tako da se Francuska nikad nije oporavila. Sve se ovo dešavalo za zemana Luja XV. Posle ovolikog gubitka nije ni čudo što je uskoro izbila revolucija u Francuskoj...

Struja je u Britaniji uvođena neplanski preko privatnih kompanija. Posledica toga je da se mreža do mreže razlikovala po naponu i po utičnicama. Tek posle 2. sv. rata je vlada odlučila da napravi nacionalnu prenosnu mrežu koja bi ujedinila i unifikovala sve te rasparčane mreže.

Kad je 60-tih otkriven prirodni gas prešlo se sa ugljenog na njega. Prirodni gas je kaloričniji i sve instalacije su morale biti prilagođene. Npr. gorionici na šporetima su zamenjenji. Domaćice tog vrena su se žalile kako ne mogu da se naviknu na novi gas, ako ga zategnu on se ugasi ako ga odviju onda im sve zagori :D

Jedini deo teritorije UK koji je nemačka vojska zauzela su Kanalska ostrva (Jersey i druga) u blizini Francuske. Ta ostrva su ustvari državice koje za svojeg vladara na neki način priznaju engleskog kralja/kraljicu. Inače nikakve direktne veze s Britanijom nemaju. Kad je Frnacuska pala UK vojska se brzom brzinom pokupila i pobegla. Nemci su na ostrvima ostali sve do 9. maja 1945. iako su iz Francuske protrerani mesecima ranije. Hitler je bio opsednut da drži makar deo nečega što u neku ruku pripada UK i što žulja Čerčila :) Zato je na ostrva poslao silu vojske, gradio podzemne baze za podmornice, utvrdio obalu... Britanci su se poneli krajnje hladno i racionalno, nisu hteli da ginu za slavu, čekali su da zauzmu Berlin pa da se ostrva sama vrate.

29 октобар 2011

Spring: how to send a mail

Spring has module for email sending. First one need to configure mail sender bean. Actually there are two mail sender implementations. The first one is MailSender that can be used for simple mails. For advanced mails (MIME support) JavaMailSender must be used. It is good practice to divide your configuration into several files, so we'll put mailing configuration into service-mail.xml (or you can choose your own name) and then include that file into main config file. Just for example we'll use gmail as SMTP server so configuration looks like this:



 
    
        
        
        
        
 
        
           
                  true
                  true
               
        
    
 


Spring needs two additional libraries: javax.mail and javax.activation. For maven users: simply add dependency for javax.mail (groupId: javax.mail, artifactId: mail) into your projects pom.xml.

Now we can implement our mailing service:

@Service("mailService")
public class MailServiceImpl implements MailService {
 
    @Autowired
    private JavaMailSender mailSender;
 
    public final void setMailSender(final JavaMailSender p_mailSender) {
        this.mailSender = p_mailSender;
    }
 
    public final JavaMailSender getMailSender() {
        return mailSender;
    }
 
    @Override
    public final void sendMail(final String p_from, final String p_to, final String p_subject, final String p_msg) {
        final MimeMessagePreparator preparator = new MimeMessagePreparator() {
            @Override
            public void prepare(final MimeMessage p_mimeMessage) throws Exception {
                final MimeMessageHelper message = new MimeMessageHelper(p_mimeMessage);
                message.setTo(p_to);
                message.setFrom(p_from);
                message.setSubject(p_subject);
                message.setText(p_msg, true); // true means that our text is actually HTML!!!
            }
        };
        mailSender.send(preparator);
    }
 
}

Now we can use our service like this:

mailService.sendMail(fromEmail, toEmail, subject, msg);

21 септембар 2011

Instalacija Arch Linux-a na LVM i obratno

U prošlom postu opisao sam šta je to LVM i kako se pravi. Ali da bi LVM radio na Arch Linux-u mora se izvršiti određeno podešavanje i o teme će biti reči u ovom tekstu.

Treba obratiti pažnju na 2 fajla.

U rc.conf treba postaviti
USELVM="yes"

U mkinitcpio.conf treba da stoji:
MODULES="dm_mod"
. . .
HOOKS="base udev autodetect pata scsi sata usb lvm2 filesystems usbinput"

Zatim traba ponovo naraviti initramfs:
cd /boot
mkinitcpion -p linux

Manuelno mountovanje LVM particije

Ponekad je nužno ručno mountovati particiju, sa običnim je to lako:
mount /dev/sda4 /mnt/arch

Ali to ne pali kod LVM particija.

sa
pvs

saznajemo ime VG i na koje PV su u VG

Recimo sa se VG zove VolGroup00, zatim sa:
lvdisplay /dev/VolGroup00

izlistamo LV na VG

Kad smo se odlučili koju LV (LogVol00 u primeru) ćemo mountovati radimo:
vgscan --mknodes
lvchange -a y /dev/VolGroup00/LogVol00
mount /dev/VolGroup00/LogVol00 /mnt/lvm

18 септембар 2011

Logical volume manager - LVM

LVM je način da linux dobije particije koje se mogu lako širiti i skupljati. Osim toga moguće je raditi apstrakciju diskova i particija, zgodno za sistem sa puno diskova. Nad LVM se često kombinuje sa softverskim RAID-om i enkripcijom.

Pre nego što nastavimo dalje moramo defisati osnovne pojmove.

Physical volume - PV
Disk ili particija diska koja je određena da se priključi u LVM. Particija treba da je tipa 8e Odnosno Linux/LVM. Pravi se npr. preko disk partition alata cfdisk ili fdisk.

Volume groupe - VG
VG je apstrakcija između PV i LV (niže opisano). VG je nešto kao disk van LVM rečnika. Razlika je što se VG može sastojati od više diskova/particija tj. phisical volume-a. VG se potom deli na logical volume-e.

Logical volume - LV
Predstavlja ono što se u van LVM zove particijom. VG se izdeli na više LV. Pri tom se veličina LV odredi tako da se ne iskoristi čitava veličina VG, zato što se kasnije kad se ukaže potreba lako LV poveća ili smanji.

Pravljenje LVM PV, VG i LV

Ovde ću prikazati način na koji se LVM pravi na Arch Linux-u. Na drugim distribucijama ne bi trebalo da se postupak mnogo razlikuje, komande za LVM su svuda iste.

Pretpostavka je da smo prethodno napravili LVM particiju i da je ona na /dev/sda4

Prvo treba proveriti da li je modul za LVM učitan u kernel:
modprobe dm-mod

zatim na particiju koju smo napravili i koja je tipa 8e (LVM) napravimo PV:
pvcreate /dev/sda4
pvdisplay # prikazuje rezultat

Zatim pravimo VG:
vgcreate VolGroup00 /dev/sda4 # ime izabrati po želji

Da imamo još PV da dodajemo u VG (osim ovog jednog sa /dev/sda4) radili bi ovo:
vgextend VolGroup00 /dev/sdb1

A zatim na VG pravimo LV po izboru za sve particije koje nam trebaju:
lvcreate -L 10G VolGroup00 -n lvroot # veličina, pripadajuca VG, ime LV
..

Dalje ukoliko se instalira početi sa instalacijom i tamo stvoriti filesysteme, ako je linux već instaliran onda mora ručno da se prave FS i da se mount-uju. Particije se sad vide preko device mappera pa mesto uobičajenog pristupa sa /dev/sda[x] referišemo se na njih u obliku:
/dev/mapper/VG00-lvroot

Za file system na LV preporučujem EXT4 eventualno EXT3. Ta dva sistema se mogu povećavati a da ih nije potrebno umount-ovati nego je direktno - online moguće promeniti veličinu naviše. ReiserFS nije moguće smanjivati.

Napomena: na LVM je moguće staviti sve linux particije. Ali ukoliko se koristi Grub 1 nije moguće imati boot particiju na LVM, osim ako nije Grub patchovan da to podrži (takav je Red Hatov). Grub 2 trebalo bi da podržava boot particiju na LVM. Swap particija zahteva drugačiju komandu za kreiranje LV da se prostor tog LV-a ne bi raspršio po disku/diskovima već da bi bio iz jednog dela. Pri tom se mnogi žale da kad dođe do popunjavanja swap-a LVM se zaglavi pa se preporučuje da swap bude van LVM. Mada, kad se swap popuni i na običnoj particiji linux se zaglupi...