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
Mr Shiny Pants
Nov 12, 2012

Subjunctive posted:

Wait, pagerank was ML? What decision changed over time? I haven’t read the paper in a while (and AIUI Google’s ranking has never actually been what’s in the paper), but I recall it being a deterministic algorithm independent of previous inputs.

Pagerank was to determine how many links pointed back to a source and that amount determined the probability of it being the most relevant right?

Adbot
ADBOT LOVES YOU

spiritual bypass
Feb 19, 2008

Grimey Drawer
But how did the software know how many links pointed back to a page? It had to learn

Nomnom Cookie
Aug 30, 2009



Mr Shiny Pants posted:

Pagerank was to determine how many links pointed back to a source and that amount determined the probability of it being the most relevant right?

Links coming from higher ranked pages have more weight, so computing the rank of a single page requires computing all the others.

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


PageRank is unsupervised learning.

Xarn
Jun 26, 2015

Subjunctive posted:

Wait, pagerank was ML? What decision changed over time? I haven’t read the paper in a while (and AIUI Google’s ranking has never actually been what’s in the paper), but I recall it being a deterministic algorithm independent of previous inputs.

Which part of that do you think is incompatible with ML?

Mr Shiny Pants
Nov 12, 2012

rt4 posted:

But how did the software know how many links pointed back to a page? It had to learn

You index all the pages. That's why you crawl, its not really "learning" is it?

Nippashish
Nov 2, 2005

Let me see you dance!

Mr Shiny Pants posted:

You index all the pages. That's why you crawl, its not really "learning" is it?

The learning comes in at the part where you are assigning scores to pages based on the scores of the pages that link to them. You can argue about is this really learning or is it merely finding the steady state distribution of a big Markov chain, but honestly the metaphysics of what exactly is or isn't learning tends to not be a very productive topic.

shrike82
Jun 11, 2005

Does it really matter whether a model is strictly speaking AI, ML, or DL-based?

PhantomOfTheCopier
Aug 13, 2008

Pikabooze!

shrike82 posted:

Does it really matter whether a model is strictly speaking AI, ML, or DL-based?
It seems to matter to a lot of people writing magazine articles about their startups, venture capitalists, job descriptions.

PageRank isn't building a "mathematical model based on sample data, known as "training data", in order to make predictions or decisions without being explicitly programmed to perform the task". It's a designed, deterministic algorithm, that's explicitly programmed to do that one task.

Words in this industry are a loving game. Try telling your VP you're going to "build a statistical model to measure and predict X" and you're going to get :stare: Tell them "we're doing it with machine learning" and you'll see :homebrew:


See also: Buying the gnome. https://www.slidebelts.com/blogs/blog/buying-the-gnome

PhantomOfTheCopier fucked around with this message at 16:17 on May 30, 2019

Nippashish
Nov 2, 2005

Let me see you dance!

PhantomOfTheCopier posted:

PageRank isn't building a "mathematical model based on sample data, known as "training data", in order to make predictions or decisions without being explicitly programmed to perform the task". It's a designed, deterministic algorithm, that's explicitly programmed to do that one task.

PageRank is a designed, deterministic algorithm that's explicitly programmed to do one task. That one task is inference in a mathematical model based on sample data in order to make predictions. The mathematical model is called the "random surfer model", the sample data is a hyperlink graph obtained by crawling the internet, and the prediction it makes is the proportion of time that the random surfer spends on each crawled page.

PageRank does not provide a solution that lets you make predictions for new pages without doing a computation that involves the whole crawled archive, but it is far from the only algorithm with this property (there is a whole class of models called "non-parametric models" whose inference algorithms tend require touching the entire training set).

PageRank also doesn't make decisions without being explicitly programmed to perform the task, but if you think about it a bit that sentence doesn't actually mean anything coherent. Typically when people say this they actually mean something like "there is a part of this program whose behaviour depends on the solution to an optimization problem", and using PageRank to order search results does in fact have this property.

Nippashish fucked around with this message at 20:20 on May 30, 2019

Subjunctive
Sep 12, 2006

✨sparkle and shine✨

This is very interesting! I look forward to detonating the next ML team lunch by asking if PageRank is "real" ML and being contrarian. "What's the difference between ML and AI?" is also good for some laughs, I've found.

PhantomOfTheCopier
Aug 13, 2008

Pikabooze!
"A required system upgrade will start in ten minutes. Please close all open work and... well just go home for the day, this'll take a while".

JawnV6
Jul 4, 2004

So hot ...

shrike82 posted:

Speaking of which, what viable production ML systems have you guys seen in the wild?

Quora, of all places, had a really good talk on practical ML systems. Making it a first-class citizen, lowering barriers for devs to get data in/out, that sort of thing.

Hollow Talk
Feb 2, 2014

PhantomOfTheCopier posted:

"A required system upgrade will start in ten minutes. Please close all open work and... well just go home for the day, this'll take a while".

Joke's on them, I never had any work open to begin with. :smugdog:

Because I was completely revamping our Jira. :negative:

PhantomOfTheCopier
Aug 13, 2008

