Are courts keeping "junk science" out of the courtroom? - <AUTHOR> https://www.psychologicalscience.org/publications/psychological-assessment-in-legal-contexts-are-courts-keeping-junk-science-out-of-the-courtroom.html <comment><USER2> The New Yorker had a really interesting article about arson forensics, a few years ago. It interleaved the case of someone being executed for arson, with a thorough debunking of the science behind his conviction.

And then fiber analysis has been debunked too.

And the list goes one: hysteria over child abuse combined with well-meaning but incompetent interviewers creating false memories in supposed victims. The problems with coerced confessions.

It's all quite terrifying.

<comment><USER3> There was a Citations Needed podcast about pseudoscience in the criminal justice system:

[https://citationsneeded.libsyn.com/episode-94-the-goofy- pseu...](https://citationsneeded.libsyn.com/episode-94-the-goofy- pseudoscience-copaganda-of-tv-forensics)

It's an interesting podcast, but their interviewee sucked and she didn't really cite any actual science; just hand waved away things.

I've found the studies they cite on fingerprints (your fingerprint could match up with 1 in ~300 people; they're not as unique as once though -- the study that's often cited is from the FBI) but I can't find anything on gun/bullet print identification.

Supposedly you can't match a bullet to a gun, especially with more modern firearms with precise milling. Yet all the sourced I've found should photos of bullets with distinct patterns that seem to match a particular firearm.

<comment><USER4> Then we find that all these photos are stock photos from the depths of FBI labs and none of the photographs show an actual slug collected from a crime scene.

</comment></comment></comment><comment><USER5> I heard an interesting one on a Dateline. Cops had some DNA they could not match. So they did phenotyping and turned the info (hair color, eye color, etc) into a sketch. And that was enough to get court orders for people that matched the sketch to submit DNA samples.

There was a video of the police department announcing it, and even endorsing the company (Parabon) in the announcement.

Maybe not complete junk science, but sketchy legal ground to me.

<comment><USER6> It's sketchy legal ground. Basically they could say "everyone with blonde hair and brown eyes must submit", and through other extralegal means have found out the culprit had blonde hair and brown eyes. They manufactured a way to search and arrest them.

<comment><USER7> My question is was this everyone over a large area or were they going to a pool of people they already had some suspicion on. If they have a group of suspects and are using this to narrow down who to actually have submit samples it's more ok to me.

<comment><USER5> From an existing pool.

</comment></comment></comment></comment><comment><USER8> It isn't news that the courts allow whatever junk science leads to convictions.

Courts have allowed drug-sniffing dogs as evidence for ages. They're barely more accurate than a coin toss and easily persuaded to give false "testimony" by their handlers.

<comment><USER9> A coin toss with little false negatives might be a good filter for a more annoying or expensive test. I think that would be a fine use of the tool even if I agree that as primary evidence it might be lacking.

<comment><USER10> Yes, that's just it, proportionality. Dogs might be good to sniff out contraband or whatever to flag searches, but perhaps not as incontrovertible evidence of something.

<comment><USER11> How often do cases rely on dogs as 'incontrovertible evidence of something though'. It's not like they testify!

If the dog's mentioned at all, surely normally it's background context to why the person was searched and the drug found [and if the police are lying about the finding, it's not the dog's fault!]

<comment><USER12> In some places they have "fruit of the poisoned tree" \-- there are clear rules for searches, and evidence obtained without using those means is not admissible in court.

It feels weird that law enforcement get just avoid all of that by training dogs to alert at a handler's signal.

<comment><USER8> I didn't elaborate too much in the first post, but this is the gist of it.

Any search that was enabled by a dog should be considered "fruit of the poisoned tree". Between their lack of accuracy and a dog's bias towards its handler, they should not ever serve as a basis for search or arrest.

When the justification for initial stop/search comes up in court, the dog's hit is held up as incontrovertible proof that a search was justified. Courts have upheld their use many times, all the way to SCOTUS IIRC.

This approach is far to prone to misuse by law enforcement. It's bad enough they can pull you over without cause (most states have loosely defined "irregular driving" laws), they can initiate a search of your car just as baselessly.

<comment><USER10> ""fruit of the poisoned tree". Between their lack of accuracy and a dog's bias towards its handler, they should not ever serve as a basis for search or arrest."

I think this is upside down ... the police are never going to have 'incontrovertible proof' of contraband before they do a full search _by definition_. If they did need such 'total evidence' to search, they wouldn't need to do the search at all ... they could just make the arrest.

And a dogs hint is not presented as evidence of a crime, merely reasonable suspicion for a search, which is what we want the tool for.

The point is to provide some degree of a reasonable basis for suspicion, after which more effort is used to determine the material outcome: either you have 1Kg of coke, or an illegal gun ... or you don't.

The entire point of the tools are to use something that demarcates reasonable suspicion; dogs, and other things, are viable tools.

If you attempt to enter a country, and you are asked where you are staying but can't provide an answer, or if you do not have a return flight - these are indications of 'reasonable suspicion' of further questioning.

<comment><USER8> _The point is to provide some degree of a reasonable basis for suspicion_

SCOTUS ruling notwithstanding, I don't consider a dog a reasonable basis for suspicion. They're easily manipulated - may as well just come right out and let the police search whoever they want, because that's what dogs allow.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER13> Related video of Last Week Tonight on different kinds of junk science: [https://www.youtube.com/watch?v=ScmJvmzDcG0](https://www.youtube.com/watch?v=ScmJvmzDcG0)

There does seem to be some issues with how the court system has failed to keep up with the modern day. Issues with scalability, accessibility and science literacy are leading to a general distrust of the system.

</comment><comment><USER5> Aside from courts, the constant use of garbage like polygraphs by the police, employers, and others is regrettable.

<comment><USER14> Interestingly, in the US most private employers are not allowed to polygraph their employees

[https://en.wikipedia.org/wiki/Employee_Polygraph_Protection_...](https://en.wikipedia.org/wiki/Employee_Polygraph_Protection_Act)

>However, the act does permit polygraph tests to be administered to certain applicants for job with security firms (such as armored car, alarm, and guard companies) and of pharmaceutical manufacturers, distributors, and dispensers. The law does not cover federal, state, and local government agencies.

Since doesn't apply to any governments (local, state, federal) so so government employees are subjected to polygraphs.

Interestingly, it can be argued that polygraphs may have their place in a limited amount of employment situations as long as the lying/truthful results are thrown out as the test may work as a "placebo" for the interviewee to admit to serious skeletons in their closet.

[https://www.theverge.com/2017/10/23/16511732/border- patrol-p...](https://www.theverge.com/2017/10/23/16511732/border-patrol- polygraph-trump-boots-on-border)

>Polygraph results are of questionable scientific value, but the interviews have an unexpected benefit apart from their dubious powers of detection: under pressure from interviewers, applicants frequently admit to wrongdoing.

To be clear I personally lean towards not using polygraphs at all for employment situations.

<comment><USER15> "it can be argued that polygraphs may have their place in a limited amount of employment situations as long as the lying/truthful results are thrown out as the test may work as a "placebo" for the interviewee to admit to serious skeletons in their closet."

If the test cannot distinguish between true and false, then any purported "skeleton" is as likely to be false as it is to be true.

<comment><USER16> The idea isn't that the machine is actually detecting anything here, it's that the general atmosphere of the "test" and a sufficiently convincing performance of "the machine says you're not being truthful" will get people to volunteer information that they would otherwise have kept to themselves. It's a variation on an old technique where an interrogator will claim to have incriminating evidence or eyewitness testimony that they actually don't.

<comment><USER17> Now I wait for someone to complain about companies abusing their hires through this in another hn thread for hiring practices.

</comment></comment></comment></comment></comment><comment><USER18> That has probably never been the case for psychological evaluation. As the article hints at, the assessments should be under strong scrutiny. Not only in the courtroom for that matter.

While I do think it preferable to get an opinion about criminal responsibility, it should be considered as an educated guess.

<comment><USER19> Are these the same psychological evaluations that psychiatrists do to determine if somebody can be involuntarily committed? Because that sounds like an even bigger problem than this being abused in the criminal justice system. At least in the latter you tend to have rights afforded to you, whereas in the case of the former in some places they can literally even bar you from speaking to an attorney.

<comment><USER20> There are two situations in the US in which a person can be committed against their will. The first is if the person is considered a threat to themselves or others. I don't believe there's a standard evaluation for that. But the threat needs to be immediate and explicit. A homeless person wandering through a park shouting he's going to kill the president isn't going to cut it. However, that person could wind up arrested, which brings us to the second reason a person could be involuntarily committed: being mentally unfit to stand trial. And for that there are standardized evaluations. Keep in mind the bar for being mentally fit to stand trial is pretty low. It basically means you understand what a judge is, what a jury is, what the lawyers do, being able to communicate with and understand your lawyer, etc. If you are found unfit to stand trial, you will be involuntarily committed until such a time as you are considered fit to stand trial.

<comment><USER19> > _If you are found unfit to stand trial, you will be involuntarily committed > until such a time as you are considered fit to stand trial._

So, indefinite incarceration without being able to see an attorney or even a judge? Any system will have cracks and people do fall through those.

<comment><USER20> You can still see an attorney while committed, and you will be periodically re-evaluated and that goes before a judge. As for cracks, I'm aware of cases where a person has been put on a 72 hour hold inappropriately, but one bigger issue is declaring people mentally fit for trial who really aren't. I know institutions in Florida have been criticized for basically doing the bare minimum to make people appear to be just barely mentally fit.

You are correct that people found mentally unfit to stand trial can remain committed for years, particularly those with drug-resistant schizophrenia. Tragically, for some of the most vulnerable members of society this is the best case scenario. People with severe schizophrenia who can't function often end up on the street, suffering hardships and victimized. There are parents who's child is on the street, getting frostbite and being assaulted, who go to any psychologist they can find to try to find someone to declare their child a threat to themselves or others so they can get into treatment. But they rarely are. Often they just have to hope their child commits some minor infraction like shop lifting and wind up declared unfit to stand trial so they can get the treatment they need.

<comment><USER19> Then there are people like Gustl Mollath: [https://en.wikipedia.org/wiki/Gustl_Mollath](https://en.wikipedia.org/wiki/Gustl_Mollath)

You make it sound like this is only used for good and that nothing can ever go wrong with this system. That's not true. While you do get reevaluated, you get reevaluated by colleagues of the person (or the same person) who initially committed you. Furthermore, you're forced to take mind altering substances at their say-so and are imprisoned in a place, where any sign of fear or anxiety is counted against you.

Also, in some places it's possible for the psychiatrist to determine that contact with an attorney would "exacerbate your condition" and can bar you from seeing one.

I would much rather be on the street and free than indefinitely locked up and treated as poorly as people in mental institutions are.

<comment><USER20> Like I said, I can only comment on the system in the US. I hadn't heard of the person you mentioned, but it seems this was a case in Germany where he was found not guilty of charges on the basis of insanity, and held in a psychiatric facility. I'm not entirely sure if that could happen in a US court. Getting a not guilty by insanity verdict is rare, and would have to be made by the defense with the consent of the defendant.

There is absolutely room for abuse in the system, in the US and any other country, I won't argue against that. And I'd love to here any proposed reforms or ideas you might have about improving that. Requiring the mental health evaluator and the facility treating you to be separate would reduce the issue you mentioned about being re-evaluated by "colleagues of the person (or the same person) who initially committed you" and I think that is currently the case in the US in some states, though I'm not sure. Also requiring that someone always has access to an attorney would be good (again, I'm fairly sure that's true in the US). I also think significantly more funding should be made available to mental health institutions, allowing people to voluntarily enter for free or for a small rate, expansion of halfway-house type facilities and programs, restructuring the administration of facilities (a big complaint from my father is that bureaucrats with little education often had control over facility policies rather than the PhDs who dedicated themselves to studying the best way to treat mental illness)

</comment></comment></comment></comment></comment></comment></comment><comment><USER20> My parents are both clinical psychologists, and my father used to do some evaluations for the courts. If I remember correctly, he would do evaluations to see if a person is mentally fit to stand trial, and would recommend to the judge if the person would be better served with psychological help than prison time. Some context:

\- Being mentally fit to stand trial is an very low bar to pass. You just need to understand what a judge is, what a jury is, etc. Generally people who don't pass either have some sort of intellectual disability or severe schizophrenia.

\- The article lists a ton of different situations where psychologists are involved in the legal system, and I don't see a breakdown on what the psychologist is attempting to do. I know my Dad didn't use much more than an IQ test and some basic questions to try and diagnose a couple of clinical conditions. I'd expect some amount of pseudoscience if one side in a messy divorce hires a psychologist to try and show the other side is a bad parent, or the defense in a criminal case trying to show the defendant was in a fragile emotional state and deserves a reduced sentence.

</comment><comment><USER21> First of all something called "Psychological Science" already raises my hackles. Science in general has become so corrupt and politically oriented it makes killing elephants to vilify your technical rival's creation look understated. We have so much useless "science" being funded and won by professional grant hounds that garbage is inevitable.

The US has a legal system not a justice system. I suspect that is true of many countries. Once you are caught up in it then you will realize it isn't personal and it has nothing to do with the truth or justice. We have incentivized "winning" of trials and have blindly gone along with the idea that having both sides behave horribly ensures fairness because well..What else can you do?

Might be time to step back and think if a bunch of premises are working out. Does giving some wannabe tyrant a lifetime job really result in good decision making because they are "free" of political influence? Is it cool to allow for things like fine print and to allow lawyers to be immunized from many bad behaviors because lawyers keep writing rules in such a way to keep lawyers employed? Is it really cool that a prosecutor can lock someone up for 20 years who was innocent but that the recourse is some lawsuit where everyone pays for the settlement and they get to basically get away with "oops"? Is it cool a defense lawyer can "win" a case where they know their client is a child molesting cannibal?

Philosophy and big questions may seem quaint and are often the target of people who claim they are some form of scientist but for some reason my non scientist self and many average people seem to be able to suspect that the legal system is a bit fucked up, paying someone to publish papers on the implications of tyrannosaurus rex having created a vegan matriarchy might also be fucked up and if you let those things near each other some really bad stuff happens unless you get serious about fixing the core of problems both of them have.

</comment><comment><USER22> They still use blood splatter experts which when I heard it as a juror seemed like pseudoscience, extracting all kinds of assumptions.

</comment><comment><USER23> As fingerprints and "lie detectors" are still generally accepted it seems the answer is "no"

<comment><USER24> Fingerprints are actually pretty accurate, though no perfect. Polygraphs are generally not admissible it court so I don't know what you are talking about.

<comment><USER25> When last I read up on fingerprinting it was pretty dodgy - the problem being not that it's inaccurate, but that nobody _really_ knows how accurate it is. Apparently the professional society that analysts all belong to forbids its members from participating in studies, taking the position that it's "100% accurate when done properly" (which is clearly meaningless).

It's probably 4-5 years since I read about this, it'd be nice if things have changed.

<comment><USER26> >> Apparently the professional society that analysts all belong to forbids its members from participating in studies, taking the position that it's "100% accurate when done properly"

Refusal to run a gauge R&R while insisting errors are due to the operator is a sure sign of a problem. If it hasn't been done, that's one thing but refusing to allow it is quite another.

<comment><USER27> It's the same problem as it is with most anything. They want to use huge databases, but to do that usefully you need an unrealistically low false positive rate.

Even if the rate was actually really good -- something like 99.9% accuracy -- if you apply that to a database with a ten million people in it, you get ten thousand false positives, which is crap.

If you pick one of the matches at random, they want to be able to claim that it's a 99.9% chance that it's them, but it's really a 99.99% chance that it isn't. Or worse, since it's possible the true perpetrator wasn't in the database.

Even for things like DNA that theoretically can do better than 99.9%, you can't get much better than that in practice because before you can, the error rate starts to be dominated by human error rather than coincident matches.

</comment></comment></comment></comment></comment><comment><USER28> Of course they can't. Most Americans believe in some junk or another.

</comment><comment><USER29> Betteridge's law of headlines strikes again

> _Betteridge 's law of headlines is an adage that states: "Any headline that > ends in a question mark can be answered by the word no". It is named after > Ian Betteridge, a British technology journalist who wrote about it in 2009_

[https://en.wikipedia.org/wiki/Betteridge's_law_of_headlines](https://en.wikipedia.org/wiki/Betteridge's_law_of_headlines)</comment>


How Cloudflare Uses Lava Lamps to Guard Against Hackers - <AUTHOR> https://www.wired.com/story/cloudflare-lava-lamps-protect-from-hackers/ <comment><USER2> Previously on Hacker News ...

[https://news.ycombinator.com/item?id=17638122](https://news.ycombinator.com/item?id=17638122)

[https://news.ycombinator.com/item?id=16772059](https://news.ycombinator.com/item?id=16772059)

[https://news.ycombinator.com/item?id=16464962](https://news.ycombinator.com/item?id=16464962)

[https://news.ycombinator.com/item?id=15654311](https://news.ycombinator.com/item?id=15654311) (1 comment)

[https://news.ycombinator.com/item?id=15639320](https://news.ycombinator.com/item?id=15639320) (4 comments)

[https://news.ycombinator.com/item?id=15114275](https://news.ycombinator.com/item?id=15114275) (6 comments)

[https://news.ycombinator.com/item?id=15048655](https://news.ycombinator.com/item?id=15048655) (11 comments)

Note that these are not all from the same source, but some are.

Obtained by using this search:

[https://hn.algolia.com/?query=Cloudflare%20Lava%20Lamps&sort...](https://hn.algolia.com/?query=Cloudflare%20Lava%20Lamps&sort=byDate&dateRange=all&type=story&storyText=false&prefix&page=0)</comment>


A guide to Workplace survival for the introverts amongst us - <AUTHOR> https://yashshah.in/an-introverts-guide-to-workplace-survival-52446060524f#.mkw6jnwur <comment><USER2> The author totally confuses being a true introvert with shyness.

<comment><AUTHOR> Thanks for the feedback. Will research it a bit more and improve upon the article. If you could also share some interesting links I should read upon, please do! - Author.</comment></comment>


Ask HN:  Where do startup founders go for health/dental coverage? - <AUTHOR>

We're young, and we don't get sick that often (hopefully).  But it still seems like it'd be a good idea to be insured.  Seeing that we ought not get sick often, is there any insurer that would be optimal for those corner cases, where we accidentally drive off the road one night?..<p>Perhaps I am supposing too much.  How often is it that founders run around without insurance? <comment><USER2> It would really help to know more about where you are located, without that information it is difficult to tell you what your options are.

For the US and Canada the easiest thing is to let an insurance professional work out the details for you, get several quotes that give you the kind of coverage that you need and then sign up with one of them.

It may significantly change the picture if you incorporate first, then get a corporate health package for your startup and register yourself as an employee.

Remember about special circumstances such as business travel if you are going to spend a lot of time en-route.

Another big factor for self-employed people is insurance that covers you in case you become incapable of working, but personally I've never been able to justify the expense of that kind of insurance.

If you can, save up. I know that's weird advice to someone starting out because you'll need every penny you can get to make it go, but even so, if there is any chance of it, create a little nest egg, you never know what's around the corner.

<comment><AUTHOR> I'm in the Bay Area, but I was looking for a more general answer for everyone else here. That having been said, you really ought to be in the Bay Area if you seek to do a startup.

<comment><USER2> Why on earth should one be in the Bay area if you seek to do a startup ? People are creating successful (web) companies all over the globe...

It may help in some respects, but in others it might actually be detrimental.

One of the beautiful parts of working via the internet is that you can do it from just about anywhere. Plenty of start-ups and open source companies work without a formal office, the founders are where ever they were living before they got together and formed a company.

</comment></comment></comment><comment><USER3> I think a lot of us keep our COBRA coverage from previous employers. I took this route for about six months before getting around to pricing an individual plan. Which, surprisingly, was about 1/3rd the cost for way better coverage than what I had before.

I disagree somewhat about only needing coverage for catastrophic illness or accidents. There's a huge psychological benefit to not having to do a cost/benefit analysis if you think something's wrong and you want to go to a doctor.

<comment><USER4> Sorry for any overlap; your post and my edit re COBRA appear to have crossed paths.

</comment></comment><comment><USER5> At one point I had worst-case personal health insurance through Blue Cross Blue Shield (Anthem). This was several years ago but I remember it costing <$100/month.

</comment><comment><USER4> I don't have any specific suggestions, but I am interested in what others might have to say.

In the U.S., for those who are young and healthy, and with an income and/or savings that can cover routine and significant initial expenses, I've heard it recommended to go with a major medical plan having a high deductible (multiple thousands of dollars). You pay for all the routine stuff yourself, and for the initial hit for anything bigger. If you encounter a catastrophic situation, you are covered (beware of pre-existing conditions when you sign up). The risk of that is relatively low. Rates are commensurately lower. This corresponds more with how medical insurance was for many some decades ago, before coverage was in practice extended to routine expenses.

It's the expense of a catastrophe you need to worry about. If you end up tapped out, families and, if necessary, friends can usually find a way to cover a few thousand dollars until you hit your out of pocket limit.

Most likely, there are people who care about you. Carrying health insurance isn't just about you, it's also about them. You prevent putting them in a bind where they must exhaust their own finances to take care of you. (Of course, these days the way insurance companies reprice and drop policies limits the longer term efficacy of self-insurance while unwell, but it's still a valid argument.)

Years ago, I heard that (again, in the U.S.) the IEEE had some group plans that weren't terrible. But that was second hand information, from someone well into middle age (and so in a different part of the market), and times change.

Finally, a number of people I know with their own small businesses obtain their coverage through their spouses or significant others, who work a job that provides a group plan. I'm not saying Plenty of Fish nor eHarmony is a plan of approach, but if you are in a long-term relationship with someone having coverage, even if not married, it is worth exploring what that plan may offer. My last employer covered long-term partners (although I'm not sure how that was qualified; I believe sharing a household may have been a factor).

EDIT: One more thing: I think that COBRA may now cover students for some number of months after they leave school, as a continuation of their coverage e.g. under a parent's group coverage from work. I could be wrong; perhaps someone else can speak to this.

If you are just leaving school, this would be looking into; it would give you a year or 18 months or whatever, as long as you can pay the monthly premiums. However, you must elect COBRA coverage within a relatively short period of the time at which you qualify, or you lose the option -- at least that's how it is when electing COBRA after leaving an employer.

<comment><USER6> The high deductible insurance isn't only for emergencies -- many of these plans offer significant discounts on prescription medicines regardless whether you've met the deductible. This alone is worth it!

Also, if you submit doctor's bills through your insurance company, most of the time the insurance company will negotiate a better rate. So, even if you haven't met the deductible you'll end up paying less.

</comment></comment><comment><USER7> Call a broker. They're in the yellow pages and will be happy to give you a quote with no obligations. If you tell them what your parameters are, they can probably find something for you.</comment>


Teaching Pandas and Jupyter to Northwestern journalism students - <AUTHOR> https://www.californiacivicdata.org/2017/06/07/dc-python-notebook/ <comment><USER2> So many people don't realize pandas can be horribly slow if you use it "wrong" \-- i.e., for computations that don't vectorize in the way that's native for pandas. Also, working with dataframes that contain millions of rows is like playing a Russian roulette -- there's usually many ways to do the same thing in pandas, if you guessed correct you'll wait a minute or two till the computation's done, if you guessed wrong it'll run out of ram, segfault or never finish.

For big datasets, I've stopped using pandas myself a few years back for anything other than printing dataframe, datetime index series, doing quick plots, or working with tiny/toy datasets -- in favor of numpy structured/record arrays. It's kind of the same thing, without all the groupby/index fluff, but very fast.

Just last week, I've helped my colleague speed up her code (numerical solver for financial data) by more than 100x, the biggest part of it was ditching pandas entirely and using numpy.

<comment><USER3> So I've been learning Pandas after mostly using either standard Python, R or VB to do our analysis, and I'm glad I read this because I thought I was going crazy.

I have a data set of about 4 million rows I routinely analyze. I have 32 gb of space on my desktop, and the only time I've really run out is when I write incredibly poor code. In the short while I've been trying to use Pandas run out of memory and get killed by the OOM killer or completely freeze my system for half an hour while processing what I thought were simple operations.

I was honestly beginning to believe I was way worse at programming than I thought due to all of the issues I was having. I wasn't even doing anything particularly complex, I was just loading a dataframe from a sql query and playing around with basic manipulation.

</comment></comment><comment><USER4>
      But pandas' magical simplicity makes things like computed columns immediately intuitive:
      > data['% of total'] = data.amount / data.amount.sum()

Is that immediately intuitive? I'm staring at this trying to understand what it's doing. Is the / operator overloaded? data.amount is one particular amount, and data.amount.sum() is the sum of all amounts? Why does the "computed column" property goes on the same data object as the actual data? Maybe it's immediately intuitive if you've used pandas.

<comment><USER5> OTOH I think it's immediately intuitive if you are not a programmer. :)

When you see amount / sum, you think of how a list can be divided by what appears to a scalar.

When they see it, they parse it out for what they naturally understand a percentage to mean. And all is well.

<comment><USER6> Exactly this. I'm the author of the post and was a programmer by trade for a long time before I became a journalist. I _don't_ actually find this more intuitive than more explicit and fundamental programming techniques. But my students grokked it immediately, whereas even simple structures like loops seem to be harder to get for them to get their heads around.

Given I had ten weeks to cram a lot of material in but did want to show them some amount of programming, this worked pretty nicely.

<comment><USER7> I've been very troubled by coming to this stuff as a programmer. I'm having the same instant dis-satisfactory response that your students are having with looping structures.

I've recently started working on some projects where I need to do a lot of data visualization, story telling, and investigation "into the data". As a programmer getting into this stuff is far worse then I expected. Nothing works as I would think would make sense. My biggest problem is that I'm thinking like a programmer not like a mathematician. I expect objects, segregation or elimination of state, application and reduction, re-usability, and algorithms.

Are there any good frameworks that allow for processing, caching, data visualization (layout -> data population -> rendering), then exporting to some format (PNG/PDF/TeX)?

What follows, below this line, is my groveling about the things that have bothered me. Be warned if you don't like rambling and complaining. \</comment></comment></comment></comment><comment>-

Pandas, one of the biggest "offenders", is trying to be an in-memory database with only one table but ends up having far fewer features and a far clunkier interface (want to do a simple map/reduce? Welcome to chaining a strange combination of '.loc', '&', and ':,' "operators"). Matplotlib is unintuitive and poorly documented for anyone who isn't a mathematician (.plot(lons, lats, latlons=True) is correct). Dealing with anything more then 100,000 data points is a pain to revision on. State everywhere it shouldn't be (matplotlib.pyplot).

While I've been working on this project I probably (each spin) spend an hour or two getting the data out of a format that doesn't make sense from a programmers perspective, I spend another 5 to 10 minutes writing an application/reduction, then I spend another hour to go back into the strange data formats that matplotlib will take. All the while re-running expensive computations and waiting because I have no good persistence layer for my project.

There are just things in this community that are common that I'd never dream of. What follows is a list of these things.

1\. Functions with 20-40 arguments are the norm for some reason. They also love to throw in a few insane defaults, undocumented options, and even magical flags (not enums).

Things like "draw a line, connect the dots" makes it so you need to know what 5 to 7 arguments of a massive function. In C/Java when I need some flags they probably look like this:

        some_operation(some_data, DO_A | DO_C | DO_Z)

Or, if someone was feeling really nice and defined an enum & used varargs, it looks more like this:

        some_operation(some_data, SomeOperationFeatures.DO_A, SomeOperationFeatures.DO_C, SomeOperationFeatures.DO_Z)

Where all of these have appropriate documentation. My IDE place nice and can complete these things. My compiler likes it and can typecheck these things. I like it because I know all of my options available (SomeOperationFeatures. _).

With matplotlib you have things like `linestyle=""`. You have to go to a webpage, look through the docs, and figure out what you want. It's worth reading the docs [1] if you never have. This could have very easily have been LineStyle.DOTTED, LineStyle.DASHED, LineStyle.BLANK. IDEs would have played nice. The 3.6 runtime's typechecking would have played nice. You would be able to see what your options are (LineStyle._).

2\. Non-standard ways of treating python-isms

Pandas, for some reason, cannot stick to python-isms. I can't do simple things like...

        if not df: # Check if DF is empty
            return ...

        for row in df: # Iterate through the rows of a DF
            row.date = datetime(row.year, row.month, row.day, ...) # Create a new column in the row based on the row's data.

        subset = [a for a in df if some_condition(a)] # Do simple filtering

Pandas also implements it's own versions of standard python objects! You need to know, and go back and forth between two, ways of doing things.

3\. All these libraries separate logically grouped concepts.

Lets say I have time series data from 10 sensors.

        class SomeMagicalSample:
            def __init__(self, a, b, c, d. ..., occurred)
                self.a = a
                ...
                self.occurred = occurred

With this code I can generate very complex filtering, combinations, and what not. Things like extracting "real" meaning from measured values becomes easy to express.

        def get_magical_scalar(self): return ... some interpolation ...

        def is_some_magical_type(self): return ... some check ...

Now I can use my already tried and true reduction and application.

        sum(map(SomeMagicalSample.get_magical_scalar,
                filter(SomeMagicalSample.is_some_magical_type, samples)))

Pandas, matplotlib, numpy, scipy and the lot are designed to make me avoid this style of organization. I'm instead forced to do something like this.

        a = [...]
        b = [...]
        c = [...]
        d = [...]
        ....
        occurred = [...]

Then I have to jump through hoops to keep all of this data in the same order, shift it around together.

4\. Because everything is meaningless lists of numbers there are no ways to reuse code.

Most of the code I have written to show off a single value over time, or pull some data out of some other data and visualize it, is never going to be used again. Unless I want to look at this exact same thing this code will not be useful. If there was some way pass objects around, hide the internals, and process them independently of their meaning then this would not be the case.

The one case where this was not true in the past few days was when I rendered a model's prediction into a pcolormesh and drew it onto a basemap. By passing it a basemap it will automatically find the place to generate data for with the model. This was an undocumented feature that I had to read the source of basemap to find was possible (pulling the top left and bottom right Lat Lons from a basemap regardless of projection).

Maybe these warts just hurt for a little while? Do these go away? Are there alternatives that can handle >10 million data points? I don't have a good analysis framework setup for the work I'm doing. Maybe this is the issue. I don't even know what a good analysis framework would look like.

[1] - [https://matplotlib.org/api/lines_api.html#matplotlib.lines.L...](https://matplotlib.org/api/lines_api.html#matplotlib.lines.Line2D.set_linestyle)

<comment><USER8> ">Are there any good frameworks that allow for processing, caching, data visualization (layout -> data population -> rendering), then exporting to some format (PNG/PDF/TeX)?"

I use SAS for this in my Day Job it's not a free program but powerful for this type of stuff.

I typically use SQL queries (via SAS's proc sql command) to manipulate and process my data but you can also programatically manipulate your data sets using SAS's "datastep" language.

SAS has support for macro expansions which make some of your examples (like manipulating 10 sensors at once) pretty trivial. But this is getting into programming language territory I would not expect someone new/unfamiliar with programming to grasp all of this intuitively.

edit: Heres some code I have in production that counts how many (of 8) sensors are reading high in a given time frame.

array aads (*) TP_AD1_TOP_STACK_TC1 -- TP_AD1_TOP_STACK_TC8; NO_AD1_TEMPERATURES_HIGH = 0; do j= 1 to dim(aads); if aads(j) gt 160 then NO_AD1_TEMPERATURES_HIGH = NO_AD1_TEMPERATURES_HIGH +1; end;

Downside is that SAS is a commercial package and it is not free I Have heard a lot of good things about "R" which is supposedly quite similar but have not had opportunity to use it myself.

<comment><USER7> I'd like to get my analysis systems as "inclusive" as possible. I'd be using my internal SQL server and just fall into python for my processing if I didn't care about sharing my work.

SAS looks good though. I've looked at it many times and it is a clean solution if you really are in the "big games".

<comment><USER8> Yeah that is a good point trying to separate analysis from database.

My work is going opposite direction unfortunately we are starting to use Hadoop makes it quite difficult to do things "outside of the database" there is just too much data to work with locally.

</comment></comment></comment></comment><comment><USER9> For installation of Jupyter, Anaconda works well across all platforms, even most slightly older OSes.

[http://jupyter.readthedocs.io/en/latest/install.html](http://jupyter.readthedocs.io/en/latest/install.html)

It does work better for people to install Jupyter with Anaconda, rather than use virtual environments, because there's not the overhead of also having to learn about virtual environments. People tend to think of them as just associated with the class and don't use them as much for their own work outside of the workshop or course.

</comment><comment><USER10> I spend about 8 months of the year teaching pandas to journalism students, and it's a wild ride! Despite some of the iffy syntax and pandas' seeming inability to standardize parameter names, the students seem to grok the workflow much more quickly than wrangling lists and dictionaries in the "normal" world of Python.

I know everyone loves the reproducibility Notebooks supposedly bring to the table, but without a doubt my favorite part is the ability to export super- unattractive matplotlib charts as PDF, clean them up in Illustrator, and suddenly find yourself with publication-quality graphics. Knowing you're producing something more than just some numbers to toss in a story can be a strong sell to a lot of folks.

</comment><comment><USER11> I really like Jupyter, but somehow I'm not in love with it. Like, every time I fire it up to use it for quick data analysis, I seem to inevitably end up back in sublime + bash, sending plots to disk. Am I the odd one out?

<comment><USER12> If you know what kind of short analysis you want to do, the benefits of Jupyter are not obvious. If you have to do a lot of exploration, and do longer analyses then it becomes indispensable.

<comment><USER6> It's also really valuable for sharing. At NPR, I did an analysis of Trump's tweets that was used in a digital post and Morning Edition piece. The notebook was easy to share with the reporter, editor, and readers and accessible enough for them to understand ([https://github.com/nprapps/trump-tweet- analysis/blob/master/...](https://github.com/nprapps/trump-tweet- analysis/blob/master/trump-tweets.ipynb)).

</comment></comment></comment><comment><USER13> It is hard to overstate just how ferociously bad the experience of getting Jupyter from blank computer to the equivalent of "Hello world" actually is.

<comment><USER14> I have a strategy that works pretty consistently - close your eyes and ignore the best practices like using Anaconda, Python 3, virtualenv (or venv in py3... oh wait it's a module?) and just install Python 2.7 with pip into default locations (I even run pip with sudo, the horror). It works really well! I run all sorts of CV, ML, deep learning notebooks with no problems.

<comment><USER15> I agree, I never use virtualenv. I might if I was building a production system, but for my own laptop I feel perfectly capable of remember/tracking/checking what is in my ~/.local. (I always install with `--user`)

If I really need to containerize something, I use Docker.

</comment></comment></comment><comment><USER16> I've found that most of the queries that journalists are trying to run are pretty basic, mostly filtering and histograms. Setting up a virtualenv, dependencies, etc can be tough. And RTFM isn't sufficient for someone getting started. I was surprised that nothing existed for this, so I built it.

It has the basics of a Jupyter notebook - filter, sum, average, plot. So far it's attracted a pretty interesting audience including journalists, but also lawyers and consultants.

www.CSVExplorer.com

</comment><comment><USER4> Side note, I googled "pandas" and get a lot of results related to the python library, and very few related to the large mammal. Bing doesn't give me any related to the python library. Google knows me too well.

</comment><comment><USER17> Excellent share.</comment>


Show HN: pooshr - What pushes you? - <AUTHOR> http://www.pooshr.com/ <comment><AUTHOR> After seeing a post earlier for a different motivational project, <http://news.ycombinator.com/item?id=1616154>, I figured I'd share the recent project I've been working on. It's a motivational content delivery vehicle via SMS. We were initially focusing primarily on B2C, but have decided to focus more on B2B clientele. The impetus for this project was partially this article from the WSJ: [http://online.wsj.com/article/SB1000142405274870431490457525...](http://online.wsj.com/article/SB10001424052748704314904575250352409843386.html)

</comment><comment><USER2> poo isn't really something you wan't in a domain name.

<comment><AUTHOR> We recently bought pushr.net and will be switching over sometime soon.</comment></comment>


Ask HN: New Zealand Tech Scene - <AUTHOR> Hi HN,
right now I'm at a point in my life where I'd like to move abroad for a while. Next year I'll finish my PhD and would like to go somewhere new. I was travelling through the northern half of NZ a few years back and loved the land and the people.
How is the tech scene in NZ? I guess Auckland and Wellington are the biggest places, with the most opportunities? Can anyone share experience moving to NZ? And what are the salaries like? Enough to build a nest egg in a few years?
Thank you :) <comment><USER2> NZ has an excellent tech scene.

The combination of environment and culture has long made it a haven for developers and entrepreneurs. Plenty of top open-source developers are based there, and there are many good companies, large and small to work for, as well as good universities.

It's only 3-5 hours time difference (depending on the time of year) from California, so it's easy enough to work remotely for a Silicon Valley company from there.

The complication is that it's likely to be hard to get into for the next few years.

It's successfully managed to control the coronavirus, and has just lifted all internal restrictions.

But it will be tightly controlling its border until the global risk has completely subsided, and in the meantime, many of the best developers in the world will be wanting to move there.

See this recent interview with Naval Ravikant for more thoughts about this: [https://www.youtube.com/watch?v=3Sd_PQoR7OI](https://www.youtube.com/watch?v=3Sd_PQoR7OI)

</comment><comment><USER3> NZ has a variety of different sized software companies, most of whom were hiring at the start of the year so will resume hiring if Covid doesn't kill their customers. Look at: xero.com, vendhq.com, asktimely.com, soulmachines.com for a start.

NZ has a number of agtech businesses (Halter, for example) doing techy things in the agriculture/horticulture space. Attend Fieldays to see what's going on there: [https://www.fieldaysonline.co.nz/](https://www.fieldaysonline.co.nz/)

And there's a mixture of other high-tech (e.g., RocketLab) with a solid backbone of niche weird engineering businesses that seem to do well here.

For a "full" (or, at least, substantial) list of NZ startups, visit: [https://new-zealand.globalfinder.org/](https://new-zealand.globalfinder.org/)

Auckland and Wellington are the big dogs. RocketLab is off the Mahia peninsula on the east coast. Halter and AgTech tend to be Hamilton or Palmerston North. Dunedin has some software businesses, Christchurch has some engineering ones.

Everyone speaking English is deceptive! I moved back after 10 years away and it was a bit of a culture shock after America: Kiwis are British and tend to avoid conflict until they explode, and don't like to say "no" to your face (though it's not as strong as in some Asian cultures), so come across as passive-aggressive to Americans. Vice-versa, Americans can come across as loud and aggressive because they dive straight to the point. Read [https://ask.metafilter.com/55153/Whats-the-middle-ground- bet...](https://ask.metafilter.com/55153/Whats-the-middle-ground-between-FU- and-Welcome#830421) and you'll get be able to adapt. Allow a year of bumpiness before you start to figure things out.

Salaries in software let you live well, and you could save. You could earn NZD100k+ and spend NZD60k living comfortably but not in luxury or travelling internationally. Salaries in some other forms of tech (bio) are more meh (NZD60k+). See seek.co.nz (jobs site) and the jobs section of trademe.co.nz to see what's available.</comment>


Awards are Bullshit - <AUTHOR> https://medium.com/@getdeckchair/awards-are-bullshit-8470154e83d7#.uu5tpdkds <comment><USER2> How many Purple Heart winners have you seen be dismissive of their awards, and throw them away at the first convenient moment?

> You'll know because your peers have told you so.

One way they tell you is, you know, with an award.

> You'll know because your employees are happy.

As a counter-example, consider someone who internally blows the whistle. Often that person will be snubbed as being disloyal, even if the end result saves the company money and keeps it out of legal trouble. One of the best practices is the company to give a 'meaningful reward or recognition for legitimate whistleblowers'. (Quoting [http://corporatecomplianceinsights.com/problems- with-the-cur...](http://corporatecomplianceinsights.com/problems-with-the- current-internal-whistleblower-systems/) ).

This sort of award can be oil for troubled waters.

> If you are doing great work. You are doing great work. Period.

No. Period.

McConnell's "Rapid Development" has a chapter on programmer motivation, and a section titled "Rewards and Incentives". Quotes from it:

> "Developers grow tired of working for unappreciative companies, and rewards > are therefore important to long-term motivation. But monetary rewards have > to be handled carefully. ... It's also important to present any reward > purely as a gesture of appreciation rather than an incentive ... _The work > itself is the greatest motivator_ , and the more a manager stresses an > external reward, the less interested the developer becomes in the work > itself, and the more potential motivation is lost.

> Here are some possible gestures of appreciation that are often appropriate: > [I've abbreviated the list]

       * Sincere praise directed at a specific accomplishment
       * Humorous or series awards in the form of plaques, certificates,
           trophies, and the like
       * Special events to celebrate significant accomplishments

> In _In Search of Excellence_ , Peters and Waterman (1982) report that the > companies that manage to stay in the top halves of their industries over > 20-year periods make extensive use of nonmonetary incentives.

Under "Morale Killers", McConnell includes "Lack of appreciation for development's efforts" and "Heavy-handed motivational campaigns".

It's easier for me to believe this author considers these awards to be "heavy- handed" than to agree with the conclusion that awards are bullshit.</comment>


Drizzle - A Lightweight SQL Database for Cloud and Web - <AUTHOR> https://launchpad.net/drizzle <comment><USER2> I'm not convinced that this is useful as a webapp data store.

What is needed for a webapp datastore? Well, in my opinion, it needs replication and reliability above anything else. Drizzle doesn't offer that.

Drizzle offers a MySQL that will scale up a little further sot that you don't have to worry about replication when you have 1M hits per month, but 2M. That's not useful (to me). Partially because at that 2M point, you're in trouble and I don't like that. Mostly because even if I don't need replication for performance, I do need it for availability.

I don't mind if a datastore even removes joins. I want highly reliable, highly available, highly redundant, highly scalable data storage. I guess that's why CouchDB is more interesting to me.

</comment><comment><USER3> From earlier news: No views, no stored procedures, no prepared statements, trigger, and who knows what else.

Seriously, THIS IS NOT A DATABASE.

<comment><USER4> It's well suited to a certain class of applications, specifically web apps. I've never needed the things you list and I'm not the only one.

<comment><USER5> More generally, there are basically two kinds of apps that connect to a database: "application databases" that are the primary or sole user of a database and use it for all their persistence needs, and "integration databases" that are one of many interacting with the database. Web apps usually work with application databases. AFAIK Martin Fowler coined this terminology/distinction, see <http://martinfowler.com/bliki/ApplicationDatabase.html> .

For application databases, usually having any kind of view/stored procs/triggers/prepared statements is a smell that you're conflating business logic with persistence.</comment></comment></comment>


Joel Spolsky On Tech Hiring: Beware the Exploding Offer - <AUTHOR> http://www.betabeat.com/2011/11/23/joel-spolsky-on-techs-hiring-season-beware-the-exploding-offer/ <comment><USER3> A lot of people are viewing this from the employer, which I guess makes a certain amount of sense, but as a potential employee _that's not your problem_.

The simple fact is that as an employee you should be looking out for yourself. Period. That means pushing back on a hard deadline that will exclude you from trying to get your dream (or simply preferred) job.

If the company won't budge and you're unsure of your prospects then yes by all means accept it, go to the other interview and, if you get it, bail on the other one.

For those that object to this on ethical grounds, consider this scenario: the company has their preferred employee who passes on the job and then they offer it to you. If that first guy comes back and changes his mind, will the company say "oh sorry, we've offered it to someone else". They might. Or they might not (and I've had it happen where they haven't).

If your "safety employer" is a large company don't even give it a second thought. Microsoft or Yahoo will offer hundreds of jobs. Not everyone is going to show. It's factored in and the companies won't die if you don't show up.

Be more careful when it comes to small companies but, as others have noted, smaller companies may be in a situation between getting 0 employees and getting 1. That's a big difference from getting 199 or 200.

Ultimately though, the company's problems aren't your problems, particularly if they exploit your inexperience and relative lack of negotiating power to force you into making a premature decision. That company will have interviewed other people. It will simply extend an offer to the next person on the list.

If they can't get someone to join them they're either not offering enough compensation or they're simply not desirable employers. Neither of which is your problem.

<comment><USER4> _A lot of people are viewing this from the employer ..._

I view this as simple ethics. You keep your word, period.

 _For those that object to this on ethical grounds, consider this scenario: the company has their preferred employee who passes on the job and then they offer it to you. If that first guy comes back and changes his mind, will the company say "oh sorry, we've offered it to someone else". They might. Or they might not (and I've had it happen where they haven't)._

If a company rescinds their offer due to no fault of your own (e.g, misrepresentation), then it's just as unethical as you rescinding your acceptance of the offer.

If you're not sure, then _simply do not accept the offer_. They'll either wait (or they won't), but it's the only ethically sound decision available, and you will avoid the possibility of making a bad name for yourself.

I'd certainly remember someone that accepted an offer and then backed out without cause. Nobody responsible does this.

<comment><USER3> > I view this as simple ethics. You keep your word, period.

Certainly in the US in most states, employment is "at will", meaning the company can fire you for pretty much any reason at any time (ignoring protected classes and so on). Likewise, the employee can leave at any time.

If you accept the offer and then renege _you've actually fulfilled your contractual obligation_.

If the company wants more than that, they need to pay for it. They can lock you up for a period with a golden handshake. They can keep you with golden handcuffs.

You have a misguided view of ethics here. The employment contract exists to give _both_ parties an out.

This reminds me tangentially of the ethics debate around foreclosure. Some smart people realized would do things like:

\- deliberately not pay the mortgage to trigger foreclosure as they were underwater and presumably they lived in a "no recourse" state (meaning the bank could take the house and that was the end of it);

\- they might do this simply to force a better rate or get the bank to settle on the owed debt at a level where they were no longer underwater.

Some argued it was your ethical responsibility to pay if you can. I disagree. The contract that exists between the lender and the borrower exists to lay out the rights and responsibilities of both parties, including a mechanism for terminating the contract.

From a purely ethical (and completely irrelevant) point of view I see this as holding banks accountable for shady lending practices. After all, it was banks and the lack of due diligence in lending practices that led to this situation.

You are under no obligation to spend several years working for your second or third choice employer just because you said you would.

Think about it this way. Imagine you said to your spouse "I said I'd marry you but that's because someone else said 'no' so I'm going to stick with it because I said I would". What would happen? Would your spouse thank you? Almost certainly not. Nobody wants to be a second choice.

An employer wants people who are excited to be working for them and enthused about what they're working on. It makes a happier employee and a better place to work. If you feel like you're trapped you'll simply mope around thinking about the other chance you gave up, helping nobody, including the employer.

Oh and as for the idea that you've crossed the employer, in my experience most people don't take this personally and, for those that do, you probably don't want to work for them anyway. Fact is, they'll probably forget who you are in a few days or less.

It might hurt your chances at working for that same company in the future but it probably won't. And if it does, considering you turned them down once, do you really want to work for them?

<comment><USER4> > _Certainly in the US in most states, employment is "at will", meaning the > company can fire you for pretty much any reason at any time (ignoring > protected classes and so on). Likewise, the employee can leave at any time._

You're mixing things up. Ethically speaking, if the company winds up having _cause_ to fire them later, that's a separate matter, and there's no ethic quandary.

Likewise, if the employee makes an effort to work there and decides to leave, there is no ethical issue.

If a company must engage in layoffs, a responsible company incorporates a severance as a means compensating the employee for the failure of the company to hold to their end of the bargain due to unforeseen circumstances or failure.

> _If you accept the offer and then renege you've actually fulfilled your > contractual obligation. If the company wants more than that, they need to > pay for it._

One shouldn't have to pay for people to do what they say they'll do: if they accept the offer, barring some act of god, they should start work for the company.

You bring up mortgages as an example -- it's a poor one. In buying a house, you're stating the intention to pay for it. Ethically, you're on the hook -- if you fail to make payments, someone else will be left holding the bag.

The contract is merely a legal (not ethical) enforcement mechanism by which the bank may attempt to recoup their loss, in a country where we (rightly) have the 13th amendment that forbids slavery and/or debtors prisons.

> _From a purely ethical (and completely irrelevant) point of view I see this > as holding banks accountable for shady lending practices. After all, it was > banks and the lack of due diligence in lending practices that led to this > situation._

The bank is ethically culpable for shady lending practices, but _so are the people who accepted shady mortgages_.

What's more, is that those people drove up housing prices and made it that much harder for responsible buyers to own a home.

<comment><USER5> > You're mixing things up.

I actually agree with him. The point of "at will" employment is that usually firing happens if the employee has done something terribly wrong. Usually they are "let go" for "no reason." It avoids a potential legal mess. Well a reason is given but it is a safe reason "we are restructuring" and such. The real reason could be anything, heck it could be race or gender, as long as nobody puts that in writing it doesn't matter. It would take a long established pattern of lay-offs to prove that a certain group is targeted. But that's besides the point. The point is that the law is presented a "wonderful feature" to new college graduates -- "amazing, you have the freedom to leave anytime". I would guess that most often than not, it is used by companies to get rid of employees. BUT in this one instance, that law can (and should) be applied by the employee.

I really don't like how all of the sudden "morality" starts playing into in. Morality in such instances (mortgage payments and employment) is what is used by the more powerful entity to (company or bank) to keep in check those that are in a less powerful position ("it is immoral to stop paying your mortgage", "it is immoral to quit after 3 days").

The point is that morality doesn't and shouldn't play into it. Usually companies don't follow moral principle but rather legal principle. Smart individual should do the same thing. Otherwise they are and will be abused and taken advantage of.

<comment><USER4> _The point is that morality doesn't and shouldn't play into it. Usually companies don't follow moral principle but rather legal principle. Smart individual should do the same thing. Otherwise they are and will be abused and taken advantage of._

I've made a long and rewarding career out of following moral principals, and my reputation has been invaluable in the ongoing growth of my career and (now) my own business.

It's simple to avoid being abused and taken advantage of without behaving unethically: don't make agreements you can't (or won't) keep, and make a genuine effort to help correct any situation you find abusive or untenable.

If you behave in the manner you're describing, don't be surprised when you find yourself primarily interacting with other people who _do_ try to take advantage of you -- you'll attract them through your behavior, and will repel individuals who expect to trust the word of the people they work with.

<comment><USER5> Ok so what is your suggestion for this young college graduates? I am guessing to not accept the offer?

<comment><USER4> Yes -- ask for more time. If they say no, then just don't accept the offer.

Honestly, nobody you want to work for is going to say "no" if you ask for a little more time, unless business constraints dictate that they truly can't afford to wait on the hiring decision -- which is, in itself either:

\- A sign of either poor planning on their part.

or

\- A demonstration of their low assessment of your value to their organization.

<comment><USER5> I agree. Basically if it they are establishing an adversarial environment right off the start, maybe they are not a good company to work at to begin with. I think the school recruiting office could at inform the students about such strategies and tell them to beware.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> In general, one should be aware of the six principles of persuasion as outlined by Cialdini in _Influence: The Psychology of Persuasion_ of which the "exploding" part is an example of "scarcity". These principles are just as relevant to buying a house or car as negotiating for a job.

For the record, the six principles are:

* reciprocity (hey, they flew you out there, right?)

* commitment and consistency (they get you to agree in principle to working for them before they make a concrete offer)

* social proof (look at the great people who already work here)

* authority

* liking

* scarcity (this offer is strictly limited)

[http://en.wikipedia.org/wiki/Robert_Cialdini#6_key_principle...](http://en.wikipedia.org/wiki/Robert_Cialdini#6_key_principles_of_persuasion_by_Robert_Cialdini)

</comment><comment><USER7> _Campus recruiters count on student's high ethical standards._

This goes far beyond campus recruiters. Most companies, at least here in the UK apply the same mentality to job offers.

The key factor is absolute honesty & transparency. As Joel alludes to in the article, be open and tell them you are considering all of your options before making a decision. If pushed, turn the tables and ask them if they would offer a job to the first person they interviewed even if they were a good fit for the role? How do they know the next person they meet won't be a better fit. Pressure tactics are common place and this is an excellent example of one of the first times you will be faced with it and it will benefit you down the line when you start working for them and they press you for project deadlines and so on.

<comment><USER8> I work as a teacher in the UK. Until quite recently, it was normal practice to interview for jobs in teaching, choose the candidate, and then have the candidate sign the contract that day. All the candidates were kept in a room onsite until the committee decided who to appoint.

This system meant no one applied unless they _wanted_ that specific job.

Teaching has become more like other occupations over the last 10 years or so, but the expectation is still that you decide within a few days of being offered the job. Must be a UK thing.

</comment></comment><comment> brown9-2 This article is a word-for-word repost of an article Joel posted on his site in November 2008: <http://www.joelonsoftware.com/items/2008/11/26.html>

How does something like this work - does Betabeat ask Joel for permission to repost his content under their name/banner/ads? Do they work out a cut of ad revenue? Or do they just copy-and-paste the content without permission, figuring most writers won't complain?

<comment><USER9> BetaBeat asked for permission to repost this, which I granted. They did not pay me for it.

<comment><USER10> As a writer, were there any benefits to you to grant that permission? Or was it more along the lines of there being no downside and it's nice to be asked?

</comment></comment></comment><comment><USER11> <http://kuznets.harvard.edu/~aroth/jama.html>

Offers with an acceptance deadline simplify life for the employer, so they do that. Refusing to accept the deadlines or reneging on acceptances simplifies life for the applicants, so they do that. Employers can respond by rescinding offers when someone better comes along, which applicants can counter by accepting and holding as many offers as possible. Employers then realize they must make multiple offers for each position with the intention of rescinding those made to applicants worse than the best one which accepted. Applicants likewise renege on every acceptance except the one from their most favored employer amongst the employers that extended them offers. The time scales on which this all happens compress until it is essentially one big chaotic race condition. When everyone is predictably acting in support of their own interests, the outcome is also somewhat predictable.

It's interesting to observe the tech intern labor market retrace the path that other candidate / organization matching processes, ranging from sorority rush to medical residency applications, have gone down. The amusing bit is that the apparent endgame, where both sides submit ranklists to a central clearinghouse that uses some form of the stable marriage algorithm, sounds like something a tech company came up with.

</comment><comment><USER12> Several people are looking at this from the employer side and claiming that this should be acceptable because it's hard when you have one position to fill and someone has a lock on it for a long time.

While that is valid, especially for smaller companies, many companies definitely use this when that reasoning doesn't hold. I'm about to receive an offer for the summer from [very big company] that employs ~1000 interns in the location where I'd be. I would guess that the team I'll be on has several other intern slots. Despite that, and despite the fact that I wouldn't start my internship for 7 months, from what I hear they will definitely give me a short deadline to decide.

This is purely a matter of them trying to get me to commit while my visit to them is fresh in my mind and before I can apply and consider too broadly.

And while, from an ethical standpoint, you can make the claim that it's "hard" for employers and they "need" this, hiring people is also hard for employers. You can try to shift your burdens on to potential employees, but that's going to hurt you in the competition for talent. Any time that you are less employee-friendly than other companies, even with legitimate reason, you might lose out.

<comment><USER13> date people "in your league". you can try to get with someone out of your league, but they're (much) more likely to string you along until something better comes along, or cheat on you. if you can't get hot enough people to date you, maybe you should work on yourself, and your social proof.

</comment></comment><comment><USER14> There's no mention of the flip side of this. I only have one position, and I interview multiple candidates, several of which are good. If I make you an offer, I can't afford to sit around waiting for weeks for you to make up your mind: if you turn it down, chances are my other candidates are already gone, and now I have to start the whole process again from scratch.

Edit: fair enough, I missed that Joel was talking about the specific context of internships.

<comment><USER15> Most such companies have far more than one position they're trying to fill. Small startups generally aren't recruiting at college career fairs.

<comment><USER16> It depends on the size of the town. In smaller "university towns", often there are a few companies that are hiring specialized tech locally. They get the students who want to stay in town for whatever reason.

I've been at a smaller company where we would typically get 0 or 1 new developers out of the local university each year. But if one of them verbally accepted and then didn't work out for whatever reason, it might be a disappointment, but it wasn't a crisis.

Now that I think about it, it's probably that we would not realistically expect a new hire right out of school to be able to help with a short term deadline. Our products were complex and low-level, and the sense was that a new junior developer would probably not represent a net gain for about 6 months.

</comment></comment></comment><comment><USER17> _"So, when can you let us know?"

"Well," you tell them, "I have another interview coming up in January. So I'll let you know right after that."

"Oh," they say. "That might be a problem. We really have to know by December 31st. Can you let us know by December 31st?"_

What you could do is answer the "When can you let us know?" question with another question "Well, when do you need to know?". Dec 31st might sound like they have some sensible end of year thing, but I predict scummy companies/recruiters will pick a date just before you said you had another interview. Try to see what they say first.

<comment><USER18> Definitely... And never reveal other information that isnot their concern.

<comment><USER17> Exactly, things like previous or desired salaries then give them a benchmark to start the conversation. Let them put the first number on the table.

</comment></comment></comment><comment><USER19> This seems a little short-sighted to me. It's noted that the company doesn't make the offer until they've had the candidate go through on-site interviews. It's not like they are making an offer on initial meeting. If both parties are interested, this should be acceptable.

Look at it from another perspective. The hiring manager has an open position to fill. They want to fill it with someone who wants to work with them. They can't leave a job offer on the table for a long period of time, just to have the candidate say no. Having that offer outstanding prevents them from making an offer to other potentially qualified (and more eager) candidates. An interested candidate should have no problem with a decision at this point in the interview process.

If the job offer is pulled because it is expired, and the candidate is really interested in the job, they should be able to get another offer if the position hasn't been filled by the time they got off the fence.

</comment><comment><USER20> I graduated right before the peak of the 2000 dotcom bust, and I got a two exploding offers that I didn't accept. The offer I ended up taking was the opposite of an exploding offer: the nebulous offer.

I was told I was being tendered an offer. Great! I was ecstatic because the company was a "leader" in the industry I wanted to work in. Ten days and several phone calls later, my offer was still being "worked on." At that point I got impatient and continued interviewing. I had two more offers come in during the formation of the nebulous offer: one of the exploding type and one without conditions. I informed my dream company of the exploding offer and magically the paperwork appeared for their offer the next day. I took it.

6 months later I got laid off along with 20% of the staff.

Lesson learned: a company that treats you poorly when you're in recruitment will treat you poorly when you're working for them.

</comment><comment><USER21> I'm surprised this is coming from Spolsky. Spolsky's companies must be getting big.

Small companies can often only hire one person at a time and therefore need short acceptance windows. Small companies (< 50 people) often have only one specific position open. It is unethical to make more than one offer if you hiring for a single position. Therefore small companies often need short acceptance windows so they can make an offer to someone else who might want the position and fill the job.

<comment><USER22> I've been sitting on a Fog Creek offer since late August and there's been no pressure whatsoever to respond. They seem to take more of the approach of giving out offers to anyone they like, on the assumption that they'll be able to find something for them to do if they all take it. Joel definitely sticks to his guns on this one, but I wouldn't call either of his companies big (pretty sure they both fall in the < 50 people category).

<comment><USER9> Right, no pressure. That said, we are really running low on 30" monitors, and you might have to use an old 13" SVGA monitor if you don't accept by midnight tonight

</comment></comment></comment><comment><USER23> Is it odd that the most surprising thing about this article, for me, was that people start looking for summer jobs in November?

Also, why aren't people accepting every offer they get, then at the start of summer[1] send an email about changing their minds to everyone who isn't the best offer? Or even play offers against each other?

[1] or rather a reasonable amount of time sooner

<comment><USER24> Ethics? Not wanting to burn bridges?

<comment><USER23> I don't know about ethics, wouldn't everyone understand if a person's situation changes in 6 months? That's a lot of time.

Say I accept an offer in December, then get a better one in May. Wouldn't the December offer be understanding of the fact that hey, I'm gonna have to change my mind here.

<comment><USER25> Uh yeah, ethics.

You can treat life like a big exercise in game theory. But you're going to have this thing called a "reputation". Maybe you can get away with it on your campus interviews, but if you consistently lie to get the best of a situation, it will catch up to you. (Lying in this case being accepting an offer without the intention of taking it. As opposed to saying you need time to consider other offers.)

Joel is right -- this is a tactic used by second-rate companies. First-rate companies don't pull bullshit like this. Same with first-rate employees. Accepting every offer and then reneging on all but one marks you as a second- rate employee. It's the behavior of the desperate.

Personally I have always just applied for 1 or 2 jobs at a time so it's never been an issue.

<comment><USER26> I doubt this. By what mechanism will recruiters at company A use to communicate your failure to accept their offer to company B?

 _Accepting every offer and then reneging on all but one marks you as a second-rate employee. It's the behavior of the desperate._

No it's not. I can see why you might think it's shady, but it's not desperate. It's the behavior of someone afraid to push back, which probably happens more to college students than to people that have been working for a few years.

If you don't play the game, you lose.

<comment><USER25> Read the comment -- I said that all likelihood you could get away with it. But as your career progresses, don't underestimate how small the industry is -- especially Silicon Valley.

All I'm saying is that if your first instinct in every situation is to say "How can I lie and get the best of this?" you're not going to be as successful as you think. People aren't dumb.

Also, with that attitude, you'll tend to attract others looking to take shortcuts and rip you off as well. Those people will also be smarter than you.

Software is a great field because it's not a zero-sum game. You don't have to rip someone else off to get ahead. These days software people are tripping over jobs on the way to work, so I'm not sure where the desire to micro- optimize comes from. Just apply to jobs that seem interesting, and accept only the offers where you would actually want to work.

Life is unpredictable so sometimes you might have to back out. But I wouldn't make a habit of it.

The original article is good reminder to push back when you see shady behavior. And it will actually work out in your favor because you will appear more desirable.

</comment></comment></comment></comment></comment></comment><comment><USER27> > _Thanksgiving marks the start of tech's most intense hiring season, as > promising computer science students start looking for summer jobs and > internships._

I'm a student. Legitimate question, is this true? Should I be starting to get my act together for summer internships?

<comment><USER28> Yes. Google starts around this time, and Facebook starts even earlier. When I was in my Junior year I interviewed and got my offer from Facebook when it was still September. In contrast, Google didn't get back to me until November or so.

If you want them to hurry it up, you just need to mention your existing offers. In my Senior year, I was able to get Google to complete the entire interview-interview-offer process within a week and half, before the first week of October, because I had a Facebook deadline.

So the best bet is to interview early so you can use that as a negotiating stick for getting other companies.

</comment></comment><comment><USER29> I would seriously disagree with verbally accepting an offer and then reneging. It's unprofessional and although unlikely when you're just coming out college, it can follow you through your career.

I've been in this situation before and what's worked for me is to play the same game they do. If they tell you that they need an answer by a certain date, you tell them you're very interested in their offer, but you have already setup other interviews that you want to see through, because it's the right thing to do. Leave it at that.

Don't try and get the date changed, just be non-committal, and tell them you'll do your best. Job offers are very rarely yanked because you didn't met the first deadline for an offer.

When they call you 2 days before the deadline and ask if you have an answer, tell them you need "X" amount of time and then you'll give them a decision. Don't say "Can I have two more weeks", say "If you can wait until Jan 15th, I will give you an answer then". Recruiters have been jerked around before and if you provide your own deadline (and hold yourself to it) they'll often go along with it.

RF

</comment><comment><USER30> > Trust me on this one: there's not a single hiring manager in the world who > wants to hire you but would get mad just because you're considering other > offers.

Although Joel Spolsky certainly knows more than me, I'll ask anyway: Is that really true? Perhaps it is, but I would guess that this is a pretty big overstatement.

However, I think it can safely be said (and this is maybe not obvious to many prospective interns) that if the hiring manager does get mad, then that's a big red flag, and if you got rejected for this reason then you dodged a bullet.

<comment><USER31> He's just stating the obvious. If they think you're a desirable employee, they're not going to be offended if you are considering multiple offers. Or if they are, they are so unprofessional and petty, that you're better off staying away. This is business, not dating.

</comment></comment><comment><USER32> There ought to be a database of companies that give offers with very short expirations. Not necessarily condemning the practice, but it would be good to know. Yelp, for example, routinely gives offers with a 5-day acceptance window.

<comment><USER33> This is every company. I've never heard of any company giving more than 3-5 days. If you work for a big corp, you know how unbelievably insecure management is, any delay at all would make them look very bad politically. When a hiring manager's whole career is based on appearances, which it usually is, a week is an eternity.

<comment><USER34> Sometimes the insecurity is justified. I've seen former managers extend offers only to retract them two days later when the staff requisition was retracted by upper management. If you're on a project and you need people this encourages you to hire as quickly as possible.

<comment><USER26> We did this to several candidates we wanted to hire and they all stopped responding to us. Good people do not like to be fucked with, and now we have a bunch of idiots working in our department (who do not mind being fucked with, because getting paid to do nothing is better than not getting paid to do nothing).

</comment></comment></comment></comment><comment><USER26> Does this ever work on anyone? I got an offer from Google that "expires in 5 days". I said, "I'm not going to decide that quickly, so I'll just re-apply when I'm sure I want to work there." Suddenly, the deadline was gone.

<comment><USER22> I've seen the same thing happen to 2 friends who applied to Microsoft, if you replace "gone" with "extended 2-3 months", which basically amounts to the same.

</comment></comment><comment><USER35> Very good article. 100% agree.

One thing to keep in mind also is that pushing back against this negotiation tactic is good, but sometimes people do just have to move fast. I had five interviews two Fridays ago, and I offered the second candidate the job - starting on Monday, 20% higher pay than she asked for in her resume, and interesting roles. But I had to know right away, because I had to know what to do with the next set of candidates.

Also worth noting is that she didn't have a job currently - her previous company pulled out of China, so there was no risk to her of joining. I was more careful when I recruited a woman who was working at the U.S. Embassy, which was a fantastic stable position with solid pay - I asked her to start here part time for a week or two to make sure there was a fit before quitting a very good job.

Anyways, point is, people want decisions fast for many reasons. Look to see if it's in your best interest to decide fast, and decide fast if so. If it's not, push back. Not all fast paces are petty bargaining moves though.

</comment><comment><USER36> I think the real answer to this is as simple as disclosure. If you accept the "exploding offer", you should be explicit and clear that you are still considering other positions, and your acceptance is tentative. The company is fully informed of the possibility that you may leave in the near future and it is then their choice if they decide to continue with you or not.

If you don't want to provide that level of disclosure, you should inform the recruiter that you won't have a decision by x date, only by y date, and they'll have to live with that. They may continue to pursue or they may forgo your candidacy, but either way you were honest. There _are_ plenty of gigs out there that you can get legitimately, even if a would-be ill-gotten gig is presented first. You shouldn't give in.

I don't think it's acceptable to accept an offer with the intent to leave in short order without providing disclosure of that possibility. Justifications like "Microsoft will survive" don't make your actions any more correct or honorable and should not be used. Man up and be honest with your potential employers.

</comment><comment><USER37> This article seems very specific to cattle-call hiring of summer interns. The work doesn't begin for several months after the offer is made and this is a somewhat unique situation to students and internships at large companies.

When an offer is made for full-time, permanent employment a response is normally expected pretty quickly - within a few days. The interview process may take weeks or months but once the offer is made, it's expected that all parties are fairly serious and you are ready to turn in your 2-weeks notice if you are already employed, or possibly start right away if not.

The rules may be different for these two situations. In the latter, I definitely would not suggest accepting an offer and then backing out as a strategy. If you do, at least be aware that you may be burning bridges along the way.

</comment><comment><USER38> General principle: Avoid doing business with people who use the same techniques as telemarketers.

An exploding offer is just as low and dirty as "Call within the next 20 minutes and you'll get a bonus set of steak knives, absolutely free!". It's an attempt to take advantage of a basic cognitive bias, loss aversion, in order to coerce you into acting irrationally.

If a company really does have a legitimate business reason to take on people in a hurry, they will negotiate. If I need a rush job from my printers, I pay extra. If I need a package sending next day, I pay extra. If I truly, desperately needed an extra employee to work on an urgent project, why on earth wouldn't I pay more to get the best possible candidate?

You have no ethical obligations to someone who is trying to deceive and exploit you.

</comment><comment><USER24> I've noticed several comments about small companies not hiring at colleges. In my experience, this is not the case. It could just be that I went to university in Waterloo, Ontario (AKA Silicon Valley North) but many of the companies recruiting were quite small. One company I interviewed with remarked on how their previous intern wrote their entire Bluetooth stack.

If anything, this is the perfect place for small companies to recruit. If the candidate turns out to be bad, you know their contract is up in a few months (it's probably possible to fire them early, but I imagine that that is a lot more effort). If the candidate is good, you can offer a full-time position. You skip the expensive hiring process and they can hit the ground running when they come back.

</comment><comment><USER39> This was a really common tactic at Microsoft back in the 90s, which is probably why Joel is familiar with it. It worked on me--I took an internship with MSFT instead of Apple, because Microsoft gave me under a week to respond, and the recruiting manager at Apple was on a week's vacation.

<comment><USER40> Microsoft is still very notorious for this. It's a shame, because out of the top five (Amazon, Apple, Facebook, Google, and Microsoft), I felt that they otherwise have the most pleasant and effective recruitment policies (Google being the polar opposite here).

(I declined both MSFT's and Google's offers)

</comment></comment><comment><USER41> Old news. It's 3 years old. I love when the media digs out seasonal stuff. Sigh...

</comment><comment><USER42> They use the same tactics at Amazon. Joel is spot on in this case, Amazon is just another mediocre company -- had to find out the hard way unfortunately.

<comment><USER26> Amazon did not give me a deadline on their offer. Theoretically, I could call them up today and be working in Seattle on Monday.

<comment><USER42> Interesting. Are you a fresh college grad?

<comment><USER26> No, so perhaps my experience is not relevant to the discussion. But companies are as anxious to hire "real people" as they are interns.

<comment><USER42> True, but I was just wondering if they'd play the same trick on 'real people' :) Since it's not uncommon for fresh grads to be interviewing with several companies at the same time.

</comment></comment></comment></comment></comment><comment><USER43> "You're going to spend several years of your life in some cold dark cubicle with a crazy boss who couldn't program a twenty out of an ATM,"

</comment><comment><USER44> I loved the phrase "with a crazy boss who couldn't program a twenty out of an ATM"

</comment><comment><USER45> So accept the initial offer, do the interview with the #1 choice anyway, and if it works out, drop the runner-up. They don't need to be on your resume. The first choice doesn't need to know about any of this, though you might have to get creative with the interview scheduling.

I have no doubt that the scenario Joel describes is real, but anyone who gets screwed this way needs a bit more of the "dog eat dog" mindset. It's unfortunate the world works this way sometimes, but it's all in the game. I sympathize with any young kid in this position though, the unemployment rate alone has to make the prospect of turning down an offer, any offer, seem insane.

<comment><USER46> What would you think of a company that made someone an offer and a few weeks before the start of the internship said "you know, we actually found someone better so we won't be hiring you after all."

Both the company and the employee should be honest. Period. Anything else and you're being an asshole who's screwing people over.

Exploding offers are there 95% of the time because a company has a schedule to follow and can't just wait for someone to make up their mind for a month (especially for a 4 month internship which follows a tight schedule) - <USER2> need to be able to issue the offer to their second choice if the first choice isn't interested because otherwise they lose both.

It's so easy to rationalize being dishonest by projecting bad motives on others.

<comment><USER28> I understand that we (on Hacker News) tend to come from a startup perspective, so it makes sense where you're coming from. But in the context that Joel was describing, that's not a valid comparison. Surely Joel isn't recommending dropping a startup of one founder using this tactic (it would be better to say no early). He specifically mentioned Microsoft as an example.

If you as an individual got your offer rescinded at the last minute, that's a detriment to your career because you don't have time to make it up. If on the other hand you had 1/1000th of your offer rescinded at the last minute because you didn't give the other party a chance to consider other candidates ("give me an offer now" after the interview), well, sucks to be you but it's not so bad.

Similarly, if a startup that NEEDED one extra employee to fill a critical role suddenly lost that employee, that's an unfortunate tragedy. If on the other hand, Microsoft lost one college grad, that's just a rounding error.

I hope my explanation makes sense for why context is extremely important.

<comment><USER4> If it's wrong, it's wrong, whether you do it to your best friend or your worst enemy.

A big company can absorb the cost of a schedule slip or missing an opportunity to hire a great alternative candidate.

That doesn't make it any more right to break your word.

<comment><USER47> I like Cicero's answer to the question of when it is OK to break your word. Updating for the modern world... Suppose someone gives you a gun and you promise to give it back when requested. Then the individual goes insane and then comes back to request the gun back. In that case (Cicero uses a sword but same story) Cicero says you have a moral obligation to break your word. I can't imagine you'd disagree with that and give back the gun to someone not mentally fit to handle one. So there are cases where it is morally _right_ to break one's word.

Now, two points I would make: 1) I think it is always better to assume good intentions than bad, but I _have_ been scammed by others in this regard in the past, though fortunately for not a huge amount of money. So keep your eyes about you when you enter.* This means among other things looking at the people who work in a specific environment and actively look for trouble signs.

* Keep your eyes about you when you enter

Be watchful always, be wary always

For you never know when need will be

To fight the hidden foe in the hall

\-- Havamal, 12th century Icelandic poem

2) In the event where someone is patently dishonest, (and there are signs to watch for here, for example anyone who accuses everyone else of being dishonest....), then I see no moral obligation to treat them better. I am not a Christian. I feel that it is perfectly acceptable to pay back lie for lie.

3) Key question during an interview: Ask the _hiring manager_ when they'd need a decision by. If the recruiter moves up the date, you know the recruiter is lying.

<comment><USER48> Your Cicero example is quite interesting. On one hand I too feel that it is not moral to break your word, but in the given example I _would_ break my word and not give the gun back.

In an effort to reconcile these positions, I would argue that my agreement with the original gun-owner contained the unstated understanding that it would only be returned if he was mentally fit.

These sort of 'clauses' if you will are inherent in any agreement we make. It is understood that "I'll return the book to you on Tuesday." also contains the qualifier "assuming, of course, that: a meteor doesn't impact the earth, my car doesn't break down, the US doesn't enter nuclear war....etc."

Still, I don't feel that agreeing to work for a company does _not_ include the understanding that I'll work for them "as long as I don't get a better offer elsewhere."

However, you may argue that it does, and I guess I'd have to give it to you in that case. It's just that...my own agreement wouldn't. By making this proposition I'm basically allowing anyone to break any contact by saying "well, my agreement contained this unstated understanding which lets me do ____". I think that most times the agreement is fully understood between both parties though. There are definitely examples where the line gets fuzzy though, which is why it's so important to communicate so that everyone is on the same page.

</comment></comment></comment></comment></comment></comment><comment><USER49> Whatever iPad mobile theme is being used here, please DO NOT use it on your own website.

It is not usable, the font is too small, and frequently crashes my iPad.

</comment><comment><USER50> Now that Joel has covered how credible and ethical recruiters, and the companies they support, should behave - when can we expect to see them?

<comment><USER51> You can't expect to see them, any more than a major car manufacturer can decide to enforce ethics in "their" sales rooms and remain competitive in the market place. The market dynamics for recruitment are dominated by adverse selection. The best recruiters can pick the best employers to work with and have little incentive to work in lesser-known companies. The (considerably larger) remainder of the market is run by sleazebag recruiters; that's all most companies will ever get to work with (internally or outsourced).</comment></comment>


After 15 years of programming, how does one get out of it? - <AUTHOR> http://programmers.stackexchange.com/questions/115257/after-15-years-of-programming-how-does-one-get-out-of-it

<comment><USER3> I think he should think about firmware development. Write code in C - <USER2> doesn't change much. He would get to work with hardware - very different from the airy cloud stuff. It is a whole new world and a very interesting one.</comment>