Jan 17 2012

Remember Insertion sort?

Category: English posts,TechnicalIuliana @ 16:03

I do. :) Enjoy!


Jan 16 2012

VirtualBox with Gentoo(4)

Category: English posts,Miscellaneous,TechnicalIuliana @ 13:58

This post is the not about the virtual machine or Gentoo, is more about setting up the tools that you will use to develop your applications and other good practices.

First, let’s talk more about environment variables. I mentioned in my previous post the JAVA_HOME variable. Most development tools need their environment variables too and they are not set up by Gentoo, so we will have to do this the way I like it, by hand. Every user has in it’s home directory – in /home/[username] (on my machine /home/jules) a file named .bashrc.The good practice is to edit this file by adding the necessary environment variables required by the tool that user will use.

1. Apache Ant

Apache Ant is a Java library and command-line tool whose mission is to drive processes described in build files as targets and extension points dependent upon each other. The main known usage of Ant is the build of Java applications. Ant supplies a number of built-in tasks allowing to compile, assemble, test and run Java applications.

It is easy to use, quite practical and I recommend it for small scale applications. The installation of Ant consists in unpacking the a

rchive, setting the ANT_HOME and adding the bin directory to the environment PATH variable of Gentoo. Also, the bin directory for Java should be added too, we’ll do that too.

To download ant, go to http://ant.apache.org and under Download menu item, there is a Binary Distributions link, click on that. On the frame on the right you will have a set of links which point to current versions of Ant. Download the tar.bz2 archive, you can use Firefox to do that or you can use wget:

# wget http://mirrors.hostingromania.ro/apache.org/ant/binaries/apache-ant-1.8.2-bin.tar.bz2

Then you have to unpack it:

# tar xpf apache-ant-1.8.2-bin.tar.bz2

After unpacking you will have a directory named apache-ant-1.8.2, usually I rename it to ant, because the version is not that important when the update is made by copying the new version content over the old one. You can copy it where you want, I usually leave it in the home directory for the current user. Then we have to set the ANT_HOME environment variable.

# cd ~ (gets you in /home/[username])
# nano -w .bashrc

Add the following lines:

# export ANT_HOME=/home/[username]/ant
# export PATH=${PATH}:${JAVA_HOME}/bin:${ANT_HOME}/bin

Save. (Ctrl+X,Y) Test the new environment variables:

# echo $ANT_HOME
# echo $PATH

Continue reading “VirtualBox with Gentoo(4)”

Tags: , ,


Jan 09 2012

Munca de mântuială produce totuși

Category: Miscellaneous,TechnicalIuliana @ 13:02

Citind la VisUrât despre ce e ala “ciuf” m-am hotărât să abordez o temă pe care am evitat-o multă vreme.

Graba strică treaba și în IT, e un domeniu ca oricare altul, deci nu scapă de asta, dacă până acum cât de mult se strica treaba nu era așa evident, de când internetul a devenit cel mai puternic mediu de comunicare, iar aplicațiile web au devenit ceva banal acest lucru devine din ce în ce mai vizibil și deranjant.

La începuturile internetului țin mine că singurele aplicații care crăpau vizibil erau cele open-source și asta era scuza lor – că sunt open source. Acum, orice aplicație crapă și uneori cu erori din alea urâte de programator neatent și tester dezinteresat. Știu că nu e frumos să vorbesc de rău despre client așa că n-am s-o fac, doar am să pun niște întrebări retorice.