Pikabooze!
Agile is not an excuse to be lazy. You wrote the few paragraphs of an idea into the "story". You were in the room with the active conversations about difficulties uncovered. You heard about our four weeks of ongoing investigation.

Why wait until week eight of twelve to tell us there's an existing library to bridge between the old and new systems?

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


https://twitter.com/mekkaokereke/status/1135981075086266368

Thread is worth a read.

shrike82
Jun 11, 2005

As the guy said, it's true for many high-end industries - consulting, investment banking etc - there's a templatized interview format which you need to study.

Munkeymon
Aug 14, 2003

Motherfucker's got an
armor-piercing crowbar! Rigoddamndicu𝜆ous.



https://www.reddit.com/r/WritingPrompts/comments/bx8mkw/wp_you_are_a_software_developer_with_a_strange/

quote:

You are a software developer with a strange power. You can tell what the cost of a line of code is. Normally the cost is measured in cpu cycles, or bytes of RAM, or hours of future maintenance. Today it's measured in lives lost.

Pedestrian Xing
Jul 19, 2007

Basically the same as line numbers for my code.

Taffer
Oct 15, 2010


Jesus, I had never heard of this before. https://en.wikipedia.org/wiki/Therac-25

We all know about cars etc these days, but I didn't realize the legacy of bad code directly causing deaths went so far back.

Nomnom Cookie
Aug 30, 2009




What exactly does the interview asses, if taking a class on interviewing makes such a large difference?

Keetron
Sep 26, 2008

Check out my enormous testicles in my TFLC log!

That you took a class specific to pass the interview, showing you are committed to working to working at that company.

Xarn
Jun 26, 2015
Are you from the right in group?

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

Kevin Mitnick P.E. posted:

What exactly does the interview asses, if taking a class on interviewing makes such a large difference?

That's sort of the big question that the industry has been asking themselves for a while. We make hiring decisions based on a set of high stakes homework questions with hard time limits that don't really reflect the actual job, and the more time you get to study and practice doing this the more likely you are to get hired.

Xarn
Jun 26, 2015
For real though, so far about half of the people we've interviewed at new job could use a class that taught them how to deal with stress. We don't have particularly high-stress interview process (no whiteboarding, we chat about your previous work experience and ask for some details on those), but still about half of the people are all frozen up at the beginning.

Che Delilas
Nov 23, 2009
FREE TIBET WEED

Xarn posted:

For real though, so far about half of the people we've interviewed at new job could use a class that taught them how to deal with stress. We don't have particularly high-stress interview process (no whiteboarding, we chat about your previous work experience and ask for some details on those), but still about half of the people are all frozen up at the beginning.

I've found that the only thing that has helped the stress was real-world experience. The more I've interviewed, the easier it's become for me to put aside the stakes and implications of how well I might do on the interview, and focus instead on just having conversations and thinking/talking through the technical challenges.

That's me though, some people might certainly benefit from some formal coaching, but I don't think anything beats just doing it and getting used to it.

redleader
Aug 18, 2005

Engage according to operational parameters

Xarn posted:

Are you from the right in group?

It's this btw.

Vulture Culture
Jul 14, 2003

I was never enjoying it. I only eat it for the nutrients.
I have the curse of being really anxious for jobs I really want and beyond acing interviews for things I absolutely couldn't care less about

Eggnogium
Jun 1, 2010

Never give an inch! Hnnnghhhhhh!
I do appreciate that when I interviewed at Google they were like "here is the exact list of data structures and algorithms you should study up on, we are happy to schedule the interview in several weeks to give you sufficient time to read and practice CTCI". It's absolutely true that "do you know the three general forms of linked list chicanery?" tells you nothing about the candidate, but if you tell all the candidates to study linked list chicanery before they come in (and give them time to do so) maybe you can get an idea of their problem solving skills with a linked list question.

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

Eggnogium posted:

I do appreciate that when I interviewed at Google they were like "here is the exact list of data structures and algorithms you should study up on, we are happy to schedule the interview in several weeks to give you sufficient time to read and practice CTCI". It's absolutely true that "do you know the three general forms of linked list chicanery?" tells you nothing about the candidate, but if you tell all the candidates to study linked list chicanery before they come in (and give them time to do so) maybe you can get an idea of their problem solving skills with a linked list question.

It helps when you can say "I'll use a deque" instead of "I'll use two queues but shoot now I have to keep both sides in sync, let me write out that helper function"

JawnV6
Jul 4, 2004

So hot ...
it strikes me less as establishing a baseline vocabulary for "testing problem-solving" and more selecting for folks with ample free time

Keetron
Sep 26, 2008

Check out my enormous testicles in my TFLC log!

JawnV6 posted:

it strikes me less as establishing a baseline vocabulary for "testing problem-solving" and more selecting for folks with ample free time

You know, that might actually be the point. How else to select for people that are willing and able to put in overtime when crunch arrives due to bad planning and politics?

Eggnogium
Jun 1, 2010

Never give an inch! Hnnnghhhhhh!

JawnV6 posted:

it strikes me less as establishing a baseline vocabulary for "testing problem-solving" and more selecting for folks with ample free time

