May 06 2013

IT-istice

Category: Wild thoughtsseaqxx @ 22:16

Acum ceva vreme vă spuneam că la mine la firmă se căuta un junior pe Java, căutare ce a dus la acel articol și la altele. Acum revin pentru a vă spune că am găsit un junior. Surpriza a fost că juniorul în cauză are vreo 8 luni experiență și pentru asta el a cerut inițial un salariu cât al meu. Nu e greșit să ceri, dacă găsești firma care să îți dea, foarte bine. Chiar eu la un moment dat mi-am îndemnat studenții să nu se vândă ieftin că strică piața IT, dar de asemenea i-am sfătuit să și învețe pentru a merita banii respectivi. Tipul ăsta, la o altă firmă din Iași a recuperat cei 4 ani pierduți în facultate ajungând la nivelul de junior la care se așteaptă orice firmă care se respectă după ce ai terminat facultatea și pentru asta avea pretenția la un salariu aproape cât al meu, eu aia cu aproape 7 ani de experiență. Iar chestia asta mie mi s-a părut … nesimțire. Într-un final și-a dat seama și el că cere cât nu face și a acceptat oferta inițială făcut de compania la care lucrez. Dar dacă este mercenar, nu îl văd rămânând prea mult.

Companiile IT mari din Iași, sunt de obicei reprezentanțe zonale ale unor companii de prestigiu din alte țări. Ele au o grămadă de clienți, a căror necesități sunt rezolvate în România pentru că cei ce prestează aici sunt mai ieftini. De obicei clienții sunt clienți vechi cu are au o relație de lungă durată și cărora nu le este prea comod să iasă din relația respectivă. Așa că se acceptă mici scăpări, întârzieri de deadline-uri și alte asemenea cât timp treaba este până la urmă făcută. Având mai mulți clienți, pierderea unuia nu este o gaură în cer, cât timp profitul scos pe spinarea celorlalți permite funcționarea în parametri normali. O astfel de companie își permite să angajeze un junior care să stea după aceea 6 luni în training plătit să recupereze tot ce n-a fost în stare (sau n-a vrut) să învețe în facultate. O companie de dimensiune mică sau medie, a cărei clienți se pot număra pe degetele de la ambele mâini are alte așteptări. Nu e vorba numai de ceea ce știe deja, este vorba despre cât de repede poate să asimileze informații noi și cât de repede se poate adapta pe proiect și la echipa cu care urmează să lucreze. De asemenea, cum clienții se aduc și se păstrează pe bază de oameni de calitate, orice companie mică este mult mai strictă la angajări. Odată ce omul se dovedește potrivit este recompensat pe măsură. Nu se pune problema de buget și alte nebunii. La companiile mari, unde ierarhia este mult mai complexă se poate întâmpla să nu fii promovat sau să nu ți se aprobe o certificare că nu permitea bugetul sau poate pentru că cineva a făcut o greșeală și a uitat să te treacă pe listă. La o companie mică sau medie nu există problema asta. Plus, dimensiunea redusă a unei companii mai oferă încă avantaj: performanța este mult mai ușor de observat. Un alt avantaj este faptul că vei învăța mult mai multe într-o companie mai mică decât într-un mare și vei avea și de la cine. Compania la care lucrez eu acum, are aproximativ 50 de oameni. Aproape toți au câte o certificare pe ceva anume. ( OCP, Spring, Scrum Master, etc) În fine, ați prins idea. Ați terminat facultatea pe IT și nu vă place în mod deosebit domeniul ăsta, o companie mare vă va oferi un post călduț și stabil, fără prea multă bătaie de cap. Ați terminat facultatea pe IT, sunteți pasionați și vreți să excelați în asta, atunci alegeți o companie de dimensiuni mai mici.

