Why I Quit Law School and Became a Programmer - <AUTHOR> https://plus.google.com/111241211394734927605/posts/WPH7sAMiQHo <comment><USER2> Interesting article, but frankly the idea of an "innovative legal system" is quite frightening. The whole point of the legal system is to be a predictable backdrop against which human activity can take place. I don't want to be able to predict what Silicon Valley will do 10 years from now. I do want to be able to predict what judges will do 10 years from now!

It's not a sign of decay when the legal system uses principles that are 200+ years old, it's a sign of the fact that the heart of the legal system, dispute resolution, involves the same issues today that it did hundreds of years ago.

<comment><USER3> I wish i could upvote this a billion times.

I don't want to start getting daily plea deal offers from the prosecutor.

"First 50 defendants to sign up get 50% off their sentence!"

<comment><USER4> And yet, for some fines, pleading guilty will lower the amount by ~50% ($550->$350 for a traffic violation in the recent experience of an acquaintance of mine).

<comment><USER5> Traffic violations are probably a bad example.

(1) Judging cases imposes huge administrative costs. Somebody has to pay those costs; if it isn't you, it's everybody else. Particularly with moving violations, where offenses are so widespread and the cost of admitting guilt is so low and where so many people have interface with the legal system, it makes sense to charge people who force costly adjudication that later proves pointless (which is what a discount for a guilty plea effectively does).

(2) The fines associated with most traffic violations are artificially low. Although any one person who speeds or runs a red light is unlikely in that one instance to grievously harm someone, people who drive carelessly as a cohort impose enormous costs on the rest of society, and those costs simply aren't priced into the $300 you pay for a 55-in-a-35 speeding ticket.

</comment></comment></comment></comment><comment><USER6> This is a case where I think Cal Newport's arguments are on point: it's not about your passion, it's about your skills. Or as a lawyer friend put it to me when we were working together on a late night at an elite NYC law firm: "Law is only good when you can write your own ticket."

All of the OP's statements are true but also not true. For example: law is about authority, computers reject authority. What is authority? In some sense, it's just network effect. A sufficient number of people have agreed on an argument, therefore it won't be disturbed unless there's a very good reason. Same goes with computers.

Innovation vs. Applying past wisdom: The law's not so myopic to only look to the past. It considers the accumulated wisdom of the past to determine what to do now. In fact, the law is changing rapidly in part in response to technological innovation (and the increasing complexity of government and modern life). The question is whether past rationale makes sense under current conditions. Under that frame, innovation and disruption happens in the law -- consider the law & economics movement, for instance, or critical legal theory.

The question isn't whether law or programming is inherently more innovative, it's where you're situated.

If you're arguing cases before the Supreme Court, you are dealing with the cutting edge of law and you are constantly looking at new cases that come out and analyzing how their rationale opens up new arguments and reflects new ways to attack existing decisions. The problem is that to do that, you have to be the best of the best.

If you're a programmer at a huge corporation working on maintaining a legacy system, you probably think you have the dullest job in the world in a field where nothing changes.

No doubt, real differences exist between law and programming, although they are remarkably similar. Nevertheless, I think Newport is on point when he talks about just how important excellence is to appreciating and enjoying your craft.

<comment><USER7> > real differences exist between law and programming, although they are > remarkably similar.

As someone who (perhaps like you) practices law and does some programming, I wanted to agree with this statement. The fields are remarkably similar. If you gathered a list of "best practices" for writing good code and a second list of prescriptions for writing good legal briefs, it's striking how much advice overlaps. That's because clear thinking about complex systems is the heart of both worlds, and both sets of professionals have to (working within a set of constraints and syntax) work out an elegant solution that can be readily understood by their peers.

As for the OP, the first year of law school has a habit of shattering whatever hazy dreams people bring with them. If he now wants to hone his programming skills instead --- and in this economic climate for lawyers, that seems like the safer bet --- then I wish him well.

</comment></comment><comment><USER8> I know this is anecdotal, however after topping out salary-wise in the programming field after 11 years, I often wish I would have gone the law school route. Don't get me wrong, it is a good living. Its just not on par with an I.P. lawyer or general council with an equal amount of education and tenure.

I just don't see many options available to a tenured programmer beyond the obvious (stop programming) and the extremely risky (join a start-up w/ equity). Whereas a decade of dedicated service in the right law firm can lead to partner status which often times is a lucrative engagement.

<comment><USER9> No, you won't make partner. Nobody does anymore. It's more risky to go to law school with hopes of being partner than to join a startup.

You should factor in quality of life, predictability of work hours and number of them, hourly billing requirements, quality of people you will work with (shitty), job security (shitty), and debt ($240k+ at high interest rates!).

IP is hot right now, but it might not be in a few years, and demand for your technical background may wane. Software patents are shaky anyways.

Don't ruin your life. If you absolutely want something else, why not try a top MBA? Technical expertise may help you.

I'm a newly minted lawyer who wishes he went the programming (or maybe IT) route.

</comment></comment><comment><USER10> OT: Am I just being an idiot, or is it very non obvious what one has to do to see more than a couple of lines of Google Plus posts on an iPad?

I finally figured out that hitting the share icon brings up the full post and an edit box so I can add my thoughts, but that seems unintuitive to me. I would not normally hit a share link until after reading something. Is that really the way they intend it to work?

</comment><comment><USER11> Mannnn, back when I was a law student I had similarly _deep_ and _profound_ notions about how Lawyers Just Didn't Get It.

Turns out, good lawyers are kinda smart. Like doctors, obnoxiously so.

In Common Law jurisdictions, the law is an evolved complex system.

It is complicated because the problem domain -- _everything humans do_ \-- is sorta kinda complex, guys.

Don't think of law as a fixed entity, which "is an ass".

Think of law as a _discovery process_.

</comment><comment><USER12> I feel like I've seen this story before....interesting, nonetheless!</comment>


Full-Body Scan Technology Deployed In Street-Roving Vans - <AUTHOR> http://www.forbes.com/sites/andygreenberg/2010/08/24/full-body-scan-technology-deployed-in-street-roving-vans/

<comment><USER2> Imaging the contents of my vehicle without a warrant or even without probable cause?

No thank you.

I have nothing to hide, but I fear what others might want to look for and why.

I'll come right out and say it – the balance of power between the common citizen and the government has shifted way too far in favor of the government. More and more we accept invasive search/oversight from powers who continue to deny the public the same sort of transparency and insight.

"Who watches the watchmen?", indeed.

<comment><USER3> I wonder how much it would take for private citizens to hire their own lobbyists?

edit: in case this isn't glaringly obvious, the joke is that we do have our own lobbyists. They're called congress.

They're just _horrible_ lobbyists.

<comment><USER4> As far as I understand the American system, this is a false analogy: your Congressman 'lobbies' for _interests within their core voting block_. i.e. why your mid-west Congressman lobbies hard for corn subsidies, if a large percentage of her voting base are corn farmers. Given the "first past the post" nature of American politics, this can exclude up to 49% of your voting base __before said Congressman has even been sworn in __.

To make this clearer: the way the system is set up, your Congressman isn't lobbying for _any_ individual, they're lobbying for _a percentage of the voting block that is sufficient to return them to Congress next vote_. This is why campaigning on single issues is so common, and so successful for power- blocs such as the Christian Right.

(This isn't to go into gerrymandering, which further skews the 'democratic' input of your system. If you didn't already know that only ~8-12 seats in Congress are _actually_ contested in terms of party fealty, you really, really, really should do).

<comment><USER5> "your Congressman 'lobbies' for interests within their core voting block. "

This is where I think current "politics" is lagging many decades behind modern society.

Politicians are fundamentally geographically defined. They get voted in (or out) by groups of people with no relationship with each other beyond happening to live nearby. That idea worked out fine when your village was your whole life, and it works OK for "big issues" that affect everyone (like taxation, education, military), but there are a lot of issues where there is more than enough public support to deserve representation but that support is not geographically localized enough for the current system to give the people concerned a voice.

So many of the things I end up shouting at the television or newspapers about are in this category.

What _I'd_ love to be able to vote for:

      A Congressman for The Internet
      A Congressman for Copyright and Patents
      A Congressman for Motorcyclists
      A Congressman for Citizens Rights WRT Government & Law Enforcement

I'd like the opportunity to choose to vote for someone aligned with issues that concern _me_ instead of being assumed to be a "constituent" of an aspirant politician just because of where they and I happen to choose to live.

Instead, the issues that concern _me_ are debated and voted on by people who don't give a damn because they know there's not enough geeks/musicians/inventors/entrepreneurs/motorcyclists/libertarians geographically clustered enough to make any difference at the polling booth, and so the only issues that ever get addressed are ones with a local enough aspect to risk having a likely effect on a city/state/federal elections outcome.

Society has spread beyond having my circle of friends and acquaintances being "other people in my village" - and in the last 20 years the internet has magnified that change enormously, political and legal structures haven't changed to reflect that. (and may never - my circle of friends crosses national boundaries in ways that probably make my desires of how I'm personally politically represented impossible)

</comment></comment></comment></comment><comment><USER6> The actual text of the fourth amendment is pretty elegant. One paragraph explaining the legal requirement for probable cause and a specific search warrant:

\- "The right of the people to be secure in their persons, houses, papers, and effects, against unreasonable searches and seizures, shall not be violated, and no Warrants shall issue, but upon probable cause, supported by Oath or affirmation, and particularly describing the place to be searched, and the persons or things to be seized."

We don't need to justify privacy rights. The constitution already does that.

<comment><USER7> It's the fuzziness that these backscatter machines bring in that's the problem. Is it really a search if you're bouncing invisible light through an object and measuring latencies? Does the concept of a search fundamentally mean "discovering property that was previously unknown"? Or is there a clause to that definition, something like "unless it is readily visible"? Can any legal guys chime in on what the definition of a search is?

<comment><USER8> <http://en.wikipedia.org/wiki/Kyllo_v._United_States>

IR sensors used on a home constituted a search so could not be used without a warrant. This would likely end up in a similar ruling, especially since it can provide more detail than that the walls and roof are hotter than they ought to be.

<comment><USER7> > The Supreme Court ruled 5-4

That's a very narrow victory though.

<comment><USER9> Seems like almost everything to come before the court comes back with a 5-4 ruling, at least everything important. Ideology is wired into the justices as much as it is everyone else.

<comment><USER10> I read somewhere that the prevalence of narrow victories is by design (or evolution maybe): 1. the court chooses what cases to hear and is unlikely to spend time on anything they all agree on; 2. the body of precedent is large enough so that lower courts aren't making decisions the court would overturn with a wide margin; 3. the parameters of a majority opinion are written to get 5 of 4, anything else is overkill or watered down.

</comment></comment></comment></comment></comment></comment><comment><USER11> >"From a privacy standpoint, I'm hard-pressed to see what the concern or objection could be," he says.

Honestly? You're hard-pressed to see how _x-ray vision into people's cars_ is a privacy concern?

<comment><USER12> "It is difficult to get a man to understand something, when his salary depends upon his not understanding it."

</comment></comment><comment><USER13> It's hard to see this standing up in a Supreme Court trial, if it ever made it there.

IIRC, they struck down heat images of houses without warrants because they reveal too much about the inhabitants' activities. This is way worse.

<comment><USER14> OK. I'm just trying hard at making a joke here so be patient...

They could have a doctor ride along and examine the x-rays of the people they scan. The program could then be legal under an Health Care mandate! Easy solution!

OK. Not so funny... that's why I'm not a comedian.

<comment><USER15> _The program could then be legal under an Health Care mandate!_

Whoa, I missed the "Health Care mandate" Constitutional amendment. Regular laws cannot override the Constitution, which says "The right of the people to be secure in their persons, houses, papers, and effects, against unreasonable searches and seizures, shall not be violated, and no Warrants shall issue, but upon probable cause, supported by Oath or affirmation, and particularly describing the place to be searched, and the persons or things to be seized."

The roving X-ray vans are missing a warrant, probable cause, and a description of "the place to be searched".

</comment></comment></comment><comment><USER16> Previous discussion: <http://news.ycombinator.com/item?id=3311647>

</comment><comment><USER17> Anyone know the amount of radiation received from these things versus other sources (granite, the sun, etc)?

Assuming the machines are properly serviced and not faulty.

<comment><USER18> From the article...

 _The company's vice president of marketing Joe Reiss told me in an interview that any dosage received by a human from these backscatter vans would be "exceedingly small," far smaller than a medical x-ray. He says that the vans' dosage falls well within the health standards set by American National Standards Institute, and AS &E's marketing materials say that the scan's x-ray levels are equivalent to the dosage received in fifteen minutes inside a typical airplane._

<comment><USER19> They neglect to mention is that the nature of backscatter X-ray technology concentrates the radiation exposure on the skin's surface and underlying tissue, causing a significantly higher local dosage than medical X-ray technology and a typical airplane ride. For medical X-rays, precautions are also taken to avoid exposure to reproductive organs, since genital exposure to X-rays in parents is associated with leukemia and other diseases in their children. This is not the case with backscatter X-ray machines, and it is especially relevant for men, since their reproductive organs are so close to the skin's surface.

Obviously, these things can't be turning up everywhere, or that remote possibility that a person would be scanned over 1000 times per year is all-of- a-sudden not so remote. Some regulation is clearly needed.

[Another interesting question is how the drivers of these vans are protected from cumulative radiation exposure, as these X-rays are being scattered around them all day.]

</comment></comment></comment><comment><USER20> This is a great motivator for bringing back lead based paint :-) More seriously though, its useful to know that back scatter x-rays are blocked by a number of easily obtained materials, and I don't doubt that the same guys who installed vibration dampening foam in your car for a better stereo experience, or the house siding/insulation sales guys, will have a pitch for you if this becomes an issue.

<comment><USER21> That would just help redefine the term I first heard on season 2 of Archer: "rolling probable cause"

</comment></comment><comment><USER22> FWIW, this is a very old story (close to two years old)

</comment><comment><USER23> Funny, that the video in this article has already been pulled.

I'm guessing it won't be long until law enforcement agencies start using these when they have "probable cause".

<comment><USER24> The article was written in August 2010; who knows how long ago the video was pulled.

</comment></comment><comment><USER25> It's also worth noting that these ZBV's deliver a higher radiation dose per scan than an airport scan. That's still quite small, especially compared to a medical X-Ray, but radiation exposure is cumulative. Effectively, every time one of these vans drives by you it's as if the government is giving you a lottery ticket where the prize is cancer. The odds of you being a "winner" are astronomically small, but should the government be able to hand you these lottery tickets without any cause for suspicion at all?

I also suspect that, like airport scanners, these scans amount to nothing more than security theater and pork-barreling for contractors with government ins.

</comment><comment><USER26> The article is from 2010.

</comment><comment><USER27> I don't care to have xrays randomly fired at me.

<comment><USER28> The Sun kicks out gobs of x-rays, you're already being exposed to x-rays. One week in the sun is about the same as a chest x-ray.

<comment><USER27> I don't believe that chest x-rays are nearly so benign. For example, they've found even one x-ray for a toddler increases the chance of brain cancer.

Nor do I trust that those machines in a van are calibrated properly - they may be emitting far more x-rays than they're supposed to. Who'd know?

</comment></comment></comment><comment><USER29> "You can't see any details."

An insurance company could buy scans of cars linked to license plates to see if you are gaining weight over time, or how often you smoke. That's what I came up with after a couple of minutes of thinking. I think this technology should be criminalized.

</comment><comment><USER30> Are there any inexpensive sensors that trigger an alarm when one of these vans drives by?

</comment><comment><USER31> I predict lead lined trucks.

<comment><USER5> I predict gieger counter equipped IEDs

</comment></comment><comment><USER15> I can't wait until this actually finds a bomb and they can't prosecute the driver because of the illegal search. Oh well, I guess the cops will learn that lesson after hundreds of people are killed...

<comment><USER32> I think that may even be something they considered. Ideally, you'd find out about the plot to blow up the X beforehand, but as a last resort finding the bomb in the street sure beats having it go boom. If the perpetrator gets off because there wasn't a warrant, that's not the worst possible outcome.

</comment></comment><comment><USER33> this article is from 2010. have there been any new developments?

</comment><comment><USER34> This is sad news; what is becoming of this country? Does anyone know if they have those in Russia, China, or even on Cuba?

If you think about this, and how this country looked like 7 years ago, where is this all going? I cannot imagine all the changes by the time I will be dead, in 50 years from now, approx.

</comment><comment><USER35> This scares the shit out of me.

Honestly, if applied broad spectrum (pedestrians, passenger vehicles, etc) what is the legality of what I conceal on my person or in the privacy of my car? What if I'm in a public space and I have a concealed weapon but a permit to do so? How do the differentiate in that situation?

I really don't like this at all. I love how the company making this product is called 'American Science & Engineering' and if this is applied on a street level it's one of the most un-American things I've seen.

Stuff like this makes me sad about where this country is heading.

</comment><comment><USER4> If no-one noticed, in the video that meatsock posted (<https://www.youtube.com/watch?v=iABPKd0vFxQ>) you'll notice that in the fluff (audio: "military bases" "border controls", "checkpoints") you'll see real world photos with US military personnel in.i.e. _This technology has already been deployed_. And, judging by the number plates on those border control pictures, on US soil.

The chickens have already flown the coop.

 _"We're an empire now, and when we act, we create our own reality. And while you're studying that reality—judiciously, as you will—we'll act again, creating other new realities, which you can study too, and that's how things will sort out. We're history's actors…and you, all of you, will be left to just study what we do."_

<https://en.wikipedia.org/wiki/Reality-based_community></comment>


PEP 518 Accepted: Specifying Build System Requirements for Python Projects - <AUTHOR> https://hg.python.org/peps/file/tip/pep-0518.txt <comment><AUTHOR> tl;dr Specifies a pyproject.toml file so alternatives to setup.py can be used.</comment>


Reving Up C Applications with DataDraw Databases - <AUTHOR> http://datadraw.sourceforge.net/ <comment><USER2> This actually looks really cool, but seems to have no support for concurrent modification or access. I'm presuming that in order to make this thread-safe you'd just need to lock the whole database.

Anybody aware of any thread-safe model layer for C?

<comment><USER3> sqlite 3.0 later seems to be thread-safe.

BTW, how's datadraw compare to sqlite?

</comment></comment><comment><USER4> Mmmm... this could be use as a kind of kdb+/q/j backend? I wish to build a language that be array/table based.

Something else like this?

</comment><comment><USER5> Is there any opensource using this already? I'd love to see some examples in c++ with concurrent access.

<comment><USER6> Look at the bottom of the page :

\- DataDraw (this project)

\- gnetman - an netlist translation tool, compatible with gEDA

\- BTSlave - a BitTorrent client

\- NetFS - a BitTorrent replacement

<comment><USER5> I had noted them when I posted, they didn't seem very recent (or to be more precise... they don't seem very modern). The last few years have seen a proliferation of in memory databases.</comment></comment></comment>


