Open Side Menu Go to the Top
Register
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

05-23-2014 , 05:36 PM
One of the most important and difficult things in an interview is to stop it being about the interviewer showing off how smart he is.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
05-23-2014 , 06:51 PM
I get to interview someone for the first time Tuesday and that won't be a problem.

Will be somewhat interesting. I'm pretty sure based on his 6 page resume with 10 years of front end development experience that doesn't mention preprocessors or javascript beyond "I used jquery to validate forms once" that "he won't be a good fit". India contractor of course.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
05-23-2014 , 08:04 PM
Frustrating feedback from a recent interview was that I didn't answer the questions they didn't ask yet turned out to be important...
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
05-23-2014 , 08:16 PM
Quote:
Originally Posted by kerowo
Frustrating feedback from a recent interview was that I didn't answer the questions they didn't ask yet turned out to be important...
Yeah, that's pretty craptastic.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
05-23-2014 , 08:52 PM
Quote:
Originally Posted by daveT
Yeah, I can be a jerk sometimes.
If it matters, I have been using SQL, both building and querying, in my last 3 jobs, my projects, and for fun for nearly 3 years now. I couldn't tell you how much I love working with raw data -- even in Excel -- and databases. The buzz I get from finally figuring out a nice 4NF schema, refactoring, and optimizing, then getting a creative output, is impossible to explain. The rewards are never-ending IMO, and despite all the market-speak about "big data," I truly believe that nothing gets closer to the essence of computers, business, and life in general, more than a fine collection of data to swim around in. Nothing makes me light up more than opening up my SQL pane and knowing that there is over a million rows of data to dip into.

I certainly wouldn't require someone with one year of experience querying databases to know the answers to all of those questions. I would, however, expect that someone who says they took a classical DB intro course to at least heard of many of the concepts and have some relatively coherent idea of what those mean.

Passion goes much further than knowledge. I'd rather have a rote beginner who loves this stuff and built one schema over a cranker who build a few db's here and there.
So many terms I am googling. I don't get quite the boner you do over databases but I am very passionate about learning more which is why I bought the book. I believe I went through all the SQL videos in the intro to databases coursera class and completed all the quizzes. From what I recall, they were all very logical in nature and required nothing further than the very basic commands.

The problem I have is that I haven't improved much at querying in the last 6 months. I seem to have all the tools to complete my work and don't even have an awareness of how more SQL syntax could help. I have recently been using Excel VBA to connect to our databases and automate my reports creating a dashboard of sorts so that non-technical people can run my reports so I have been making some good improvements there.


Quote:
Originally Posted by clowntable
Always a good indicator that it might be time to change jobs soon.


Maybe I'm more dense than most people but I have forgotten a lot of stuff I did. I even forget Python stuff if I don't work with it regularly. I generally feel like testing how good someone is at "reactivating" stuff they once knew would be very valuable but I don't know how one would go about it in a practical way.
I work in the finance department and there are about 6 analysts of which none have more knowledge than basic SQL commands though most of us are querying a few hours a day on average. Just to give you an idea how non-technical my department is, one of the analysts only learned about cross joins after he had been here for 7 years. No one had used Excel's slicers before I gave a quick lesson in one of our meetings and I will be teaching a short intro on pulling SQL results into excel via VBA soon.

That said, a year ago I was an ex-poker pro with 3 years of math teaching so I am pretty lucky to have even got this job and didn't really know anything about VBA or SQL until I started so this job was exactly what I needed.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
05-23-2014 , 08:57 PM
Quote:
Originally Posted by RoundTower
One of the most important and difficult things in an interview is to stop it being about the interviewer showing off how smart he is.
yep.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
05-23-2014 , 10:47 PM
Quote:
Originally Posted by jjshabado
Dave, I recently had to do a pretty intense technical interview (on the not fun side), so I've been thinking more about how interview can be improved. A red flag for me is that you have interview questions that seem to be selecting people for how recently they read a SQL Cliff notes book rather than people who have actually done ****.

I don't actually have anything practical to add since I agree with you that it seems like people should know at least some/most of the stuff you're asking about if they actually had experience. Just may be worth thinking about.
I agree. As I said, I do want to try to test out something over the phone so I don't get a crash and burn when I ask them to select *. For example, if they claim to have built a database, I would expect them to have some notion of the data types they used. I mean, you can't even build a table without them.

It is also a very difficult place because I would love to find someone who is much more knowledgeable than I am, but it isn't possible in this situation. I certainly don't believe I have any notion of optimal style of interviewing. Not particularly experienced here.

Today, I interviewed someone and once again, got to GROUP BY on a breeze. I try to design the test so that each question will be the same as the last question with one extra line added. Naturally, the next line would be HAVING.