De la ce m-am luat? Ei bine, de ceva vreme sunt subcontractată la o firmă ce oferă anumite produse IT. Nu am să dau detalii exacte că n-am voie, de asta am să mențin postarea cât de generică se poate. Eu am rolul de “product consultant”, iar asta înseamnă să rezolv cam orice problemă legată de produsul în cauză, acesta fiind o măgăoaie de aplicație ce ar trebui să poată fi ușor configurată pentru nevoile fiecărui client. Și trebuie fie să rezolv problemele din configurările aplicației, fie să dau sfaturi developerilor cum să identifice sursa problemei și cum să o rezolve, pentru că nu am acces la cod, că na sunt “resursă externă”, fie să testez. Ei bine măgăoaia asta de aplicație, are de-a buguri cu nemiluita și la fiecare update, dacă s-au reparat unele dintre ele apar altele. Asta ca să nu le menționez pe cele mai “transparente” care migrează liniștite de la o versiune la alta și până nu le menționează clientul sunt trecute cu vederea. Majoritatea bugurilor sunt cauzate de chichițe minuscule (de exemplu formatul în care trebuie afișată data calendaristică), iar buguri de genul pentru mine sunt de neconceput. Cum este posibil să faci modificarea în cauză și să nu o testezi tu ca developer înainte? Cum te lasă conștiința și cum poți avea atâta încredere în tine încât să nu testezi și tu ce ai făcut? Dacă compilează nu înseamnă că merge!!! (Scuzați cacofonia inevitabilă!) Nu de alta, dar nu e așa comod să vină să îți spună un tester “Bugul ala încă nu e rezolvat” sau “Ce i-ai făcut, că acum crapă cu altă eroare!?”

Când am fost în Irlanda am interacționat cât de cât cu developerii lor și nu numai și mi-am dat seama că întreaga lor organizare este de vină. Ei nu au o echipă de testeri care chiar să fie pregătiți pentru activitatea de testare, au un grup de oameni care ocupă alte posturi, care au devenit indisponibile din cauza terminării unor proiecte și pentru că opțiunea de a-i da afară nu există, pentru că este posibil să aparăsc proiecte care să necesite abilitățile lor, cât timp sunt “pe bench” îi pun la testat. Asta ar fi un motiv. Apoi developerii, în afară de un singur om cu care am interacționat eu mai des, restul par foarte dezinteresați.

Chestia pe care nu o pricep eu este: cum naiba aplicația asta a produs anul trecut un profit de ceva zeci de milioane de euro? Cum???

Și nu este singura aplicație cu probleme, spre exemplu acum ceva vreme am avut probleme cu aplicația de internet banking, care permitea unei persoane să se logheze pe sesiunea mea pe același calculator,deși eu părăsisem aplicația folosind butonul de logout. Bine, sistemul cu digi-pass previne orice fel de tranzacții nedorite, dar datele mele personale ca adresa, numărul de telefon sunt la îndemâna oricârui om care se loghează după mine pe același calculator. Eu lucrând în domeniu nu prea împart calculatoarele cu care lucrez decât cu persoane de încredere, adică una singură și asta rareori fără să fiu și eu de față, dar cei care nu sunt așa familiari cu lumea web 2.0 sunt victime sigure ale furtului de informație.

Care este concluzia acestei postări: suntem oameni și greșim, cu presiune sau fără și totuși până acum a mers așa, am evoluat până acum așa. Să vrem mai mult înseamnă să schimbăm modul de gândire al clienților, să îi convingem să plătească mai mult și să aștepte mai mult timp pentru un produs de calitate. Iar asta nu se va întâmpla într-o lume bazată pe consumerism. Pentru că orice client are la rândul lui clienți care vor mult, bun, ieftin și repede.

Pe de altă parte mai era o vorbă populară “prost nu e ăla care dă, prost e ăla care plătește”. Cât timp oamenii plătesc pentru ceva slab calitativ, sub așteptările lor, fiind nevoiți să meargă pe principiul, mai bine așa decât deloc, vor exista mereu și oameni care fac lucruri de mântuială. Și e păcat, dar “soc avem, soc ardem” sau “ăștia suntem, ăștia defilăm”.

 

Tags: , , ,


Dec 24 2011

VirtualBox with Gentoo(3)

Category: English posts,TechnicalIuliana @ 3:35