În altă ordine de idei, discutând cu la o bere cu alți prieteni de-ai mei am ajuns la concluzia că firmele corporație din Iași au numele puțin greșit. În funcție de oamenii în jurul cărora s-au construit companiile, ele ar trebui să se numească așa: Cuplul X (în cadrul acestei companii, oamenii de bază sunt toți cuplați, doi câte doi, în cadrul companiei), Grupul de prieteni Y (foști colegi de liceu, facultate, care au crescut în același cartier :P) și familia Z (oamenii de bază sunt toți frați, cuscri și cumnați). Dezavantajul cel mai mare în companiile de genul este că uneori performanța are de pierdut în fața vechimii și relației (cât de apropiat ești sau nu ești) cu cei din grupul respectiv. Unui prieten chiar i s-a spus de către HR, că ar trebui să socializeze mai mult cu “higher staff members” pentru ca ideile lui să ajungă la cine trebuie(Bitch say whaaaat? ). E frumos când într-o companie care se vrea super-profi, nu există o cale oficială că o idee să ajungă la cine trebuie, nu?

Și acum într-o notă mai personală, în timp ce majoritatea oamenilor normali au sărbătorit Paștele cu grătare de miel și lene cât cuprinde, și eu am lenevit, dar în felul meu. Mi-am reinstalat laptopul. Am schimbat Windows 7 cu Windows 8 și Unbuntu 13 cu Fedora 18.

Am ales Fedora 18, pentru că asta aveam și la serviciu și m-am împăcat foarte bine cu el. Ubuntu m-a scos din sărite, nu voia să se împace deloc cu placa video de la laptopul meu, iar sâmbăta asta când a înghețat din nou mi-a ajuns. Cum naiba să crape un Linux, în aceeași manieră ca un Windows, să înghețe pur și simplu și soluția să fie doar restart? Ubuntu avea o interfață numita Unity și prostia aia îmi solicita placa video de nu-i adevărat, se încălzea de îmi transpira mâna pe tastatură. Am și deschis laptopul să văd dacă are praf, pentru că nu se mai putea pur și simplu.(Apropos’: doi ani n-a fost desfacut și n-avea praf deloc – deci ori sunt o gospodină perfectă :D, ori e pur și simplu bine gândit) Fedora a mers finuț, s-a instalat repede, interfața este mult mai prietenoasă, a găsit singur al doilea monitor a știut ce să facă cu el. Numai placa wireless nu-i place, dar n-a plăcut multor sisteme, nici lui Windows 8 nu îi place, așa că nu mă cramponez de asta.

Apoi… Windows 8, ce să spun eu despre el? Este diferit, este altceva,este practic, ușor de folosit, s-a instalat și el destul de repede. N-a mers cum trebuie fără driverele laptopului și uneori interfața face niște fițe, dar cât timp nu îngheață, nu mă deranjează așa tare. Bilă albă: Heroes 3 și alte jocuri mai vechi ce mă pasionează pe mine s-au instalat și merg brici, ceea ce este foarte bine pentru că ăsta este de fapt motivul pentru care l-am instalat. :D

Concluzie: Linuxurile încep să devină destul de practice și ușor de folosit și faptul că driverele generice merg și nu e nevoie de pierdut timp pentru căutat driverele pe net este un plus. Din  câte știam destul de multe jocuri merg și pe Linux acum, mai ales că platforma Steam a fost portată pe Linux, tot ce lipsește este să  se ducă vestea despre asta.

Tags: , , , , ,


Apr 13 2013

Linux: connect to VPN (complete)

Category: English posts,IT&Cseaqxx @ 22:53