Oh for sure. Giving you "as much time you need" before the interview helps to alleviate that, but obviously there is some upper limit on that buffer and I'm sure there are plenty of folks who's job and personal responsibilities take up 95% of their time and could basically never study enough.

It seems like Google has at least caught onto this weakness and made incremental adjustments to compensate, even though the fundamental flaw remains. If I was running a company I'd probably have some coding questions that were harder than FizzBuzz but not by much. I think the best questions have:

1) A simple (but not brute force) algorithm is pretty easy to figure out as long as you can understand the problem. No bullshit "aha, dynamic programming! aha, a heap!" insights required. Requiring knowledge of dictionaries/hashmaps is acceptable.
2) Implementing the algorithm involves writing a loop that is more complex than for(i=0;i<n;i++)
3) The input space is complex enough to support some good follow up questions about testing

Presto
Nov 22, 2002

Keep calm and Harry on.

Taffer posted:

Jesus, I had never heard of this before. https://en.wikipedia.org/wiki/Therac-25

We all know about cars etc these days, but I didn't realize the legacy of bad code directly causing deaths went so far back.

If you want to be really horrified, read the in-depth investigations. The bug was only triggered through very specific rapid keypresses entered by experienced operators, and required some event to happen at like the exact millisecond a counter overflowed, so nobody could figure out what was happening.

Vulture Culture
Jul 14, 2003

I was never enjoying it. I only eat it for the nutrients.
Anyone have mrmcd's guide to evaluating startup stock options handy?

PhantomOfTheCopier
Aug 13, 2008

Pikabooze!
Technical interview content comes up a lot where I work. For more junior developers, some will use standard programming puzzles, which provide some provisional evidence that the candidate learned anything in college. Someone with additional practice could fail on follow-up when the interviewer extends the discussion and all their practice is likely to be a hindrance: Those candidates typical try to adapt the stated problem to something they've done instead of solving the actual problem.

Beyond an entry level, however, I've rarely seen puzzles. Most are real world scenarios that require interpretation, evaluation, and investigation (through q&a), before proposing and developing the solution. Granted, most are cast into a 30min window, and interviewers can give hints to move candidates forward or help them focus. Practice with puzzles might make someone more confident, but again they may get stuck trying to apply a known solution to the wrong problem.


One of the reasons these approaches haven't been replaced is because they are merely tools to collect more useful information: How do you solve problems? How do you communicate? Are you willing to share ideas, accept feedback, and admit mistakes? And, yes, for a programmer, can you turn those ideas of yours into some code.

Another interesting thing with the scenarios I use, though I haven't really run the numbers, is that candidates fall pretty well within the lines. Maybe I'll gather the data Monday, but it mostly seems like people either can't do anything, can deliver a simple brute force, can generalize to an optimised solution possibly assisted by a language feature, can "build it as a service", or can "build it as a product". I don't recall much blurring in performance.

The number of applicants that can't model and/or solve problems with code is rather astounding.

lifg
Dec 4, 2000
<this tag left blank>
Muldoon
One of the best interview questions I ever had was a real problem that the team had recently encountered and worked through. It had some real tradeoffs, and no clear right answer.

The worst question I ever had was for my current job. It was coins on a clock. The people here are oddly proud of it.

Keetron
Sep 26, 2008

Check out my enormous testicles in my TFLC log!

lifg posted:

One of the best interview questions I ever had was a real problem that the team had recently encountered and worked through. It had some real tradeoffs, and no clear right answer.

The worst question I ever had was for my current job. It was coins on a clock. The people here are oddly proud of it.

I just looked at the coins on a clock problem and that has no resemblance to anything I ever encountered in the wild.

Our problems we use in interviews range more like "We have a micro services architecture and one of the services keeps timing out for no apparent reason. What would the steps be that you take to solve this?" and we give the candidate a take home assignment (4h max, one week turn around) first to see if they are capable to write readable code. About half fails at the take home, for example because their solution does not compile or does not meet the very minimal requirements.

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

Keetron posted:

I just looked at the coins on a clock problem and that has no resemblance to anything I ever encountered in the wild.

Our problems we use in interviews range more like "We have a micro services architecture and one of the services keeps timing out for no apparent reason. What would the steps be that you take to solve this?" and we give the candidate a take home assignment (4h max, one week turn around) first to see if they are capable to write readable code. About half fails at the take home, for example because their solution does not compile or does not meet the very minimal requirements.

I like interview questions that involve solving problems where this is no one good answer.

One of the ones I've used in the past is to come up with a method for distributed, dynamic property management for microservices. Then when they get to a solution I'll add wrinkles like accounting for secrets that need to be encrypted, or maintaining an audit trail, or how to handle outages at various layers.

Learning how a candidate handles problem solving through domain modeling and accommodating for edge cases is a much better measure for knowing if they can do the job than knowing if they can solve a pet algorithm problem.

Adbot
ADBOT LOVES YOU

Bongo Bill
Jan 17, 2012

The best possible interview - which for obvious reasons is often not possible - is to have the candidate do a full day of real work on actual projects alongside their prospective co-workers. (And, ideally, pay them for it.)

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