Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
BirdOfPlay
Feb 19, 2012

THUNDERDOME LOSER
Is there anything I should know about PluralSight if I'm going to be using it to get a crash course on a few things? I was given a free month of it and intend to make the most of it.

Adbot
ADBOT LOVES YOU

Doghouse
Oct 22, 2004

I was playing Harvest Moon 64 with this kid who lived on my street and my cows were not doing well and I got so raged up and frustrated that my eyes welled up with tears and my friend was like are you crying dude. Are you crying because of the cows. I didn't understand the feeding mechanic.

Cryolite posted:

Are you willing to learn C#? Are you willing to commute to Howard County off of 95?

Oh whoa. Yes and yes, you can email me at motorcyclesam at hotmail dot com if you're serious.

coffeetable
Feb 5, 2006

TELL ME AGAIN HOW GREAT BRITAIN WOULD BE IF IT WAS RULED BY THE MERCILESS JACKBOOT OF PRINCE CHARLES

YES I DO TALK TO PLANTS ACTUALLY

trip9 posted:

Was this for a senior position? I wouldn't even know where to start with that question. Being in this thread makes me feel like an idiot pretty consistently.

In most programming interviews I doubt the interviewer would even know what a Gaussian is. If you claim to have image/signal processing experience though, yeah it seems like the kind of thing you should be able to do with your eyes closed.

You should read up on the FFT & the Cooley-Tukey alg anyway though because even if you'll never use it, it's one of the most important algorithms ever discovered

coffeetable fucked around with this message at 11:34 on May 7, 2014

Adahn the nameless
Jul 12, 2006

BirdOfPlay posted:

Is there anything I should know about PluralSight if I'm going to be using it to get a crash course on a few things? I was given a free month of it and intend to make the most of it.

Watch everything on 1.7-2x speed 'cause they talk really slow. Quality varies widely with presenter. Has a history of a .Net focus but they're branching out through acquisition.

From personal experience, I thought the git cli class was pretty good, back when Hg/TFS was all I used. They machine learning classes were pretty cool too. And there's a few good F# ones iirc.

Dairy Power
Jul 23, 2013

He who lives in harmony with himself lives in harmony with the universe.

shrughes posted:

The person had image processing experience and mentions of having used complex analysis in "the field" on his resume. These are both bad signs -- a bunch of array-based computing and the pretense that complex analysis is impressive. But there was a chance of high upside. After he bombed some basic data structures questions I decided to ask a question based on his alleged background. The question is to compute a convolution (a function of the form (f * g)(t) = integral(-inf to inf) f(s)g(t - s) ds) and you can compute them efficiently using FFTs. You can get even more efficient than that when one of the functions is zero for all but a small-ish interval. (And if the interval is really tiny, just compute it directly, of course.)

Are people expected to remember how to do this stuff on the spot? I mean, I've done that before, but, unless I currently have a need for it, I tend to have to look that type of thing up before doing it.

return0
Apr 11, 2007

Dairy Power posted:

Are people expected to remember how to do this stuff on the spot? I mean, I've done that before, but, unless I currently have a need for it, I tend to have to look that type of thing up before doing it.

If you present yourself as doing something a lot (or it being your 'field of expertise', the implication of which is that you do it a lot) it is reasonable to expect you should know how to do it on the spot, else not, unless it's something general that pretty much everyone should know.

Like if you say you're a database expert but you don't know anything about databases without looking it up it would be weird. But most people would expect you to know complexity of sorts, how to search efficiently, how to write some code, etc.

seiken
Feb 7, 2005

hah ha ha

Dairy Power posted:

Are people expected to remember how to do this stuff on the spot? I mean, I've done that before, but, unless I currently have a need for it, I tend to have to look that type of thing up before doing it.

I haven't done any of that sort of thing in a long time, but I can still work out most of it. Off the top of my head, I thought: well, the Gaussian function is something like g(x) = e^(x^2). Thinking a little bit about how the Gaussian function is supposed to look, I realised that's obviously a saddle and it should be g(x) = e^(-x^2) instead.