Reusing require.js modules in Node.js with AMDrequire - <AUTHOR> http://arqex.com/874/reusing-require-js-modules-node-js AMDrequire is a npm package that makes Node.js able to load require.js modules like if they were native Node ones, as well as continue to load its own modules as usual, allowing to reuse browser code in the server. <comment><USER2> Interesting, it might solve my dilemna regarding RequireJS vs Browserify given the npm requirejs has one troublesome issue with the paths aliases config getting erased (& can't be restored either) once .optimize has been called to make an Almond build. That's why I switched to Browserify in most recent projects, however I have one issue with it and it feels I'm missing something obvious:

What is the right way to use Browserify transforms server-side?

\</comment><comment></comment><comment></comment><comment>

Because Browerify assumes you use Node's own _require()_ server-side while RequireJS (and now also AMDRequire) have their own module to provide an enhanced require function. The closest I could come up with (besides giving up and precompiling to a single file before calling Node) is using the deprecated _" require.extensions"_ to preprocess the file, similar to requirejs loaders, e.g. for handlebars you could add in your Node start:

      var fs = require('fs');
      var Handlebars = require('handlebars');
      require.extensions['.handlebars'] = function (module, filename){
        var code = fs.readFileSync(filename, 'utf8');
        module.exports = Handlebars.compile(code);
      };

Then _require( './something.handlebars')_ in modules you share client and server-side gives you the already-compiled template regardless if you're running in Node or in the browser (if you also use the handlebar transforms for Browserify).

I'm sure I'm missing something very obvious here.

</comment><comment><USER3> I disagree with the assertion that the browserify transformation implies it's "not the same code". If you're (following best practice and) concatenating and minifying your assets, is that not the same thing?

The compilation step that browserify uses is little more than concatenate + a little bit of sugar. Practically speaking why does this matter?

I'd much prefer to deliver less code to the client if possible, so I don't see the rationale for adding a dependency on a dependency manager.

<comment><USER4> I don't know browserify well but I'd assume having a compile step is the part that sucks. If you can use require.js style until shipping time you can debug the actual code directly instead of the compiled code. You see each module in the debugger as its original file.

<comment><USER5> +1 - this is why I love requirejs - lazy load modules in development, compile for QA and deployment.

Update: My other love for requirejs is that you don't need to use relative paths when requiring a module. Once you have a relative path, you can't change the location of either dependant or dependency. The require config lets you separate what you call the module from the location of the file.

<comment><USER6> I tried porting a project from Require to Browserify and I gave up because of relative paths issue.

</comment></comment></comment></comment><comment><USER5> How does this differ from the requirejs module for Node?

