How much memory do you see Chrome using? Seems an unsaid comparison on your part. Keep in mind it's usage is spread across dozens of processes. I have usually noticed Chrome to be more responsive than Firefox when I have 50+ tabs going, but I can't say that it's memory usage is necessarily any better in my experience.
It's all about preparation: can you implement quicksort or mergesort right now, without looking it up ? The algorithm takes about 20 lines of code... Some interviews will require you to have knowledge like that;
If you interview for a development position at Google or Apple or Facebook or Twitter or etc. you will, definitely, be asked this kind of question. During an interview process with one of the above companies, I was interviewed by no less than 14 people before the process was finished, 10 of them involved marker-on-whiteboard or code-in-editor. Even at startups and other companies, you won't just be asked to do something practical, you will be interviewed by people who have experienced the above process themselves, as it is basically standard in our industry.
All of us who have some experience can find this sort of question aggravating/insulting/questionable, as it is certainly testing things that I have no business implementing myself in most dev jobs, and these sorts of algorithms are fraught with off-by-one and exceptional boundary cases that can prove an embarrassment on your first attempt at implementation. Are you hiring me for my abstract problem solving skills or because I can whip up an app in any framework you like any time of the day.
What I want to say is that this process is not going away any time soon. You are just going to be asked these kind of questions. Whether you like them, hate them, don't remember how to do them, whatever, you are going to be put in a room with someone who has asked the question ten or a hundred times and you are going to have to provide an answer.
Prepare. The game is heavily weighted in favor of those who have time to prepare. Depending on your schedule, this might take weeks, or even a few months. Search for interview questions for all of the big companies, use books, etc. Make a huge list of questions of each problem type. You might not have a whiteboard at home but I'd suggest at least using paper instead of the computer.
While complaining about this state of affairs to an engineering manager friend, he said, if the candidate is that well-prepared and nails the interview, imagine the level of preparation and concision they are going to apply do doing their actual job. Yes, the process doesn't favor the side of the craftsman, the developer of many side projects, those with exceptional interpersonal and writing skills, and those who do their jobs well. It favors those who have just spent time preparing like they're about to take test. And that is what it is, a test.
I did do an interview once which relied on doing a couple-hour long programming project and then presenting it for 30 minutes. That's a nice change of pace. I'm sure a lot of places will be doing more and more things other than the Test which we're all familiar with. But until all the people who have been subjected to the Test have removed themselves from the job market, you have a chance of encountering them, and that kind of question. Just try to enjoy the studying process.
I'm a developer, used to work at a big company, now working with mostly startups and earlier companies, sometimes as a consultant, sometimes on salary, doing well for myself.
I was trying to do multitrack recording on a budget, and couldn't afford expensive music sequencing software. The demos limited the number of simultaneous tracks, etc. Eventually through recording forums I happened upon a few folks who were into a more DIY approach and things like Ardour were starting to become viable options. I knew how to steal the paid stuff for Windows but the alternatives caught my interest. I was a little blown away at the time that this kind of thing was available for free.
While then and now it was in vogue to shit on all the sound issues on Linux, it was in the process of resolving those through mystical command line invocations that I came face to face with what was running my computer all those years, and was impressed by the power. After that I was hooked on discovering how the pieces fit together, and became a proficient Linux user/admin. Loved the command line since.
Fast forward a bit through that and I'm a music major trying to weasel my way into DSP classes so I can make my computer make cool noises. It requires a basic CS course (taught in C++, well, basically C with the C++ string lib) as a prereq, so even though I didn't have any interest in learning to program in general, I sign up.
Most of the kids in the class hate it, are either experienced programmers forced to go through the basics again because they didn't have the fundamentals down, or people who didn't want to program but had to take the class. 50% of the kids are gone before the end of the class (starting with 120+). I seem to be one of the few kids sitting in the front, totally jazzed. I forget about DSP, and end up majoring in CS. Still addicted 7 years later.
You never know what you've got an aptitude and interest for until you try it. Until something clicked in those early CS classes, I had a few run-ins with programming in the past and it seemed boring as fuck. I thought being a programmer was equivalent in interesting-ness as being an accountant. Dry, stuck in a cubicle, doing something worthless and boring. All the jobs being outsourced. Zero idea it would be something so creative, challenging, liberating. Also gives a decent paycheck, whether you freelance or sign up for a 9-5. Programmer life is good.
My impression comes from the content of news dispatches, propaganda and speeches from the North Korean media and military leadership. While they show imagery and make threats of destroying US cities and non-military targets, the rhetoric geared towards the South talks about destroying the 'traitorous' government and military (and occasionally media outlets) here and are not threats towards the general public. As for those in the South, most people here have aunts, uncles, and other extended family in the North and don't want to see their relatives murdered just because the regime running the North is awful.
You seem to underestimate 60+ years of uninterrupted regime propaganda.
+5 Insightful?
Let me tell you as someone living in Korea that there is zero question here about whether or not North Korea wants to blow Seoul. I'll give you a hint -- they wouldn't drop bombs on Seoul even if the US was nuking Pyongyang.
While the North has been a separate country for a long time at this point, the people on the two sides of the DMZ do not at all consider each other enemies. The rhetoric from the North about destroying the South is firmly directed at the South Korean government.
People have a racial unity here that you can probably not even imagine. Here's an attempt at an analogy. Would the Israelis bomb a city of 100% Jews?
The North considers the people in the South to be essentially captive by a traitorous government that's being dictated behind the scenes by the US and other foreign influences. They want to 'liberate' their relatives and their people, not bomb them into dust because they don't like what they consider to be a minority of them who are oppressing the rest.
I know the story about the artillery within range of Seoul makes a good scare piece, but there's zero chance they will be wantonly killing all the South Koreans just because it's technically a separate country.
I have written about this on/. before but it's more relevant than ever to me now
A few years ago (late 2009), I bought a ThinkPad and a MacBook Pro around the same time. I used the two machines side by side for awhile, and I really, really wanted to like the ThinkPad. However, the MacBook Pro's screen was brighter, clearer, speakers were better, battery lasted longer, and, of course, the profile was a lot smaller. Power cord was nicer. Touchpad was miles beyond the ThinkPad. Also, power management didn't work perfectly on the ThinkPad (Ubuntu, Debian, FreeBSD, all of them wouldn't suspend to memory on closing the thing and resume properly when opening it. Sometimes it would, sometimes not). ThinkPad fan was noisy.
I'd once again like to buy a laptop, and run Linux/BSD on it. While OSX was giving me a decent dev environment and not pissing me off too much on a daily basis at the time, lately the lack of configurability, Finder being slow as fuck, development environment issues, generally using OSX being not as badass as running something made by the community, Apple's legal positions, etc... I'd really like to get off the Apple stuff.
However, it's obvious that there's no laptop made by anyone else that isn't an ugly piece of shit. ThinkPads used to have that nice weight to them, the look and feeling like you just stepped off the space station with one. Something reasonably classy about them. But if you look at them directly next to the latest Macbook Pro, it is obvious which one is better hardware (OS political issues aside).
Honestly I'm thinking about just not using laptops anymore. The ergonomics of the screen/keyboard placement is obviously terrible, and there just doesn't seem to be any option I'd want to use every day other than handing Apple a huge check for their hardware and running another OS on it.
If anyone has any suggestions about other brands, products, or experiences I'd be happy to hear them. Because I certainly can't seem to find a reasonable alternative
these glasses are going nowhere. They look stupid so they are dead on arrival. Furthermore, they only appeal to the part of the population that already wears glasses.
The hype over these nerd glasses couldn't more clearly illustrate how out of touch dorks are with regular people.
Google Glass will probably end up being used by the same crowd that uses Bluetooth headsets in public for their phones, and probably with the same lack of regard for other people during use
Don't forget that you can get the same amount from other companies as well.
About 4 years ago I was an intern at another large company, and received an internship offer from Microsoft. I was making about half of what Microsoft was offering. I didn't realize at the time that interns could make such a high rate. I talked to my supervisor at the time and told him about the Microsoft offer, and he offered to match Microsoft's offer if I was willing to stay, as well as some other perks.
This could apply to your full time job as well--if you're eyeing another company because of their pay rates, try getting a job offer and using that to leverage yourself into working where you want, for the amount of money you want to get paid and the benefits you want.
It's a good time to be a programmer, that is for sure.
Literally never done before? This person perhaps isn't familiar with other computerized enterprises that have been witnessed by millions of people. Space shuttle launches? How about massive light shows for concerts?
Get over yourself.
That aside, I hope it's a good show, and gets more folks interested in art and technology and keeps money flowing into those kind of works.
North Korea is just waiting for the US to give up on the South so they can walk in and take over.
Wanted to chime in on this NK/SK comment, which is--the US has 28,500 soldiers in Korea. South Korea has 640,000 active personel, and 2,900,000 in reserve. South Korea also has plenty of other allies besides the US, should the US ever decide to go into isolationist mode.
Don't fool yourself into thinking the US presence has anything to do with the stability of the Korean peninsula. I would say the impact of the United States Forces Korea is negligible, and in fact, may be contributing to hostilities rather than keeping peace. It has a great deal more to do with China and Japan, both who have a great interest in keeping the peace in Korea.
I don't know about calculus but doing formal proofs.
Thank you.
As someone who went through a very "theoretical" CS program at a top 20, I am certain I was forced to spend WAY too much time doing calculus instead of exploring other areas of math. The core tenets of it are very important, but putting everyone through class after class of multi-var blah blah is just a waste of time. Most students didn't get a chance to take analysis or anything that would teach them about WHY the shit works or what the theory or point of it was. We just had to do course after course of symbolic manipulation that none of us would ever use.
More discreet math, more graph theory, more analysis, more formal proofs, more whatever else I never got a chance to explore, less calculus.
Economically, while many schools say that a main reason for legacy preference is to increase donations[6], at an aggregate (school-wide) level the decision to prefer legacies has not been shown to increase donations.
If Apple started using open source'd classes for things like strings and could focus their internal development on things that interact more directly with hardware (especially graphics), that would be a win for everyone.
Less money for them for common functionality, more ability for me to see what's causing a bug.
For all the things Apple has done right and does well, clinging on to Objective-C is not one of them.
It'd be nice if you pointed out, you know, actual reasons rather than just make snide comments. I'm sure some knee-jerk Apple haters will vote you up though.
My issues with iOS development lie not with Objective-C, but with Apple's frameworks and libraries. It's frustrating to only have header files and not be able to check out what a method actually does when debugging. Fortunately, the documentation for their classes is top-notch. The objc runtime is also a pretty wild ride, but once you know your way around you can poke at it and find out where your messages are going at least. Can check out the source for the runtime here http://opensource.apple.com/source/objc4/
Another issue of course, is XCode. I've switched to writing most of my iOS code in vim, building my code with the xcodebuild command. I still rely on XCode to do things like add files to the xcodeproj and manage the build configurations. XCode has a mind of its own, wacky completions, a completely fucked up undo buffer, strange locations for settings, and more frustrating joys. Would love to do away with that.
The thing with ASCII is that it's easy to write on standard keyboards.
Why should the notations which we use to express our programs be limited to 'standard keyboards'?
I'm sure there could be decent schemes for writing alternate symbols with meta-keys and such. Learn a new keyboard layout, it won't kill you. Reminds me of folks refusing to learn a language other than C++/Java/whatever because they are afraid it'll cause them some irreparable mental damage.
For example, I'd love use standard logic symbols to express statements in my day to day coding, why not? Well, because I'm writing C/Ruby. But hey, I'd like to see them available as an alternative perhaps, not required?
Shooting this down because the keyboard we're all using in 2010 doesn't accommodate it well doesn't seem like the best way forward to me. Seems like the whole Ford 'faster horse' sort of thing. Take a longer view. Think about the possibilities. Maybe there's some cool things this would open up.
I don't think lines of code are taking up storage such that we'd have any trouble moving to UTF-8, 16, or any other longer format than ASCII.
Does this sound suspiciously to anyone else like, say, 'moving'?
He's charismatic and everything but I wouldn't read Malcolm Gladwell if I were looking for factual information.
Only the worst of Java-script heavy pages slow down
So, almost any website updated or created in the last few years
How much memory do you see Chrome using? Seems an unsaid comparison on your part. Keep in mind it's usage is spread across dozens of processes. I have usually noticed Chrome to be more responsive than Firefox when I have 50+ tabs going, but I can't say that it's memory usage is necessarily any better in my experience.
Firefox is funded by the same search giant.
Firefox getting revenue from Google is not the same. Certainly it's not helping anyone's privacy, but Mozilla isn't Google.
It's all about preparation: can you implement quicksort or mergesort right now, without looking it up ? The algorithm takes about 20 lines of code... Some interviews will require you to have knowledge like that;
If you interview for a development position at Google or Apple or Facebook or Twitter or etc. you will, definitely, be asked this kind of question. During an interview process with one of the above companies, I was interviewed by no less than 14 people before the process was finished, 10 of them involved marker-on-whiteboard or code-in-editor. Even at startups and other companies, you won't just be asked to do something practical, you will be interviewed by people who have experienced the above process themselves, as it is basically standard in our industry.
All of us who have some experience can find this sort of question aggravating/insulting/questionable, as it is certainly testing things that I have no business implementing myself in most dev jobs, and these sorts of algorithms are fraught with off-by-one and exceptional boundary cases that can prove an embarrassment on your first attempt at implementation. Are you hiring me for my abstract problem solving skills or because I can whip up an app in any framework you like any time of the day.
What I want to say is that this process is not going away any time soon. You are just going to be asked these kind of questions. Whether you like them, hate them, don't remember how to do them, whatever, you are going to be put in a room with someone who has asked the question ten or a hundred times and you are going to have to provide an answer.
Prepare. The game is heavily weighted in favor of those who have time to prepare. Depending on your schedule, this might take weeks, or even a few months. Search for interview questions for all of the big companies, use books, etc. Make a huge list of questions of each problem type. You might not have a whiteboard at home but I'd suggest at least using paper instead of the computer.
While complaining about this state of affairs to an engineering manager friend, he said, if the candidate is that well-prepared and nails the interview, imagine the level of preparation and concision they are going to apply do doing their actual job. Yes, the process doesn't favor the side of the craftsman, the developer of many side projects, those with exceptional interpersonal and writing skills, and those who do their jobs well. It favors those who have just spent time preparing like they're about to take test. And that is what it is, a test.
I did do an interview once which relied on doing a couple-hour long programming project and then presenting it for 30 minutes. That's a nice change of pace. I'm sure a lot of places will be doing more and more things other than the Test which we're all familiar with. But until all the people who have been subjected to the Test have removed themselves from the job market, you have a chance of encountering them, and that kind of question. Just try to enjoy the studying process.
I'm a developer, used to work at a big company, now working with mostly startups and earlier companies, sometimes as a consultant, sometimes on salary, doing well for myself.
I was trying to do multitrack recording on a budget, and couldn't afford expensive music sequencing software. The demos limited the number of simultaneous tracks, etc. Eventually through recording forums I happened upon a few folks who were into a more DIY approach and things like Ardour were starting to become viable options. I knew how to steal the paid stuff for Windows but the alternatives caught my interest. I was a little blown away at the time that this kind of thing was available for free.
While then and now it was in vogue to shit on all the sound issues on Linux, it was in the process of resolving those through mystical command line invocations that I came face to face with what was running my computer all those years, and was impressed by the power. After that I was hooked on discovering how the pieces fit together, and became a proficient Linux user/admin. Loved the command line since.
Fast forward a bit through that and I'm a music major trying to weasel my way into DSP classes so I can make my computer make cool noises. It requires a basic CS course (taught in C++, well, basically C with the C++ string lib) as a prereq, so even though I didn't have any interest in learning to program in general, I sign up.
Most of the kids in the class hate it, are either experienced programmers forced to go through the basics again because they didn't have the fundamentals down, or people who didn't want to program but had to take the class. 50% of the kids are gone before the end of the class (starting with 120+). I seem to be one of the few kids sitting in the front, totally jazzed. I forget about DSP, and end up majoring in CS. Still addicted 7 years later.
You never know what you've got an aptitude and interest for until you try it. Until something clicked in those early CS classes, I had a few run-ins with programming in the past and it seemed boring as fuck. I thought being a programmer was equivalent in interesting-ness as being an accountant. Dry, stuck in a cubicle, doing something worthless and boring. All the jobs being outsourced. Zero idea it would be something so creative, challenging, liberating. Also gives a decent paycheck, whether you freelance or sign up for a 9-5. Programmer life is good.
My impression comes from the content of news dispatches, propaganda and speeches from the North Korean media and military leadership. While they show imagery and make threats of destroying US cities and non-military targets, the rhetoric geared towards the South talks about destroying the 'traitorous' government and military (and occasionally media outlets) here and are not threats towards the general public. As for those in the South, most people here have aunts, uncles, and other extended family in the North and don't want to see their relatives murdered just because the regime running the North is awful.
You seem to underestimate 60+ years of uninterrupted regime propaganda.
+5 Insightful?
Let me tell you as someone living in Korea that there is zero question here about whether or not North Korea wants to blow Seoul. I'll give you a hint -- they wouldn't drop bombs on Seoul even if the US was nuking Pyongyang.
While the North has been a separate country for a long time at this point, the people on the two sides of the DMZ do not at all consider each other enemies. The rhetoric from the North about destroying the South is firmly directed at the South Korean government.
People have a racial unity here that you can probably not even imagine. Here's an attempt at an analogy. Would the Israelis bomb a city of 100% Jews?
The North considers the people in the South to be essentially captive by a traitorous government that's being dictated behind the scenes by the US and other foreign influences. They want to 'liberate' their relatives and their people, not bomb them into dust because they don't like what they consider to be a minority of them who are oppressing the rest.
I know the story about the artillery within range of Seoul makes a good scare piece, but there's zero chance they will be wantonly killing all the South Koreans just because it's technically a separate country.
I have written about this on /. before but it's more relevant than ever to me now
A few years ago (late 2009), I bought a ThinkPad and a MacBook Pro around the same time. I used the two machines side by side for awhile, and I really, really wanted to like the ThinkPad. However, the MacBook Pro's screen was brighter, clearer, speakers were better, battery lasted longer, and, of course, the profile was a lot smaller. Power cord was nicer. Touchpad was miles beyond the ThinkPad. Also, power management didn't work perfectly on the ThinkPad (Ubuntu, Debian, FreeBSD, all of them wouldn't suspend to memory on closing the thing and resume properly when opening it. Sometimes it would, sometimes not). ThinkPad fan was noisy.
I'd once again like to buy a laptop, and run Linux/BSD on it. While OSX was giving me a decent dev environment and not pissing me off too much on a daily basis at the time, lately the lack of configurability, Finder being slow as fuck, development environment issues, generally using OSX being not as badass as running something made by the community, Apple's legal positions, etc... I'd really like to get off the Apple stuff.
However, it's obvious that there's no laptop made by anyone else that isn't an ugly piece of shit. ThinkPads used to have that nice weight to them, the look and feeling like you just stepped off the space station with one. Something reasonably classy about them. But if you look at them directly next to the latest Macbook Pro, it is obvious which one is better hardware (OS political issues aside).
Honestly I'm thinking about just not using laptops anymore. The ergonomics of the screen/keyboard placement is obviously terrible, and there just doesn't seem to be any option I'd want to use every day other than handing Apple a huge check for their hardware and running another OS on it.
If anyone has any suggestions about other brands, products, or experiences I'd be happy to hear them. Because I certainly can't seem to find a reasonable alternative
these glasses are going nowhere. They look stupid so they are dead on arrival. Furthermore, they only appeal to the part of the population that already wears glasses.
The hype over these nerd glasses couldn't more clearly illustrate how out of touch dorks are with regular people.
Google Glass will probably end up being used by the same crowd that uses Bluetooth headsets in public for their phones, and probably with the same lack of regard for other people during use
I'd recommend using the === operator instead of == in JavaScript unless you like things like " \t\r\n " == 0 evaluating to 'true'.
Java != Javascript
If you're writing JavScript, don't forget to use the !== operator instead of !=
Don't forget that you can get the same amount from other companies as well.
About 4 years ago I was an intern at another large company, and received an internship offer from Microsoft. I was making about half of what Microsoft was offering. I didn't realize at the time that interns could make such a high rate. I talked to my supervisor at the time and told him about the Microsoft offer, and he offered to match Microsoft's offer if I was willing to stay, as well as some other perks.
This could apply to your full time job as well--if you're eyeing another company because of their pay rates, try getting a job offer and using that to leverage yourself into working where you want, for the amount of money you want to get paid and the benefits you want.
It's a good time to be a programmer, that is for sure.
Literally never done before? This person perhaps isn't familiar with other computerized enterprises that have been witnessed by millions of people. Space shuttle launches? How about massive light shows for concerts?
Get over yourself.
That aside, I hope it's a good show, and gets more folks interested in art and technology and keeps money flowing into those kind of works.
North Korea is just waiting for the US to give up on the South so they can walk in and take over.
Wanted to chime in on this NK/SK comment, which is--the US has 28,500 soldiers in Korea. South Korea has 640,000 active personel, and 2,900,000 in reserve. South Korea also has plenty of other allies besides the US, should the US ever decide to go into isolationist mode.
Don't fool yourself into thinking the US presence has anything to do with the stability of the Korean peninsula. I would say the impact of the United States Forces Korea is negligible, and in fact, may be contributing to hostilities rather than keeping peace. It has a great deal more to do with China and Japan, both who have a great interest in keeping the peace in Korea.
I don't know about calculus but doing formal proofs.
Thank you.
As someone who went through a very "theoretical" CS program at a top 20, I am certain I was forced to spend WAY too much time doing calculus instead of exploring other areas of math. The core tenets of it are very important, but putting everyone through class after class of multi-var blah blah is just a waste of time. Most students didn't get a chance to take analysis or anything that would teach them about WHY the shit works or what the theory or point of it was. We just had to do course after course of symbolic manipulation that none of us would ever use.
More discreet math, more graph theory, more analysis, more formal proofs, more whatever else I never got a chance to explore, less calculus.
Well, if it wasn't completely Euro-centric, I'd be on board for the entire 'humanrace' using it.
Economically, while many schools say that a main reason for legacy preference is to increase donations[6], at an aggregate (school-wide) level the decision to prefer legacies has not been shown to increase donations.
Sounded reasonable though!
are ya sure it hasn't just been retooled to become super_secret_function()
I don't think you've seen the iOS SDK.
I'd guess something more like [NSReallyInternalDeviceIdiomDetector superSecretFunction:host:port:withDelegate:inSection:byAppendingString:context]
If Apple started using open source'd classes for things like strings and could focus their internal development on things that interact more directly with hardware (especially graphics), that would be a win for everyone.
Less money for them for common functionality, more ability for me to see what's causing a bug.
For all the things Apple has done right and does well, clinging on to Objective-C is not one of them.
It'd be nice if you pointed out, you know, actual reasons rather than just make snide comments. I'm sure some knee-jerk Apple haters will vote you up though.
My issues with iOS development lie not with Objective-C, but with Apple's frameworks and libraries. It's frustrating to only have header files and not be able to check out what a method actually does when debugging. Fortunately, the documentation for their classes is top-notch. The objc runtime is also a pretty wild ride, but once you know your way around you can poke at it and find out where your messages are going at least. Can check out the source for the runtime here http://opensource.apple.com/source/objc4/
Another issue of course, is XCode. I've switched to writing most of my iOS code in vim, building my code with the xcodebuild command. I still rely on XCode to do things like add files to the xcodeproj and manage the build configurations. XCode has a mind of its own, wacky completions, a completely fucked up undo buffer, strange locations for settings, and more frustrating joys. Would love to do away with that.
Check out the cocoa.vim plugin, and also, while I'm at it, you can get your vim for your local environment pimped out in minutes with Vimlander 2: The quickening. Test driving my apps with Pivotal's Cedar framework.
Can't put truck balls on a printer driver.
Satellites, however...
I will offer 20 times the bounty to anyone who finds similar exploits in my products.
Oh, what's that, you can't find any?
Security through obscurity wins again.
The thing with ASCII is that it's easy to write on standard keyboards.
Why should the notations which we use to express our programs be limited to 'standard keyboards'?
I'm sure there could be decent schemes for writing alternate symbols with meta-keys and such. Learn a new keyboard layout, it won't kill you. Reminds me of folks refusing to learn a language other than C++/Java/whatever because they are afraid it'll cause them some irreparable mental damage.
For example, I'd love use standard logic symbols to express statements in my day to day coding, why not? Well, because I'm writing C/Ruby. But hey, I'd like to see them available as an alternative perhaps, not required?
Shooting this down because the keyboard we're all using in 2010 doesn't accommodate it well doesn't seem like the best way forward to me. Seems like the whole Ford 'faster horse' sort of thing. Take a longer view. Think about the possibilities. Maybe there's some cool things this would open up.
I don't think lines of code are taking up storage such that we'd have any trouble moving to UTF-8, 16, or any other longer format than ASCII.