The common mistake (and I'm not even sure if this is only a PostgreSQL mistake, tbh) is to try to put WHERE somewhere in the query. Like the last person, this one freaked out and started putting all sorts of things into the query, adding aliases and so forth.

This one was a tad better at using a search engine. They opened a bunch of tutorial sites and was at times looking at the GROUP BY page, and the very next page was HAVING. It was the same feeling as watching those predator / prey nature videos.

After a few minutes, I suggested copy / pasting the error message into Google: found the answer in 5 seconds flat. The next question required a UNION which she nailed and then I asked to build a table, which had a minor thing I disagree with but oddly had a relatively unused concept in it. Auto increment? Never heard of it.

This is from someone who actually has some proper schooling and is teaching themselves RoR and has a few projects with databases to boot. Even sent a code example with her resume.

Not sure what the point of all of this is, but I agree that book <> real knowledge. I wouldn't know where theory and knowledge intersect properly. I have an applicant here that sort of knows what they are doing, has classical smarts, is an autodidact, but doesn't consider the error messages.

What am I supposed to do here? I have a fresh-face engineering student with strong credentials sitting across from me who, by all appearances, is extremely intelligent, but [snip] and is willing to take lower pay with a smile, and appears to want to try a new career already.

It was a horribly difficult experience for me. This person is the same as me: not enough confidence to get a real job and unemployed for a much longer time than they deserve. I ended up offering a position, but I feel highly conflicted about the situation.

Quote:
Originally Posted by clowntable
Always a good indicator that it might be time to change jobs soon.
This is part of the story as well. I'm not sure if I want to bother finding a new job or just striking out on my own. I'm partially seeking a replacement, but I'd probably have to find two people.

Quote:
Originally Posted by RoundTower
One of the most important and difficult things in an interview is to stop it being about the interviewer showing off how smart he is.
Yeah... I try to make it about the interviewee as much as possible, but I'm sure I accidentally come across as a conceited muckity muck as well.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
05-23-2014 , 10:52 PM
Quote:
Originally Posted by Greeksquared
The problem I have is that I haven't improved much at querying in the last 6 months. I seem to have all the tools to complete my work and don't even have an awareness of how more SQL syntax could help.
There is so much more than querying. This is like creating beautiful graphs from libraries without creating any of the math underneath.

Quote:
I have recently been using Excel VBA to connect to our databases and automate my reports creating a dashboard of sorts so that non-technical people can run my reports so I have been making some good improvements there.
I think this is cool ****, btw.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
05-23-2014 , 11:47 PM
As long as we're on the subject of databases, does anyone know of an elegant way to do this? I scraped the Jeopardy archives of clues and responses, stored it in an sqlite database, and am now trying to figure out a way to tag clues such that I can quickly query specific topics.

So, I first started out by looking for some basic terms, for example, any clue that included the phrase 'this river' got tagged as a clue about a river. Then, since that's only a fraction of the possible river clues, I also went through and tagged any answer that didn't include the phrase 'this river' but was the same as an answer that did include the phrase 'this river' as also a river question. So, something like this:

Code:
INSERT OR IGNORE INTO ClueTags 
SELECT id, 4 FROM Clues
WHERE response IN (
SELECT c.response FROM Clues AS c 
JOIN ClueTags AS ct 
ON c.id = ct.clue
WHERE ct.tag = 4 GROUP BY c.response);
That works out pretty well. If there was a clue that read 'This river is the longest in the word' and the response was 'the Nile', it would then tag another clue that read 'This longest river runs through Cairo' as a river question because its answer was also 'the Nile'.

Finally, I'd like to also tag any clue that includes in its phrasing a tagged response. So, for instance, if I previously found a clue that read 'This river flows through Cairo' with the response 'The Nile', I'd like to also tag any clue that reads 'The Nile flows this this largest Egyptian city' as a river question since it includes the phrase 'The Nile'. However, I can't use IN since I'm not matching exact phrases, and LIKE doesn't seem to work on more than one row.

Code:
INSERT OR IGNORE INTO ClueTags 
SELECT id, 4 FROM Clues
WHERE clue LIKE (
SELECT '%' || c.response || '%' FROM Clues AS c 
JOIN ClueTags AS ct 
ON c.id = ct.clue
WHERE ct.tag = 4 GROUP BY c.response);
Any simple one query way to do this, or am I limited to dipping into C, grabbing each row, and then running a separate query for each response, something like this pseudocode:

Code:
foreach row
{
response = sqlite_column_text(row, 0);
sqlite_exec('INSERT OR IGNORE INTO ClueTags 
SELECT id, 4 FROM Clues
WHERE clue LIKE response')
}
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
05-24-2014 , 12:53 AM
I'm hoping my assumptions aren't too far off, but with what I'm gathering, I'd probably begin by creating a table like this:

Code:
create table questions_answers (
questions varchar primary key,
answers varchar);
then use full-text-search.

http://www.sqlite.org/fts3.html

I find it odd that the like queries aren't working on more than one row. Are you sure you aren't using case-insensitive search?

Not sure why you want to use tags, but if you are sure you want to, I'd probably create something like this:

Code:
create table question_tags (
questions varchar,
tags varchar,
primary key (questions, tags),
foreign key (questions) references questions_answers (questions));
With this, you can do something like:

Code:
insert into question_tags values
('River in Cairo', 'River'),
('River in Cairo', 'Egypt'),
('River in Cairo', 'Middle East');
You may want to add a validation table, because this can be irritating and will pass with the above table:

Code:
insert into question_tags values
('River in Cairo', 'MiddleEast'),
('River in Cairo', 'Middle East');
Then you can create a view something like:

Quote:
create view answer_tags as
select questions, answers, tags
from questions_answers qa
inner join question_tags qt
using (questions);
Then you can select from the view using the fts, thus:

Code:
select * from answer_tags
-- ilike is case-insensitive search, 
-- but of course, you want to use FTS here. 
where question ilike '%my_query%' 
or answer ilike '%my_query%';

Last edited by daveT; 05-24-2014 at 12:56 AM. Reason: zomg sniped
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
05-24-2014 , 12:53 AM
I think you want full text search: http://www.sqlite.org/fts3.html

Last edited by Chips Ahoy; 05-24-2014 at 12:54 AM. Reason: zomg sniped
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
05-24-2014 , 02:15 AM
you want to do a cross join for the select part, and then you can filter:

http://stackoverflow.com/questions/1...er-column?lq=1
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
05-24-2014 , 02:51 AM
I'm not sure if FTS is what I'm looking for. My end goal is to be able to quickly quiz myself on questions pertaining to literature or sports or arts or movies or whatever, not to search the text for certain keywords. I'm only using keywords to generate those categories, like my river example, the phrase 'this river' virtually always results in the names of a bunch of rivers as the correct responses, and then I can use those river names to find more clues which fall under the river category but don't include the phrase 'this river' in the clue or the word river in the category. Performance isn't an issue, the database is only 34mb, so whatever optimizations FTS would perform aren't really needed. FWIW, here's my .schema

Code:
CREATE TABLE "Categories" (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, comment TEXT);
CREATE TABLE "ClueTags" (clue INTEGER, tag INTEGER, PRIMARY KEY (clue, tag), FOREIGN KEY (clue) REFERENCES "Clues"(id), FOREIGN KEY(tag) REFERENCES "Tags"(id));
CREATE TABLE "Clues" (id INTEGER PRIMARY KEY AUTOINCREMENT, game INTEGER, category INTEGER, round TEXT, value INTEGER, clue TEXT, response TEXT, selectionOrder INTEGER, UNIQUE (game, category, round, value), FOREIGN KEY (game) REFERENCES "Games"(id), FOREIGN KEY (category) REFERENCES "Categories"(id));
CREATE TABLE "Contestants" (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT);
CREATE TABLE "Games" (id INTEGER PRIMARY KEY AUTOINCREMENT, date TEXT, comment TEXT, rightContestant INTEGER, middleContestant INTEGER, leftContestant INTEGER, FOREIGN KEY(rightContestant) REFERENCES "Contestants"(id), FOREIGN KEY(middleContestant) REFERENCES "Contestants"(id), FOREIGN KEY(leftContestant) REFERENCES "Contestants"(id));
CREATE TABLE "Responses" (clue INTEGER, contestant INTEGER, correct INTEGER, wager INTEGER, PRIMARY KEY (clue, contestant), FOREIGN KEY (clue) REFERENCES "Clues"(id), FOREIGN KEY (contestant) REFERENCES "Contestants"(id));
CREATE TABLE "Tags" (id INTEGER PRIMARY KEY AUTOINCREMENT, tag TEXT UNIQUE);
And to get back to what I was asking, here's a simple query to illustrate what I'm trying to do. This query returns a clue where the response is either Newton or Einstein.

Code:
SELECT * FROM Clues WHERE response IN (SELECT response FROM Clues WHERE response = 'Einstein' OR response = 'Newton');
So, it's essentially equivalent to the following:

Code:
SELECT * FROM Clues WHERE response = 'Einstein' OR response = 'Newton'
I want to do the same thing while searching the text of the clue, but this time using LIKE since Einstein and Newton will not be the entirety of the field, just one word among many.

Code:
SELECT * FROM Clues WHERE clue LIKE (SELECT response FROM Clues WHERE response = 'Einstein' OR response = 'Newton');
What I want that to be equivalent to is the following:

Code:
SELECT * FROM Clues WHERE clue LIKE 'Einstein' OR clue LIKE 'Newton';
Instead, it's only returning rows which contain 'Einstein', it's completely ignoring 'Newton'.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
05-24-2014 , 02:56 AM
Quote:
Originally Posted by gaming_mouse
you want to do a cross join for the select part, and then you can filter:

http://stackoverflow.com/questions/1...er-column?lq=1
This is actually exactly what I was looking for, thanks.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
05-24-2014 , 07:00 AM
Load the whole data set in memory and use something other than SQL.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
05-24-2014 , 09:03 AM
Do people here think there is a str0ng correlation between programming and online poker? Do many online poker players become programmers? If so, what skills and fundamentals do you think most transfer from one discpiline to theother?
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
05-24-2014 , 09:19 AM
Quote:
Originally Posted by Greeksquared
I work in the finance department and there are about 6 analysts of which none have more knowledge than basic SQL commands though most of us are querying a few hours a day on average. Just to give you an idea how non-technical my department is, one of the analysts only learned about cross joins after he had been here for 7 years. No one had used Excel's slicers before I gave a quick lesson in one of our meetings and I will be teaching a short intro on pulling SQL results into excel via VBA soon.

That said, a year ago I was an ex-poker pro with 3 years of math teaching so I am pretty lucky to have even got this job and didn't really know anything about VBA or SQL until I started so this job was exactly what I needed.
Yeah I mean if you like the job there's no reason to change obviously. I just generally hate being "the smartest guy in the room". It's always good to try and work with people that are a lot better than you at your area of expertise imo
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
05-24-2014 , 10:27 AM
Quote:
Originally Posted by catsec
Do people here think there is a str0ng correlation between programming and online poker? Do many online poker players become programmers? If so, what skills and fundamentals do you think most transfer from one discpiline to theother?
No I don't actually I think there's probably a very weak but still positive correlation. Both require logic and analysis skills, but that's so vague many professions fall under that umbrella
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
05-24-2014 , 12:25 PM
Quote:
Originally Posted by gaming_mouse
No I don't actually I think there's probably a very weak but still positive correlation. Both require logic and analysis skills, but that's so vague many professions fall under that umbrella
I think there's a bit more to it than that. I think you underestimate the logic aspect.

There's also the personality aspect. I'd say both online poker and programming appeal to the same type of people. People that are happy to be by themselves and work in fields with minimal interactions with other people. These people are also more comfortable around technology and happy spending hours reading/learning about something. And so on.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
05-24-2014 , 12:54 PM
I think programming takes quite a bit more raw logic and math ability than poker does, but they are both areas where you can make quite a bit of money by being a self motivated person that's good at teaching themselves things, so that's probably where a lot of the correlation is. I assume few of us got into programming purely for the fun of it (i certainly didn't, even though I find it interesting)
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
05-24-2014 , 01:37 PM
interesting thanks!


I have a couple education related questions. Would it be worthwhile/relevant for anything outside of office work to take a database design class that uses/focuses on Microsoft Access? My main focus in education is offensive security.

I'm unsure which class to take between these.

Database design (MS Access)
Computer Information Systems Project Management
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
05-24-2014 , 05:25 PM
Quote:
Originally Posted by jmakinmecrzy
I think programming takes quite a bit more raw logic and math ability than poker does, but they are both areas where you can make quite a bit of money by being a self motivated person that's good at teaching themselves things, so that's probably where a lot of the correlation is. I assume few of us got into programming purely for the fun of it (i certainly didn't, even though I find it interesting)
I think math is overrated when it comes to programming. It's necessary for certain areas, but broadly speaking, I'm not convinced it's that important.

I think mental throughput is probably more important for programming. In poker, I learned certain concepts and applied them repetitively, and while I never stopped learning while I played poker, it's just not the same as the endless mountains of sub topics you can learn wrt programming, at least, that's my feeling.

For reference, my abilities lean towards math and away from mental throughput.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
05-24-2014 , 05:55 PM
I'm not a super mathy person but I think people that say math and programming are related from their heart usually approach programming quite differently. The people I've met that supported this notion the hardest were either
1) Haskell geniuses that loved to prove and verify stuff (while I still struggle to understand those damn monads) or..
2) [and that's the majority] they approached programming as essentially lambda calculus

I think what correlates strongest with programming success is curiosity, enjoying learning and puzzle solving (mathy people tend to enjoy puzzle solving a lot as well).
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
05-24-2014 , 06:10 PM
Quote:
Originally Posted by catsec
Do people here think there is a str0ng correlation between programming and online poker? Do many online poker players become programmers? If so, what skills and fundamentals do you think most transfer from one discpiline to theother?
I've done both professionally and believe there is very little correlation.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
05-24-2014 , 06:43 PM
You can be very successful at both without any formal training or experience.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote

      
m