Migrating to blogger

Posted in Uncategorized on June 29, 2010 by Bartosz Radaczyński

I have been using the blog space mostly as a notepad to save stuff for the future, bun since I bought my own domain name, I figured it would be nice to use that for the blog address. Unfortunately WordPress says:

Domain mapping is available for $9.97 per domain per year, registration not included.

I have therefore decided to move with posting random garbage on blogger (which allows for the domain mapping for free). In case you are interested in the stuff I ever posted, you might want to follow me at http://blog.radaczynski.com

Vibrant INK for Pydev!

Posted in web development on July 17, 2009 by Bartosz Radaczyński

This is insanely cool. I love dark colorschemes, and this one kicks ass. Check it out.

Chrome for linux? A sneak preview available and it’s bloody fast

Posted in Uncategorized with tags on May 24, 2009 by Bartosz Radaczyński

Take a look at the snapshot build of the chromium (google chrome) for linux:
http://build.chromium.org/buildbot/snapshots/chromium-rel-linux/

It is still missing the flash plugin (a major flaw), and a few other features (like the preferences) but it is REALLY fast (notice the startup time). I want this to be released, and soon!

P.S. I would also like for it to have the adblocking, but that is just my wish list ;). If I had the prefs in chromium, I’d just use the privoxy (http://stevenpratt.com/2008/09/06/google-chrome-adblock-plugin/) and be done with it, but since there is no flash plugin up till now it does not bother me that much.

Getting unxutils’ sort to work on Win

Posted in Uncategorized on May 18, 2009 by Bartosz Radaczyński

As much as I love the unxutils’ stuff (really, learning a whole lot of new stuff from Win is a little bit too much for me), the sort always displays this bloody error message that drives me nuts:

sort: read error: Not enough space

This happens when you have not given it any input! What a maningful error message right? Wait, it gets better:

sort: /tmp/sort0188000000: No such file or directory

This happens when you do not set the TMPDIR variable. Set it properly and you are good to go.

The gorilla guide to interviewing

Posted in Uncategorized with tags on April 6, 2009 by Bartosz Radaczyński

The title

is of course coming from Joel Spolky’s famous series about hiring people. But there is something to the fact that sooo many companies look for code monkeys instead of really thoughtful people, that I just couldn’t resist.

Sooo, for he past couple of weeks I’ve been to several interviews for a job. To be honest, some of them were good, some were… uh, decent, some were lousy, and some were horrible, horrible interviews. Well, up till now, there is only ONE place that I would say the interview process even remotely resembled what Joel Spolsky was writing about in his guerilla guide to interviewing (guess if that is the place I would choose to work?). This is really sad. Leaving all the headhunters aside (well, I mean after all they should also be at least OK with technology since they are recruiting people for highly technical positions…), but the technical people not asking technical questions?!?! Come on, be serious. Would you hire someone to build you a house without knowing that he is capable of reading a blueprint? Didn’t think so. But, sadly this is what it looks like in the software world around here. Only a couple of places got me to write a piece of code and even fewer took the time to actually look into more detail of the code and discuss it. It is not THAT hard to venture three or four decent quality questions for the interviewee.

Random choice of crap

Idiotic questions encountered so far:

  1. what is JNI
  2. puzzle – silly one (I’m not talking that kinda thing here)
  3. SQL questions with ill-defined tables
  4. typical HR questions: what is your biggest strength and weakness/what would you like us to remember from this interview – all that kinda crap

Excellent questions encountered so far:

  1. algorithmic puzzle
  2. a page of code with some bug to find and correct
  3. SQL questions with well-defined tables
  4. how many queries have you written so far?
  5. does Java allow operator oveloading? are there destructors in java?
  6. what to avoid when using RDBMS? are there any good practices, what did you use?
  7. does python pass parameters by value or by reference? how to make a copy of a list in python?

Process as I see it should be…

I don’t think that Joel is entirely correct in that article. Basically what he says is that you sit the man down in a room with the interviewer and ask him all these questions one by one from easiest to the hardest in order to have a nice conversation (easy question, pointer/recursion…). I believe that you get even better results when you give a candidate a list of few questions and some time to get through them (short introduction is appreciated, like: don’t worry about the memory allocation and freeing, write pseudocode or whatever language you are comfortable with etc.). At least that’s what I would prefer as a candidate. The interviewer in the same room looking at me all the time makes me a little bit nervous, but that’s just me. But I guess that being on the other side of the table makes you see these things a little bit differently. Now, as to the questions that ought to be asked:

  • easy ones: fizzbuzz, swap two variables (tell the candidate that it is NOT a trick question)
  • intermediate: binary search, bubble sort
  • upper intermediate: heapsort, quicksort, fibonacci, linked list, something specific to your area of expertise (if algorithms and stuff like this pay even a remote role in your everyday programming life)

Some nice additional questions that you may wonder towards from any of these:

  • is there a bug in there?
  • performance (would you use recursion for 1 million elements? why/why not? can quicksort be written iteratively?)

What to avoid:

  • having the candidate interviewed by more than one person at a time (I’ve been to an interview, where this was a technique that they used <and intermixing “soft” questions with technical ones> that was really a pain. I felt turned inside-out after I left that place). And in the end did not get the job anyway – maybe I was too lame for them, but still, making the candidate feel like dirt is probably not what you want. Now I would tell anyone around that this is not the place to be working for. On the other hand there was a place, where after the interview process I felt like telling the guys that interviewed me that it was the best one I’ve been to, ever (regardless of whether I got the job or not). It was just a pleasant experience, nice conversation…
  • leaving candidate without feedback – either way he/she WANTS to know how he did on the interview. If there was someone better, let them know. If he has to work on something – let them know. If they wanted to much money – let them know for crying out loud! How are they supposed to figure this out? And if you do not give feedback at all – they  might tell everyone they know that your company sucks!
  • by all means avoid hiring developers solely on the basis of what they say! make them prove it to you!

As to the headhunters, I have no idea how it looks at where you are, but I can tell you fir sure that most of these guys have absolutely no idea about what this T-SQL is and what is the difference between Java and C# (and that someone knowing one will as likely be a good candidate for a job in the other). Most of the “HR agencies” hire a bunch of students that do a term-by-term matching of all the LinkedIn profiles to the offers. If they find a match, they send out an email. If they do not find an exact match – they move on. If you get an email, you have a nice talk with someone who graduated from psychology or sociology departament and has little to no knowledge of CS and all that is related. I had to explain to one of these recrutires that the SQL dialects are not that different between one another and that a SELECT query is basically the same across RDBM engines. I’d call that pathetic, but what is really pathetic is that someone is willing to pay these people a lot of money for their “services” (and it is a lot, believe me). And that person is going to decide whether or not you fit the job description. How on earth do they expect to find even decent programmers if they let the nontechnical people decide?!?! This may (or may not) work for sales people or whatever, but not for engineers! You have to test their aptitude (not their current skillset – I believe that a good programmer will learn a new language within a week, OK if it’s LISP then it may take two weeks).

On the other hand there are HR agencies that know their shit. But these are the ones that hire some technical people to screen applicants. I’ve had a nice phone call with a technical person from a HR agency a while ago and he really knew what he was talking about. He even knew how to ask about python! Cool!

After all, you also get the trail period in the job contract, so you can change your mind within three months, two weeks notice, no strings attached. But still, three months with some ill-equipped person is most likely a pain in the neck at the very least.

1k

Posted in web on February 20, 2009 by Bartosz Radaczyński

Hooray! Today I got to 1k of stackoverflow rep 🙂 I guess that I am not a very active user, since it took me 6 months but still, it is something to be proud of (although most os the rep comes from like one answer that linked to the python docs….). At the same time, I am looking for a job, if you read this and have something that might be of an interest, drop a comment or send me an email (you will get the address somehow, I am sure).

Making Gmail a default mailto handler in firefox

Posted in web with tags , on January 29, 2009 by Bartosz Radaczyński

Even though there are some recipies for that in the network (notably this one and this), there seem to be issues with both of these solutions. The first one is almost fine, though the new message gmail screen has the address typed in as mailto:email_address (the mailto: is there even though it should not be). So, actually the way to make it work correctly (at least on my ubuntu box) is to paste the following code in the address bar of the gmail tab:

javascript:window.navigator.registerProtocolHandler(“mailto”,”https://mail.google.com/mail?view=cm&tf=0&to=%s&#8221;,”GMail”)

and agree for Gmail to handle the mailto urls. Cool!

The perfect browser

Posted in web with tags , on January 27, 2009 by Bartosz Radaczyński

Boy, are there many browsers out there. I’ve tried a lot, with all the different versions and all that. But here’s what it boils down to: neither is perfect. OK, granted the closest one would still be firefox, but after seeing chrome boot up twice as fast on the same machine and opera even faster, I’ve gotta tell you, this one is also flawed, and big time that is… But it seems, that (no including IE) every browser that I looked had some nice features. I love firefox’ extensions, Opera’s speed dial, Chrome for it’s ability to save the screen space and for its speed, Safari for a nice user interface and speed, Konqueror for integrating with my KDE (session saving when shutting down the computer). Will there ever be a perfect browser for me? Well, right now it’s still firefox, but some of the ideas from other browsers I has to import through extensions. But still, this KDE integration bothers me a little…

Heres’s a list of my currently used Firefox extensions (see, how many I have to use to get the browser to suit my needs?):

  • Adblock plus
  • Auto dial
  • download Statusbar
  • gmarks
  • locationbar
  • personal menu
  • tab mix plus
  • add’n’edit cookies
  • firebug

I specifically love the gmarks, personal menu and download statustbar for space-saving (uninstalled the google toolbar, removed menu and statusbars and now I have a lot larger viewport, though still smaller than in chrome). Hope that chrome for linux is coming out soon, but I would just love to see Firefox’s new javascript engine being even faster than chrome’s. It seems to me that chrome’s appearance has sped up the development of browsers and I’m just wondering how long Google is going to support financially two browsers (chrome and firefox), and what will come out of that. At the same time, if Konqueror’s also switching to Webkit as the default rendering engine, will Gmail and other google apps work flawlessly in Konqueror, finally?

Why don’t the managers get it?

Posted in Uncategorized on January 23, 2009 by Bartosz Radaczyński

Flow is the mental state of operation in which the person is fully immersed in what he or she is doing by a feeling of energized focus, full involvement, and success in the process of the activity.

Yeah, heard it all before, will you nerds stop whinig about your work conditions? Well, no and it is because of that state above. Have you ever wondered whether the managers get it at all? And why do they cram people into open space Dilbert-like cubicles? So, dear programmer, I have some bad news for ya – the wonderful, quiet, private, well-lit office is an almost unachievable dream. Here’s why. As Joel has once written, there are several (in his opinion 5) different worlds of software development. The largest part of the programming world are the in-house programmers (and this is by large factor, I suppose). Now, notice that fo the kinds of organizations that these people work for, they are not the “core business”, which basically means they are not something that the organization is living off. So, if they are not an asset, then… you guessed it. They are the cost, the burden of running the company. Which in turn means the software development departaments in these organizations have little voice and little power. Which directly translates into: the equipment quality (the developers are the last to get LCD monitors and nice chairs), the accomodation quality (usually an open space, probably in some old building, little to no daylight, no free cofee etc.). So, if you’re one of these Java or .NET or c++ monkeys doing some accounting system for a bank/insurance company/telecom/whatever, you’re doomed. Sorry. The fact is that out of all the worlds of software developoment, the only place that you can be trated nicely is when your work translates directly to company’s income. Which is shrinkwrap software (and/or commercial web-based software, which essentially is the same thing, just instead of having to deal with gazillion windows configurations you have to deal with 5 or 6 web browsers <ok, most of the sites test using 2 or 3 and it suffices>). But, I’ve heard war stories of shrinkwrap software companies, where the CEO held an all-hands meeting just to tell the people, that their salaries were the largest cost of running the company, and that it had to be reduces. I wander, why noone told the guy: it’s and investment not a cost goddamnit. Perhaps he came from some cable manufacturing company or a reail chain or something like that and had no clue about the software industry.

So, back to the title question. The managers do get it. At least some part of them do. And it’s not like they do not appreciate the fact that creating software is a highly creative excercise, but there is a reason for the programmers to be called “monkeys”, right? And the reason is that from some point up the hierarchy all these developers seem equally significant to the manager. Every one of them is just a unit of time, a head in a count, that for all they know can be replaced (with more or less effort). They do not matter as a single person, they only matter as a piece of the machine… Like on the assembly line. Like in Office Space. If that movie seems familiar, you’re in deep shit. Get a 5 year plan to land in a decent company that makes shrinkwrap software, cause that is where you can be treated nicely, or, alternatively – make a plan to start up your own.

How to make Gmail work in Konqueror (with chat window)

Posted in Uncategorized on January 21, 2009 by Bartosz Radaczyński

So, finally after quite a while I got to know, how to make gmail play nice with Konqueror. That still does not mean that it is perfect, but it is usable at least.

  1. get the webkit rendering for konqueror (I have it by default in Interpid repos)
  2. set the browser identification to Mozilla 1.7.3 (not Firefox, not Safari, mozilla 1.7.3 specifically)
  3. go to gmail and try it out

It seems to be working just fine at my station. There are of course issues with other sites 😦 (It seems that the text documents in google docs work decently as well. The spreadsheets do not, however).

Is there a way to make webkit the default rendering engine in konqueror?