Well, we have a VM with Gentoo and an interface. Let’s make the virtual machine more flexible and more cooperative with the operating system on your computer. For this we have to install VirtualBox drivers on your Gentoo. After restarting your system upon setting up the interface you can log on to your desktop interface. But for installing other tools you will still  need the console. For the purpose of this tutorial we will use the Kde terminal named konsole.

To open a terminal: click the button on the left corner of the screen (the “K” button) and in the menu that is displayed at the top there is a text field. Type konsole and click on one of the results returned. (print-screen) Or press Alt +F2 and the same text field will appear at the top of your desktop. You can use it to start any application you want. You will be logged in with the normal user so in order to install things you need root access. So, in the terminal you need to use the su command:

# su -

You will be asked for the root password which you will type and then you can start installing. (By the way if any emerge process happens to fail, you can force to continue by using: # emerge –resume)
Continue reading “VirtualBox with Gentoo(3)”

Tags: , , , , ,


Dec 19 2011

Depre femeie – IT version

Category: Funny,Miscellaneous,TechnicalIuliana @ 16:58

Femeia e ca un patch cumulativ: care vine la cârmă trebuie să pupe toate pulile de dinaintea lui și să suporte toate fițele învățate de la predecesori. Cu toate astea nici varianta 1.0 (virgina) nu e bună, că e plină de buguri și nu există feedback la ea.

(Via Rpx și un coleg ucrainean :D)


Dec 16 2011

VirtualBox with Gentoo(2)

Category: English posts,TechnicalIuliana @ 18:18

Step6.Configuring the Compile Options – this is the next step. The compilation options are kept in the /mnt/gentoo/etc/make.conf  file. You can edit this file by executing:

# nano -w /mnt/gentoo/etc/make.conf

Navigate using arrow keys to the end of the file and add line: MAKEOPTS=”-j2″.

Then add mirrors by executing:

# mirrorselect -i -o >> /mnt/gentoo/etc/make.conf
# mirrorselect -i -r -o >> /mnt/gentoo/etc/make.conf

A window will be displayed with a list of options. Navigate using up and down arrow keys and use to select a mirror you prefer (one in your country or next to your country). Then hit <Enter>.
Test the if the values have been added to make.conf: (Two new lines containing GENTOO_MIRRORS=”some link” and SYNC=”some link” should be added to the file)

# cat /mnt/gentoo/etc/make.conf 

Continue reading “VirtualBox with Gentoo(2)”

Tags: , ,


Dec 15 2011

VirtualBox with Gentoo(1)

Category: English posts,TechnicalIuliana @ 10:38

As I have no computer using Linux in my house right now and I kinda miss it I decided to create a virtual machine with a gentoo on it. And as I will have to write some posts about setting up a full java development  environment on Linux and Windows I will use it for that too. I will post all the steps I make, because I’m no guru, so If I can do it, anybody will be able to just by following my steps. So, good luck and you are welcome to use the comment section for any problems you might encounter or questions I might answer.

Step1. Download and install VirtualBox.

Step2. Create a virtual machine following the instructions on the site and select operating system Gentoo. Select at least 1,5 GB memory and aVDI hard drive  of minimum 20 GB.

Step3. Download a Gentoo image from here.  I recommend the x86 version because 64bit version is not stable and given the fact that we’re gonna do a lot of stuff by hand I recommend the minimal iso. (install-x86-minimal-<release>.iso)

Step4. Start your machine from the VirtualBox window and select your iso as a boot device. When the window with the black linux console is opened the actual work beggins.

Step5.  You will see written on your virtual machine screen  “boot: “. If nothing is written the default option will be used. I used the gentoo-nofb, which disables the framebuffer,which will make things go faster in text mode. You will also asked to press enter for some default option at some time. (If you want a complete installation guide with technical explanations look here, because this article just specifies the steps to execute simply and blindly). After a lot of text is scrolled on your window  and the last line just contains just the word livecd#, you start executing the following tasks in this order: (print the commands and insert required data)
Continue reading “VirtualBox with Gentoo(1)”

Tags: , ,