Sunday, 14 October 2012
Modern Perl recruitment - cont'd
I think compiling a list of questions for the recruiters to ask for when filtering candidates is wrong and irrelevant for few reasons:
First of all, the weight of each question in the list should be judged in the context of the particular job requirements. No-one knows everything about Perl (maybe with few exceptions, see below the "top N").
Then, the weights of two questions could appear comparable to the recruiter and the candidate could get rejected based on wrong assumptions. Take these 2 examples from the list:
"What's the difference between == and eq?"
-- versus --
"Where do tests go in a standard CPAN distribution?"
One one side, if a programmer doesn't know the difference between == and eq, then we might have a problem (still debatable if the guy is coming from lots of years experience in PHP for example).
On the other side even an experienced programmer might have never been in the situation to care about the tests in the cpan distributions: if everything installs correctly and never created a CPAN module, why should one bother?
You can find more pairs of "extremes" in the list to prove this point.
The list also proved its limitations as a lot of people on linked-in already started to ask for clarifications. Assuming that someone really fixes the list's "bugs" as feedback is received, discussed and changes agreed on, probably endless iterations will be needed.
As for the relevance of asking somebody these questions, as the present list's answers can be found in only one book (Modern Perl), if anyone really wants to fool the examiner can do it by just reading this quite small book. Even easier, any perl wannabe can find now the list on the internet and can prepare the answers for potential future interviews.
Finally, knowing everything about perl is quite impossible: everyone has strong areas and weak areas and the capacity (or lack of) to improve in the weak ones if the job requires it.
Not everybody is Larry, Damian or Randal (and the list might continue to a top N). On the other hand not every company would need (or afford) any names from this shortlist. Bothering one of the top N programmers to write scripts for a company that sells ladies bras, briefs and stocks would seem a bit out of proportion, much like using a hammer to kill a mosquito.
Wednesday, 10 October 2012
Modern Perl recruitment
Let me start by clearly stating that not all the agents are the same and not all of them are "bad". However, unfortunately, many fit the description below.
This special breed of people, the perfect salesmen (in their views), is interposing between me and my "happiness" in annoying ways. Here are some things they, and only they, know how to do best:
- They understand 50% (if...) of what you can really do, but they have the audacity to decide your professional life by not putting you forward to the decision maker, the one that would really understand (as he needs and asked for you skills).
Sometimes you don't check a skill and, even they don't know what's the real relevance of it or how easy it is to learn it; they just feel that skill sounds impressive. If you don't have it, you're a looser.
Some other times they don't like you, you'll never know why. - They publish their own, "cloaked" version of a job that's already published directly by the hiring company. They leave the same keywords inside 'cause they're unable to reformulate the skill set.
- They publish non-existent jobs, probably just to motivate their existence to their bosses by pretending they have activity. Moreover, they fish for leads by asking you to provide info about any other interviews you had, motivating that they don't wanna overlap with other agents on the same positions.
I am sure (!) they don't contact an employer if they know that some other agent is already there :) They do have an exaggerated common sense. - They treat us as like... cattle by adding quantities to the job titles, like: "50 perl developers for a big company[...]", "Calling for all perl developers [...]".
We should just moo-in by sending all resumes to them. It's kinda depersonalizing, you know? What about having a regular posting for the job and selecting how many people you needed, afterward? - All the companies they're recruiting for are presented as they are the latest shit on the market, next to Oracle or Microsoft or whatever you consider it's a big shit these days (pun intended :)
Buzzwords include: "thriving environment", "exciting", "world leading", "voted as number one expanding", "global footprint", etc.
Have you thought that I just might prefer a regular sized company that would have obviously many advantages over the corporate, impersonal ones?
- You need to be psychologically abnormally addicted to work to please them. I mean, why would anyone choose to "dream in LAMP", "eat and breathe Perl", have an "Unquenchable thirst to automate mundane tasks" or be a "Perl junkie" instead of being a regular work-life balanced individual?
Unfortunately there are so many companies that act the same through their HR department.
I have a real example, one that is these days on the jobs.perl.org: Heart Internet, UK. They think is ok to cut all communication with me, *after* I spent few good hours on their programming test. I don't care if my solution was dumb or not to their liking, I just consider I am entitled to an answer, at least as a sign of courtesy after wasting my time.
This job based in Nottingham is present on jobsite.co.uk also cloaked by an agent: Simon Harris, Applause IT (see above about cloaking).
Same communication skills from this guy too. I sent them together about 10 emails until now asking for feedback, no reply.
Say, what about a database with agent names and star rating/feedback? Something similar to yelp.com but focused on recruitment agents/companies.
Also, it could be extended for any job recruitment agent, not only for Perl.Anyone?
Wednesday, 21 March 2012
Microsoft has solid software... literally!
We are talking about an NGO with 6 people from which only 3 are involved in projects and only one is a spare time project manager. They all had Office 2003 at the time.
It was an "interesting" experience, to see the M$ ties coming and trying their regular marketing bullshit about "productivity", "seamless integration" and alike, on my managers.
They planned for me to upgrade my server, that has the only role of hosting one share to the users. They wanted to replace my Debian + Samba, with their Windows 2008 server and a Project Management server on top of it that goes well with all the Office 2010 installations.
Are you kidding me? For 6 users in an NGO that has nothing to do with big projects?
Well, they did succeed renting one year Office 2010 to my users; they got sick of it and discover there is no real benefit for them, only lost money. The new servers implementation was left for stage two and thanks God it never happened, as my users actually ended the leasing contract
Few weeks after ending the contract, we got this letter from Microsoft asking us to destroy the CDs and DVDs and sign a form that we did!
This made me think how can I comply better with their legitimate request, and here is what I come up with:
http://www.youtube.com/watch?v=GNAF2bvkjcg
Create a movie for youtube on Ubuntu - tutorial
- You're on Ubuntu or similar linux.
- You need to create a movie (e.g. for youtube) and you have:
-- some avis from your camera, (some should be 90degrees rotated as they have been filmed wrong)
-- jpegs from you computer (or screen captures)
-- a mp3 track to add on some parts of it (slideshow like)
- You need to add subtitles and some fading effects.
How I did it
- I decided to have the resulting film in m-jpeg video codec format and AC3 audio codec. I had 640x480 30fps avis from my camera, audio: mono, 8KHz. Your data might differ, what's important is to have all parts with the same parameteres before joining them together.
- To cut the interesting parts from your .avi you can use Avidemux and in this operation you can convert them to m-jpeg/ac3 format.
- To rotate the movie you can use avidemux -> video filters -> Transform -> Rotate.
- To add some fading effects you can use avidemux -> video filters -> transform filter -> fade in/out. I added 40 frames of fading to black to each avi, after cropping it to the relevant part, at the end of it.
- To make a movie (slideshow like) starting from some static images on your screen and some recorded mp3 track:
-- record your voice if needed, using Voice Recorder. I had troubles with mp3s embeded in the avi so I converted the mp3 to wav, 8KHz, mono, using Sound Converter. Write down how many seconds of audio you have.
-- use Shutter to capture your text/image of interest on screen.
-- use Gimp to adjust it to a 640x480 jpeg (or same as your avi-s). Then open the jpeg in Avidemux, set the movie fps to the same as the real avis (30fps in my case) and this jpeg becomes frame number one.
-- copy paste this frame as much as you want to fill the frames toward the total seconds of your wav. If you need to add more images, split the number of seconds in convenient parts and do copy paste as many times as needed to "cover" only that allocated share of seconds. At a 30 fps you need 1 copy and 30 paste to fill one second. The problem is that avidemux crashes at many copy paste operations, so I did cover only one second, saved it, then reopened the 1 second movie and appended it to itself 10 times for a 10 seconds slideshow of one image.
-- after building the all the static video parts for the slideshow, append them together to form the whole avi that makes the slideshow. It's length should be few miliseconds more than the number of seconds of your audio (you wrote it down earlier).
-- If you want to add a fade effect on the slideshow avi too, do it as described above.
-- save it by converting audio/video to the codecs you want (same as rest of the avis)
- Append all the prepared avi (and the slideshow avi) in the desired order using avidemux. Remember that all parts should have exactly the same characteristics in terms of video codec and audio codec as to have the whole working ok. Check that the movie can be seen and heard properly in VLC media player (for example).
- All you need now is subtitles:
-- Create the subtitle by using Gnome Subtitle, by looking at the movie, pausing it, adding text for a subtitle, again and again. This makes a very rough subtitle file with subtitles inexactly positioned. Ssave it as .srt.
-- After finishing introducing all text, it should be taken again from the beginning and by listening the voice and/or watching the movie, the subtitles time positioning should be established more accurately. For this you can use the 2 small buttons left to the movie window and under "time" and "length" indicators. When a subtitle is selected (and the movie plays) the left button if clicked establishes the beginning of its appearance, and the right one establishes the end of its appearance on the screen.
-- If during play in Gnome Subtitles some subtitles don't seem to diplay, check it is not an overlapping between that one and it's neighbors and redo start/end for each involved in this.
-- Save the subtitle after you're happy with its sync status with the movie/audio.
-- Open avidemux one more time and use Video filters->Subtitlers->Subtitlers to add the .srt. Choose a font too as without it is not doing it and ignores you silently (I choose a ttf found on disc: DejVueCondensedOblique.ttf but you can chooshe whatever).
-- save again the movie and you're done.
Not easy but fun I'd say...
Here is my result: http://youtu.be/GNAF2bvkjcg
Wednesday, 13 April 2011
Ok, got at a new level today: Installing Intel drivers AFTER M$ Windows XP is installed.
If XP is installed using the IDE compatibility mode for your SATA controller, if you try to change the BIOS to AHCI, XP will turn blue. (Worth to mention that Linux is not complaining if you switch modes back and forth to your wish).
If you want to add the AHCI drivers without reinstalling everything here it is how:
1. Get to the Intel Site and download the latest Intel Matrix Storage Manager Drivers (from here you can get ver. 8.9.0.1023, but look for newer maybe).
2. Unzip it somewhere
3. Get into the command line, get into the unzipped directory and run:
iata_cd8.9.0.1023.exe -A
This extracts the driver files but doesn't install them.
4. Go to Device Manager and look for the Intel controller driver. Update it using the "Have disk" option and by indicating the C:\Program Files\Intel\Intel Matrix Storage Manager\winall\Driver directory, where the Intel drivers file where automatically put. Ignore Winows' protests about not being the appropriate drivers but pay attention to choose from the list the driver you need (there are many in there!). Finish the driver update process and reboot.
5.Enter BIOS Setup. Change to AHCI then boot into windows.
6. Once entered in XP with AHCI enabled, install the Intel Drivers fully using the unpacked executable.
7. Reboot again to be sure and double check that in the BIOS you have now AHCI for HDD mode. Then enjoy the speed difference :) (Not much difference people say...)