So assuming the data points are discrete or equally-spaced you just want a standard weighted average: sort them, then go through each index i and set output(i) = sum(-K <= j <= K, g(j * C) * input(i + j)) / sum(-K <= j <= K, g(j * C)). You need a little bit of extra logic to handle the edges of the dataset.

Constant C controls the width of the blur. For a standard deviation of 500 samples, I think we want to set something like C = 1 / 500 so that they cancel out when j = 500. I'm not entirely sure if I've got that right without looking it up, though. Then we just set K big enough so that weights at the endpoints are negligible; probably a few multiples of 500.

Fake edit: looking it up, looks like I misremembered the gaussian function and it needs a division by 2 in the exponent. And you can do it faster with FFT.

seiken fucked around with this message at 14:42 on May 7, 2014

Dairy Power
Jul 23, 2013

He who lives in harmony with himself lives in harmony with the universe.

seiken posted:

Convolution stuff

Thanks for the write up.

My issue wasn't so much with directly computing the convolution, but rather I forgot how the convolution theorem works and thus how to get N*logN complexity.

By my understanding using the convolution theorem wouldn't be the best choice here, anyway. An O(N*logN) complexity isn't exactly good for a dataset with billions of points. Your write up, using a truncated convolution (rather than the full N elements), would be O(N), right? It seems like an approximation would be good enough for smoothing and saving on the time complexity would likely be huge in this case.

Fake Edit of my own: Just saw that shrughes already said that. Oh well.

Actual Edit: I also suppose that wasn't entirely the point of my original question, though I do appreciate the discussion. I was more curious if most places care about knowing the math off the top of your head (like this), or if they'd more interested in you knowing the general concept (e.g. just saying I'd smooth the dataset using a convolution with a gaussian weighted average). I don't have much experience, but most of the questions I've had were the latter. But they were for internships, not real jobs that would require a masters degree in the area (which I'll be applying for soon).

Dairy Power fucked around with this message at 15:17 on May 7, 2014

seiken
Feb 7, 2005

hah ha ha

Dairy Power posted:

Thanks for the write up.

My issue wasn't so much with directly computing the convolution, but rather I forgot how the convolution theorem works and thus how to get N*logN complexity.

By my understanding using the convolution theorem wouldn't be the best choice here, anyway. An O(N*logN) complexity isn't exactly good for a dataset with billions of points. Your write up, using a truncated convolution (rather than the full N elements), would be O(N), right? It seems like an approximation would be good enough for smoothing and saving on the time complexity would likely be huge in this case.

Sorry, to be clear I'm not actually using any convolutions here at all, I'm just doing a super naive direct truncated weighted average without any nice maths. I can't remember either how to do the gaussian blur convolution off the top of my head, although I do remember the general outline of the theory.

The way I posted is O(N) assuming sorted data, but with some relatively large constant factor (based on K). Doing it with FFT is O(N log N) but log is super small and will be outweighed by the big constant factor when the interval is large.

Dairy Power posted:

Actual Edit: I also suppose that wasn't entirely the point of my original question, though I do appreciate the discussion. I was more curious if most places care about knowing the math off the top of your head (like this), or if they'd more interested in you knowing the general concept (e.g. just saying I'd smooth the dataset using a convolution with a gaussian weighted average). I don't have much experience, but most of the questions I've had were the latter. But they were for internships, not real jobs that would require a masters degree in the area (which I'll be applying for soon).

It's not so much about knowing the maths off the top of one's head, it's that a lot of stuff is kind of derivable even if you only remember a vague outline, or the bits that come just before, or whatever. For instance, I could only remember the gaussian looks a little bit like e^(x^2), but then you think about where you can plug in constants and there's only a couple of things that make sense. I could probably derive most of the FFT implementation given enough time, certainly if I'd used it more recently than several years ago.

seiken fucked around with this message at 23:54 on May 7, 2014

BirdOfPlay
Feb 19, 2012

THUNDERDOME LOSER

Adahn the nameless posted:

