Chat transcript from TCHS SRM 60: Spotlight Session with John Dethridge
|
John Dethridge | g'day |
jmpld40 | Hi John, thanks for coming |
John Dethridge | no problem Jessie :) |
binarywithme | hii sir |
msg555 | good day! |
ortschun | hi! |
binarywithme | John Dethridge: hii sir |
binarywithme | John Dethridge: u r welcome here |
John Dethridge | binarywithme: thanks |
rooparam | welcome sir |
| |
binarywithme | John Dethridge: sir tell us something about you in brief. |
John Dethridge | I'm a mathematician, currently working as a computer programmer, because I seem to be good at programming. :) |
| |
binarywithme | John Dethridge: r u studying right now or not? |
John Dethridge | binarywithme: I'm working at Google now |
| |
NilayVaish | john Dethridge: Which university did you study at? |
John Dethridge | Melbourne University |
| |
rooparam | sir what do u mean by "I retire" |
John Dethridge | rooparam: oh that was a joke... I changed my quote to "I retire" after I won the championship. :) |
| |
ortschun | John Dethridge: when did you start programming ? |
John Dethridge | ortschun: I started programming when I was 8, with basic on an Apple 2 |
| |
irancoldfusion | John Dethridge: Which Google office? |
John Dethridge | irancoldfusion: Mountain View, California |
| |
viclei | John Dethridge: Hi John! You did very successfully in the ACM. What was your preparation like? |
John Dethridge | viclei: I mostly did problems from previous ACMs. For about a month before the final my team would get together and solve previous regional contests and world finals |
John Dethridge | viclei: for my first year at least... in my second year at the ACM finals I didn't train that much |
| |
ortschun | John Dethridge: is 17 too late to start practicing for being a topcoder? |
John Dethridge | ortschun: it's never too late really if you're going to put the time into it. A lot of successful topcoders started late, although usually they were strong mathematicians already, which helps a lot |
| |
binarywithme | John Dethridge: sir if i will peform well in programming will the google give me job? |
John Dethridge | binarywithme: they might, you should apply and find out! |
| |
superkinhluan | John Dethridge: you're not working now? |
John Dethridge | superkinhluan: I'm working at Google |
superkinhluan | John Dethridge: I know you are working at Google, but you are not working right now? |
John Dethridge | superkinhluan: oh I see. No not right now, I'm taking a break! :) Although I have a bunch of programs running on our clusters, so I'm waiting for those to finish anyway. |
L | :P |
L | http://googlified.com/googlers-excuse-for-slacking-off/ |
John Dethridge | L: exactly! |
| |
zdravko_b | John Dethridge: hi john, i am a masters student, but I can still learn something from you ;) |
John Dethridge | zdravko_b: hi |
| |
FameofLight | John Dethridge: How long you are coding |
John Dethridge | FameofLight: I started when I was 8, although I didn't do all that much coding when I was at school... I concentrated more on mathematics |
| |
binarywithme | John Dethridge: sir how much pratice n level should needed to reach at google. |
John Dethridge | binarywithme: well, I guess a good minimum to get a job as a software engineer is to finish a college course on software engineering, and get some experience while you're doing it |
| |
hallan_cs | john Dethridge: I have a brother with 10 years old, I should teach him a programming language? |
John Dethridge | hallan_cs: sure, if he's interested :) I think a good way to start is to use a simple language and write a number of programs. Something like basic. Some people recommend python. |
tharis | hallan_cs: no doubt |
tharis | hallan_cs: Python FTW <- the best language in the world :) |
Phicardo | tharis: after c |
tharis | Phicardo: Not! :p Python's great for everything! C's great for speed! |
Phicardo | tharis: 0k, after Java xDD |
tharis | Phicardo: Fanboy! :p :D |
Phicardo | tharis: :P |
| |
John Dethridge | Someone PM'd me a question about what areas of maths are useful in computer science... I think combinatorics and graph theory are the main areas. But any area with lots of proofs is useful as well, to develop skills in logical thinking. |
| |
FameofLight | John Dethridge: Exactly How you define balance between Practice and Algorithm Study , If you weak theory background |
John Dethridge | FameofLight: I think the best way to figure out that balance is to figure out the skill level you're targetting... the stuff you need to learn to get onto your university's ACM team is going to be different to what you need to do well in a TCO... |
John Dethridge | FameofLight: so you should figure out what algorithms you want to know well, maybe by choosing chapters from a textbook, and then try to solve a lot of problems using those techniques |
FameofLight | John Dethridge: Not for ACM Team , Not for TCO , just to have good passion in algorithms |
John Dethridge | FameofLight: I guess if you were interested in algorithms, but not necessarily for competitions, then you could spend more time reading papers and less time coding |
John Dethridge | FameofLight: A lot of academics do that... they have a broad knowledge of algorithms but probably couldn't sit down and code them very fast |
FameofLight | John Dethridge: Thanks for Suggestion , I am little good in Mathematics at School , (Also success is motivation) so in college I started with Programming , being not good it feel bad |
| |
martins256 | John Dethridge: what math books you suggest for new computer scientists? |
John Dethridge | martins256: maybe get some entry-level graph theory books. Maths competition problem sets, at a level you can solve, might be a good idea too |
| |
viclei | John Dethridge: What are some good team strategies for ACM? |
John Dethridge | viclei: I think good team strategy depends on the relative strengths of your team. For example if you have a very fast coder on easy problems, let him start on one right away. |
John Dethridge | viclei: If someone is good at tougher problems, have them read and think about the harder problems away from the keyboard |
John Dethridge | viclei: knowing when to swap people away from the keyboard can be tough. It's also a good idea for the two people not typing to sync up on what they're working on |
John Dethridge | viclei: so that you each have a better picture of where the team is on each problem |
| |
binarywithme | John Dethridge: sir how much hard world ifnal problmes are? |
John Dethridge | binarywithme: the acm world finals (if that's what you mean) have been getting harder... there are often 2 or 3 tough problems when in previous years there might have only been 1 |
| |
yiuyuho | John Dethridge: John, what makes you so good at this? |
John Dethridge | yiuyuho: I think having a strong mathematics background helps a lot. Most of the top-ranked coders on TC do. |
| |
rooparam | John Dethridge: i want to read Knuth, but it's maths makes me think like i have wasted my schooldays .... what should i do now ? |
Sarkin | john Dethridge: I have CLRs but I'm having difficulties reading it because of the math what do you suggest? |
Sarkin | Which books will help? |
John Dethridge | I guess if the math in CS textbooks is beyond what you know, you should go back and do more math... get high school or college freshman algebra textbooks |
John Dethridge | you rarely will need much calculus |
| |
ortschun | John Dethridge: what was the most exciting moment for you in all competitions you've joined |
John Dethridge | ortschun: I guess challenge phase is the most exciting, in any TCO/TCCC final that's been close. :) |
John Dethridge | ortschun: also the last few minutes of coding phase, when you're not sure who will finish the problems they're working on... |
| |
tharis | john Dethridge: what was your age when you: started programming, won your first match/competition? |
John Dethridge | tharis: I started at 8, but I was doing more mathematics than coding during school. The first programming competition I won was some national school-level competition. |
John Dethridge | tharis: There was an international contest I could have gone to that followed from that, but it conflicted with the IMO so I didn't go |
| |
binarywithme | John Dethridge: whould u plz give ur code of world final problems .so i can get some help |
John Dethridge | binarywithme: you can read my code from past TCOs on the topcoder website. |
John Dethridge | But some people might suggest that my code is not the clearest to learn from. :) |
Larry | some? |
myprasanna | fi fj :) |
John Dethridge | Larry: yeah, some. "almost everyone" counts as "some" :) |
| |
Tavo92 | John Dethridge: John, are you better at maths or at programming? What is the difference between a person that is good in math and the one that is good in programming? |
John Dethridge | Tavo92: I consider myself a mathematician, but on ranking I think I'm far better as a programmer. :) I think a math background helps once you get to much harder problems. |
| |
viclei | John Dethridge: Will you be coming to Australia anytime soon? :D |
John Dethridge | viclei: probably :) I was in Sydney for the GCJ regional final there. |
viclei | John Dethridge: Oh, wish I could have gone :( hehe |
| |
vexorian | John Dethridge: Did you "retire :)" ? |
John Dethridge | vexorian: not really :) I am training less than I used to though. Perhaps semi-retired. :) |
| |
armansuleimenov | John Dethridge: what would you suggest to concentrate on when preparing to TCO as opposed to ACM regionals? |
John Dethridge | armansuleimenov: The TCO is harder than ACM regionals generally. I would do the practice rooms in the applet, especially rounds from previous TCOs. |
John Dethridge | armansuleimenov: Then go to other online judge sites. |
| |
ortschun | John Dethridge: do you check others results while you're coding? and have you ever felt that you're not gonna make that problem? |
John Dethridge | ortschun: yeah I do check the scoreboard pretty often. Especially when other people are solving in a different order. Then you get some information on how hard the other problems are. |
| |
wack-a-mole | John Dethridge: What else do you do apart from coding? |
John Dethridge | wack-a-mole: What else do I do? I play a lot of other games. :) Computer games, card games, board games, etc. |
| |
nicolodavis | John Dethridge: How many hours a day did you spend practising when you were working your way up, and what did you do? |
John Dethridge | nicolodavis: in the weeks before my first TCO, I spent about 3 or 4 hours a day coding. Mostly solving past problems. |
John Dethridge | nicolodavis: maybe a bit more than that |
nicolodavis | John Dethridge: ok |
| |
afonseca | John Dethridge: Do you think that a man (20 years) can learn math for programming in like 6 months? |
John Dethridge | afonseca: well you can certainly learn enough, but more is better :) |
afonseca | John Dethridge: hehe, that motivates me :) |
| |
skaterdude69 | John Dethridge: Did you get your PHD in Comp Sci.? I remember on CNN you said you were thinking about it. |
John Dethridge | skaterdude69: nope, I left college and joined Google |
| |
Giorgi | John Dethridge: I agree with you, I know a lot of algorithms , but I can't solve hard problems wich needs deeply mathematical knowledge, what would you advice, study math from beggining? |
John Dethridge | Giorgi: well, when I say math is important, it's not just that some hard problems use math. Usually the amount of mathematics you need to know for the actual problem is not that much, maybe a little geometry or number theory. |
John Dethridge | Giorgi: It's more that the skills you get in doing mathematics help in CS also. |
John Dethridge | Giorgi: but yes I would go back and do high school math if you need to, especially algebra and geometry. |
Giorgi | John Dethridge: ok thanks |
| |
Quelloquialism | John Dethridge: Have you ever considered changing your name to "John Liferidge" to promote optimism? |
skaterdude69 | Quelloquialism: LOL |
tharis | Quelloquialism: ROFL |
John Dethridge | Quelloquialism: I'll tell you what, I'll consider that seriously and get back to you. :P |
| |
srikanth_sg | any nice material for learning stl? |
srikanth_sg | suggest me please |
John Dethridge | srikanth_sg: I used http://www.sgi.com/tech/stl |
| |
wack-a-mole | John Dethridge: What IDE and OS do you use? |
John Dethridge | wack-a-mole: for TopCoder, I just use the in-applet editor |
vexorian | John Dethridge: Considering you code like that, and you use no plugins or IDE, how do you manage to debug your code? |
John Dethridge | vexorian: I try not to have bugs. Otherwise, I put in printfs to see what's going on. |
vexorian | Are those provisions like not using plugins/IDE some sort of technique to avoid solving the problem very fast since people would think you are cheating? |
John Dethridge | vexorian: some people do use IDEs, I just prefer not to. |
| |
Tavo92 | John Dethridge: Do you think that it is "easier" to be a good coder in countries such as Poland, Russia, USA? Or it is having a good mentor or finding the right material? |
John Dethridge | Tavo92: I think if you're self-motivated and have internet access, you have the same chance anywhere |
| |
zdravko_b | John Dethridge: is academia less fun than google? |
John Dethridge | zdravko_b: hmmm there are parts of academia I would not enjoy, but you would perhaps have more freedom in what you worked on |
zdravko_b | John Dethridge: what exactly in academia don't you like (excluding payment ;) ) |
John Dethridge | zdravko_b: paperwork, applying for funding. I can't really speak that authoritatively on it though, I've never been an academic. |
| |
Sarkin | john Dethridge: If you started that early I think you participated in the IOI? if yes what medal did you get? |
John Dethridge | Sarkin: Australia didn't participate in the IOI yet when I was in school. We do now though. I taught at a couple of our training schools. :) |
vlad_D | John Dethridge: yeah, but you have gold in ACM |
John Dethridge | vlad_D: yes |
| |
zdravko_b | John Dethridge: is your work at google creative :) ? |
John Dethridge | zdravko_b: sure, there's a lot of room for creativity when your goal is broad |
John Dethridge | zdravko_b: say you want to improve the relevance of search results, for example... there's a lot of scope for trying different algorithms to do that |
zdravko_b | John Dethridge: i see |
| |
Tavo92 | John Dethridge: Why do you work at Google? |
John Dethridge | Tavo92: I think Google has a lot of interesting problems to work on, and great people |
John Dethridge | Tavo92: and a fun environment |
Tavo92 | John Dethridge: But, in google you don't face "ACM-like" or "TC-like" problems, do you? |
John Dethridge | Tavo92: yes we often do. Graph theory, DP, geometry, it's all relevant |
| |
ortschun | John Dethridge: there's a rumor that google asks algorithm problems in their interviews is that right? :) |
John Dethridge | ortschun: absolutely. We want people who are good at algorithms. |
John Dethridge | ortschun: One of the most famous is how you sort a million phone numbers with only 2MB of ram, and variations on that |
tharis | john Dethridge: sort 1kk nrs with 2MB of RAM? how? |
John Dethridge | tharis: that's what you have to figure out :) |
tharis | john Dethridge: LOL I'm only 16... When I'm 30, I'll PM you with the answer, ok? |
John Dethridge | tharis: you can be more ambitious than that :) |
tharis | john Dethridge: I am! I'm looking for the Nobel! :) Coding and IOI are only hobbies! ;) |
| |
wack-a-mole | John Dethridge: Is it true that Google has a firefighters' slippery pole for when you are hungry? |
Tavo92 | wack-a-mole: Is that a joke xD ? |
wack-a-mole | Tavo92: I saw it in an email :) |
vexorian | John_Dethridge: and is the pole really for when you are hungry, or for something else? |
zdravko_b | wack-a-mole: i've seen pictures, in zurich i think :) |
John Dethridge | wack-a-mole: yes I think the Zurich office has that :) |
zdravko_b | John Dethridge: which google are you at? |
John Dethridge | zdravko_b: Mountain View, California |
| |
geekru2 | John Dethridge: do you solve puzzles and mathematical problems? does it help iproving coding skills? |
John Dethridge | geekru2: yes, I look at problems from the IMO and related contests pretty regularly |
| |
viclei | John Dethridge: So do companies like Google look for algorithmic ability for a practical purpose or more for distinguishing good problem solvers? |
John Dethridge | viclei: Both. We do want employees who are strong in algorithms, and I think it's also a good way to assess problem-solving ability. That's my opinion anyway. |
| |
Blue_Ant | John Dethridge: Hello |
John Dethridge | Blue_Ant: hi |
| |
FameofLight | John Dethridge: How important is code on paper for Topcoder |
John Dethridge | FameofLight: not very. I often scribble diagrams while I'm thinking, but I wouldn't ever write code. |
| |
rajeshsr | John Dethridge: You participated at acm-icpc? |
John Dethridge | rajeshsr: yes, I went to the world finals in '00 and '01 |
| |
iit2007106 | which language do u hthink would be better? |
John Dethridge | iit2007106: I prefer C++. For a first language when learning to program, something simple like basic. |
| |
gowrav | john Dethridge: is it worth making myself good in C++ .. i am really hardworking on that but compnies like google use python .. m i right ?? |
gowrav | john Dethridge: what is best to master C++ or python as per googlist |
John Dethridge | gowrav: C++ is more useful than python I would say. |
| |
snguyen | John Dethridge: private quesion, you can ignore : How old are you, JD? :) |
John Dethridge | snguyen: 22. :) |
zdravko_b | John Dethridge: 22, wow, so young :) |
John Dethridge | zdravko_b: I lied. :) |
| |
ortschun | John Dethridge: wow. and what about internship? do you have to be a top coder t be intern in Software Engineering department |
John Dethridge | ortschun: we have a lot of interns who are CS students with good grades. |
| |
geekru2 | John Dethridge: what is a good coder..one who knows a lot of algos? or one who can create algos on spot during contests? |
John Dethridge | geekru2: both of those are important. You need to know a lot of algorithms, but even more importantly to get to the top you need to be able to adapt them or come up with new algorithms on the spot to solve problems |
John Dethridge | geekru2: most final rounds avoid problems that can be solved just by one standard algorithm. |
| |
Tavo92 | John Dethridge: Is it more important to have good grades or to have competed succesfully in algorithm competitions? |
John Dethridge | Tavo92: well, whenever you're applying for a job somewhere, they're going to consider everything. I think non-college achievements like success in competitions are a good way to distinguish yourself from other people who also have high grades. |
| |
rajeshsr | John Dethridge: Can u share, how u practised for that? |
John Dethridge | rajeshsr: I mostly practise by doing previous contest problems |
| |
pdallago | John Dethridge: How do you keep improving your mathematical and algorithmic skills nowadays? |
John Dethridge | pdallago: I keep solving more problems to improve. Although I haven't been practising that much recently, apart from test-solving all of the GCJ problems. :) |
| |
gowrav | john Dethridge: whats is the most usefull language for criticle solutions! (this might change my world) |
John Dethridge | gowrav: C++ |
| |
theexpository | John Dethridge: Is there an algorithmic paradigm that you consider the most fundamental? |
John Dethridge | theexpository: not really, I think you need knowledge in a broad range. |
| |
Soyoja | John Dethridge: How about your record in World finals '00 and '01? |
John Dethridge | Soyoja: in ACM '00 we came second, or something, they had a bit of a screwup with the judging. In '01 much worse. |
| |
vexorian | John Dethridge: Why do you think top contest coders tend to like C/++ so much? |
John Dethridge | vexorian: I think more top coders prefer C++ because of the low-level control that's available. |
| |
glue2glee | John Dethridge: what did you study at university? Math or CS ? |
John Dethridge | I did both. |
| |
deusemx | John Dethridge: do you think perl has been replaced by ruby and python? |
John Dethridge | deusmx: I don't really have an opinion on perl and python and ruby. :) |
| |
Quelloquialism | John Dethridge: So I once lost a programming contest due to a small bug in my implementation of BFS, and ever since then I've hated coding BFS. Are there any algorithms you have a similar strong hatred for? |
vexorian | Quelloquialism: Do you use dijkstra for simple BFS problems since then? |
Quelloquialism | vexorian: No, I just grudgingly code BFS... =) |
John Dethridge | Quelloquialism: you should practise BFS more. :) I don't really have a dislike for any particular algorithm. |
John Dethridge | Quelloquialism: Computational geometry problems can be annoying when they have lots of special cases, but that's the same for everyone, not a special hatred I have for them. :) |
| |
viclei | John Dethridge: Thanks for the responses. Any chance you can come back to Melbourne to coach my team for the ACM finals? :P |
John Dethridge | viclei: I probably won't be back for that long. Good luck though. |
viclei | John Dethridge: Haha. Thanks :) Hope you can come come in to MU if you're around the area. |
| |
gowrav | john Dethridge: what should b learned now .. crossplatform or linux or windows as a good start |
binarywithme | John Dethridge: linux is better thnx windows what u think ?froma programmer's point of view |
John Dethridge | I wouldn't worry too much about what OS you use |
| |
Larry | John Dethridge: what do you do, practice-wise, about problems that you can't figure out the solution, but know that they exist? |
John Dethridge | Larry: I try harder until I get it. :) |
| |
theexpository | John Dethridge: Is there a particular source/book that you prefer for solving geometry/probability/maze problems? |
John Dethridge | theexpository: no not really. I learn mostly by solving problems. |
| |
Tavo92 | John Dethridge: What is your favorite food before a contest :) ? |
John Dethridge | Tavo92: I usually have coffee and chocolate before competitions. :) |
| |
theexpository | John Dethridge: Topcoder problems vs acm regional problems? |
John Dethridge | theexpository: I think it's more important to do problems at the right level for what you're training for, rather than which contest they're from |
| |
Hamed | John Dethridge: Why did you retire? :) |
John Dethridge | Hamed: I didn't really retire, it was a joke. :) I do practise less now though. |
| |
samshu | **samshu hopes it is an easy SRM |
vexorian | **vexorian hopes the SRM is easy for him but no one else. |
samshu | vexorian: hehe |
rooparam | best of luck to all for coming SRM |
rooparam | thanks for ur time sir |
ortschun | John Dethridge: thank you so much for today :) |
Blue_Ant | John Dethridge: See you |
snguyen | thx a lot JD, wish u the best! |
ortschun | John Dethridge: thank you so much for today :) |
ortschun | again:) |
ortschun | John Dethridge: bye |
rajeshsr | John Dethridge: Thanks u. Bye |
John Dethridge | np :) |