Some time ago at work, I was assigned to a new project. To be able to access client specific resources I needed to be able to connect to a VPN. I was given a domain, username, password and a gateway. All was simple in Windows and all resources were accessible. Among these resources there were some servers (testing, acceptance, stuff like that)  which had the application installed and were accessed through the browser via http. (Example: http://server1:8080/application). But when my request to work on Linux was approved, and I received a fresh Linux workstation to configure as I please, I stumbled across a few problems, because any tutorial on the internet  that explains to you how to set up a VPN connection in Linux is incomplete. So, what did I do?

The first step was to  get all the information from Windows that I could. So I clicked right on the VPN connection and made print-screens of all the properties  shown. Then I logged on to my Linux (Fedora 18 at work, Ubuntu 12.10 at home – I am mentioning this because the steps are identical) and proceeded to create my VPN connection according to the steps here, but always taking a look at the print-screens I took in Windows.  Just to make sure, I also asked my colleague who gave me the VPN details in the first place what type of VPN was it and he said:  “ it’s standard Windows VPN, PPTP. Port 1723″

So the steps I took were:

  1. Click right on Network Connections icon , select  VPN Connections, then click on Configure VPN
  2. In the dialogue window that appeared I clicked on the Add button
  3. A new dialogue window appeared asking me to select the type of the VPN connection. I selected PPTP and clicked on the Create… button.
  4. A new dialogue window appeared with two tabs: VPN and IPv4 Settings
  5. In the VPN tab there was an Advanced button. When clicked a new dialogue window appeared with advanced options to select. I checked everything that I found checked in the Windows print-screens and left unchecked everything that was unchecked in them. In my case I had to deselect all authentication methods but MSCHAPv2 and check everything else in the dialogue box except “Send PPP echo packets”.
  6. And now if you save everything, the connection will succeed. But if you need access to some application installed on some servers accessed via their host names, you will need something called DNS suffix which can be added in the “Additional search domains” textbox in the IPv4 tab.
  7. If you don’t know what value to put there, and your colleagues didn’t tell you,(mine did not) you can do the following. Log into Windows and  connect to the VPN.
  8. Open a Command Prompt terminal and execute the following command: nslookup hostname You should get an output similar to this:
  9.             Server:  hostname.somedomain
                Address:  xxx.xxx.xxx.xxx
               
  10. Now, copy somedomain in the IPv4 tab, in the “Additional search domains” textbox and save everything.
  11. If you need the same kind of access I needed, also take a look in Firefox and the proxy it uses. Even if I had a successful VPN connection and a correct DNS suffix, I could not connect to http://server1:8080/application because my Firefox was set by default to “Use system proxy settings“. When I set it to “Auto-detect proxy settings for this network” it worked like a charm.

So, these are the steps that I took. I asked a Linux guru friend (Rpx) for help in debugging the VPN settings, because I am not that good at networking and I thought the additional information I discovered with his help, might be useful to somebody else too and that’s why I wrote this post. I will appreciate any kind of feedback.

Tags: , , ,


Dec 07 2012

Compiling, compiling … done.

Category: English posts,IT&Cseaqxx @ 14:13

As you noticed from my previous post, a few days ago I started updating a Gentoo VitrtualBox machine.
Right after the update used:
#emerge -av –depclean
And
#revdep-rebuild

And that’s when all went to hell. Apparently a lot of my packages were considered unnecessary and were unmerged. Among them some dependencies for the VirtualBox modules which made my virtual machine forget about the graphical interface. The possibility of displaying a log on the five inch window to see what the problem was , was not an option so the first step was to fix the system a little so that I could at least have access to a bigger screen.

The solution was simple in my case, just emerge –sync and emerge world again . And surprise!! a new version of Kde was available, 4.9.4 and the system proceeded to installing it. So I said, what the hell let it do it! After a few hours of torture, during which I searched for a solution to make the VirtualBox modules work in order to be able to make my virtual machine interact friendly with the underlying OS, a Windows 7, I found a guy on a forum which had a similar problem and his solution was to upgrade the kernel. So I checked the version of kernel I was using. Indeed was an old one. A new one was not such a bad idea. So I downloaded the new sources and got to work taking the same steps specified by the manual. By the end of the night I had a fresh 3.5.7 kernel and the same problem with the VirtualBox modules. I unmerged them (virtualbox-guest-additions and virtualbox-modules), emerged them again. But the situation was the same. I was going out of my mind, not knowing what the problem was. So at the end of my patience, I asked an expert: Rpx. Based on a piece of message found in a log file in /var/log “vbox disagrees about version of symbol module_layout”, he concluded that my VirtualBox modules were compiled with a different kernel dependency. Well, that’s was all I needed.

I wend on and recompiled the kernel using:
#genkernel –menuconfig –bootloader=grub all
And when configuring it I took a look here and selected the options recommended for a VirtualBox machine. The kernel was compiled, I just unmerged and remerged the virtualbox stuff and instead of following the steps in the previous link I just followed the instructions displayed in the console at the end of the compilation for virtualbox-guest-additions.

I restarted the system and… voila! My virtual machine is up and running and interacting with Windows just fine.

Disclaimer:This is not a tutorial on how to fix a Gentoo VirtualBox Machine, it is just a post in which I brag about the fact that I can do it. :D You could take it as an advice to Read The Fucking Manual!, because that’s what helped me in the end.

Tags: , , ,


Dec 05 2012

Emerge kinfocenter-4.9.3 fails [Simple Solution]

Category: English posts,IT&Cseaqxx @ 12:31

A few weeks ago I switched back to Linux at home, because the training for the Spring Certification exam ended (setting up the official working environment on Linux was a pain, that’s why I worked on Windows for a while). At home I have SolusOS, which takes care by himself of updates and stuff( I chose because it was more suited for a laptop). Switching back to Linux at home, made me fell like working on Linux at work too, so I remembered I had a VirtualBox machine with Gentoo on it. So I started it and begin updating it, because the poor thing was not used in a while, so this process was unavoidable.

I intended to run the basic command for updating a Gentoo system, as recommended on their official site:

# emerge --update --deep --newuse world
# emerge --depclean
# revdep-rebuild

Unfortunately it was not so easy, because I have stumbled across this problem. So kinfocenter-4.9.3 failed to compile and the problem was a missing library, obviously, but the log message was not very clear. I have to mention that when it comes to Linux I am not such a guru, so after trying the solution on the forum and failing miserably, I stared trying anything just to make this work.

The problem was obviously with the media-libs/mesa library. I had the 9.0 version installed already and as I figured from the forum topic kinfocenter-4.9.3 depended on mesa-8.0.4-r1. Apparently the solution was simple, just unmerge the current version and install the required one, the old one.  Which I did, meaning I unmerged mesa-9.0. And after doing that, I had an idea.

What  if I used revdep-rebuild? Because that’s what the manual says it does:

revdep-rebuild scans libraries and binaries for missing shared library
dependencies and attempts to fix them by re-emerging those broken bina-
ries and shared libraries. It is useful when an upgraded package
breaks other software packages that are dependent upon the upgraded
package.

And I used it. And it worked, kinfocenter-4.9.3 was installed successfully and is working fine with mesa 9.0 which was automatically installed by revdep-rebuild. :|  So my solution to fix this is made of two steps:

# emerge --unmerge media-libs/mesa
# revdep-rebuild

After revdep-rebuild finished I continued with the update of the system, and so far all is working great.

Sometimes it’s better not to be a guru in a specific domain, because it gives you the opportunity to find new and simple solutions.

Tags: , , , , ,


Jun 19 2012

when you have an itch…

Category: English posts,IT&Cseaqxx @ 10:34

… you gotta scratch it. And I had a serious itch cause by my Windows. Even if Windows has evolved so much, even if Windows 7 is the peak of greatness among all the Windowses before it, it still does not know how to manage 4 core processors. So I was seriously pissed about the fact that Windows 7 froze from time to time, making my super-laptop look like my first computer, an AMD K6, 500 MHz and 256 MB SRAM. Which was definitely not cool, considering the fact that my laptop’s configuration looks like this: Intel Quad Core i5-450M and 6 GB DDR3. The only reason I kept windows so far on my laptop was that my processor has a capability known as turbo boost, meaning that can over-clock itself when needed. But this won’t be needed that much if the tasks were efficiently distributed between the 4 cores, which were not.

So two days ago, I just snapped, decided to give up the possibility of playing games for a while and went on a search for the perfect Linux for my laptop. I am fond of Gentoo as you know, but compiling a full OS was not an option because it is a time-consuming operation and also because all that compiling would set my laptop on fire and it’s already hot in Romania right now (32 Celsius degrees). So I was left to choose between Archlinux and Mint. I did not even consider Ubuntu, it’s a Linux that looks and acts like Windows, the thing I was trying to get rid of. I had Archlinux before and I know in order to get the final result some time must be wasted on its configuration, so I went for Mint.

In less than 30 minutes I had a fully functional and compact Linux, oh well … fully for a normal user, not for me, a curios developer. So after this I went on and started installing the development software. The first one I wanted to install was the jdk. Mint uses open-jdk which Idea and STS refuse to go along with, so I went on a quest for installing the Oracle version. If on other Linux systems this was a piece of cake on Mint, it was not so, because Mint has all these symlinks pointing to open-jdk binaries, and even if you do everything right, set the JAVA_Home variable and add it to the path, when you will execute “java -version” in the console, the binary that will be executed will still be the one of the in the open-jdk. The only way to change this is to go to /usr/bin, see where the specific symlinks point to and change that. After that I installed Idea and STS and everything was flawless.

Then I wanted to add a second monitor and this is where all blew up in my face. But not because there was something wrong with Mint, but because one of the cables was not plugged in correctly in my monitor and the system did not see it. I did not even consider that the problem might come from a cable and went on and tried to install nVidia drivers in order to convince the system to see my external monitor. After the first restart I was left without an interface, because the nVidia drivers were not stable, ofcourse. So I went old-school and installed lynx, a text based browser, and searched for a solution for my problem. I did so and tried different options for an hour, when finally it worked and I had my graphic interface back, but the external monitor still was invisible to Mint, so I considered the possibility of the monitor not actually being plugged in the laptop. I check the cables and … surprise. It detected it right away.

Conclusion: if you want to install a Linux on your laptop, I truly recommend Mint, it is small, smart, fast and it knows how to work the special buttons on your laptop, without any additional settings. And is also easy to install, if you are not an old-school developer who considers problems being caused by the software first :D , that is. :)