Watch everything on 1.7-2x speed 'cause they talk really slow. Quality varies widely with presenter. Has a history of a .Net focus but they're branching out through acquisition.

From personal experience, I thought the git cli class was pretty good, back when Hg/TFS was all I used. They machine learning classes were pretty cool too. And there's a few good F# ones iirc.

Guess that's why a .NET'er was eager to show it to me! :v:

I've noticed the slow talking thing. I started watching one on C#, but it kinda dragged on. The one I'm mostly done with is on WPF, and it feels more like a crash course.

Also, what do y'all use to build your resumes? Mine looks like butt, and I can't find a way to get LibreOffice to cooperate.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

BirdOfPlay posted:

Also, what do y'all use to build your resumes? Mine looks like butt, and I can't find a way to get LibreOffice to cooperate.

IT BEGINS

I use Word for mine. Other folks will recommend using LaTeX. Use whatever you want.

wolffenstein
Aug 2, 2002
 
Pork Pro
autogenerated resume best resume

gariig
Dec 31, 2004
Beaten into submission by my fiance
Pillbug

BirdOfPlay posted:

Guess that's why a .NET'er was eager to show it to me! :v:

I've noticed the slow talking thing. I started watching one on C#, but it kinda dragged on. The one I'm mostly done with is on WPF, and it feels more like a crash course.

Also, what do y'all use to build your resumes? Mine looks like butt, and I can't find a way to get LibreOffice to cooperate.

My only beef with Pluralsight is that the code samples are only available to the $50 tier. Which is really annoying but I'm going to start commuting by bus so I might try it out for the offline videos.

I also wish there were written reviews. Just so I could see what some people complain about or to gauge what level of experience the video is aimed at (beginner, advanced). They can mark their videos but most everything is intermediate.

Get the Resumes to Interviews guy in SA Mart to do your resume. Totally worth the $200.

Urit
Oct 22, 2010

Ithaqua posted:

IT BEGINS

I use Word for mine. Other folks will recommend using LaTeX. Use whatever you want.

I use LaTeX. I keep it on my github. Use whatever you want, as long as it looks good. Just remember to always submit it as PDF, if the company wants a Word doc it means they're going to edit it.

shrughes
Oct 11, 2008

(call/cc call/cc)

Dairy Power posted:

Are people expected to remember how to do this stuff on the spot? I mean, I've done that before, but, unless I currently have a need for it, I tend to have to look that type of thing up before doing it.

I expected him to do poorly (because he seemed not very good), but to at least recognize that it's a convolution and remember that there exists an N log N solution, and maybe that it "uses FFTs or something". But he wouldn't have gotten any followup just with that, because by that point in the phone scrreen he'd failed basic data structures and what I really wanted to know was if this was actually some super smart guy. Maybe he'd suddenly start sperging out about this stuff he was familiar with. But instead he gave a really bad way of doing the O(N*M) solution, instead of doing even that sanely.

Hiowf
Jun 28, 2013

We don't do .DOC in my cave.

shrughes posted:

But instead he gave a really bad way of doing the O(N*M) solution, instead of doing even that sanely.

Alright, from memory. I would probably get halfway through the first and then ask you "Wait, you're asking me to run a FIR filter on a billion elements? Why didn't you say so!"

You probably want some zero-padding to make sure the FFT size is one that is fast to compute, and the overlap-add is probably wrong and half the details are handwaved, but I think this is the basic idea what you meant, yes? What'd you say if they tried to compute the FFT over the billion elements?

code:
for (i = 0; i < signal_len-filter_len; i++) {
  out[i] = 0;
  for (j = 0; j < filter_len; j++) {
    out[i] += signal[i+j] * filter[j];
  }
}
code:
fft(filter, filter_len, filter_complex_out);
for (i = 0; i < signal_len; i += whatever_len) {
  fft(signal[i], whatever_len, signal_complex_out);
  for (j = 0; j < filter_len; j++) {
    signal_temp_complex[j] = signal_complex_out[j] * filter_complex_out[j]; // complex mult
  }
  reverse_fft(signal_temp_complex, filter_len+whatever_len, signal_out);
  for (j = 0; j < whatever_len; j++) {
    out[j] += signal_out[j] + old_out[j];
  }
  for (j = 0; j < filter_len; j++) {
    old_out[j] = signal_out[whatever_len+j];
  }
}

