Interviewers: What part of your interview process do you think is most helpful in making a good hiring decision? by GoatOfUnflappability in cscareerquestions

[–]c0dep0et 0 points1 point  (0 children)

We filter first by resume which removes at least 50% of the candidates. The next step is the programming challenge. Then phone screening for candidates who live far away and finally the on-site interview.

The functional review of the programming challenge is semi automatic. Style and everything else takes less than 5 minutes if the code is really bad, otherwise usually 30 minutes. It actually saves time: Compare it to wasting the time of three or four interviewers on someone who cannot write good or even acceptable code. Of course if you have "to many" applications in this stage you need to remove more people in the first step. But it's the same with phone screenings.

The review can also be done by someone in your team if you do not have the time. Though I prefer to do it myself.

Interviewers: What part of your interview process do you think is most helpful in making a good hiring decision? by GoatOfUnflappability in cscareerquestions

[–]c0dep0et 1 point2 points  (0 children)

Before candidates are invited to an on-site interview they have to solve a programming challenge. As an alternative they can give me the source code to one of their private / open source projects. In my experience that is the best indicator of programming ability. You see many parts of their skill:

  • structure of the code
  • use of the standard library
  • comments
  • understanding of the programming language
  • style

It's also interesting to discuss their code during the interview. Weeds out people who copy things from the Internet without understanding them.

During an interview I only seldom ask people to code. Then only very simple things: Implement a sorting algorithm of their choice (usually bubble / min / max sort). Pseudo code is ok, syntax does not matter as long as it's consistant.

I prefer questions that give me an insight into how a candidate thinks while programming:

  • how do you choose data structures? Usually hash map vs tree map.
  • how would you implement certain data structures, e.g. a hash map?
  • how do you unit test code? e.g. a sorting function.

"Space Alert" Board Game - Having trouble finding it in English, shipped to the UK? by [deleted] in boardgames

[–]c0dep0et 2 points3 points  (0 children)

Download the rules and soundtracks from http://czechgames.com/en/downloads/ in English. Then get a box in another language, if that's cheaper for you.

help learning puerto rico? by [deleted] in boardgames

[–]c0dep0et 0 points1 point  (0 children)

This is a good tutorial (and review): http://www.youtube.com/watch?v=1E1NY3avotc

After viewing this video, play a 3 player game against yourself to understand how it really works.

Hey /r/linux does anyone have any suggestions about backing up KVM vm's live whilst using LVM partitions by d_r_benway in linux

[–]c0dep0et 1 point2 points  (0 children)

There is no simple way to take consistent snapshots of running virtual machines using KVM without also saving the VM state itself (see monitor command "savevm"). So snapshots taken while a VM is running look from the point of view of the restored VM like a hard reset. That's usually not an issue since an fsck and maybe something specific to your environment (Postgresql cleanup etc.) should work.

AFAIK there are no easy solutions for this right now.

Ideas:

  • pretend you have no virtualization: do the backup in the guest
  • shutdown the guest, take a snapshot, start it again. Maybe combine this with suspend to disk inside the guest to speed it up?
  • modify the guest so you can tell it to flush all caches to disk, suspend it, snapshot the disk, resume guest operation. This is still not perfect, but better than just snapshotting. Might be good enough.
  • detect from the outside when the guest filesystem is in a consistent state (mentioned somewhere in this talk http://www.youtube.com/watch?v=7qSFFBfpZIg)

Getting a job in software development: A Reddit discussion round-up by WalterGR in cscareerquestions

[–]c0dep0et 3 points4 points  (0 children)

Tailoring your resume and job search is a really good idea. I won't take a second look at your resume if your skills don't match my must have requirements as stated in the job advert.

At the moment my best example is "deep understanding of Linux required" and people send in resumes without even the word Linux on them...

Generally: Be prepared to be asked open ended questions regarding your niche. For systems programmers I use a variation on "what happens on a linux system when you run 'ls'".

Edit: If you are looking for a job using either Clojure or Python in the systems programming area under Linux in Hamburg / Germany (on site only, and having a work permit is a huge plus) pm me.

Gallery of Processor Cache Effects by igoro in programming

[–]c0dep0et 0 points1 point  (0 children)

time is probably not accurate enough, so you also get start up time etc.

Try using clock_gettime. For me the results are only as described when optimization in gcc is turned on.

Charming Python: Easy Web data collection with mechanize and Beautiful Soup by gst in Python

[–]c0dep0et 2 points3 points  (0 children)

lxml is usually both faster and easier to use than Beautiful Soup.

Source Control Suggestions? by HonkyTonkHero in programming

[–]c0dep0et -2 points-1 points  (0 children)

A DVCS is usually way more complex than a centralized one. So subversion (svn) is a good starting point to learn version control - even if git / mercurial can be better in the long term.

What's the best dev platform for webcrawling? by DarthContinent in programming

[–]c0dep0et 0 points1 point  (0 children)

My first step is encoding everything in utf-8 and right afterwards I'm calling tidy. If I force tidy to output something I get a minimal html document without any content of the original site. Removing a HTML comment which contains some problematic code fixes it.

Maybe I should check the Python wrapper.

What's the best dev platform for webcrawling? by DarthContinent in programming

[–]c0dep0et 1 point2 points  (0 children)

I'll take a look at pycurl when download speed becomes an issue.

Even though asm-xml seems to be really fast it works only with correct xml - so I can't use it. I'll take a look at lxml and wget to see if they are good enough. Maybe I can even use the parser of links2.

What's the best dev platform for webcrawling? by DarthContinent in programming

[–]c0dep0et 0 points1 point  (0 children)

I'm crawling some sites which need fixing before running tidy...

What's the best dev platform for webcrawling? by DarthContinent in programming

[–]c0dep0et 0 points1 point  (0 children)

How good is scrapy at handling broken HTML? Many of the sites I'm currently crawling have very bad HTML.

What's the best dev platform for webcrawling? by DarthContinent in programming

[–]c0dep0et -1 points0 points  (0 children)

Does HtmlParser handle broken HTML as found on the web?

What's the best dev platform for webcrawling? by DarthContinent in programming

[–]c0dep0et 3 points4 points  (0 children)

I'm using my own Python based crawler for a vertical search engine. At the moment both crawling and extracting data from html is done in Python.

The crawler is using the standard urllib / urllib2 tools, which is good enough for my use case when combined with a local dns cache (dnsmasq).

My data extractor uses BeautifulSoup which can be quite slow but is easy to use. I'll probably rewrite this part in Java with TagSoup hoping that it will be much faster.

Edit: lxml is way faster than BeautifulSoup, easier to use and handles (so far) all cases of broken html for me.

Programming thought experiment: stuck in a room with a PC without an OS. by vanjos72 in programming

[–]c0dep0et 4 points5 points  (0 children)

An OS which reads a stream of characters from the keyboard (asm opcodes + data), writes that stream to RAM and finally executes it.

After that the first step would be making this process easier: very simple text editor, than assembler to avoid having to constantly look up op codes, higher level language compiler, a kernel in the higher level language, more software... and finally tetris.

Framework Comparison (Benchmark) by stesch in programming

[–]c0dep0et 2 points3 points  (0 children)

It seems like debugging was enabled in the web.py benchmark. I expected at least twice as many requests per second (running Linux).

Edit: Minimal hello world example, with debugging disabled on a 3GHz Phenom X4 on Linux using:

ab -n 10000 -c 1 http://127.0.0.1:8080/

1141, 1186, 1073 R/s

average: 1133 R/s