Tags: , , , ,


May 19 2011

In progress…

Category: Wild thoughtsRpx @ 23:57

Deși sunt acasă la Botoșani, asta nu înseamnă că trag mâța de coadă (deși aș cam vrea, la propriu… I miss my Psycho :-( )

Dacă tot nu s-a anunțat nici un doritor pentru Ares, am zis să-l schimb din server în workstation și să-l iau cu mine în Cehia… asta e, voi avea cel mai șmecher desktop din companie, probabil :D

Deocamdată drumul spre succes a fost cam plin de obstacole, însă care au fost înlăturate unul câte unul (gentoo și xen au fost mereu o combinație letală). Într-un final, abia în seara asta am reușit să pornesc și eu X-ul…

Iată-l și cum arată!

Continue reading “In progress…”

Tags: , ,


Mar 01 2011

Oracle Glassfish v3 update one-liner

Category: English posts,IT&CRpx @ 14:56

The quick and easy way to update your Glassfish installation using just one command:

Go to the bin directory of your Glassfish installation and issue

# ./pkg image-update

on linux, or

pkg.bat image-update

on Windows.

It will automatically connect to the Oracle Glassfish repository and update itself with no additional hassle.

Note that on Linux, you will have to run the command as an user with proper write permissions over the Glassfish directory tree or as the root user.

This can also be automated using a cron job or scheduled task.

Tags: , ,