Hiowf fucked around with this message at 19:42 on May 7, 2014

shrughes
Oct 11, 2008

(call/cc call/cc)

Skuto posted:

What'd you say if they tried to compute the FFT over the billion elements?

That would be fine, too. Heck, doing it the "slow" way sensibly would have left me questioning whether the 2001-element kernel I mentioned was big enough to need an FFT (because of cache locality or something, I don't know). Instead I got weights multiplied and divided every time you shifted an element over.

Dairy Power
Jul 23, 2013

He who lives in harmony with himself lives in harmony with the universe.

shrughes posted:

I expected him to do poorly (because he seemed not very good), but to at least recognize that it's a convolution and remember that there exists an N log N solution, and maybe that it "uses FFTs or something". But he wouldn't have gotten any followup just with that, because by that point in the phone scrreen he'd failed basic data structures and what I really wanted to know was if this was actually some super smart guy. Maybe he'd suddenly start sperging out about this stuff he was familiar with. But instead he gave a really bad way of doing the O(N*M) solution, instead of doing even that sanely.

Ah ok, that makes me feel better.

I think I'll be spending a good part of the summer reviewing the basics as I do my thesis, though. I haven't used it in the past 3 years, but forgetting the convolution theorem is... not a good thing. Especially since after remembering it, I wasn't even 100% on how to use it without applying to the whole signal. It's way too easy to get caught up in your own little subdomain and lose sight of general techniques in the field during grad school.

Hiowf
Jun 28, 2013

We don't do .DOC in my cave.
I would say that this isn't the kind of question you should expect as a normal graduate or even when you're more experienced, but it's fair game if you claim to have significant DSP/image processing experience.

Dairy Power
Jul 23, 2013

He who lives in harmony with himself lives in harmony with the universe.
Oh definitely, but my thesis is DSP + machine learning and I want a job that uses those skills, so I should definitely be less rusty. Which is actually something I want to ask here... any recommendations on where to apply for this sort of thing?

Right now I'm doing brain computer interface stuff, but I don't think there's a huge job market for that, especially with a terminal masters. My original plan was to get a PhD, but poo poo happened, lies were told, etc. (which I will frame much more positively in any interview!) and really haven't given enough thought to industry jobs.

coffeetable
Feb 5, 2006

TELL ME AGAIN HOW GREAT BRITAIN WOULD BE IF IT WAS RULED BY THE MERCILESS JACKBOOT OF PRINCE CHARLES

YES I DO TALK TO PLANTS ACTUALLY

Dairy Power posted:

machine learning

If you're a non-poo poo programmer and you know your stats, you are worth your weight in gold in several markets right now.

baquerd
Jul 2, 2007

by FactsAreUseless

coffeetable posted:

If you're a non-poo poo programmer and you know your stats, you are worth your weight in gold in several markets right now.

What markets are those? Going from understanding the basic principles and academic subjects to being able to say "check out how I can improve your recommendations" is rarely straightforward. It's a nice place to start though.

kitten smoothie
Dec 29, 2001

baquerd posted:

What markets are those? Going from understanding the basic principles and academic subjects to being able to say "check out how I can improve your recommendations" is rarely straightforward. It's a nice place to start though.

Bioinformatics, for one. Some of the most widely used open source software packages in the field are written by people with a good handle on stats but who are also bad programmers.

Pie Colony
Dec 8, 2006
I AM SUCH A FUCKUP THAT I CAN'T EVEN POST IN AN E/N THREAD I STARTED
I had an interesting introductory phone talk with some startup. I was answering some softball questions or whatever and then the convo went like this:

Him: So, what kind of salary were you expecting?
Me: Blah blah going rate for a programmer in the area
Him: Just so we're not wasting each other's time, you were thinking around 75-80k?
Me: Actually I was thinking a little bit north of that
Him: Okay *continues to ask other questions*

It caught me off guard cause I've usually only discussed salary after the whole process with them wanting to hire me. He continued the convo nonchalantly which seems like he's not opposed to paying me more, but later on he did tell me about options (which I don't really want). I'm looking to get closer to 90k, so is it worth it to continue with this company?

EAT THE EGGS RICOLA
May 29, 2008

Pie Colony posted:

I had an interesting introductory phone talk with some startup. I was answering some softball questions or whatever and then the convo went like this:

Him: So, what kind of salary were you expecting?
Me: Blah blah going rate for a programmer in the area
Him: Just so we're not wasting each other's time, you were thinking around 75-80k?
Me: Actually I was thinking a little bit north of that
Him: Okay *continues to ask other questions*

It caught me off guard cause I've usually only discussed salary after the whole process with them wanting to hire me. He continued the convo nonchalantly which seems like he's not opposed to paying me more, but later on he did tell me about options (which I don't really want). I'm looking to get closer to 90k, so is it worth it to continue with this company?

Just email him and say so? There's no point in wasting your time if they're not going to agree to that.

Pie Colony
Dec 8, 2006
I AM SUCH A FUCKUP THAT I CAN'T EVEN POST IN AN E/N THREAD I STARTED
Alright I guess

baquerd
Jul 2, 2007

by FactsAreUseless

Pie Colony posted:

It caught me off guard cause I've usually only discussed salary after the whole process with them wanting to hire me. He continued the convo nonchalantly which seems like he's not opposed to paying me more, but later on he did tell me about options (which I don't really want). I'm looking to get closer to 90k, so is it worth it to continue with this company?

This is actually a pretty good sign, assuming $90k is a competitive rate in your market. If you want a straight up competitive rate in a startup you need to be at an "advisor" level - well known in your field with tons of accomplishments, and asking for $90k means you are not there. Get a good equity deal (work the numbers) and be happy at the presumably huge amount of freedom you have to simply get poo poo done instead of dealing with bureaucracy and processes. Or follow the smart money and don't do a startup.

Good Will Hrunting
Oct 8, 2012

I changed my mind.
I'm not sorry.

coffeetable posted:

If you're a non-poo poo programmer and you know your stats, you are worth your weight in gold in several markets right now.

I've been thinking about going back to school part-time and having my company pay for some stats/ML related courses because it was always interesting to me in Undergrad. I just don't really know where there are good programs in the field in my area.

an skeleton
Apr 23, 2012

scowls @ u
How bad would it be to ask for a work roughly an unpaid week off from work as an intern whos been there 4 or 5 months? I've never been out of the country and I have a chance to go to mexico with a friend.

Lyon
Apr 17, 2003

an skeleton posted:

How bad would it be to ask for a work roughly an unpaid week off from work as an intern whos been there 4 or 5 months? I've never been out of the country and I have a chance to go to mexico with a friend.

Seems reasonable to me. Just explain it as a once in a life time experience that you don't want to miss. I think they'll survive their intern being away for a week.

Sil
Jan 4, 2007
Just got an email from a company I'd interviewed with a month earlier. They said they'd get back to me within the week, they got back to me now. They want me to go to their office to do a face to face interview. I'm guessing I was lowish in their hiring priority. That being said, obviously I'd be willing to go, BUT travel expenses. I'm in Romania, they're in Britain. How do I politely inquire about who would be paying for travel and accommodation?

So far the email they sent me just asks for when I'm available. Do I give them some period I'm free in and only inquire about travel costs in follow up emails if they don't bring it up?

Hey! First company I ever interviewed with! Unfortunately, I'd be the first programmer they ever hire, so I don't take it as meaning much.

coffeetable
Feb 5, 2006

TELL ME AGAIN HOW GREAT BRITAIN WOULD BE IF IT WAS RULED BY THE MERCILESS JACKBOOT OF PRINCE CHARLES

YES I DO TALK TO PLANTS ACTUALLY

Sil posted:

Just got an email from a company I'd interviewed with a month earlier. They said they'd get back to me within the week, they got back to me now. They want me to go to their office to do a face to face interview. I'm guessing I was lowish in their hiring priority. That being said, obviously I'd be willing to go, BUT travel expenses. I'm in Romania, they're in Britain. How do I politely inquire about who would be paying for travel and accommodation?

So far the email they sent me just asks for when I'm available. Do I give them some period I'm free in and only inquire about travel costs in follow up emails if they don't bring it up?

"I'll be flying into $(CITYNAME) airport. Will $(CORPNAME) be able to cover my travel costs?"

Ochowie
Nov 9, 2007

coffeetable posted:

"I'll be flying into $(CITYNAME) airport. Will $(CORPNAME) be able to cover my travel costs?"

Yeah I would just assume their paying the costs and ask who in their travel department I need to talk to to schedule my flights. Although if they are small they may not have that and just tell you to expense the flights.

baquerd
Jul 2, 2007

by FactsAreUseless

coffeetable posted:

"I'll be flying into $(CITYNAME) airport. Will $(CORPNAME) be able to cover my travel costs?"

Don't do this. It just feels a little weirdly aggressive and if they say "no" you already told them you're flying in...

Ochowie posted:

ask who in their travel department I need to talk to to schedule my flights. Although if they are small they may not have that and just tell you to expense the flights.

Yes, do this.

Sil
Jan 4, 2007
I ended up saying: "I'll be available for the interview next week. I am currently in CityName. Will CompanyName be able to cover travel and/or accomodation expenses?"

That sounds reasonable to me. I've already done a skype interview with them, I'm guessing this contact person would be responsible for any further arrangements.

coffeetable
Feb 5, 2006

TELL ME AGAIN HOW GREAT BRITAIN WOULD BE IF IT WAS RULED BY THE MERCILESS JACKBOOT OF PRINCE CHARLES

YES I DO TALK TO PLANTS ACTUALLY

baquerd posted:

It just feels a little weirdly aggressive
:psyduck: How shy are you that "will your company pay for a thing" is aggressive? I've used that exact phrasing several times and no-one's had the least bit of a problem with it.

And if it is aggressive, the presumption implicit in "who's your travel department" is even worse.

baquerd posted:

and if they say "no" you already told them you're flying in...
So you don't fly in if you don't want to.

coffeetable fucked around with this message at 19:56 on May 8, 2014

return0
Apr 11, 2007
Yeah, why not just tell them you need them to expense it and don't go if they don't?

baquerd
Jul 2, 2007

by FactsAreUseless

coffeetable posted:

:psyduck: How shy are you that "will your company pay for a thing" is aggressive? I've used that exact phrasing several times and no-one's had the least bit of a problem with it.

And if it is aggressive, the presumption implicit in "who's your travel department" is even worse.

The issue wasn't that it was aggressive, but that it was weirdly so, specifying a particular airport and misleading the person you're talking to. If a candidate tells me they're flying in to a particular airport, I'd be thinking "oh great, they'll already be local", so I'm thinking along different lines than would be intended. If they then ask me if I can reimburse them, I'm wondering now if they're going to be snagging a free holiday flight and aren't really there to seriously interview. It's just weird and messy.

Tunga
May 7, 2004

Grimey Drawer
I don't think that post was taking into account that London has five international airports (sort of, if you count Luton as London, which it isn't). It just meant "I'll be flying into London".

Adbot
ADBOT LOVES YOU

baquerd
Jul 2, 2007

by FactsAreUseless

Tunga posted:

I don't think that post was taking into account that London has five international airports (sort of, if you count Luton as London, which it isn't). It just meant "I'll be flying into London".

I hear you, but I wasn't even necessarily thinking of a location that has multiple airports. Simply speaking, it's good to be aggressive and directly confront whether the company will pay for your travel. If they aren't willing to do so, that's a big sign they are posting up for you to interpret. Face the issue head-on and don't dance around it.

I think the downside of misleading a company that is perfectly willing to take care of you for interview expenses should be avoided.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply