Because Spain won, jQuery: Novice to Ninja is free for 24 hours - <AUTHOR> http://sale.sitepoint.com/ <comment><USER2> Hi - It's Jen from SitePoint, here. Glad to hear you guys are enjoying the free copy of jQuery:Novice to Ninja!

As for marketing emails, we always include an "unsubscribe" link. SitePoint will never sell your email address or your information.

Enjoy the freebie!

<comment><USER3> A nice checkbox 'send me marketing upates' below the email entry box would be really nice. These days most people appreciate an opt-in experience to opt- out.

<comment><USER4> I actually think that if you're getting a free book out of it, the publisher should be able to get at least _one_ marketing e-mail to you before you decide not to see any more of their offers ...

<comment><USER5> Isn't marketing about getting your product in the customer's hands? Your product should be able to handle it from there.

</comment></comment></comment></comment><comment><USER6> The email address you enter won't matter. Just put in any valid email address you want and then visit <http://sale.sitepoint.com/claimpdf.php?email=> with the email address you entered appended to the end.

<comment><USER7> In that vein, <http://sale.sitepoint.com/claimpdf.php?email=foo%40bar.com> is now a direct download link :)

</comment></comment><comment><USER8> Interesting book, I just wish it didn't use the .html() function that much, especially the .html(externalInput) pattern - it's a great way to open XSS (cross-site scripting) vulnerabilities on your page unless you're very careful and the author apparently doesn't warn the reader to be careful.

<comment><USER9> Could you elaborate on this or point me to a site that explains the security risks?

For my product, I have a web app that does 100% of the rendering in Javascript so I use html() a lot. I adhere by the rule that I don't trust anything that comes from the client so I'm curious to learn what the security problem may be.

Thanks.

<comment><USER10> All you need: <http://www.owasp.org/index.php/XSS>

<comment><USER9> Thanks for the link but I really don't see anywhere where it says using something like html() would be a greater risk. The rule of thumb is to sanitize information from untrusted sources. And as long as you adhere to this rule, I really don't see how using html() would pose a security threat. That is unless I'm missing something?

<comment><USER11> I think the suggestion is that programmatically creating specific DOM nodes is safer than handing the library a string containing user input and hoping that the browser doesn't interpret it in a way that corrupts the DOM.

<comment><USER9> I certainly agree with this but I think it's misleading to say it increases your chances for xss security threats. I can see it increasing the chances of having a webpage not behave properly across all browsers though.

<comment><USER12> Say some "" got through from some source you just expected to have text. (e.g. this happened for youtube the other day)

If you insert this into the DOM with html(), it will execute the script, doing bad things. If you insert it into the dom with e.g. text(), it won't be interpreted.

<comment><USER8> You don't even need a script tag. Any tag with event attributes will work, e.g. Hello World!

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER13> Just make sure you use a throw-away email address... Sitepoint _will_ spam you like crazy. No such thing as a free lunch :-)

<comment><USER14> As a Sitepoint subscriber for about 5 years now, no they don't.

<comment><USER15> I don't subscribe, but I've given them my email a handful of times to receive free samples of books. (They're extremely generous with this. In a couple of cases, they sent easily half a book as a free sample.)

My experience has been that they're on the low-volume end of the "we have your email" spectrum. Not nothing, but not hideous.

<comment><USER2> Glad to hear you feel this way. Spam is not good. Thanks! Jen (sitepoint.com)

</comment></comment></comment></comment><comment><USER16> So where do we find out if Amelia said yes?

look in the dedications section, and you'll see what I mean...

<comment><USER17> She did. Check out the Sitepoint podcast where they interview the book's authors.

<comment><USER18> It would suck to have that proposal in print if she said no. Talk about a constant reminder.

<comment><USER19> Earl was more worried that she wouldn't read it!

</comment></comment></comment></comment><comment><USER20> I gave them my email with a plus sign in it, and I was surprised that the web form accepted it and I got the email. However, clicking on the link they emailed me, which had my email (and therefore the plus sign) in the url, broke their site and just sent me back to TFA. Nice bugs guys.

<comment><USER21> Did you submit some feedback reporting this issue?

<http://www.sitepoint.com/contact>

</comment></comment><comment><USER22> On the one hand: this is pretty cheap marketing tactics; on the other hand: Yay, free book! :)

</comment><comment><USER11> Smart. The book isn't bad, either; I saved my copy.

</comment><comment><USER23> Having looked at their bracket I kind of wish France or Germany had won.

<comment><USER24> France was gone after the group stages. I don't think they assigned any book to France ?!

<comment><USER23> you're right, I'm an idiot and was looking at the Netherlands flag.

</comment></comment></comment><comment><USER25> Skimming through the book, it is clearly written and starts with small steps for the JQuery beginner. I'm not sure how someone with no Javascript would fare. But for someone who has been using JQuery for a while it's worth about 5 minutes of skimming.

</comment><comment><USER26> Amazon has nice reviews of this book. Thanks for doing this.

</comment><comment><USER27> Has anyone read this, and would make the recommendation.

</comment><comment><USER28> I had already purchased this book, but it will still be nice to have a PDF version. Thanks SitePoint!

<comment><USER2> You're welcome! Jen (sitepoint.com)

</comment></comment><comment><USER29> it comes in pdf/kindle/[nook] formats. very very nice. thank you. Now who won? and what?

just kidding. I've very happy Spain won.

</comment><comment><USER30> got 9 spam emails a few minutes after signing up for this. way to go superduper.

</comment><comment><USER31> I'm guessing there could be a lot of promotions today across the net where the format/justification is: "Because <whoever-doesn't-really-matter> won, then <something> is <free-or-on-sale>"

not that that is a bad thing

</comment><comment><USER32> this is awesome. can't wait to read it!

</comment><comment><USER33> Well I thought hacker news was one place I could visit without World cup spoilers. How wrong I was. Well that's ruined my morning.

</comment><comment><USER34> dl link [http://s3.amazonaws.com/sitepoint-5for1-jquery1pdf/jquery1pd...](http://s3.amazonaws.com/sitepoint-5for1-jquery1pdf/jquery1pdf.zip?AWSAccessKeyId=1VXE8MPZ14ENBK220TG2&Expires=1278891094&Signature=ep%2Bz%2B26xffKE4cp3tRXbI0kJ%2BR0%3D)

<comment><USER35> mirror?

<comment><USER34> thought the link might live longer. I used guerrillamail to set up a temp email account</comment></comment></comment>


An algorithm that can give an instant solution to 7B people - <AUTHOR> https://medium.com/@roberdam/an-algorithm-that-can-give-an-instant-solution-to-7-billion-people-60bf628205a2 <comment><USER2> I think it's been mentioned in the original XAddress post, but the problem is not necessarily mapping a lat/long pair to a human-memorable address.

The way current addresses have worked (mostly) is by associating with landmarks. Large street names are known by lots of locals. Smaller streets are associated with larger streets by proximity (second left on Large Street). Numbers help place an address at the beginning, middle or end of a street, on the left or right.

Grid cities have an added advantage of encoding approximate location in the street name directly.

XAddress and What3Words solve a problem for the 4bn without street addresses, but they do not help locate things or navigate to them without being online.

<comment><AUTHOR> Just a real life example, I check something im interested on a classified ad and want to go see it, as you say the seller tell me how to get there, referencing other streets and local businesses (streets here are named after generals or war heroes, not grid style). When I try to find the address on Google Maps this is what it shows. [https://cdn- images-1.medium.com/max/800/1*wK-gIc8QQYHwEz5-Ba...](https://cdn- images-1.medium.com/max/800/1*wK-gIc8QQYHwEz5-BaHPZA.jpeg) And this is a city just 10 miles from the country capital.

"3645 OUR DUDE - Central,Paraguay" would have been useful.

Agree with you but dont have to be a "this or that" choice.

<comment><USER2> Well, if one has to input a lat/long pair to get "3645 OUR DUDE - Central,Paraguay", the same effort[1] can lead to better data in Google Maps or better, OpenStreetMaps

[1] [http://gis.stackexchange.com/questions/29079/my-house- addres...](http://gis.stackexchange.com/questions/29079/my-house-address-isnt- listed-on-google-maps)

</comment></comment></comment><comment> rm_-rf_slash While the algorithm is indeed simple, it is not the kind of thing an average person would remember or have time for. Therefore, it makes us just as dependent on technology as before. After all, if you want to find out where a given address is, you google it (although every once in a while the results are inaccurate or mixed up with a similar address).

So Xaddress does solve a problem. Not the biggest leap forward, but a solid step nonetheless. I'm interested to see what applications can come out of this (that couldn't be done before).

</comment><comment><USER3> Link to the previous discussion: [https://news.ycombinator.com/item?id=12260958](https://news.ycombinator.com/item?id=12260958)

</comment><comment><USER4> 42</comment>


A New Fitness Value System - <AUTHOR> http://hackerhmb.tumblr.com/

<comment><USER2> This is ... awfully vague stuff.

Tangentially, the question of "who is the fittest?" comes up from time to time in various places. It's a fairly meaningless question of itself, but fully explaining _why_ leads to roaming over stuff like multi-objective optimisation problems.

Which is neat if you like that sort of thing.

<comment><USER3> Isn't that what "fitness" is? At least in terms of aiming for a healthy body and mind. Vascular, muscular, pulmonary...any and every area can be optimized. I agree, that the blog post was vague - I didn't really get what he was saying.

<comment><USER2> The hint was in my callout to multi-objective optimisation problems.

MOOPs generally don't have an optimal solution. There's a pareto front of good solutions, but you have to decide what you value.

In physiological terms, you can't have it all. You need to make tradeoffs. The adaptations for strength are competitive with adaptations for endurance, and so on. You can't be very strong and easily run a marathon.

Now, suppose we decide to develop an index of fitness. Any such index could only be tested according to specific _tasks_ , which introduces the problem of task selection. Because you can quickly optimise those physiological tradeoffs to maximise index performance. If for example your fitness index has lots of running and swimming, endurance athletes will dominate. If there's lots of lifting and pushing, strength athletes will dominate. Average it over all possible tasks and I suspect the No Free Lunch Theorem will apply and everyone will suck equally.

There is no "fair" index because the entire concept of "general fitness" is nonsensical. All fitness is fitness for a task or group of tasks.

This is true of almost everything in life, because almost all the hairy problems we face are about trading off multiple objectives. The important lesson is learning that sometimes, you simply cannot have everything you want.</comment></comment></comment>


Honor among thieves?Cybercriminals urge others not to take advantage of pandemic - <AUTHOR> https://siliconangle.com/2020/03/19/honor-among-thieves-cybercriminals-urge-others-not-take-advantage-covid-19-pandemic/ <comment><USER2> "the dark web, a shady part of the internet accessible with special software"</comment>


Cops to grab unlocked stuff from cars in East Rock area, for safekeeping - <AUTHOR> http://www.nhregister.com/article/NH/20151101/NEWS/151109969 <comment><USER2> East Rock resident, saw this in the paper. Apparently it's legal as part of their "community caretaker" function, with some previous discussion on r/Connecticut [https://www.reddit.com/r/Connecticut/comments/3r7tl5/new_hav...](https://www.reddit.com/r/Connecticut/comments/3r7tl5/new_haven_police_to_take_valuables_from_residents/cwluai9)

One thing being ignored by a lot of the conversation that the police are at least going to be running plates and trying to call people, but I still don't love the idea.

Also have to wonder if once they open your car, can the police can just say "It smelled like weed" and search all your stuff?

<comment><USER3> Those comments raise an interesting question: why aren't the police just locking the cars?

<comment><USER4> The implication is that thieves will break the windows and snatch whatever they can. Since the police can't break the windows and "hold the contents for safekeeping" they have to skip the locked cars.

<comment><USER3> The article says the police will first run the plate and try to contact the owner before they take the stuff. Will they be doing this for locked cars too?

<comment><USER4> One would hope.

<comment><USER3> According to this article, yes:

[http://www.newhavenindependent.org/index.php/archives/entry/...](http://www.newhavenindependent.org/index.php/archives/entry/east_rock_car_break_ins/)

Another interesting tidbit from that: you have to show ID to get your stuff back, and you can only pick it up between 9:30AM and 3:30PM on weekdays. Which is pretty unbelievably shitty.

<comment><USER5> And they can sell your stuff after 60 days!

<comment><USER6> > And they can sell your stuff after 60 days!

While there might, somehow, be some arguments that the temporary hold to prevent attracting thieves is neither a deprivation of property without due process (prohibited by the 14th Amendment), nor an unreasonable seizure (prohibited by the 4th Amendment), nor a taking for public use (prohibited by the 5th Amendment) -- though I still think its likely to be at least one of those -- I'm having more trouble seeing even a remote argument for how taking personal property from an unlocked car and selling it, with the proceeds going to the government, can fail to be either a deprivation of property without due process or a taking without just compensation.

Moreover, its _exactly_ the same kind of permanent deprivation of the owners property that the policy is notionally supposed to _prevent_. "In order to stop your stuff from getting stolen, we had to steal it."

Really?

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> Had a boss once who lived near a couple of state prisons. A couple of times a year he was awakened by cops handing him his car keys and scolding him for leaving them in the vehicles.

It was rural area with zero crime. He always figured if there was an escapee he'd much rather have him take the vehicle than break into his house threatening his family to get his car keys. The cops never understood that point of view.

</comment><comment><USER8> This sounds terrible. The same logic could be used where if your house is unlocked then the police can seize anything they want "for safekeeping".

<comment><USER9> And how about for data?

1\. Log into a cell phone/computer. 2. See if there are any files with incorrect permissions. 3. Make backups and delete the originals so no hackers can get them?

</comment></comment><comment><USER10> Pure civil forfeiture play on the part of the PD. The ACLU will challenge this and win.

</comment><comment><USER11> From the other comments here, I think I'm in the minority, but I find this offensive not because of the potential for abuse by the police, but because it legitimates the idea that it's OK to steal from unlocked vehicles. Maybe it's because I'm old and rural, but I'd prefer to live in a society where the societal convention is that "theft is wrong" regardless of whether it requires breaking a window, rather than implying that the victim is to blame for failing to to push a button to properly signify their desire that their belongings not be stolen.

What are the limits to this approach? Should the police break the window and empty the glove compartment, on the theory that windows are easy to break and one shouldn't keep anything valuable in the car? Should the police try out their bump-keys on empty houses, and pro-actively remove the valuables from the 90+% of houses where these work? Should they "kidnap" the kindergartner who is in public without chaperones so that no one else does?

Or should they figure out ways to punish those who break the law rather than those who are obeying it?

</comment><comment><USER12> Like many HN readers, I can't help but speculate about how people could game new systems.

Here's what I came up with for this one: this system allows participants to exchange goods and currency, in broad daylight, with plausible deniability.

<comment><USER9> It could also expose police officers to incredible dangers.

Q: What if Jane X. Badgal were to fill a laptop case with explosives and a GPS/camera, then look for someone's open car near a police station and leave the device in it?

A: Police officer grabs device, remote detonation happens, with little evidence to go on.

<comment><USER13> I'm pretty sure if some one wanted to blow up or kill cops there would be quite an easier way to do so. Also the likelihood of someone being deranged enough to want to do it, and be capable of rigging a GPS and Camera to a laptop filled with explosives while being able to get their hands on explosives which could fit in a modern laptop is pretty slim.

If any "dangerous" incident will happen it will be more likely if a plain cloths police officer will open some one's car door in sight of the owner and the owner over reacts and lashes out. Some one booby trapping electronics to blow up cops what is this a 90's action film? Next they'll rig a police cruiser to explode if they go below 60....

P.S. I'm sure that if some one puts a bomb in a laptop that would be more than "little to no evidence", the bomb components, explosives used, the car and who ever drove it there, that's a mountain of forensic evidence right there....

<comment><USER9> See, you made the same mistake the successful deranged person would have fooled the police into making: You said the car would be part of the evidence. But go back and read what I wrote: the psycho puts the bomb into someone else's already open car. The car is a distraction.

> there would be quite an easier way to do so

First, psychos are not rational evaluators. Second, setting a bomb in a public place is a lot easier than sniping cops. There's no need to run, there's no head-to-head confrontation. The weapon can be untraceably manufactured in one's home - you can't just whip together a decent sniper rifle.

> Some one booby trapping electronics to blow up cops what is this a 90's > action film?

That was a witty phrase in the Aughts to shut down outsiders in security circles, but since then, there have been growing cases of snipers attacking police. It's reality, unfortunately and this policy increases the attack surface of officer security. [ 1 2 3 4 ].

[ 1 ] [http://abcnews.go.com/US/suspect-pennsylvania-cop- shooting-s...](http://abcnews.go.com/US/suspect-pennsylvania-cop-shooting- sharpshooting-survivalist/story?id=25545808)

[ 2 ] [http://www.cnn.com/2015/06/13/us/dallas-police- headquarters-...](http://www.cnn.com/2015/06/13/us/dallas-police-headquarters- shooting/index.html)

[ 3 ] [http://www.cbsnews.com/news/sniper-kills-two-officers- later-...](http://www.cbsnews.com/news/sniper-kills-two-officers-later-shot- in-va/)

[ 4 ] [http://gothamist.com/2013/07/05/police_search_for_sniper_who...](http://gothamist.com/2013/07/05/police_search_for_sniper_who_shot_r.php)

</comment></comment></comment></comment><comment><USER14> Wait, what?

If car is unlocked and laptop is visible - they take the laptop and lock the car. Try to contact owner.

If car is locked and laptop is visible - nothing?

<comment><USER13> Would you want them to bash in a window instead?

<comment><USER14> If consistency was applied they'd either

a) lock the car and leave the property intact

b) try to contact the owner

Neither of which they are doing

</comment></comment></comment><comment><USER5> Can we change this link to [http://www.newhavenindependent.org/index.php/archives/entry/...](http://www.newhavenindependent.org/index.php/archives/entry/east_rock_car_break_ins/) \- the current article doesn't allow me to use the back button!

</comment><comment><USER15> Sure could you also randomly enter my house to make sure I didn't leave the stove on? Thanks but no thanks.

<comment><USER16> Having seen a block of houses burn down due to only one resident's stupid mistake, I have to admit a bit of a desire to agree with that idea.

<comment><USER15> I think I would rather line the house with smoke detectors and pay the homeowners insurance than grant the cops the right to enter my house at anytime for a "safety check".

<comment><USER16> Ultimately that's what we do and I agree. We don't allow cops to randomly enter our homes for safety checks. That said, the situation discussed in the linked article is similar, but not entirely the same. While the police are entering private vehicles, it's in the pursuit of reducing and preventing crime, not the case in the hypothetical situation you posited.

I also think the notion that this is all a front for probable cause is a bit far-fetched and cynical. For one, do only criminals leave their cars unlocked with valuables in plain sight? What exactly would the "cover for probable cause" strategy accomplish?

<comment><USER15> My first post was tongue in cheek, my second one a response to your literal interpretation of it. What I was really saying is that I think police are overstepping their bounds on this. I would rather that no one enters my private property to save me from myself over small things. House on fire? Thanks a million for helping. I'm a dirtbag that leaves a dog in a hot car? Smash my window by all means. I forgot my phone in the cup holder and I'm dumb enough to leave my car unlocked? I will learn a moderately expensive lesson and won't do it next time. It's not up to the Federal or State government to treat me like a kid.

<comment><USER17> > I will learn a moderately expensive lesson and won't do it next time. It's > not up to the Federal or State government to treat me like a kid.

They don't care about you. They do care about the local crime rate, and the amount of work they have to do when you report your phone as stolen. Don't think of this as them treating you as a kid, think of it as them saving themselves some work and money.

<comment><USER18> > think of it as them saving themselves some work and money.

Not every unlocked car containing valuables is a guaranteed theft report, so rummaging through every unlocked car with visible valuables sounds to me like potentially more work and money.

<comment><USER3> It's only more work at first. Then the constant seizures will annoy people so much that they'll start locking their cars, and the police's workload will decrease.

Note that I'm not just interpreting the situation this way to make the police look bad. This is how they actually, explicitly describe it!

> Sharp said this plan does two things.

> "The bad guy is not going to break into the car and be able to take that > item. It inconveniences the person to come down and pick up the property," > the lieutenant said.

> That inconvenience is a kind of tough love approach that reinforces the > safety message.

> "Maybe next time they won't leave their stuff in plain view," Sharp said.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER5> Ummm... Apparently if you don't claim your goods within 60 days they sell them!

</comment><comment><USER19> Hmm... I wonder if they peruse storage devices while they're at it?

</comment><comment><USER12> So, nobody is ever going to leave their car unlocked in East Rock again. Ever. Is that a win?

</comment><comment><USER20> The links not working for me. Is this real?

<comment><USER21> Works for me, but this is a _much_ better article, among other things pointing out the items will be sold in 60 days if not claimed, has a copy of the notice, pictures and comments of the areas's "top cop", etc.: [http://www.newhavenindependent.org/index.php/archives/entry/...](http://www.newhavenindependent.org/index.php/archives/entry/east_rock_car_break_ins/)

</comment></comment><comment><USER22> Stuff from unlocked cars?

</comment><comment><USER3> Lawsuit in 3... 2... 1....

I'm sure they have the best intentions, but you just can't do this.

<comment><USER23> "confiscating goods that are invitations to thieves is one of the six exceptions in Connecticut law to the requirement for a search warrant"

they can just do this (unfortunately)

<comment><USER24> Well at least they might be able to do this if Connecticut were to secede from the United States. Not sure if you're from the U.S. or not, but we have a Bill of Rights which was originally intended to protect states from the federal government... But in this case it looks like we'll have to use it to protect us from our own states.

<comment><USER25> the 4th amendment has been incorporated to the states. states can't legislate/constitutionalize less protections than what federal law provides.. you know... because the supremacy clause

this should be killed by a federal court very fast

[1] [https://en.wikipedia.org/wiki/Incorporation_of_the_Bill_of_R...](https://en.wikipedia.org/wiki/Incorporation_of_the_Bill_of_Rights#Amendment_IV) [2] [https://en.wikipedia.org/wiki/Supremacy_Clause](https://en.wikipedia.org/wiki/Supremacy_Clause)

<comment><USER26> Actually the justification for incorporating the bill of rights (well some of it) comes from the 14th amendment, not the supremacy clause.

<comment><USER6> The supremacy clause is, however, the basis for why state statute can't brush aside the protections in the federal constitution, including those incorporated against the states by the Fourteenth Amendemnt.</comment></comment></comment></comment></comment></comment>


Boeing to Propose Redesign of 787 Battery to F.A.A. - <AUTHOR> http://www.nytimes.com/2013/02/21/business/boeing-to-propose-battery-fixes-to-faa.html

<comment><USER2> One of Boeing's fixes is to add insulation between the cells, which is exactly what Elon Musk proposed.</comment>


BuddyTV Gets First CRV $250K Loan (Anyone surprised that they've only done one so far?) - <AUTHOR> http://www.thealarmclock.com/mt/archives/2007/04/buddytv_gets_fi.html#Permalink <comment><AUTHOR> The CRV Loan program has been out for a good while now. I was surprised to see this article about the first funded company with CRV's loan program. Maybe the article is wrong? Or is it really this tough to get into their program?

</comment><comment><USER2> I read the article as saying that BuddyTV got the funding a while ago, not that they just got it.</comment>


Ask HN: How do you apply for a tech job? - <AUTHOR> I am interested in learning what are the best practices when it comes to applying for a job. The goal is for this post to serve as a collection of ideas that members of this community (including me) can use. If possible break down your answer into the high level steps that cover your entire process - from search to acceptance or rejecting of a offer. Thanks for participating.<p>EDIT: Also indicate how you find jobs/listing in the first place. Would like to hear form people who have a big network and people who don't. This will help people who don't have networks tremendously. <comment><USER3> Other people are giving good comprehensive advice, so I'll just drop in 2 small points.

1\. On any interview question, and _especially_ on coding questions, don't be afraid to take some time to gather your thoughts. You will feel like you're under the microscope and you're obligated to say something. This is normal. Tamp down that feeling. A composed reply is better than a reply that came two seconds earlier. If necessary, practicing using canned phrases as a stalling technique--just saying "Excellent question! So, you see..." buys you like two not-awkward seconds.

2\. In any coding exercise, spend more time talking than coding. You will have a large instinct school that your imperative is to find the correct answer. You must fight this. Your goal is to demonstrate that you can reason clearly, even if you arrive at a different answer than your interviewer. Before starting, explain your high-level approach. Be explicit about any assumptions you're making. Any time you make a decision, no matter how trivial, state that it is a decision and preferably why you did not choose alternatives.

3\. There will always be a part of the interview where the interviewer asks if you have questions. Ask a question. It doesn't need to be anything special, just have a few on-hand. My favorite is to ask what the company culture is like, since that's something the interviewer usually doesn't cover.

<comment><USER4> Another note on #3 - if you want the interview to remain positive, asking the interviewer what they like about working there and why they joined the company will pretty much guarantee that things will take a positive turn (unless the person shows signs of regretting their decision). It should also provide some insight into environment, as most in tech have that as a high priority and will immediately talk about their environment if it is positive.

<comment><USER5> I have heard that if you can get the interviewer to talk about themself for most of the interview, they will remember the interview going great, because everyone loves talking about themselves. I have not managed this myself though. ;)

<comment><USER4> That is pretty accurate. Most interviewers won't spend too much time talking about themselves, but asking a question that gives them the opportunity to do so gives you an advantage over interviewees that do not.

</comment></comment></comment></comment><comment><USER6> For me finding interesting companies is the hardest part. IMO you can rank companies in two dimensions: 1) companies that I'm enthusiastic about and would love to work for 2) companies that will employ me.

The trick is to find companies that are in both categories.

But the groups are fluid. You can gain more experience and therefore extend 2), or you can learn more about a company and therefore add it to 1). Or you can reduce expectations and have every single workplace in group 1).

When I look for a job I usually focus on individuals. Read an interesting blog post? I research on the author. Nice node.js library? Learn who wrote it. Amazing project? Who pays for its development and why.

This is a lifetime project, but yes, do follow individuals you admire.

If possible don't apply to jobs@..., instead send an email to a real human being. If a company has a blog, find an interesting author and contact him directly. You'll usually be told to send CV to jobs@ anyway, but it's always better (IMO) to have a friendly human-being advocate in your case.

Research github projects done by the company or employees. Try to contribute, it will not only give you an experience and a good topic for a discussion, but also can also show reveal communication patterns in the company.

Before going for an interview, try learning as much as possible about the company. From all sides: how many data centres, what AS'es, who is listed in whois entries, who is the biggest competitor, who are the investors, who are the customers, and so on. For me there are four groups of things worth researching: individuals, communication patterns and politics, technology stack, business (ie: money).

</comment><comment><USER4> This question can lead to quite a long list of answers. I've posted several of my blog posts about job search here on HN over the past couple years ([http://jobtipsforgeeks.com](http://jobtipsforgeeks.com)), and I write extensively about job search and career tips specifically for programmers and tech pros. I've been recruiting engineers for mostly startup and small software firms for 15 years, and I've run a Java User Group since 2000. During my career I've worked with thousands of job seekers and hundreds of companies, so I've managed countless job searches for engineers.

I recently released an ebook 'Job Tips For GEEKS: The Job Search', which is a step-by-step guide to most of the things you are asking about. It starts with the decision to start a job search, what strategies to consider and pros/cons of each (recruiters, posting resumes, emailing to online posts, and more random approaches, etc.) , implementing those strategies, how to protect yourself from recruiters, resume structure section by section, interview tips for phone and face-to-face, keeping metrics during the search (to track success/failure), talking about money, negotiations, balancing multiple job offers, refusing offers, accepting offers, counteroffers (including what recruiters are trained to tell you), and how to keep bridges intact after the job search.

It covers everything during the process in about 150 pages. I made a quick one page with links to buy and a link to a free section - [http://jobtipsforgeeksbook.com](http://jobtipsforgeeksbook.com).

</comment><comment><USER7> \- Be honest about your experience, and tell them what you are really comfortable with. If you got 3 months experience in Objective-C, don't say 1 year, and tell them what parts/concepts of Objective-C you have used. Don't get too hung up if your skills aren't what they're looking for. Good employers know that someone with a strong technical background can learn anything given enough time.

\- If they are giving you a puzzle, try your best to solve it. Do not be too worried if you can't solve it. Most of them will give you hints. I have been offered jobs when I couldn't solve their puzzles.

\- If they're asking about opinionated questions (OSX/Linux/Windows, Git/Hg, Java/C, iOS/Android, etc), they are probably just testing your reasoning. It doesn't matter what you answer as long as you have your reasoning. Telling them you use Hg because your boss told you so is not good. It's always good to have a good lookout on new technologies.

\- Go to meetups and talk to people. You will probably find a lot of jobs there. Be open, tell them you are looking for a job.

\- Wear a t shirt and jeans. Drink lots of water and maybe a cup of coffee.

<comment><USER8> I do almost all of that stuff (except going to meetups because...) but location matters the most. I live in a small town in India, and I would like to work, but we don't have the kind of job I would like to do here. No one writes good software, there is no startup culture. People here need someone to maintain old java code or write some mundane portfolio website. I need a startup or a proper tech company with products, market, that has exciting cool stuff to work on, I would be more of an intern, but location is I believe the most important factor. I even got a couple of emails back but they declined because they were not supporting visas. But's that's alright, I am not too keen on leaving the country either.

<comment><USER9> Ashok, is that you?

<comment><USER8> I am not actually. I guess there are many people in situation like me. haha

</comment></comment></comment></comment><comment><USER10> I've been in the work force 12 years and had 4 jobs. My first job was my University Co-op that turned into full time employment after I graduated. When I want to change jobs I put the word out to my friends and ex-coworkers that I'm looking. Usually somebody will come up with something fairly quickly. I may or may not have to send a resume. The interview will be a formality. I've never just applied for jobs that are posted, that's what some of my friends are doing now and it seems very difficult, especially if you don't interview well.

I didn't even do anything particular to build my network. I just worked at a company with fairly high turnover for 4 years, so now I have ex-coworkers at pretty much every company in town.

I live in a fairly small city, 350,000 people. So it's pretty easy to get known in the tech industry without knowing that many people.

</comment><comment><USER11> \- On your resume, don't list what you _did_ , list what you accomplished. For example, wrong = "Wrote new SQL and bug-fixed existing SQL on web application". Right = "Reduced a long running SQL call from 8 hours to 20 minutes" \- Also try to avoid "fuzzy" statements on your resume. Make your accomplishments quantifiable. Wrong = "Rewrote a VB program so that it was a lot faster". Right = "Rewrote a VB program, reducing average run time from 60 minutes to 15 minutes" \- Be prepared to defend any statement on your resume. If you made that program faster, be prepared to explain how and why \- Apply for some jobs you don't really want before you apply for the ones you DO want. This is because interviewing is an art, and it really helps to "get in the mode" first. If you going to bomb the first few interviews, make them ones you don't care about so much. \- Turn off your cell phone. Better yet, leave it in the car. \- Have a personality. Hiring is still mostly about who "fits" the job. If they like you, half the battle is over. At the same time, don't be "chummy" with the interviewer. If you act like you two are best friends and should go out for a beer together, it feels kiss-assy and rarely if ever bodes well for you. \- Prepare to answer common questions. Why do want to work here? Why should we hire you? What are you most proud of? What is your weakness? What was a time you had a conflict at work? Almost everyone asks these, and and sucks to answer with some dumb example. \- Always try to rephrase the question asked to you before answering it. e.g. "Tell us about your SQL experience" \- you reply, "So you want to know what kind of SQL projects I've worked on?" This makes sure you understand what was asked, and it also gives you a moment to think. \- If you don't know, say you don't know \- Have examples of your work. Code snippets are great, screenshots of UI's you've worked on, etc. When I bomb their pop-quiz (and I always bomb their pop-quiz, I suck at testing) it really helps to tell them that you can show them code from your daily job that better represents you on a daily basis. \- Never talk badly about other jobs, even if they were awful. Try to have a reason for switching jobs (e.g. They were a great place to work, but there was really no chance for job advancement) as opposed to "That was a soul sucking job and they can kiss my ass" \- Understand that most people performing tech interviews have ZERO training in doing so. If they aren't asking you questions that put you in your best light, then help them out, and offer up that information.

<comment><USER12> I agree on the advice on applying for jobs you don't want first. If you're like a lot of people, you're nervous during interviews and practice makes perfect. Maybe you'll encounter questions you didn't expect or have a great answer for. Maybe you find out that people really do quiz you on all the textbook CS stuff you learned in college and subsequently forgot.

If you get a job offer out of it, that will build confidence for when you apply for the job you want.

<comment><USER13> Please only do this if you're fresh out of college (or otherwise new to interviewing for tech jobs). Interviewing candidates is hard enough on companies without spending time on people who don't even want the job.

<comment><USER14> I don't know. Often I'm not sure if I want the job or not whem I apply, so I see interviews as an opportunity to learn more about the company. Many companies are very different in what they ask for in a listing and what they're actually like. It goes both ways.

</comment></comment></comment></comment><comment><USER15> The classical browse job offers, send resume, get an invitation to an interview, get the job does not work anymore. Optimizing for the best cover letter, great resume, or tricky interview questions is a cargo cult. The only reason to optimize here, is if you want to become a priest of this cargo cult, e.g. a recruiter, vocational guidance or other professions who exploit the unemployed.

I assume that "tech job" means something in IT tech like coder, designer, admin, and not something like an engineer or chemist.

I got all my projects over the last 35 years by listening to others peoples problems. Real programmers are cursed by infinite ideas vs. limited time. So ideas get a negative value. Just pick those ideas where the company has a great culture, and that sound challenging to you. So the positive work environment must balance the negative value of the idea. Ask yourself: The is company work environment good for solving the problem, or a hindrance. Do !NOT! talk to HR, but to the people who have the problem. I always talked to HR last, at the moment after signing the contract when they want my tax numbers and the like.

One indicator, that might not work in other cultures (outside Germany), is: You got the job, if they take the time to show you the recreation facilities like coffee kitchen, smokers garden, after the interview.

</comment><comment><USER16> I see really interesting and articulated responses here, so I'm wondering if anyone has tips on how to apply to jobs when you have 0 experience, like when you're straight out of college. I know most of you might be thinking "you have to build a portfolio/repository on github WHILE you're studying and then build from that" but often that's not an option. Maybe I'm particularly stupid but I don't have really time to do anything beyond studying for my courses. So I'm wondering, if you're just out of college and you don't have anything to show, plus you don't have much experience in terms of programming 'cause you just did 2-3 projects during your years as a student, what's the best course?

<comment><USER17> First option: Drive downtown and write down every business you see. I would imagine 99% of them need technology, 75% of them have some form of technology, and 50% of them are using legacy software. Call them. Something is running at O(n^5) and they need your help.

Second option: Connections. Find that person that knows someone. Use your alumni network.

Third option: If you're fresh out of college, expand out of city or state. Watching students stagnate in their hometowns is a shame.

Persistence pays off regardless of the field. 'Hi, I'm wondering if you have any computer related jobs available? No? Do you happen to know anyone applying?' Build a network out of people you're only talking to for 5 minutes!

</comment></comment><comment><USER18> Hello guys! In brief: I am biologist on the paper, but I work basically 70% with computational biology and only 30% in the lab. Also I engineered certain php and c++ apps. Now I am looking for positions in that direction. I had some problems when they tested my skills. I often failed because I was nervous. Next week I am up to an interview again and this time they announced to test me on my php skills. I'm pretty sure that I'm not soo bad in that stuff, but last time I coded php 24/7 was almost three years ago. Since then I had to focus more on C++ and C#. I don't want to fail and just don't have enough time to repeat every single thing so have you any suggestions how to deal with that uncomfortable situation?

</comment><comment><USER19> I have a somewhat related question: How do you best present yourself at a career fair?

I did pretty well last year by being friendly and trying to show my passion for programming. This year, I'll be attending the Reflections | Projections Conference [0], and the companies I'll hopefully be talking to are on a completely different tier. What's the best way to make a lasting, memorable impression, especially if my school isn't particularly impressive? Do I mention my prior internships or side projects? Something else?

Thanks for any advice!

[0] [http://www.acm.uiuc.edu/conference/2013/](http://www.acm.uiuc.edu/conference/2013/)

<comment><USER4> Luckily for you, the career fairs you go to in college should be your last. Once you have a job and some marketable skills, you don't want to be hanging around career fairs.

To differentiate yourself, definitely mention side projects and internships. Be sure those are on your resume - relevant links to websites, a GitHub account, or whatever else you can do to show your code. Feature them prominently on your resume, along with an internship. Keep it one page.

Also, make sure to be as personable as you can at a career fair. Chances are the people you will meet might not be engineers, but more HR and recruiting types that are basically salespeople (recruiter here) who tend to be smooth talkers. You'll want to make sure you provide firm handshakes and eye contact to avoid some of the engineering stereotypes.

Good luck

<comment><USER20> well the recent security themed fair that was held in Victoria was for those interested in security and not just recent grads.

PS the geekiest attendee was one of the young guys on the GCHQ stand :-)

<comment><USER4> There are exceptions. Here in the US, most career fairs consist primarily of larger and older companies with booths, and the attendees tend to be people who have been unemployed or unhappy for extended periods of time. If you find yourself going to career fairs a lot, it probably means you should start making better career decisions to stay marketable.

</comment></comment></comment></comment><comment><USER21> Whatever you do, do not under any circumstances go through the company's HR department to get a job. I work in one of the best tech companies in the industry, and our HR people frequently reject highly qualified candidates we'd like to talk to before we even see their resumes. We know this because these same people often know people on our team, or on our friends teams, and we get their resumes through back channels. We almost always hire these people instead of whoever HR sends us.

As an example, about a decade ago, I saw an opening for someone with vector processing experience. I applied and highlighted my extensive experience with AltiVec processors in Macs. The recruiter actually sent me back an email asking why I had included all this irrelevant AltiVec stuff. It turned out he had no idea what vector processing was and didn't realize I had _exactly_ the experience he was looking for.

Later, when they had an even better opening, I just emailed a guy on the team that I had met once or twice and he was very happy to pass my resume on to the hiring manager because he knew I had the experience needed from being on some mailing lists with me. I got the job and have been at it for 8 years. My boss's boss at the time said it was one of the best hires they'd ever made.

</comment><comment><USER22> I'm in the "no experience" boat. I recently decided to switch jobs; jumping from sales to a aspiring programmer. I'm dedicating the next 6 months (full time) to learning Ruby/Rails and becoming comfortable with HTML/CSS/Javascript.

A few things I'm doing to get prepared: 1) I'm enrolled in a online Ruby/Rails bootcamp ([https://www.gotealeaf.com](https://www.gotealeaf.com)) it lasts for a total of 16 weeks and we're building out several projects. 2) Taking lessons at Treehouse, I'm always up for some extra practice! 3) Just started a side project that I will have completed by the end of the 6 months. 4) Attending a weekly local Ruby meet up. Additionally, I'm getting involved in other local tech events, like Startup Weekend.

My plan of action is to make a trip to San Francisco (this is where I ideally want to relocate to) to speak to a few potential employers mid-way of my journey. Of course, it won't be a formal interview but I would like to let them know my plans and a get feel of their company, culture, etc. At the end of the 6 months, I will touch base with these companies and show them my progress. At that time, I will also reach out to additional companies.

What do you guys think of my overall strategy? Any suggestions?

In terms of my resume, what type of things should I list? Since, I won't have any "formal" experience, is completing the online Ruby/Rails bootcamp worth highlighting? How about my side project?

PS: I'm a female in my mid 20's coming from a luxury sales and customer service background.

Thanks in advance!

<comment><USER23> You should definitely focus on solid side projects. You don't have any prior experience as a developer so the only way to prove to someone that you can code is to show them.

<comment><USER4> Since she doesn't have a job in the industry, are they still called 'side projects'? I agree with the sentiment though, that she should focus on building a portfolio of code that she can use as evidence that she knows what she is doing.

</comment></comment></comment><comment><USER24> Here are a few of the things I would recommend in no particular order. Most of them are pretty traditional.

1\. Wear leather shoes. You could dress in rags, but if you are wearing leather shoes, it will make it look like you meant to. Scott Hanselman pointed this out on his This Developer's Life podcast a while back.

2\. Show your github or linkedin profiles, but despite people saying "oh, this is my resume", no it is not. Quit being cute and spend 20 minutes typing up a real resume. Use one of the templates provided in most word processors. Your resume is not meant to stand out. It is meant to be used as a filter to see if there are any red flags. Think of it like just another piece of paperwork. Include your last 3 jobs (not 1 and definitely not 10), degrees, and a list of technologies you know. Do not include smarmy HR stuff like "Team Player! Great Work Ethic!" Make the resume custom taylored to fit the position you are applying for. Since you are not including everything you have ever done, just focus on the experience you have that is most relevant. Lastly, keep it to one page, with a normal font size.

3\. Dress to the company +1. If they wear cargo shorts and t shirts, wear shorts with a polo. If they wear jeans and polos, wear jeans with a button down. If they wear kahkis and button downs, wear that plus a tie. If they wear suits... you probably do not want to work there so I would recommend wearing a tuxedo or nothing at all.

4\. Always remember that you are interviewing them. Take charge of the interview. Ask about the culture and values. Ask the interviewer how they personally feel about X and Y aspects of the business. Ask about stability and/or revenue. If it seems appropriate (feel it out), ask where the person who's position you are filling is now and why they left. If there are red flags hiding, this is the question that will often reveal them.

6\. As far as finding companies goes, pick a list of 10 you like, then email all of them. If they have a position listed, then mention the position, but if not, apply anyway and offer your services. Coders are in demand, and many companies will jump at the chance to interview an enthusiastic person who took some initiative. Pretty much ignore job requirements. They are so often unreliable, that you might as well find out in person. As long as you are fine with the stack, go for it.

7\. Do not get tunnel vision. This is probably the most important thing. It is like buying a house. Do not fall in love with any one offer. You should never, under any circumstances, be applying for one job at a time. You always want multiple offers so that you can leverage them against each other. Also, if one falls through, it is no big deal. If you were going to apply for one job at a time, you are forced to go with jobs that are almost a sure thing. After all, if it does not work out, you could be out of work for another month or two. If you reach for something out of your comfort zone (something that is essential for growth), you might have a 20% shot of getting each individual job. You do not want this to be a 6 month process, so go for jobs in batches of 5. If you have a 20% chance at each, you will probably land one of them. I have seen many coders fall into the trap of feeling like they are being disloyal for following multiple leads at once. This is complete BS. Companies are interviewing as many people as they can, so do the same. You do not even work for them yet, so loyalty really should not factor in.

<comment><USER25> > If they wear suits... you probably do not want to work there so I would > recommend wearing a tuxedo or nothing at all.

Don't know if that is just a joke, but one of the best places I ever worked people all wore suits, the systems were internal for a few high wealth people revolving around aviation.

Not pretentious, just looking as smart as you can. Same sort of logic as dressing up to go to the opera, I love to see gf in an evening dress, she likes me in black tie. I definitely look more dashing!

I should be wearing a suit now, but instead have my arm in a sling, so am in an injury friendly easy to dress casual t-shirt. No one objects (well aside my productivity drop due to one arm out of action).

<comment><USER26> There might be an interview trick in there...

Don't have a nice enough outfit? Grab a $5 cast or sling and use it to excuse your lack of suit, say it'll be off in a week.

</comment></comment></comment><comment><USER27> The most critical thing to remember when it comes to applying for jobs is "either you have it or you don't". You can embellish your resume, contact 100 recruiters, and have the most well developed portfolio on the planet, but when it comes time to apply your knowledge, you have to deliver. I have seen plenty of IT professionals who look fantastic on paper, but cannot think creatively or deliver under pressure. Take time to understand the industry, constantly strive to learn new technologies, and be infinitely curious. I am nowhere near the skill level of anyone on HN, but people much wiser than I am have instilled a sense of curiosity in me, and that's the most valuable character trait anyone in this industry can have.

</comment><comment><USER28> Steve Yegge made some excellent points about writing a resume:

[http://steve-yegge.blogspot.com.au/2007/09/ten-tips-for- slig...](http://steve-yegge.blogspot.com.au/2007/09/ten-tips-for-slightly- less-awful-resume.html)

</comment><comment><USER29> \- Don't lie on any part of your resume. If you have any open source projects on e.g. github, put the link to your profile on your resume (that helped me a lot).

\- Say don't know if you don't know something, that is a legitimate answer

\- If you get a programming assignment in your interviewing process, don't overengineer. For example, if assignment asks of you to take some data out from a webpage, don't use regexes, use a html parsing library instead.

\- Remember that interview is also a conversation.

\- If you decide to reject an offer, don't reject it impolitely, who knows, maybe in few years they will call you again, with a better offer.

<comment><USER30> Maybe you accidently switched regexes and html parsing around. But using a regular expression to retrieve data from a webpage is not an example of over- engineering. It would be a good example of a quick-and-dirty solution. If someone used them it will probably result in a discussion about the limitations of the approach.

</comment></comment><comment><USER31> Avi Flombaum gave an excellent talk on this a few months ago.

He dove into the six different types of technical interviews (cultural fit, brain teasers, whiteboard coding, cs trivia, code questions, and pairing) and how to prepare for each of them.

[https://speakerdeck.com/aviflombaum/mastering-the- technical-...](https://speakerdeck.com/aviflombaum/mastering-the-technical- interview).

</comment><comment><USER32> If you wish to target post-round startups, it can be a little bit easier to contact a vc firm's talent team (such as: [http://a16z.com/talent- services/](http://a16z.com/talent-services/)) who, if you pass whatever conversation / interview they give you, can recommend you to good fits within their portfolio.

</comment><comment><USER33> Preface: I have interviewed around 300-500 people in the last 10+ years, spread between Microsoft and Amazon. This applies for finding a job with one of the Industry titans (Amazon/FB/Google/MS/Twitter etc.)

1\. Prepare well. The number of interview preparation sites are way too many to mention.

2\. Get your basics straight. If you are applying to a programming job, assume you are going to be grilled on Data Structures/Algorithms/Coding/Design patterns/OS. 3\. Practice coding without an IDE.

4\. Tune your interview preparation to the industry you are trying to get hired into as well. For example, if you are an experienced guy and plan to interview with us (AWS DynamoDB), you would be hard pressed to get by without Database Architecture/Concurrency/Distributed programming related knowledge. This also levels up or down according to your experience. If you have 10 years in the database industry the expectations are going to be very different compared to a college hire.

4.1. An addendum: We do hire a lot of people from other disciplines provided they prove that they are smart / willing to learn / can code. I switched from the Windows C++/C# shop to a linux Java/Perl/C++ shop for example. Do make your competencies clear to the interviewer at the onset.

4.2 Remember that you could be a very successful person in a different field/company, but as an interviewer if I can't relate your skills for the role I am interviewing you for in some way – I can't hire you. This starts mattering more and more as roles become senior.

5\. Know what you have been doing for the past few years. Prepare for questions probing your team skills/problem solving skills etc.

6\. Know what you are talking about and what's on your resume very well - <USER2> can't stress this enough. I find so many folks who have a templated 'Skills' list like Java and are not able to answer basic fizz buzz questions.

7\. Read up about the company culture and see what they actually value most. (again, way too many sites out there for this information). Amazon has a list of leadership skills that people look for. These might appear broad, but usually have direct effects on the interview process. 8\. Find someone inside the company who will refer you instead of cold calling.

Shameless plug: If you think you are well prepared and want a referral to AWS, contact me! We are hiring!

</comment><comment><USER34> If you are in a big city, I have found that in person events are the best option. Meetups are everywhere. In New York specifically there is the New York Startup Job Fair, NY Tech Day, New York Uncubed, and a couple others.

Two data points, I met my current startup at NY Tech Day. My previous startup was met via one of the NY Tech meetups.

</comment><comment><USER35> How does an engineer/coder address skill gaps(before and during an interview)? e.g.- C programmer but very little C++ experience

</comment><comment><USER13> If you're looking for a job with specific qualities (uses X language, is in Y market, etc) then you need to expand your (people) network in those areas. Join as many groups related to those things as you can. Join meetups, mailing lists, G+ groups, find IRC channels, etc. The original poster was right to talk about networks, but it's not just about who you have worked with before, it's anyone you have interacted with on a sustained basis, and those groups are often just as good as working with people, sometimes better, because generally anyone can join those groups. Also, they're great learning resources.

It's in these groups that jobs are often posted before they're posted publicly. And if you've been an active and quality participant in the group, your response to the posting will be looked on favorably. You'll have a foot in the door without even trying. That being said, make sure you are always polite when talking on these groups, as it reflects badly on you if you are condescending, argumentative, or otherwise unpleasant.

When writing up your resume/CV, be 100% honest. Never fudge the truth. Most employers realize that not everyone can know everything. Briefly list the major technologies used at each job, and list a few prominent accomplishments (e.g. "rewrote client-server sync framework, decreasing server load by a factor of 10"). Keep your resume to one page if you have less than 5 years experience, 2 pages for anything over 5. Don't bother with anything other than company name & technologies used for jobs more than 10 years ago. Don't over clutter your resume with skills. Pick your top few. If you start having to write stuff like "XML" as a skill, you know you've gone too far. It's ok if you just have a couple... everyone has to start somewhere.

Never be afraid to say "I don't know" in an interview. If you don't know, say so. No one expects you to know everything, and it's far more valuable for an employer to know that you'll be up front about what you don't know, than to think you'll try to bullshit your way through any question. I guarantee you, they'll know when you're doing it.

Try to work through whatever problems you're given, whether they're brainteasers or coding problems or what "would you do if" questions. Always always talk out loud when doing these problems. It lets the interviewer understand your thinking behind what you're writing. That way, even if you're wrong, the interviewer may see your misunderstanding and help correct it. Most of the time, they're not looking for the right answer, they're looking to see how you work through a problem.

If you're doing coding problems on a whiteboard, always use the language you are most familiar with. It's hard enough coding on a white board without also trying to use some language you've only used in passing. Also, always walk through your code after it's been written to make sure it does what you expect. The interviewer will like that you're double checking your work, and it'll help catch and dumb errors. Think of it as running the code through a compiler and/or tests.

Ask intelligent questions about the problem before you address it... what assumptions are you making? Is it only ASCII or is Unicode accepted? Are we talking 32 bit ints or 64? Does this need to be thread safe? Questions like this, before even writing a single character on the board will show that you are a thoughtful coder that doesn't just blast out the first code that comes into your head.

Finally... dress nicely. You probably don't need a suit. If you're junior, I'd go with slacks, a button down shirt, and a tie. If you're mid level (7+ years), drop the tie. If you're senior (15+ years)... just make sure you dressed in clean clothing :)

Always offer to shake hands when you meet someone and when they leave. Look them in the eye and say "Thank you". Be nice. Smile freely.

<comment><USER36> I agree with most of what you say, though I'd like to nitpick because... because I'm on the internet and that's what my internet manual says I should do.

I understand the concern over appearing "condescending, argumentative, or otherwise unpleasant" but sometimes you need to do that. In fact, if I were hiring I'd find such characteristics totally appropriate and valuable, to a certain degree.

I say, sure, be polite but when you are taken to that limit, feel free to condescend, get argumentative and express yourself.

<comment><USER37> Personally, I always aim to be polite and I don't understand the reason why people believe that "argumentative" is necessarily a bad trait. Sure, it's bad if you argue for everyone and everything but doesn't this mean that you need to do it in moderation?

I think part of the reason why being argumentative has a negative vibe in the general public is because people don't really argue - they just bring their point of view and try to shove it down your throat until you swallow it and agree or choke on it. The mere thought of considering new suggestions is for many people scary.

<comment><USER13> Argumentative generally means arguing without and real reason to do so. Obviously, yes, you should stand behind your position, preferably with facts to back you up. But that doesn't mean you have to go out of your way to start an argument, or be rude while doing so.

There's a big difference between a disagreement and an argument.

<comment><USER26> This is a crucial distinction. Disagreeing with someone is valuable. Being argumentative isn't about accuracy, it's about ego and self-assertion. If the person you're talking to can't be persuaded, the solution is to call on sources (or if they aren't available, as in an interview, table the topic until they are.)</comment></comment></comment></comment></comment>


You Have a Moral Obligation to Claim Your $125 from Equifax - <AUTHOR> https://slate.com/technology/2019/07/equifax-settlement-money-how-to-claim.html <comment><USER2> This argument doesn't work when you consider that the payout isn't $125 per person, it's "a small percentage of $700m divided by the number of claimants (capped at $125)" per person[1]. Equifax doesn't get hurt any extra no matter how many people claim the money.

[1] [https://www.theverge.com/2019/7/26/8932398/equifax- settlemen...](https://www.theverge.com/2019/7/26/8932398/equifax- settlement-125-claim-wont-get-money-alternative-reimbursement-compensation)

<comment><USER3> Equifax gets hurt a little bit extra for each person up until 5.6 million people are claiming, by those numbers.

<comment><USER2> Ok, I exaggerated a little. But only $31m is earmarked for cash payments so they only get hurt by the first 248,000 people who submit claims.

<comment><AUTHOR> How many people have submitted claims so far?

<comment><USER4> Probably far more, given the fact that this info seems to be spreading fairly well. I'm certain that by the time it's all over, so many people will have filed claims that the individual payout will be substantially less than $125.</comment></comment></comment></comment></comment>


Two Star Trek nerds talk with a woman - that never works, even for chatbots - <AUTHOR> http://sheepridge.pandorabots.com/pandora/talk?botid=cdb9acd6de345aa2

<comment><AUTHOR> I had to re-submitted this post. But in the original post there was a comment by amatus:

       "I started with telling Spock "xyzzy" and they quickly all
       started wishing each other "Merry Christmas". I only let
       the loop continue until I could stop laughing."</comment>


I Had That Idea Years Ago - <AUTHOR>

Did you now? How'd that work out for? Badly? Must have been the idea, couldn't possibly have been your execution and follow through. I'll just quit I guess! <comment> why-el I am lost.

</comment><comment><USER2> What</comment>


Snap: Build Your Own Blocks - <AUTHOR> https://snap.berkeley.edu/ <comment><USER2> As a 13 year old, I learned to program in Small Basic, a Microsoft educational version of Basic. There was a pdf[1] that explained the basic concepts of programming in 69 pages. I loved it.

I don't think I would've even liked programming had I used Scratch (or Snap) instead of Small Basic. Scratch feels too dumbed-down, limited and clunky.

Maybe Scratch is good enough for 5-9 year olds, but for older kids, I think nowadays Javascript + HTML5 canvas is much better. Javascript lets you see your creation in the browser, which feels like the "real world", because it is. Additionally, it lets you do basically anything you can imagine in a browser. And you code using regular text, which feels much better than colored boxes.

And Small Basic is still better than Scratch I think, even though it seems kind of abandoned by Microsoft.

[1] (notice: direct downlad) [http://download.microsoft.com/download/9/0/6/90616372-C4BF-4...](http://download.microsoft.com/download/9/0/6/90616372-C4BF-4628-BC82-BD709635220D/Introducing%20Small%20Basic.pdf)

<comment><USER3> Even better than the browser is the apps that bluetooth-connect to Legos, so that you can build something with Legos and write a program that operates the motors and sensors. That feels even more like the "real world" because it is ;-)

</comment></comment><comment><USER3> I have tried this and basically all of the kids-programming methods I can find. It's hard for something to be a good solution "for kids" nowadays if you can't run it on an iPad. The interface just ends up being much slower and clunkier so it's harder to stay engaging. There are a number of iPad-based programming introductions, like Tynker and the various LEGO-based apps, that are the best ones IMO.

<comment><USER4> Do kids care about clunky interfaces? Genuine question, I have zero experience dealing with kids. It's just that I remember that when I was myself a kid I would be attracted by any interface (physical or virtual) with a lot of buttons and toggles to play with.

<comment><USER5> I feel like clunky is fine, but a lot of these kids programming apps are not just clunky, they're finicky. Weird mouse hit zones, massive slowdowns, glitches, crashes, lost data, etc. Even the "good" ones have most of these issues.

</comment></comment></comment><comment><USER6> What differentiates this from MIT Scratch?

<comment><USER7> Exactly my question! Seems to me like they are pretty similar products – to the point of "clone" status, as the two editors have the same blocks in the same colors and seem to be functionally identical. The only difference I can see is that the advanced features of Snap! appear to be only slightly more accessible than those of Scratch (plus the change of "sprite" to "costume," and Gobo's growth of a horn and extra foot).

<comment><USER8> Snap was originally a scratch fork back when both of them were written in smalltalk, but they've both since gone through independent rewrites.

</comment></comment></comment><comment><USER9> Though both Scratch and Snap are open source, I can't see any documentation for building on top of either of them. If you're interested in building something in this space, Blockly [1] is essentially the same and has some great docs for working with it (no affiliation).

[1] [https://developers.google.com/blockly](https://developers.google.com/blockly)

<comment><USER10> Here is a list of Snap! extensions if they are of any use to you as references: [https://snap.berkeley.edu/extensions](https://snap.berkeley.edu/extensions)

Scratch 3 runs on a modified version of Blockly.

</comment></comment><comment><USER11> FYI they teach this curriculum for AP CS Principles students. I haven't heard many positive experiences with this though.

<comment><USER12> I took a SNAP based course in high school before it was part of AP CS principles. I would have preferred if they used scratch. SNAP seemed to have bugs if you wrote non-trivial programs. I tried to write a checkers min-max ai, but it kept on spitting out panics/exceptions at me.

</comment></comment><comment><USER13> Related from 2015: [https://news.ycombinator.com/item?id=9591460](https://news.ycombinator.com/item?id=9591460)</comment>


The reclusive hedge fund tycoon behind Trump's presidency - <AUTHOR> http://www.newyorker.com/magazine/2017/03/27/the-reclusive-hedge-fund-tycoon-behind-the-trump-presidency <comment><AUTHOR> Article involves machine learning, data science, programming, etc...</comment>


What Would Steve Jobs Do? Innovation in Residential - <AUTHOR> http://urbanland.uli.org/news/what-would-steve-jobs-do-innovation-in-residential/

<comment><USER2> Link-baity title is link-baity.</comment>


Ask HN: Any Python hackers want to make stuff? - <AUTHOR>

Hey HN, I do .NET stuff at work and hack on Python projects most nights/weekends.  I am looking for like-minded developers to work on side-projects with.  I am by no-means some Python guru looking to write the next Django, but I think I am pretty decent and want to start making 'real' stuff that people will actually use.
Nothing formal, no start-up dreams, just hacking on projects with Python/git
Email is in my profile or find me on IRC (freenode #python-hn) if this sounds like something you're interested in. <comment><AUTHOR> I got quite a few replies. We are building a Flask app. The repo just got started at <http://github.com/swanson/hackerpulse> Mockups: <http://i.imgur.com/pmvnU.png>

We are on freenode in #hackerpulse. Feel free to contribute, everyone is welcome.</comment>


Defective C++ - <AUTHOR> http://yosefk.com/c++fqa/defective.html <comment><USER2> It's pretty well known that C++ suffers from a variety of problems. Many of them have been known about for some time. Despite this, nobody has been able to produce a truly viable alternative.

There have been some encouraging developments, of course. But they've had their own drawbacks that are often worse, in practice, than the problems of C++.

D is an example of this. A lot of new and existing C++ code probably could be written in D instead. But D lacks the widespread adoption and support that C++ offers. This translates into there being fewer third party libraries available, which increases the burden on programmers to an extent that's usually unjustifiable during commercial development And this, in turn, helps prevent the adoption of D.

Rust is another example. It theoretically sounds like it could be a replacement for C++, but that's only true in the far future. The language and its standard libraries have yet to show any real signs of stability. We've been hearing that there may be a 1.0 release at the end of 2014, but time is quickly running out on this. Even then, it will merely be where D is at that point. While there may be a fair number of Rust libraries in existence at this point, many of them have become broken due to language or standard library changes, many are woefully incomplete, and many are totally abandoned.

Then there are Java, C#, Go and others which claim to be successors or potential replacements, and perhaps this is true in a very limited subset of cases. But the remaining situations where they aren't suitable are large in number and quite critical.

Furthermore, we are continually seeing C++ adapt and evolve. It's getting new features and functionality that these competitors are offering, while still usually giving far more freedom and control to programmers, far better performance, far better portability, far greater practicality, and continued use for serious new software projects. These factors combine to make it an even more difficult situation for potential C++ replacements. They just may not bring enough to the table to warrant replacing C++ for a majority of its users or potential users.

<comment> loup-vaillant You realize your criticism of D has nothing to do with the language itself, and everything to do with network effects, and first-to-market effect? Of course D lacks the widespread adoptions of C++, it's a newer language! The same goes for your criticism of Rust.

If I were moved by these objections, I would conclude that we shouldn't even try to overthrow established programming languages. Heck why not embrace Status-quo Bias altogether?

About Java & co, you need to realized that most C++ code out there didn't need C++ (or D, or Rust) in the first place. The projects that are (i) very demanding to the CPU and memory, (ii) need a complex solution, and (iii) can't possibly separate a few bottlenecks in C from a high level language with a good FFI (Python, OCaml, Lua, Haskell, Lisp…), are uncommon. Some of those projects have incredible _impact_ , but they are still uncommon.

Java & co are for projects where it was a mistake to use C++ in the first place. They don't compete with C++ on its own turf, they just take away territory C++ should never have controlled.

<comment><USER2> No, D's lack of adoption does involve the language itself to some degree. While the core language itself is better than C++ in some ways, these benefits just aren't compelling enough to exceed the downsides of D, nor do they outweigh the benefits that C++ offers.

And D isn't a new language, by any means. It has been out there for well over a decade now. That should be more than enough time for it to achieve relatively widespread usage, were it to actually offer sufficient benefit over C++ and its other competitors.

<comment> loup-vaillant I don't know D, so I wouldn't know about it's downsides, besides the one you have spoken of already: lack of adoption. What are the downsides of D that wouldn't go away if it was widely adopted?

You say D is sufficiently old, that it's lack of adoption is significant evidence that we should _never_ adopt it. The problem is, most people think like you do: they wouldn't adopt a language before it has some visible traction. The corollary is, new languages _never_ get widely adopted, unless of course some Big Corporation does massive publicity around it (Java, C#…). The real reason D isn't widely adopted, is not because it's not better than C++. It's because it was not widely adopted in the first place. Textbook chicken and egg.

You speak of benefits and downsides of a language, but what you are really speaking of is the whole ecosystem as it is _now_. You don't even look at the long term potential.

Also, put yourself in the shoes of a language designer. Say you have a brilliant programming language. Experimental quantitative research has shown with no ambiguity that your language is better than some established, old language in its own niche (20% more productivity, 10% less post-release bugs, same observed runtime speed and memory consumption…). Just one little problem: your language have zero users, and only a little standard library. How would you get people to adopt your new language?

Hint: people won't believe your peer-reviewed experiments. People will refuse to learn a new syntax. People will want to reuse their old code. Even if you come up with an automatic translation tool, people will not trust it. People will say the benefits of the language are outmatched by the drawbacks of its standard library (too small), and of its community (none to speak of). People will be afraid of the required training (even if your research shows productivity benefits after a couple weeks).

How do you fight Status-quo Bias?

Personally, I found only one answer, which unfortunately isn't applicable everywhere: making the new language's implementation so cheap that all it's costs are paid off in a single project. DSLs may do that: with the right tools, a small external DSL can take no more than a couple hundred lines to implement.

</comment></comment></comment></comment><comment> loup-vaillant This page is about C++98. C++11 and 14, while making some important things easier, have their own set of problems.

Which is why Yossi Kreinin called for help about updating the FQA for C++1x and beyond. As he no longer works with C++, both his expertise and the time he can waste on this language are dwindling. [http://yosefk.com/blog/c11-fqa- anyone.html](http://yosefk.com/blog/c11-fqa-anyone.html)

<comment><USER3> A good FQA and a great blog post summary.

 _And you can see the same shrewdness, the same "altruism", the same attention to detail, the same tunnel vision – "this shit I'm working on is so important, it deserves all of my mental energy AND the mental energy of my users at the expense of caring about anything else" – throughout the C++ culture. From the boost libraries to "Modern C++ Design" (the author has since repented and moved to D – or did he repent?..) to the justifications for duplicate and triplicate and still incomplete language features to your local C++ expert carrying his crazy libraries and syntactic wrappers and tangling your entire code base in his net._

So true.

In the beginning of my career, I too was drinking the C++ koolaid. I really believed that manual memory management, large and convoluted class hierarchies, obscure template programming, cryptic exception handling, and pointer tinkering was necessary in a language and, of course, to get good performance you had to use C++. What a complete lie.

I still meet programmers who believe that, because it is _important_. And then you look at what kind of software they are writing, some desktop app or some web service. Huh.

If you look where the C++ community ended up by C++ programming experience over the years is that you should probably avoid all of that if you want bug free code.

<comment><USER4> > I really believed that manual memory management, large and convoluted class > hierarchies, obscure template programming, cryptic exception handling, and > pointer tinkering was necessary in a language and, of course, to get good > performance you had to use C++. What a complete lie.

It was a complete lie. Fortunately, none of that stuff precludes you from using C++.

<comment><USER3> True, and when I need to use C++ today I use a small subset of it with some new features from C++11. Namespaces, functions, structs, lambdas and smart pointers is usually all I need.

The standard library has become so much better then the old days. Now I can even create threads without extra libraries. Unfortunately std types are no longer COW with C++11.

Now if I only can get rid of that awful header file I almost have something that works without too much headache and profanity.

<comment><USER4> > Unfortunately std types are no longer COW with C++11.

GNU std::string being CoW (still is atm btw) has always been deceitful. The API was simply never designed for that implementation, which resulted in seemingly cheap read-only operations (char x = str[42];) becoming quite expensive.

I'm glad you mentioned actually, since API authors embracing reference semantics through fear of overhead is a great rabbit hole of systemic complexity for C++ developers who are then forced to swim against the tide in the language. Sadly I don't think Rust goes far enough in bringing love to value semantics.

<comment><USER3> Ah, I did not know that. I mostly use CoW when I do Qt stuff to get a clean API (but Qt gives you whole range of other annoyances). Qt data types works well together with std lambdas without the need of smart pointers.

In what other language has so many Stack Overflow threads and blog post been dedicated just how to pass a simple parameter to a function. And with C++11 we have one more way of doing it. It is really mind-boggling.

I never have this problem in other languages and I can do equal the heavy lifting.

And for the C++ programmer it gives a false sense of satisfaction when spraying the code with const& everywhere. I _saved_ performance!

Just bizarre.

</comment></comment></comment></comment></comment></comment><comment><USER5> This FQA is often posted and you should know it's subjective and outdated. You can read more about it here:

[http://stackoverflow.com/questions/3171647/errors-in-c- fqa](http://stackoverflow.com/questions/3171647/errors-in-c-fqa)

<comment> loup-vaillant And there: [http://www.yosefk.com/c++fqa/web-vs- fqa.html](http://www.yosefk.com/c++fqa/web-vs-fqa.html)

As for the "subjective" part, it doesn't really weaken the argument of the FQA. I estimate most of his "subjective" claims are subjectively true for most programmers.

When something is subjectively true for a sufficiently large majority of the relevant group of sentient beings, asserting its truth, period, is common usage.

<comment><USER5> The FQA states that the C++ doesn't have garbage collection and presents that as a problem. It's a non sequitur. It's like saying "I don't like this knife, I cannot eat soup with it".

<comment> loup-vaillant I agree with your non sequitur, but I think there is something there nonetheless.

I think Yossi Kreinin's main objection is not the absence of garbage collection in C++, but the fact that so many projects that could use garbage collection, don't.

Like "I need performance!" No you don't. "I _really_ need performance!" My GC is just as fast as your malloc/free. "I don't use malloc/free, I have my own custom allocators, you ignorant Java programmer!" I just use manually managed arrays for that, and enjoy garbage collection for the rest of my data. "My environment can't afford me any GC pause!" My GC hardly pause, and it collects gigabytes of data. "But I know things about my data your GC don't!" OK, _now_ you may have a point.

The performance difference between C++ and a well implemented native language with garbage collection (OCaml, Haskell, Lisp, Go…) is not large. Definitely less than an order of magnitude. Your constraints must be _real_ tight to force you to give up garbage collection.

In the vast majority of projects, not using garbage collection is a problem. If not with the language, at least with the community.

\---

I think Yossi Kreinin don't object the knife itself. He objects the fact that people actually try to eat soup with that damn knife, spilling soup and cutting their tongue in the process. Sometimes, we do need sharp edges (for cutting meat). But for much eating activities, sharp edges are just a hindrance.

</comment></comment></comment></comment><comment><USER6> While c++ has its share of annoyances, I fail to see the relevance of this text, even more so in 2014, why do You repost it?

<comment> loup-vaillant C++14 has a good share of the problems of C++98, while adding its own. It's not like C++ ceased to be the most crazily complex and the most deadly trapped language in widespread use.

I'll grant the FQA as such is outdated, but _irrelevant_? C++ was a huge mistake to begin with, a giant waste of time at the global scale. (Things are different at the individual scale, because network effects.) Having a heavily documented case for the oblivion of C++ is a good thing.</comment></comment>


The math gap - <AUTHOR> http://web.mit.edu/newsoffice/2009/math-gender.html <comment><USER2> As a former member of the math team (among many other nerdy pursuits), I have to ask the question that nobody ever wants to answer: is an academically prepared girl with the ability to compete at the highest levels on math team better served by competing on the math team (or the debate team, or the scholastic bowl team)?

I mean, one could plausibly look at the statistics and say "Hmm, it seems like the girls who are getting high scores on our math SATs are not bothering to go for the geek cred and are, instead, merely maximizing their credentials via easier routes such as making sure they get the A in English. This gets them into marginally better colleges. There, they avoid geek cred paths like going for a PhD in math and instead choose easier majors like business, where they work less, earn more, and have more work/life balance. Confound all this sexism! All genders should share equally in the underpaid, overworked, unsung triumph that is being a graduate student in a field not one person in ten thousand can even understand!"

<comment> barry-cotter [http://www.ingentaconnect.com/content/bsc/ppsc/2006/00000001...](http://www.ingentaconnect.com/content/bsc/ppsc/2006/00000001/00000004/art00003)

"For example, in the SMPY cohorts, although more mathematically precocious males than females entered math-science careers, this does not necessarily imply a loss of talent because the women secured similar proportions of advanced degrees and high-level careers in areas more correspondent with the multidimensionality of their ability-preference pattern (e.g., administration, law, medicine, and the social sciences). By their mid-30s, the men and women appeared to be happy with their life choices and viewed themselves as equally successful (and objective measures support these subjective impressions). Given the ever-increasing importance of quantitative and scientific reasoning skills in modern cultures, when mathematically gifted individuals choose to pursue careers outside engineering and the physical sciences, it should be seen as a contribution to society, not a loss of talent."

</comment></comment><comment><USER3> The study referenced in the article:

<http://econ-www.mit.edu/files/4298></comment>


Our NIPS 2017 "Learning to Run" Approach - <AUTHOR> https://medium.com/@stelmaszczykadam/our-nips-2017-learning-to-run-approach-b80a295d3bb5 <comment><USER2> That simulation reminds me of the flash game 'QWOP'

<comment><USER3> Had the same thought. :) I wonder if anyone has done a challenge using that game which has simpler inputs I believe?

<comment><USER4> Simplest RL algorithm (Q-learning) achieves 100m in QWOP: [https://www.youtube.com/watch?v=e27TUmMkOA0](https://www.youtube.com/watch?v=e27TUmMkOA0)

Although it found and exploited a local maximum of "knee scraping" technique (which humans can replicate) :)</comment></comment></comment>


U.S. Sues Facebook for Housing Bias, Citing Ad and Data Practices - <AUTHOR> https://www.nytimes.com/2019/03/28/us/politics/facebook-hud-discrimination.html <comment><USER2> Most comments moved to [https://news.ycombinator.com/item?id=19511813](https://news.ycombinator.com/item?id=19511813).

</comment><comment><USER3> It is a heartbreak every time I click on an article on hacker news, only to find that it is behind a pay wall. Perhaps hacker news should find a way to mention this somewhere in the title?

<comment><USER4> Not disagreeing with you, but you can visit the NYT website as much as you want in incognito mode.

<comment><USER5> Incognito only works with a new session; it will still eventually trigger the paywall.

See screenshot of this story made a few minutes ago: [https://imgur.com/a/WcR8E9T](https://imgur.com/a/WcR8E9T)

The toolbar shows "Incognito" and yet the article is blocked by the paywall. NYTimes always shows a paywall after 2 or 3 free articles are hit even in incognito mode.

To "reset" the free articles odometer, I have to completely exit Google Chrome and restart in incognito again. (Deleting cookies also does not work.) This is a hassle since I sometimes keep a continuous Chrome up session up for several weeks with dozens of tabs open.

(I previously played around for 5 minutes in Developer Tools to try and debug NYTimes javascript code to see what they test for besides cookies. I didn't find anything obvious and gave up. (I'm guessing it might have something to do with Local Storage but there's no obvious Chrome setting to delete that other than quitting the entire browser and restarting.))

<comment><USER6> Off-topic, on an off-topic comment thread:

> I sometimes keep a continuous Chrome up session up for several weeks with a > dozens of tabs open

I am still completely mystified why people do this. Browser tabs were never intended to be used this way, bookmarks are. You are making the process of web browsing unnecessarily hard on yourself, and browser makers have had to invest significant effort into features regarding mass tab management just for this bizarre habit.

<comment><USER5> _> Browser tabs were never intended to be used this way, bookmarks are. _

The problem with booksmarks is that the tabs are _not open_. The booksmarks manager UI only show the _title_ of the webpage but not what full page rendering is. Titles are often meaningless.

Of course, I could type in a better title when saving the bookmark... or... just simply _not close the tab_ and consider it part of a "queue" to read later in a few days. It's lazier and easier. Plus the full page already completely rendered visually reminds me why I wanted to read it later.

For the webpages I consider as reference material, I do bookmark those.

<comment><USER6> Why would you want hundreds of full page renderings open on your computer at one time while you're doing other things? I know browsers have since implemented optimizations to keep tabs suspended and reduce their performance hit, but I still don't understand why anyone would want this.

Would a screenshot being saved with your bookmark solve this need?

<comment><USER5> _> Why would you want hundreds of full page renderings open on your computer at one time while you're doing other things?_

For me, it's not hundreds. It's usually less than 50.

For throwaway content (not elevated to reference), the active tabs are easier to get to than navigating the bookmarks UI.

 _> Would a screenshot being saved with your bookmark solve this need?_

It might help in some aspects but the core problem remains: the bookmarks UI is a _separate_ area that I don't want to "manage" and that effort isn't worth it unless the webpage is promoted to reference status. Dozens of open tabs are just way easier and a more seamless experience. I often cycle through open tabs with Ctrl+PgUp and Ctrl+PgDn similar to cycling through active windows with Alt-Tab. Bookmarks UI don't have a "cycle" mode.</comment></comment></comment></comment></comment></comment></comment>


"Today you. tomorrow me." (2010) - <AUTHOR> http://www.reddit.com//r/AskReddit/comments/elal2/have_you_ever_picked_up_a_hitchhiker/c18z0z2

<comment><USER2> Moving story. I'd like to practice more of the "hoy por ti ... mañana por mi" sentiment in my life.</comment>


Tool to Help Journalists Spot Doctored Images Is Unveiled by Jigsaw - <AUTHOR> https://www.nytimes.com/2020/02/04/technology/jigsaw-doctored-images-disinformation.html/ <comment><USER2> Hope they open source it, for transparency's sake.

<comment><USER3> Tools like this are in a constant competition. If image doctors know how the tool detects their doctored images, they might figure out how to doctor images in ways it can't detect.

<comment><USER4> So, security by obscurity?

<comment><USER5> It's derided but in some contexts SxO does make sense. It's obviously not a silver bullet but it's one arrow i your quiver of comprehensive sec measures.

</comment></comment></comment></comment><comment><USER6> It would be interesting if it could be used noninteractively by social networks in order to flag images for review. But I suppose if there are frequent legitimate uses of altered images, then it wouldn't be quite as useful.

<comment><USER7> Yes, the fact that you applied a filter or 'shopped a family photo etc. wouldn't be a red flag; possibly it could be weighted more for images getting more traffic/shares that also show evidence of modification.

</comment></comment><comment><USER8> The article links to another article ([https://publiceditor.blogs.nytimes.com/2015/12/14/perfectly-...](https://publiceditor.blogs.nytimes.com/2015/12/14/perfectly- reasonable-question-was-that-photo-real/)) about an "unmanipulated" image :

'Editors reviewed a number of possible images, many that did not include Mr. Trump, but chose the one that did because, she said, "it was perfect."'</comment>