[https://www.npmjs.org/package/requirejs](https://www.npmjs.org/package/requirejs)

<comment><USER7> Looks like it offers a subset of the features by allowing you to use the same require() function for both amd and commonjs modules.

[https://gist.github.com/spenceralger/946ddc6c55d997d4a028](https://gist.github.com/spenceralger/946ddc6c55d997d4a028)

<comment><USER5> Ah, thank you - I misunderstood the crucial piece "load AMD modules like ... they were native Node modules".

I guess I can see the value in this, if you're retrofitting a new module in the AMD style to an existing node application which does not use that style.</comment></comment></comment>


Congratulations ISRO. You have made India proud yet again - <AUTHOR> https://medium.com/@ApurvaBhelke/congratulations-isro-you-have-made-india-proud-yet-again-ae0e66de3f49

<comment><USER2> ISRO is indeed India's premier institution that has time and again made her proud. Kudos ISRO.</comment>


Apple now allows iOS developers to send ads using push notifications - <AUTHOR> https://www.developer-tech.com/news/2020/mar/05/apple-ios-developers-send-ads-push-notifications/ <comment><USER2> Depending on how this is implemented, this could actually be a step in the right direction. Lots of apps already send "promotional" push notifications (including big names like Lyft and Uber). The only way to turn them off was to turn off all notifications, which meant missing actual important updates. If this change means being able to opt-out of one without losing the other, I'm all for it.

<comment><USER3> Interestingly I interpret the article as apps were abusing push notifications without a second thought in the past when it was explicitly against the guidelines, I fail to see how they will self moderate now some of it is even allowed.

With the ample data we have so far it most probably will lead to dark UI patterns with dysfunctional opt-outs and/or blanket consents at most if someone takes it seriously at all.

<comment><USER4> Then these apps would be removed from the app store, I suppose.

<comment><USER5> Apple's enforcement of the app store rules is sporadic at best, specially the widespread abuse of notifications for marketing.

<comment><USER6> But perhaps the reason they have been so lax in enforcing that particular rule is because they know they are doing it themselves in their own apps, and didn't want to attract lawsuits?

If so, now that they are introducing this new functionality they might start looking more carefully at notification system abuse.

<comment><USER7> They don't seem to concerned about lawsuits, considering the advantages their own apps get on the platform.

They seem to enforce the guidelines purely based on politics (whether the publisher has friends at Apple and how important the app is to the ecosystem).

I do wish they'd be legally bound to treat everyone the same way (EU?).

</comment></comment></comment></comment></comment></comment><comment><USER8> The problem to me is that it is increasingly difficult to find software that is just useful, without disrespecting users constantly.

There are tons of issues in the App Store off the top of my head that I would _rather_ Apple solve first ("making advertising easier" is #67422 on the list). And incidentally, their changes to search have made it incredibly hard to find apps I want, while adding...advertising!

Now, every day at least, when I open an app _because I want to do something immediately_ , at least one will instead disrespect my time by popping up some modal first. "New features!" "Promotional offer!" "Don't you want to give us your E-mail first!?!?" Actually, no: I launched your app because I wanted to get something done, and your ad has made it slower.

Same with notifications, especially if you have secured your lock screen so that the subject of the notification is not immediately apparent. I want _useful_ things, and I want everything else to go away. This seems like another step sideways or backwards from useful software.

<comment><USER9> I wish there were more open source iOS apps. Recouping development costs is probably a big driving factor and provided I haven't dabbled in building iOS apps in years I imagine the open source community driven scene hasn't hasn't changed much in the iOS community and turn costs remain high.

<comment><USER10> The problem is that it costs money to develop iOS apps. Even just the $100/year or whatever it is, is enough to severely discourage open sourcing your apps.

On Android, you can create apps for free in your spare time and distribute them however you want. The lower barrier to entry means a lot more open source hobby projects.

Distribution is another big issue. Even if you found an open source iOS app, how are you going to run it on your own device? You can only run apps blessed by apple or pay the developer fees to compile it yourself.

Apple severely restricts the hobby/ open source market from both ends.

<comment><USER11> While you can use a third party build system, you pretty much have to buy mac hardware at inflated pricing as well to develop for iOS.

</comment></comment></comment></comment><comment><USER12> After Catalina's increase in ostentatious nagging for the supposed sake of security, something they made fun of Microsoft for during Windows Vista [0], I really hope there isn't some paradigm shift inside Apple to become just as bad regarding alerts and popups.

[0] [https://i.imgur.com/442C7Ij.jpg](https://i.imgur.com/442C7Ij.jpg) (slide from an ancient WWDC)

<comment><USER13> I'm not sure they "get it", to be honest; most of the engineers run with security protections disabled so they don't see these…

<comment><USER14> > most of the engineers run with security protections disabled so they don't > see these…

Are you talking about engineers within Apple? What is your source for this information?

<comment><USER13> nvram boot-args="amfi_get_out_of_my_way=0x1"

<comment><USER15> Sure, the option may exist, but that doesn't mean that Apple developers use it daily.

</comment></comment></comment></comment></comment><comment><USER16> As a consumer, i uninstall such apps. One example is the german "KaufDa" app which was quite useful to me. I complained about the unwanted push messages and their support pretended to be dumb. I ended up uninstalling it.

Only if consumers refuse to accept these annoyances it will stop.

<comment><USER17> I was an Audible subscriber for 5+ years until they started sending ads through push notifications with no way to disable them (media controls are done through the notification system on Android so I didn't want to disable them at the OS level). I canceled my subscription and told them why.

<comment><USER18> I don't remember every having notifications so I went looking. Found them all disabled: [https://imgur.com/QKdDIqz](https://imgur.com/QKdDIqz)

<comment><USER17> I had all of the notification options disabled in the app and I was still getting them. I even submitted a support request thinking it was maybe a bug but the response I got back was that it wasn't possible to disable the notifications I was getting.

</comment></comment></comment></comment><comment><USER19> Not that it makes it okay for Apple to allow this, but it goes without saying that any app that does this, paid or unpaid, is getting immediately uninstalled.

<comment><USER20> Or you could just turn off the ads, since the article says apps will be required to have a way to do so.

<comment><USER21> I'd still uninstall the app.

<comment><USER22> Would you uninstall Uber if they sent you a coupon via push notification?

<comment><USER21> I've uninstalled lots of apps when they've sent coupons via notifications. Notifications are to notify me about things I need to act on. They are not a marketing channel. So, yes.

<comment><USER23> If you had the option to block the marketing notifications but still receive the important ones, would you do that?

<comment><USER21> That depends. A business that uses notifications for marketing isn't one I want to do business with. If there's a decent competitor I'll switch. If there isn't then I'll decide to begrudgingly put up with it (and probably complain a bit on social media) or to do without it.

So far I've never put up with it and always either switched to a competitor or abandoned the whole thing.

</comment></comment></comment></comment></comment></comment></comment><comment><USER24> From what I understand is that this an actual step in the right direction as Apple is formalizing how users get these ad-notifications.

> The new rules will only permit sending push advertisements to users if they > agree to it. Users must also be able to opt-out of the ads whenever they > want.

With their growing policy on advertising, tracking and privacy I think they will move towards not allowing advertorial push notifications unless an user allows.

</comment><comment><USER25> I turn off all notifications except for sms and calls. And even for sms, i muted most of the operator promotional sms. The urge to check for the phone and the demand that you have to check for this notification was killing me. Surprisingly enough, _some_ people would go nuts when seeing a kid nagging in demand of certain thing, while they are totally ok with their apps doing the exact same thing and even worse

It comes with a gotcha though, as i sometimes check some chat apps awaiting for response, but the good thing is when that happens i notice it, and it is not the norm.

</comment><comment><USER26> I have some hope that the EU will outlaw promotional push notifications that are not opt-in, similar to email spam. As it stands, push notifications are almost entirely useless because of all the noise.

<comment><USER27> What apps do you use?

I'm an iPhone user, I have a lot of apps on it, I receive a lot of notifications and I get no promotional notifications. I hope the " _almost entirely useless_ " line was hyperbole :)

<comment><USER28> Lyft is the abuser on my phone. I'm close to removing all notifications for it, but they are kind of an important part of using the product...

<comment><USER27> Ah, I don't use Lyft. In my city in addition to Uber we've got Bolt (Estonian, ex Taxify), Yandex Taxi (russian) and Clever Taxi (something local).

If you have the possibility ditch them, because promotional crap in the context of a payed service, with no way to easily turn it off, is an abuse IMO.

</comment></comment></comment></comment><comment><USER29> How about Apple bring down the hammer on apps that are abusing notifications right now (or you just uninstall them), instead of allowing ways to shove more ads into peoples eyeballs.

There is no scenario where this is a benefit to the consumer.

<comment><USER30> Sure there is. Walk into a grocery store, get a push notification for some sale items.

There are also plenty of annoying things developers can do with it. I'll turn those off, or more likely uninstall the app.

<comment><USER31> That's....Not beneficial, at least in terms of what is going on behind the scenes.

1: App knows your location - most likely is profiting from that

2: App can see how often you visit $place, all for the cost of a few 'sale' items.

3: More extensive profiling can possibly occur, depending on what data the OS allows you to access.

As apposed to:

1: Walk to shop, no smartphone, see discounts inside shop.

There's 0 reason this information needs to be presented via any form of 'notification'. It could literally be done by $shop.com/discounteditems.txt.

<comment><USER32> Of course it's beneficial! Can you not put yourself in the shoes of a normal consumer and recognise that?

They probably don't care if the app is tracking their location to tell how often they visit the shop.

In exchange for this inconsequential sacrifice to their privacy they get easy and convenient discounts, tailored to them, when they go about their daily routine.

I'm privacy-conscious and technologically literate, and even I wouldn't have much issue with this example if it would save me some money.

<comment><USER33> You see geo location data that can (and is) re-sold throughout the industry and aggregated by political parties as inconsequential? (Intentionally extreme example, but this is not hyperbole)

<comment><USER34> Not the person you were asking, but no, I don't see that as significant. There are other far more significant things in my life. Data being aggregated about me isn't a significant issue in my life. It seems like most people are this way.

</comment></comment></comment></comment></comment></comment><comment><USER35> I've only recently heard of push notifications. I feel like we are being inundated with so many notifications that we now need a super notifications. Where does this notification creep end? Normal notifications should be perfectly acceptable if things weren't spamming that method to begin with. I feel like notifications and eventually push notifications will go the way of the phone call. You won't even bother looking at them anymore because you know it has such a high chance of being nothing.

At any rate anything that puts an ad in my notifications is as good as uninstalled. I'm already unsure how to turn off the news push notifications that I'm getting now.

<comment><USER15> If you've used iOS or Android within the last 12 or so years then you've almost certainly received push notifications.

Google introduced Google Cloud Messaging [0] in 2007 and Apple introduced Apple Push Notification service in 2008 [1].

[0] [https://en.wikipedia.org/wiki/Google_Cloud_Messaging](https://en.wikipedia.org/wiki/Google_Cloud_Messaging)

[1] [https://en.wikipedia.org/wiki/Apple_Push_Notification_servic...](https://en.wikipedia.org/wiki/Apple_Push_Notification_service)

</comment></comment><comment><USER36> Judging by the number defenders of advertising every time one of these sorts of threads shows up on HackerNews, it's astonishing to me how many people's livings are dependent on this garbage.

<comment><USER37> I'm amazed as well! Notifications are like permission for strangers to interrupt my life at their leisure. I don't want their coupons, their announcements, their... whatever else. I've got important things in my life that I want to give my attention to and the last thing I need is a direct line into my pocket, desk, and home to try and get my attention. To me this sounds like a dystopian society where ad agencies rule the world. I recognize that not everyone is as extreme as me, but why can't we agree that such notifications are not the best thing for us?

<comment><USER38> I agree. I ended up turning all notifications off except for the ones that I do want to be interrupted for (like texts from my SO or Uber) and my time spent on the phone decreased significantly.

</comment></comment></comment><comment><USER39> It's fine.

Personally, any app that insists on spamming me with adds is not worth my time, and i replace it with "something" else that fits the bill.

The same goes for apps that have subscription models, apps that require access to gps/microphone/etc without an explicit need for it.

I've replaced about 20 such apps in the past couple of years.

I understand that not everybody is willing to make that move, but everybody has the option to do so.

<comment><USER4> Sounds nice in theory, except: network effects.

<comment><USER39> As i said, i understand not everybody is willing. I personally am willing to do it for the most part.

There are of course apps/services where it's not practical, like facebook which seems to have become the worlds social life agenda, and even my kids school posts arrangements through facebook.

That doesn't mean that Facebook has the run of my phone, in fact i don't even have the app. I use the web interface along with content blockers (1Blocker) and PiHole/PFBlockerNG on my network.

Almost every service has some option to at least limit your exposure.

</comment></comment></comment><comment><USER12> Throwing a "This app wants to send you notifications" dialog as soon as you launch an app for the first time, should be banned.

<comment><USER40> Conversely, I find it really useful to block any notification from the get go.

<comment><USER23> Notifications are blocked by default.

<comment><USER13> They're only blocked when you don't allow them.

<comment><USER23> If the app doesn't ask, they can't send them. They're opt-in.

</comment></comment></comment></comment></comment><comment><USER41> This is ok as long as it's explicitly opt in and I'm not going to be nagged every week to opt in for the same thing.

</comment><comment><USER42> > People with an app installed for their favourite clothing brand, for > example, may welcome a push notification to alert them when a sale is on.

So this wasn't allowed before? But those "check out this stupid post from that random stranger" push notifications were allowed (maybe not on paper but definitely in practice)? Seems only fair then.

<comment><USER43> Promotional push notifications were technically against the rules but it was never enforced. Hell, Apple does it themselves.

<comment><USER22> App Store rules / human interface guidelines don't apply to Apple. They believe they (as opposed to 3rd party devs) don't need these restrictions to ship secure, high-quality apps with a great experience.

Whether they succeed is debatable, but the reasoning (although perhaps unfair) is understandable.

</comment></comment></comment><comment><USER44> Does iOS have notification channels like Android? So you can disable the ads and keep other notifications from one app?

<comment><USER45> Right now there is only one notification channel.

And indeed, the plan seems to separate ads and genuine notifications into two channels, similar to what Android apparently currently has (not an Android user).

You can then decide which channel should be enabled.

</comment></comment><comment><USER46> Apps like "Bring!" are already far too spammy with their notification. The moment I see the first real _ad_ pushed as a notification, I will disable notifications completely, for all apps.

</comment><comment><USER47> Apple has already conditioned me to turn off notifications, now they just seem to be doubling down on how obnoxious notifications can be.

</comment><comment><USER48> Skip the dishes spams you with ad-like notifications, but you need notifications turned on for the app to be fully useful. I just uninstalled it. It's incredibly rude. What's next, YouTube sending me push notifications to buy Dominos

(they have been showing me dominos ads every time I go to the grocery store, even when I pay with cash and have location turned off)

</comment><comment><USER49> There's an obvious reason for the change: Apple plans to push their new subscription services heavily via the OSes.

</comment><comment><USER50> Sounds bad on initial read, but to me this is a great shortcut for which applications to uninstall.

</comment><comment><USER51> I'm fine with this. If an app is push notifying me with Ads I know I need to uninstall it.

</comment><comment><USER52> Any app that spams my notifications with ads is an instant delete. Apps that did this in the past are not going to adhere to the "guidelines". Apple will be kinda lax at enforcing them if history is any predictor of the future.

</comment><comment><USER53> I have turned off all Instagram notifications (in their settings) and still I get their junk notifications of who to follow and what to think. Hate it. If these ads are anything like this. Consider notifications off completely.

<comment><USER16> Did you know that you can use instagram in your browser? The only thing that's missing without the app is video upload.

</comment></comment><comment><USER54> I thought this was allowed for apps in Chinese AppStore? All big-name apps like Taobao, WeChat, Didi sent me unwanted promotional notifications

<comment><USER55> In theory, promotional notifications were banned but in practice, it was never enforced, with even Apple's own apps breaking this rule.

</comment></comment><comment><USER56> So ads can get pushed to my phone but not IRC mentions and PMs?

I'm done with this. Now I need to get iMessage working in qemu...

</comment><comment><USER57> If you send me a promotional push notification, odds are I'm going to delete your fucking app.

</comment><comment><USER58> My bank was already sending me advertisement by push notifications on my phone.

<comment><USER59> A lot of apps did, even Apple itself for Apple TV+, Apple Music (and they got criticized a lot for that as it was against their own rules).

The idea of having finer grained permissions for that kind of notification seems reasonable to me.

</comment></comment><comment> kalium-xyz They lost the battle it seems.</comment>


The Rise and Looming Fall of the Engineering Whiteboard Interview - <AUTHOR> http://www.forbes.com/sites/vivekravisankar/2015/05/04/the-rise-and-looming-fall-of-the-engineering-whiteboard-interview/ <comment><USER3> "Back in the '60s and '70s, when microcomputers like the Apple II were all the rage, computer time was expensive, pressure-packed and cumbersome."

Does no one fact check anything anymore? If you're going to base part of your argument around technology that was around before you were born maybe do a little more research? And also... get off my lawn? Am I really that old?

<comment><USER4> Also it should be mentioned that the author is a co-founder of HackerRank.com , which is trying to be the testing platform for new interview candidates.

From the article, I didn't get any information on why or what or if there is a "Looming Fall" of the whiteboard for testing engineering candidates.

<comment><USER5> > I didn't get any information on why or what or if there is a "Looming Fall" > of the whiteboard for testing engineering candidates.

Because its a product placement article (selling HackerRank).

<comment><USER6> "Native Advertisement"

</comment></comment></comment></comment><comment><USER7> The worst part of the whiteboard in my opinion is not that it's a poor tool for the job, which it is, but that it adds both unnecessary social pressure and the need to constantly explain what's going on (presumably because the interviewers are bored so for their amusement) while simultaneously trying to think, write, and edit out a solution. The fact that you can't run or even edit code very efficiently on a whiteboard (or paper) alone makes it a terrible tool to judge anything about a candidate, but combined, the two make the whole exercise pointless and quite frustrating for the interviewee.

</comment><comment><USER8> The whiteboard is actually not the main problem, it's the other things that often come with whiteboard coding. The main problem is that these type of interviews expect you to master the skill of talking, thinking, and coding simultaneously. The reason given is to "see how you think" but there's no reason this must be in real-time, questions could be asked after allowing the candidate some quiet privacy to work on a solution. To illustrate the main issue, replace the whiteboard with a computer connected to a projector instead. The main issue is still there. A group of engineers silently sitting there, judging, watching every move, and expecting you to keep talking while thinking and coding. This is NOT how programmers work. Most programmers sit down, think about a problem silently, then try out a few quick code snippets to explore the problem, then create a design, and then begin coding.

It would be a huge improvement if companies just gave the candidate a problem, left the room, and came back an hour later. Then they can discuss the solution, ask questions about the code, etc. The key thing is, let them do some quiet alone thinking instead of having to worry about someone watching every move and expecting constant talking.

<comment><USER9> I think conducting any kind of test during an interview is a waste of time. If someone comes in with a resume that clearly demonstrates years of relevant experience, a Github account with examples of things they've worked on, and if they can talk intelligently about the problems I'm trying to solve, that's all I really need to know about their skills.

I couldn't care less how someone thinks. What I want to know is do they have experience writing code and more importantly, are they the sort of person I would enjoy working with. Both of these questions can be answered in more effective ways than a test or whiteboard question.

</comment></comment><comment><USER10> I don't see why the whiteboard is so unpopular here. Isn't it a good way to see how people are able to discuss solutions and share ideas with their colleagues?

The way I see it, one could start to find a solution on the whiteboard, possibly with some help from the interviewer. And next stage is writing the actual code, which can be done easily on the whiteboard if it's a short program.

<comment><USER9> There are myriad problems with whiteboard questions:

1\. The questions are always esoteric and have absolutely nothing to do with the company's business (unless, of course, they are in the business of generating Fibonacci numbers or CSS flags).

2\. The situation itself is completely unrealistic and in no way demonstrates "how a person thinks" in a programming situation; which is weird since that is, after all, the universal rationalization for asking whiteboard questions in the first place.

3\. Most, if not all, interviewers have no idea what to do with the information they observe in a whiteboard situation, so regardless of the result, it just becomes a confirmation of whatever opinion they formed within the first 30 seconds of the interview.

In my experience, whiteboard questions demonstrate a lack of interviewing skills and are a waste of time for everyone involved. I refuse to interview people that way, and I'll walk out of an interview if someone asks me to solve something on a whiteboard. If you want to see my code, go to my Github account. If you want to see how I solve real-world problems, I use past experience, Vim, a debugger, a terminal, my gists, Dash, and Google. There. Did we really have to waste an hour of everyone's lives to get to that answer? Absolutely not!

</comment></comment><comment><USER11> There's no bad interview question, but there are certainly bad interview _processes_. We use a whiteboard session as the last step in the technical interview, and we're really not looking for someone to write functioning code, we're looking for the candidate's thought process as they lay out a design for a simple OO program.

For the type of programming I'm involved in hiring (iOS/Android) it's silly to expect someone not to lean on frameworks/IDEs. It's also unrealistic to expect that every single candidate has a laptop fully set up with their preferred environment. That's what take-home questions are for.

<comment><USER12> There are a lot of bad interview questions. Like "Why do you want to work here?" ... I dunno, cause I thought you would pay me.

<comment><USER13> That's a fair question and gives insight into the person's objectives/aspirations.

"I need a paycheck" is a great answer for some positions, but a person in demand would have choices, so it's valid to ask "why us?".

<comment><USER14> Interesting, so I should pretend to be very in-demand to game your interview process. Good to know.

<comment><USER15> Why the need to be snarky to someone who was just trying to give insight as to why this question was asked?

<comment><USER16> Why do you think that was a snarky response devoid of insight? I didn't.

<comment><USER15> In what way is announcing that he was going to try and game someone else's interview process insightful?

Not only that but it's not even clear the person he/she is responding to actually is part of an interview process as opposed to just explaining the reasoning behind the interview question.

Personally I found it needlessly rude and even rather bitter but if you feel like it provided some value then I'm glad it was useful.

<comment><USER9> It is insightful because gaming the system is exactly what people do. When someone asks me, "What is your greatest weakness," I typically say something stupid like, "I guess my greatest weakness is that I don't spend enough time with my family because I tend to work all the time," instead of the reality, which is, "I fantasize about having meaningless sex with every woman I meet. Even the homely ones."

When someone asks, "Why do you want to work here?" I might say, "Because I find the way your company puts input fields on a web page to be fascinating, and I want to be a part of it." The reality, however, is I want a damn paycheck and I couldn't care less what the company does.

The point here is that nobody answers these questions honestly. Nobody. So what on Earth is the point of asking them? There isn't one. These questions just fill up space during the allotted hour of interview time, and are used by the interviewer to justify the opinion they formed within the first few seconds of the interview.

<comment><USER15> Fair enough. I thought it was obvious that people try to game the system, but I can see how if others didn't think the same way it would be insightful.

On the other hand, what's the point of asking anything during an interview if people can lie then? I imagine these questions are still being asked because it's not all that easy to lie and still sound authentic. I also agree with you though. I think this whole idea of trying to find people to work at a company because this is their dream company is just a silly fantasy for 99.9% of companies. Unless you're Google, chances are slim that working is nothing more than a job.

This whole craze over wanting to love your work and being "passionate" and "excited" is getting out of hand. I feel like I see the word "excited" thrown around everywhere now.

<comment><USER9> I agree. It is getting out of hand.

I try to be more pragmatic in my interview process. I don't expect candidates to be passionate because the company isn't their dream. I expect the owner to be passionate, but the rest of us are just here to pay the bills. Therefore, I don't bother looking for passion. What I do want is somebody who has coding experience and someone I'd enjoy working with. I focus all my questions around those two goals, with a greater emphasis on the second.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER17> I've been programming since I was four. Was doing 6502 machine code at eight or nine. I know over ten languages pretty fluently, and have done everything from high level web and desktop stuff to bare metal kernel hacking.

I can't code on a white board to save my life. It all just falls out of my head.

I've heard others say the same thing, so I suspect I'm not at all unique here.

</comment><comment><USER18> The whiteboard interview attempts to be used as a way to figure out a developers thought flow, however it is a flawed system....

Many programmers are introverted and not always the best at speaking in front of people they just met, most people aren't.

The skill the whiteboard is checking is not the skill that will be used on the job, it is overly focused on an extroverted personality and how well this developer can present to new people. An introverted developer might mess up in an interview but be making the best designs, products and presentations to the team later when the team is known.

The true test is in the trenches and no test in an interview by a select few people in the company can ever tell product delivery and developer skill, the interview steps are just some litmus tests. Companies want the best and brightest but many are getting cut off at the pass from a whiteboard. Is the interview really where we determine who is the best, not the work? What costs more, losing a good developer to an interview process or letting someone in you determine isn't a good fit 1-2 months in on a small project.

<comment><USER9> I was asked to write code to solve this problem during an interview once:

"You are driving at a constant speed. After a while, you pass a mile marker with a two-digit number on it. One hour later, you pass another mile marker with the same two numbers on it, but in reverse order. In another hour, you pass a third mile marker with the same two digits separated by a zero. How many miles per hour are you traveling and what numbers were on each of the mile markers?"

When I started working at the company, what was the first thing they had me do? Convert all the tabs in their Ruby source files into spaces.

That right there is the problem with whiteboard questions.

</comment></comment><comment><USER14> Just like many programmers fail at FizzBuzz, many interviewers have no business conducting interviews. Also remember that these practices will continue until someone educates them. So, the next time you're given 45 minutes to code up a radix sort in a whiteboard, instead start a discussion about interview techniques. The socratic method goes a long way to making people realize just how much they are cargo culting.

</comment><comment><USER19> When I hire someone this is my script:

#1 I introduce myself and what the project(s) entail and how things get done.

#2 I ask them some questions about their experiences, and ask them to tell me a story about some past memorable experience.

#3 I ask them to do a simple coding exercise (5 - 10 mins tops). If they bomb it, I don't care, what I want to see is how they _react_ to feedback. Some people will get belligerent during the interview, and that is definitely a red flag that I will not enjoy working with them.

#4 I let them ask me any questions they have and then wrap things up.

I think hiring engineers with a specific skill is great for a contracting position. But if you want to hire someone in a full time position, some learning on the engineer's part is to be expected.

</comment><comment><USER20> Google still seems to love their whiteboard interviews, to the point where you have to write syntactically correct Java, under pressure, for a rather difficult problem in only 45 minutes. It's stressful as hell, and has almost certainly driven off lots of good programmers. My company does sit-down interviews with a computer (usually a Mac) and the interviewer's choice of IDE. We get much better results that way - coding under pressure is still hard, but at least the IDE can save you from making easy mistakes under pressure, and you get immediate feedback about how you're doing, rather than just going on the ambivalent nodding of an interviewer.

<comment><USER15> Microsoft also still does whiteboard interviews.

Also, one of the issues of providing an interview candidate with a computer is that some people are very particular with their environment.

For example, even if you let them use an IDE they are familiar with, maybe they really don't like using Macs. Or worse, they don't even use a qwerty keyboard.

In my company nobody uses an IDE, I use vim and the other developers use emacs or sublime. I think we all have our own little plugins/settings that we use as well.

Of course you could solve all of this by letting employees bring their own computer, although not everyone has a laptop either. To be completely honest, I really like the whiteboard but I definitely can see why others don't like it and get the impression I'm in the minority.

<comment><USER21> I spent a day interviewing last week one of those companies. 3 whiteboard interviews during the process. I'd say it's far from dead.

I was asked to write syntactically correct code in a specific language on a whiteboard with a time limit. That's very far from how I work on a daily basis. I could understand writing pseudo-code or explaining architecture but what possible data can you gather from how well I draw curly braces on a dry erase board?

</comment></comment></comment><comment><USER22> I just switched to coderpad.io, and so far I really like it - it takes the place of a phone interview. I'm looking for JS engineers, so I've set up a series of stub functions representing problems - with corresponding tests for each of them. If they can make all of the tests pass within half an hour, they advance. They can ask all the questions they want, search the internet, whatever gets the job done.

For the in-person interview, I sit them in front of a laptop and give them one hour to develop a ToDo app from scratch. Bonus points for things like test cases, mobile deployment, multi-user support, you get the idea.

<comment><USER9> Here's the thing though. I find these sorts of tasks a waste of my time. I know from personal experience that I can ditch your interview and go get hired by numerous other companies who don't waste my time with drawn out interview processes. Therefore, you're not really testing my skills as much as you are my patience, and I simply don't want to be bothered. I know a lot of other engineers who feel the same way.

Now, if you want to pay me $80 an hour to code a bunch of fluff for you, great! Otherwise, I'm more inclined to look for shorter paths to entry elsewhere.

</comment></comment><comment><USER23> and lo, there was much rejoicing throughout the land.

Whiteboard coding is a terrible practice that should have died 15 years ago. 1 hour of pair programming on a real computer (even locked down with no network access) should tell you all you need to know about a person's skills.

<comment><USER24> See, this is where 'different strokes' thing comes in handy. I HATE HATE HATE pair programming. If you tell me I have to do 1 hour of pair programming on a job interview, I won't go. Not because I'll get nervous or anything, I just don't like a few things about it, a couple:

a) I hate having people in my personal space I don't know well. It may seem I'm being an asshole, but I'm very very very very sensitive to smells to the point that I can't concentrate. Your cologne or just body smell will probably be my number one focus throughout that hour.

b) while I don't have OCD/am a germaphobe, again I HATE HATE HATE using a keyboard that isn't new or mine. The stickiness of the keys, the dirt around them... makes me go crazy.

I always carry my laptop to interviews with me nowadays to at least avoid B.

So, for me, a whiteboard is great (for some reason, I don't care much about a dirty board/pens) and I do amazingly well on them. I also do very well in public speaking situations so maybe I'm just comfortable at that kind of interaction/distance.

I think the best is to truly ask the person what they prefer. If they want a laptop, great, if a whiteboard, cool as well, I've done both both as an interviewer and interviewee, and noticed that as well, some people prefer a whiteboard, others a laptop. Give them what they are more comfortable with.

<comment><USER18> Pair programming physically side by side is not great. Pair programming or integrating/coding together remote over Skype/Gotomeeting/etc screen sharing is great when needed.

It is like having another programmer in your head and you can't see each other type so there are less jibs/jabs. Plus both people can eat, drink, do things rather than just stand around one workstation like people did with TV in the 50s and one person can't see the screen.

I can't remember the last time I pair programmed in person over remote even in the same office/building. Occasionally you need to be in the same room or desk to draw something up but mostly it is more efficient remotely especially during an integration.

Pair programming remotely is like "hey you got a bug on line 441", pair programming side by side physically is like "dude you got a bug down there, btw just just use this hotkey" or doesn't even see it because you can't see the screen.

<comment><USER24> I agree. I work remotely and do this a lot with team members, but when people suggest pair programming, they are (usually) referring to 2 seats on 1 keyboard kind of thing, which I hate and would probably quit if I had to do it on a day to day basis.

</comment></comment></comment></comment><comment><USER25> God, programmers are the biggest whiners in the world when it comes to interviewing. Do you know the shit doctors and lawyers have to go through to get hired? If you did, you'd thank Jesus that all you have to do is solve problems on a whiteboard. If you can't do it, then here's a simple and effective solution for you: practice!

<comment><USER9> In the case of doctors, yes, I do. They demonstrate that they have a medical degree, have completed their residency, have passed their boards, and then provide proof of prior work experience. What they don't have to do is perform some esoteric and completely irrelevant surgical procedure on a gourd.

The reason the practical among us are complaining about whiteboard questions is:

1\. They are arcane and esoteric and do not reflect the day-to-day activities of the company.

2\. Programming is an iterative process complete with tools, visual feedback, and documentation. A whiteboard question takes away all these things and puts the engineer in an unrealistic situation. Using you doctor example, it would be like asking a doctor to prove their medical skills by performing a microtia repair on a banana using a bra and a bouncy house. Fun, of course, but completely irrelevant.

3\. They are the sign of an unskilled interviewer.

Personally, I have no interest in practicing to master the impractical, irrelevant, and incompetent whiteboard question skill when I can simply go interview with a company who knows how to conduct an effective interview. Maybe the prestige of working at Google or Microsoft is worth it to people to slog their way through those kinds of interviews. Personally, I went through Microsoft's interview process and ended up working there for over a year. I've had better jobs and I still think their interview process is retarded. I certainly wouldn't put myself through it again.

<comment><USER25> > They demonstrate that they have a medical degree, have completed their > residency, have passed their boards, and then provide proof of prior work > experience.

Oh, you mean that's _all_ they have to do? If you think being judged by a whiteboard problem is arbitrary, imagine being judged by your score on a fill in the bubble boards exam. And even after getting their degree and passing the boards, doctors still have to go through an interview that would make the average programmer cry. I worked directly with doctors for several years, and almost tried to become one myself. The shit they have to deal with is on a whole other order of magnitude from anything programmers go through.

<comment><USER9> I have worked with surgeons and anesthesiologists for the last 12 years, so I know what they have to do as well.

One important thing to keep in mind is that a surgeon or anesthesiologist is taking their patients' health, and even their lives, into their hands when they operate. I've written code for 25 years and nobody's life has ever been at stake.

Furthermore, when something is stupid and a waste of time, it should be discussed, dealt with, and eliminated; regardless of how many other stupid things exist in life.

</comment></comment></comment></comment><comment><USER26> I generally agree with the article in regards to social pressure/anxiety being very high for a whiteboard style interview.

However I disagree with its sentiment that coding resources are free and have no cost. I think this attitude leads to poor quality code. My reasoning is that if you don't have to spend any effort to write code than you will write the laziest code possible. This code might work but it will only work because it evolved from the wrong solution to a barely working solution. If compute time was more of a scare resource developers would spend more time writing correct code instead of iterating until something works.

I don't mean that all developers code poorly because of the decrease in the time of the iteration loop but I feel that it does lead to poor code in the general case.

</comment><comment><USER27> "Whiteboard problems were never meant to be fast, scalable or simulate real- world problems to ensure high-quality hires." No "problems" can simulate a real world situation, real world development is not a set of questions to solve. Not even the popular problems where the person is asked to do stuff like write a zigzag binary tree traversal or put ant on a chess board.

Also I still have to understand why interviewing has to be a scalable process. Are we interviewing 1000s of candidates at a time at some company ? From all I can think that is totally not the right place for a company to be. Granted there are millions of upcoming jobs, they are distributed across too many companies/teams , so the number of interviewees per head would be more or less constant.

"Programmers in this era were just used to the idea of writing code on paper. " So no one in current age group is comfortable planning on a whiteboard ? Does the author think that things are not planned on a whiteboard in real life ? I am 27 years old (maybe too old according to the article but still I was never a part of the punched card generation ) but how does that count as a reason not to ask someone younger to explain his/her approach or how they incorporate feedback on a whiteboard ? Whiteboard interviews are not meant to check if a interviewee can memorize the language constructs properly as being portrayed by the article, if such is the case, the candidate better walk away.

</comment><comment><USER28> The fact that there were 4 pages for this little text (with multiple unnecessary charts) annoyed me enough to forget what my actual complaint was.

<comment><USER29> I came here to say pretty much the same thing.

</comment></comment><comment><USER30> I was asked to do whiteboard interview once. I simply laughed and thanked for wasting my time. This was a company that knew me from previous jobs and they still insisted on this pointless exercise (1). From that point on I start by asking first, I dont do whiteboards, I dont do quizzes, I dont do personality/aptitude evaluations or out of the box tests. There is no point in asking me what some silly obscure acronym means when google is 2 seconds away, or testing if Im a team player if Im being hired to sit in the basement and staple patch cords together.

Google can pull this BS because they pay good money and are at the top of their game. But 100 employees boring 9-5? lol no. Lets face it, I dont need you, you need me. You came to me first.

1/ I returned twice as a contractor to fix shit build by new employee screened with white board :). This wasnt even a big company with strict corporate ruleset, they were just clueless :/

</comment><comment><USER31> We did "whiteboard" coding up until just a couple years ago but I've been pushing all our dev teams to switch to actual real "on computer" coding for interviews. At first there was some concern, but really, it works out a lot better.

The biggest still valid objection is "it won't be setup the way they are used to and so it will take too long for them to be productive even for a toy problem". Maybe. It seems like even they are used to a different color scheme or IDE plugins or whatever they should be able to figure out a default setup enough to write a toy algorithm. Maybe not.

<comment><USER32> You know what isn't setup the way my normal editor is?

A fucking whiteboard.

</comment></comment><comment><USER33> The article discusses Software Engineering interviews, not all engineering interviews and the title should reflect that.

</comment><comment><USER34> [http://www.forbes.com/sites/vivekravisankar/2015/05/04/the-r...](http://www.forbes.com/sites/vivekravisankar/2015/05/04/the- rise-and-looming-fall-of-the-engineering-whiteboard-interview/print/)

One pager.

</comment><comment><USER35> > For the past few decades, most engineers require candidates to code on a > whiteboard.

Citation needed for the first sentence. I have always heard of whiteboard coding interviews, but I have never heard that they are _common_ and certainly not the _majority_.

</comment><comment><USER36> Is the whiteboard interview perfect? No, there is no perfect method.

Disclaimer, I give lots of white board interviews. What am I looking for?

Syntax? Nope, I let the candidate use any language they want, they can even make it up as they go, as long as its consistent and doesn't contain magic. Most of my questions are simple and operate on arrays.

A good talker? Not really, although someone who freezes up and can't talk might be an issue discussing their ideas in a group, but its not disqualification. The number of people who have been actively anxious to the point they can't code anything on the whiteboard? Never encountered it, I've given maybe 500 white board questions.

My question revolves around iterating through an array, keeping track of a couple of pointers, and doing some simple swaps, its a sorting problem. I'm looking for people who can think 'step by step', people who can look at a very simple program, and keep track of how its executing.

You might say, you have an IDE to do that! IMHO, Any decent programmer can look at 8 lines of code and step through that . Most of the time, when I'm debugging something in prod, I only have a stack trace and the source code. I have to figure out how the trace could have been thrown, and I have to step through a bunch of code to figure that out.

Finally, Whiteboard coding is a skill, just like how to debug or how to import a project into an IDE; its a necessary skill to get a job. Plus, when I look around my room, I can spot 3-4 whiteboards, all of them have code and diagrams written on them. None of those came from an interview, those are all the result of one engineer communicating to others about their ideas.

edit: Last thing, the alternatives, side by side keyboard coding, a take home project. All of these have cons, keyboard anxiety is just a prevalent as whiteboard, just a different medium. Take home projects are nice, if you expect a candidate to spend a weekend coding for your interview. Just as people have walked out because of a whiteboard interview (something I've never encountered), I've actually dropped pursuing a company when they gave me a fairly complex take home project when I was at the offer stage at a different one. Fuck spending a day working on some throw away work and not get the job.

<comment><USER37> I've choked so bad on whiteboarding interviews that I've felt ashamed for weeks; yes, I am one of those people. But then when I broke the anxiety after practice, they became easy. The key is understanding that it's the process over the solution.

However, I'm quite proud of the fact that where I currently work we _never_ ask someone to code on a whiteboard. Rather, we ask them to complete a take home test and then, when they're ready, invite them in to discuss their choices and augment it functionally. This practice is, in my opinion, holistically far more effective at gauging a candidate's competence and ability.

<comment><USER38> Sadly I was able to find various great solutions to my take home programming assignments after the fact. I submitted my own original solutions, but I'm sure there are others that didn't bother/know how and submitted the other solutions they found online. I'd like to think the interviewer had an exhaustive list of Google search results for the problem, but I sadly doubt it.

<comment><USER37> What I mean about take home test is "build an app that does x y and z, write tests, talk about your choices" \-- something that you can't quite google. Take home tests for questions like "explain how to use fn.apply()" wouldn't work :)

</comment></comment></comment></comment><comment><USER39> Thus the whiteboard coding exercise has materialized for me perhaps twice in the past decade, and both times have been a reminder of just how terrible it is as an interview strategy.

It is Slow, Slow, Slow

I am actually greatly in favor of short programming exercises as a framing strategy for interviews. A sort of ersatz pair programming is the way I like to interview candidates: dive straight in with two seats at a machine and get to know the fellow over the course of either a bug hunt on the system he is being hired to work with, or if that's impossible for legal or other reasons then some small, fun coding exercise. Such as, say, "implement the world's worst way to represent and then reverse a linked list," or anything that starts with "you have an infinite tongue floating on a lake of a coffee and a piercing tool..."

Ditching the keyboard in favor of a whiteboard dramatically increases the time taken to evaluate any one shard of the programming experience, however. What can be accomplished neatly with a simple text editor in ten minutes can take a painful hour or more with a pen. Whiteboarding is simply not suited for the exploratory way in which most people code. All that wasted time would be put to far better use in talking, asking questions, and more deeply exploring the interviewee's approach to coding as a profession - touching on the many, many vital aspects of being a developer that cannot be tested in an hour with a text editor and a compiler.

Whiteboarding Primarily Tests for the Ability to Whiteboard

Most folk don't spend their lives working on how to most efficiently and effectively use a whiteboard. There are good reasons for this: we have computers now, with editing and presentation software that is ten thousand times more useful and functional than the combination of pen and whiteboard. Why would anyone choose to practice and optimize a skill that is never going to be used in the ordinary course of their professional life?

Nonetheless, there exist a small number of people who can whip up really great presentations on a whiteboard from scratch, even over the course of a discussion that swings around all over the map, and has no predetermined outcome. These talented folk will make great use of space, have little need to erase and redo, and will generally look good while doing it. But guess what? That skill, while very occasionally useful, has absolutely nothing to do with code or programming.

Most people, given a whiteboard and a free-ranging discussion or problem to solve, will produce an ugly-looking hash of notes and require frequent large- scale reordering of the content on the board to make sense of it all. If you weren't there, it might as well be Hebrew or hieroglyphics. If you were there, it still requires an additional investment of effort to follow what is happening - effort that might otherwise be going to more productive interview strategies.

Erasure and Exploration are Punished Aggressively

People are very individualistic when it comes to that aspect of development that involves the choice, design, and implementation of algorithms - the sort of thing that might take a few minutes to an hour and will typically be just a small part of a larger task. There are as many different approaches as there are types of personality. For my part, actually writing code is exactly equivalent to thinking about the problem: I plunge in and start writing, as that is the process by which I get a handle on what the eventual solution has to involve and how it will be organized. I'd guess that I probably write at least two to three times as many lines of code as eventually exist in any given small solution, and it is the rare module that isn't aggressively refactored or otherwise turned inside-out at some point within the first thirty minutes to an hour of its existence.

In a text editor, this is a very rapid process. It goes about as fast as I can type. On a whiteboard? Not so great. Forcing code away from an editor and into a whiteboard is, I think, a great way to sabotage anyone who approaches programming in a rapid, iterative, and exploratory fashion. The whiteboard favors instead that mythical beast, the programmer who assembles the whole solution in his head, perfectly visualized, and then just writes it down.

But where's the fun in that? If that was the way I coded, I probably wouldn't be doing it for a living, or writing software in my own time. Rapid exploration and thinking out loud in code is a key part of the process of development at the small scale - of exploring any particular modestly-sized problem space. Of course this is all very different from the strategies apply to a larger scope of work, or software architecture, or the planning of complex integrations ... but then you aren't going to manage to see the nuts and bolts of any of that via a short coding exercise.

Small Problems are a Tiny Subset of Programming as a Profession

The only thing you have time for in any coding exercise, but especially when whiteboarding, are tiny challenges - minuscule slivers of the vast programming experience. Just playing the odds, the ability to generate an algorithm for a small isolated problem is likely neither the most important component of the job, nor in any way related to the actual strengths or weakness of the interviewee as a programmer. What about planning, big picture thinking, documentation, writing skills, foresight, innovation? And so on, for as long as you care to make the list.

Further, the artificial whiteboard environment is far removed from anything approaching a real development environment. Every developer works within a halo of resources, local and online: the IDE, Google, Stack Overflow, and so forth. They are surrounded by an ethereal library and the means to use it - <USER2> primitive exobrain if you like. A large part of being a good programmer is being aware of and skilled in the effective use of this exobrain. Pen and paper coding exercises in this context are something akin to testing medical students by shutting them in a room with leeches, potions, and a patient, and expecting to divine something of their ability to perform in a modern hospital setting from the results.

Since whiteboarding is excruciatingly slow, by using it you've chosen to put the majority of your interview time into a poor-quality examination of one tiny facet of the programming experience, rather than freeing up time for other and better approaches.

"But Several People Need to See What's Going On"

Ah, the group interview. So move the chairs closer to that gargantuan developer-sized monitor you have. Or request a bigger monitor. Or use a projector. I believe we've moved somewhat past the whiteboard as the only available technology for presenting content to multiple people in the same room at the same time.</comment>


Microsoft launches first Chromium Edge builds for Windows 10 - <AUTHOR> https://venturebeat.com/2019/04/08/microsoft-launches-first-chromium-edge-builds-for-windows-10/ <comment><USER2> Works as expected so far: Facebook recognizes Edge as Chrome, Chrome Experiments are working and also the memory footprint caught finally up with Chrome. ;)

Besides the irony, I think this is a cool and the right move from MS.</comment>


What the World Eats - <AUTHOR> http://www.time.com/time/photogallery/0,29307,1626519_1373664,00.html

<comment><USER2> I prefer this version, since it lists each item in the pictures, as well as breaking down the expenditures by category:

<http://www.npr.org/templates/story/story.php?storyId=5005952>

Some interesting bits:

The German family spends more on vitamins than any other category. The family from Chad gets $24.37 worth of free rations from relief organizations. Almost half of the Americans' expenditures are on Fast Food and Beverages.

<comment><USER3> Those crazy Germans with their vitamin pills. They should just drive over to the Netherlands once a year, and buy their drugs there. It's way cheaper than in Germany.

Also all the bottled water is just crazy. German tap water is excellent in quality in all areas, and I like the taste in most areas I sampled. And never ever drink the Flensburger malt beer (unless you find a version that uses actual sugar and not sweetener).

The frozen pizza from Dr Oedtker is quite good. But for most other stuff, they could as well have bought it at Aldi for cheaper, instead of going for the higher priced branded items.

I guess I should stop ranting.

<comment><USER4> They also consume a ridiculous amount of bread (+pasta), dairy and sugary beverages. And probably then wonder why they get fat.

<comment><USER5> First, they aren't fat.

Second, how can you judge this without knowing how much calories they burn?

<comment><USER4> Ignore the kids, look at the adults. They're not morbidly obese, but they are carrying excess fat. Without a change in diet, or adopting the training regime of a competitive athlete (do you know how many calories you need to burn every day to stay lean on that kind of diet?), this is likely to trend to obesity as they age.

<comment><USER5> _I_ am not criticizing their diet. Look at their picture:

[http://img.timeinc.net/time/photoessays/2007/hungry_planet/1...](http://img.timeinc.net/time/photoessays/2007/hungry_planet/15.jpg)

These people are NOT obese. They are not super lean either, but for their age this looks like a perfectly healthy weight. In fact they are relatively lean compared to the other families.

<comment><USER4> Look at photographs of people 60, 80, 100 years ago. The relative perception of obesity in the US is extremely distorted. The average male is 5 feet 9 inches (176cm) and 195 pounds (88 kilograms). That is overweight. The adults in the photo are also overweight.

<comment><USER5> I'm not from the US, and neither are the people we're talking about. These people look like they weigh less than 88 kilograms, which I agree would be obese for 176cm.

Are you obese (by your own standards)?

<comment><USER4> Can you at least bother to look up the definition of the key words before arguing?

Obese: <http://en.wikipedia.org/wiki/Obesity>

Overweight: <http://en.wikipedia.org/wiki/Overweight>

<comment><USER5> Oh I wasn't aware that there were testable definitions. Then I consider it unlikely that the adults in the German family are either obese or overweight. On what are you basing your claim that their BMI is greater than 25 kgm^-2?

<comment><USER3> Also BMI is getting phased out in favour of ratio between circumferences of hips and belly. It has much better correlation with lots of diseases than BMI.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> Kudos to those Germans for putting their beer front and center.

</comment><comment><USER7> With a couple of exceptions, they've picked some rather wealthy, atypical families. I start putting my rant hat on if we go over $90 in a week and that's double what I know some people spend each week. We're in the UK, 3 strong, have a reasonable diet with good meals each day and several treats. We'd all weigh 500lbs if we spent $500 a week on food (or be permanently glued to the toilet after eating non-stop fruit)..!

</comment><comment><USER8> It would've been very interesting to see some examples of people who've chosen to eat diets that are _not_ the standard diet for their country. In particular, I'd like to see what vegans, raw foodists, Atkins dieters, and so on are eating.

I think the contrast between an American vegan and "Standard" American diet would be pretty interesting.

<comment><USER9> My girlfriend and I did it. We are fairly close to the paleo diet, although in this case there's some Matzo for passover.

<http://eruv.livejournal.com/190127.html>

</comment></comment><comment><USER10> This is the second time I'm looking at these photos. They're very memorable.

</comment><comment><USER11> People drink Coke everywhere...

<comment><USER12> A breakdown of per-capital consumption of Coca-cola products worldwide:

[http://www.thecoca- colacompany.com/ourcompany/ar/pdf/2009-pe...](http://www.thecoca- colacompany.com/ourcompany/ar/pdf/2009-per-capita-consumption.pdf)

</comment></comment><comment><USER13> Do I want to know what a "mayonnaise sandwich" is?

<comment><USER14> would you rather have a mayonnaise sandwich or "Pig's knuckles with carrots, celery and parsnips".

I think I may go for the mayonnaise sandwich.

</comment></comment><comment><USER15> Instead of cereal, some of these families should eat real food for breakfast.

</comment><comment><USER14> the Ecuadorians _love_ their hats, don't they?

</comment><comment><USER16> I want to live in Sicily.

Also, good god. The North Carolina example is an assault of colors on my eyes.

<comment><USER17> Don't worry, it's all corn under wraps.</comment></comment>