Ask HN: How do you conduct coding interviews? - <AUTHOR> Recently, I've seen a massive increase in interview questions that seem to mirror leetcode.com and similar websites.
A lot of my colleagues, mostly senior, feel these types of interview questions are wasteful because anyone who spends a week reading over leetcode.com can memorize most of the questions/answers.
What's your perspective? Are you a big DSA (Data Structures and Algorithms) Interviewer or are you more of "Ask various questions to see how naturally intelligent are they?" <comment><USER2> We've spent a lot of time honing our interview process, and I think we're at the very least on the right track.

Our Java phone screen is really short:

1\. Explain the difference between `public`, `private`, and `protected`

2\. What does `static` mean?

3\. What's the difference between a `List`, `Set`, and `Map`?

This takes about ten minutes. Anyone that can answer these three questions and doesn't present as a raging asshole gets an in-person (or skype) interview.

The in-person is a live coding session. The candidate can use their own laptop, or we will provide them one. The test is contained in a github repo, and consists of a couple dozen unit-tested challenges. We pick and chose which challenges to give them based on their experience.

The challenges range from "Write `Hello, World!` to the console" all the way to "Implement the QuickSort algorithm". The candidate is encouraged to use Google, and we link them to the Wikipedia page for any algorithm we're asking them to implement. This part of the interview takes one to two hours.

This process has essentially eliminated bad hires; nobody that we've hired using this process has turned out to be a dud or a jerk. I still wonder if we're passing on candidates that would be good if tested in another manner, but right now I have no idea how to correct for that, or even what I would be correcting for.

<comment><USER3> This helps you when everyone and their mother is asking those same three question in their interview?

<comment><USER4> Those three questions aren't to pick out good candidates, they're to pick out hopeless candidates. I used to be almost offended when I would interview for a position as a senior developer and get asked entry-level questions about my programming language of choice. Then I started sitting the other side of the table and realised that someone applying with "5 years of experience using C++" actually might still not know when to use public, protected and private. It's shocking how often something like that happens, and if you don't pick it up until an in-person interview, you're just wasting a lot of everyone's time.

<comment><USER5> >Then I started sitting the other side of the table...

I think everyone should get a chance to participate in their company's interview process, even if it's just shadowing while others conduct the interviews. It's one thing to hear stories about people with 10 years experience not being able to write basic code. Seeing it in person really drives the point home.

<comment><USER4> _Seeing it in person really drives the point home._

It does. The only thing I've seen that drives it home more is being part of the process to fire someone who was a bad hire, particularly if you were also part of the hiring process that gave the wrong answer. If that individual is basically a decent person and just doesn't turn out to be very good at the job then it's never pleasant to know that you're taking their source of income away and especially to be the one breaking that news to them, however much it may be necessary objectively and professionally to do those things.

</comment></comment></comment></comment></comment><comment><USER6> Here's a general style of problem that I've asked a few different ways and have been happy with:

1.) I provide an API (some function signatures and documentation) that will be used for the problem. In one case it was some functions for iterating through search results from a search service. Ideally the API is unintuitive in a few places (as legacy code often is), but I make the documentation unambiguous. Ideally it's inspired by something I actually did at work.

2.) I provide some problematic code that tries to use the API. It has correctness issues, style issues, and performance issues. I ask the candidate to point out any problems they find and fix them as they see them. We keep going until all of the issues are solved, and we have a short discussion of the new code at the end.

3.) If that goes well, I provide a small extension to the API and ask the candidate to write some new code against the API that solves a particular task. Ideally it uses the code from the previous part as a helper function.

The format is nice in that it simulates a lot of the nitty-gritty things you do in software engineering (code review, bug fixes, refactoring, dealing with legacy code, reading documentation), and it's always specific enough that they definitely haven't seen it before. It's also standardized enough that it's easier to compare across candidates without bias.

One downside is you need to prepare it for each language in advance (assuming you're willing to allow multiple languages).

</comment><comment><USER7> I'm starting to wonder if software engineering as a discipline needs to become one of the professions.

All of the big companies have roughly the same interview process, and ask roughly the same sort of questions. It seems like a huge waste of resources to me.

I'm wondering if it would be better if everyone got tested on the same set of tests to eventually achieve a qualification that is universally recognised. So like "SE level 1" would do your standard data structures and algorithm puzzles from Cracking the Code Interview, "SE level 2" would be like system design, maybe doing a project etc.

That way the interviewer just needs to test the candidate on the soft skills, would they be a good fit for the team?

I know software engineering is multi faceted, and people might specialise on certain areas, so they could focus on those bits if the job needs those requirements, but I think having the baselines stuff in there would at least indicate to the employer that this person has passed the reverse a binary tree stuff and so on.

This would probably involve Google/Amazon/Facebook etc working together to organise such a qualification path, but surely this would be beneficial to them in the long run?

<comment><USER8> I feel that software engineering in its current state is more of an art than a science (or it's the art of using specific sciences?). It's not understood well enough to say "this is the way to do this thing". Thus all the bike shedding.

Until we do, we should treat it like art and have portfolio be a standard thing (github account or whatever). Yes, that means having side projects. If you don't have time for it, you're in the same spot a graphic artist who doesn't have time to draw is. Hopefully you have something to show from a previous job that's public or something.

Then people can just have a behavioral interview and a review of the portfolio and be done with it.

<comment><USER9> The software I write controls expensive hardware. I can't easily show things like that on github.

Besides that, it is just plain wrong to require us to have side projects on github. I love what I do and I'd much rather spend time tweaking my work code to perform better.

<comment><USER8> Other professions with similar subjective requirements need similar things to get a job (hell, some need it to even be able to get in school). Some you might even be working with on a daily basis and they make a third of your salary.

I'd dare say the salary the average software engineer command these days (especially in North America) has that baked in the compensation.

If you're not in the US and make a salary more in line with professions that have similar level of efforts, fair enough, you might have a point.

Personally I just filled up my github account with 1-2 projects in 2-3 weeks last time I was looking for a job. A few thousand lines of code is enough to get the point across.

</comment></comment></comment></comment><comment><USER10> I think it's really, really important to point out that the criteria you're selecting for can vary greatly depending on the company, industry and role. A lot of companies have adopted Google/Amazon/Microsoft-style interviews for roles that are absolutely nothing like what those companies need.

In my work experience, knowledge of DSAs is really a luxury and has relatively little predictive power for a successful employee. I want to know how you approach engineering problems, what your experience has taught you, how you work with a team, what kind of work do you find interesting. A lot of people successful at my company would not be successful at Google and vice-versa.

</comment><comment><USER11> I try to ask some general questions about what they like, what part of the stack they find themselves most proficient in. If they claim to be full stack still find out what they're most proficient in. Then take them through some of our code that needs refactoring, from obvious to deeper refactoring, have them ask me questions about it, make suggestions and so forth. But I haven't done that for nearly a year because I'm just consulting now.

I was at a thing last night waiting in line, and someone behind me was talking about an interview they had given. They had the guy explain what quicksort was and do some whiteboard coding etc. etc. and he did everything perfect and he had an outrageous cv and they were wondering why he wanted to work there ( this was half overheard so I didn't get everything) I was surprised because I've never actually been anywhere were people ask me to explain quicksort...

I was at one really good interview one time where I had to suggest refactors to a little game in a language I didn't know and the suggestion should have been binary search - but I had a brain problem at the moment and couldn't remember the name of the algorithm so I hesitated (uh how do I say what to do here when I can't remember the name of that big array algorithm) after I had gotten the code down from taking half an hour to run to taking 8 minutes (saving different states so I could just look them up when needed) and the interviewer got bored, did the solution and showed me out (politely)

</comment><comment><USER12> It turns out, the answer to whether someone can do the job you'll hire them for is to do a little of the job you'll hire them for. (Carpenters don't whiteboard bridle joint solutions for cabinetmaking, prospective chefs don't solve biochemistry problems, etc).

I work for Pivotal. For engineering hiring is done in two parts.

The first part is "Rob's Pairing Interview". This is a simple technical screen -- essentially, if you have some programming nous, you will pass. Takes about 30-60 minutes.

The second part is to bring you in for a pairing day.

In the morning you pair with an engineer on one team. In the afternoon, on a different team. A different group of folk take you to lunch (we try to have a mix of disciplines and divisions for the lunch).

When you're pairing, you will work on real code, for a real problem. We usually try to put you into two teams with different stacks or problem spaces, ideally matching one of them to something you cite on your résumé and the other one to something you don't.

I think it works pretty well (obvious bias: I did well enough to get hired). Folk who really don't want to pair self-select out, usually even before applying. Everyone I work with is capable and personable, which goes a _long_ way to making it a great place to work.

So if you have a way you actually work, see if you can just try that.

<comment><USER13> So, you/Pivotal are saying you require an entire day after 1st interview to deduce whether an applicant can work for you? Seems you're initially screening by who can devote that amount of time before anything else. I also assume the shortage/difficulty of finding tech staff doesn't affect the company, given the insistence on this.

Do you declare this time requirement in your job ads? I imagine candidates would appreciate knowing this so they wouldn't bother applying in the 1st place.

<comment><USER12> > _Do you declare this time requirement in your job ads?_

I checked, we don't. You're right that we ought to at least flag it as a possibility.

It's worth bearing in mind that it's the _last_ stage. By the time you reach it we've done a résumé review and a recruiter has rung you to describe the RPI and pairing day.

There's no up-front time commitment beyond submitting your CV.

I imagine lots of people say no at this stage. That's fine. It's actually as it _should_ be, if you think about it.

> _I also assume the shortage /difficulty of finding tech staff doesn't affect > the company, given the insistence on this._

It affects us sharply _because_ of this. We do it because we would rather choose colleagues carefully than quickly. Hiring is not a sprint.

 _Every hiring decision is strategic_. There are no shortcuts. We pay a heavy price in lost opportunities and we pay it gladly.

</comment></comment></comment><comment><USER14> For coding interviews or take-home challenges, I like to ask applicants to solve questions that are a microcosm of the type of work they would be doing for us daily.

The questions have nothing to do with brainteasers or puzzles or even algorithms, and the coding challenge isn't even particularly difficult. A baseline solution requires only 5th grade math and a day's experience with the framework we use - but is flexible enough that the developer we're looking for will solve it differently than the one we're not.

That's because the work we do isn't groundbreaking technologically and doesn't require technical rock stars, just basic technical competence.

We're more interested in how they think about a problem that's similar but not identical to those they've solved before; how they use the time allotted; how they structure their code; whether and how they communicate about their decisions in comments or a README. Those traits are much more indicative of whether they'll be successful on our team.

And the coding challenge isn't just about testing their skills. It's also a jumping off point for discussions in the interview about how they think and communicate about code and problem solving.

</comment><comment><USER15> Yes, it is a waste and really a bad practice but this is the only way to get into these big cos unless until you are famous speaker or github\twitter\youtube rockstar.

I know a lot of interviewers who go through cracking the code interview book before taking an interview so what is the point? It is like school system. You read from a book and in the exam you will get questions from that book. It is really a pathetic and sad approach. Some people even spend 3-6 months practicing all of this. I would rather spend all this time in building something new.

We code in our zone and peace of mind. While interviewing, you are supposed to keep talking what you are doing and thinking. How is it possible? I think it is extremely hard to come up with a solution on the spot unless until you have spend long time practicing these puzzles then you get accustomed to these tricks.

If you are still keen on trying then there is an easy way - telephonic rounds are mostly about arrays and string so you can focus on that. For in-person rounds, you can focus on graphs and trees. It may or may not happen for you.

<comment><USER16> I know some very talented software engineers who would not have gotten their jobs if not for studying leetcode. It's now expected that successful candidates are able to solve these puzzles without much trouble so even experienced engineers will treat leetcode as standard interview prep.

</comment></comment><comment><USER17> I think the best questions to ask are those that tests someones ability to take a well defined process, and ask them to simply represent it in code. DSA questions are often more about problem solving, and I don't think problems are solved in 20 minutes of a stressed induced whiteboard interview. So its often a matter of luck if the person finds the solution in time or not. Luck beeing if they've recently practiced and reviewed similar problems and their solutions.

If you can find a question where the algorithm and technique is given, basically you give the solution but in prose, and they have to translate the solution in code. Then you ask questions that has the candidate reason about various aspects of the code he wrote like: How fast do you think it'll be, how much memory would it consume, how easy is it to extend, how can it be tested, how easy is it for others to read, where is it most likely to fail, how could it be scaled, etc.

You could ask say, I've got a bunch of fruits, there's apples and bananas and pears. They need to be labeled with their price, and put into distinct baskets. The price is calculated based on their weight and which kind of fruit they are. Banana is weight * 0.3. Apple is ..., etc.

There's no trick to this question, no problem to solve. All that's needed is can you model this process in code in a way that's maintainable, testable, efficient, extendable, scalable and do that quickly enough. This question doesn't require any practice or reviewing of theory prior to the interview. Questions of that sort have worked the best for me.

Caveat: This works when you need a good generalist that's well rounded. If you need a specialist, you expect them to know and be well practiced and versed in the specialty. But you almost never need a specialist.

Disclaimer: I've currently conducted around 40 interviews, a mix of on-site and phone, for both hiring junior and senior software engineers. So that's the sample size that lead me to believe this works well.

</comment><comment><USER18> Three things I look for at the outset, fairly unrelated to coding ability: (1) humility, (2) entrepreneurial spirit and (3) passion. If they have those things, I feel I'll enjoy working with them. Then I'll spend 30 minutes talking through an actual problem I'm trying to solve, to see if they can add value. I ask the interviewee to be at ease, and to treat this like a taster consultation they might give to a prospective client. We cover all the bases, from design to data structures for the implementation. I generally don't ask them to write code, as the ongoing discussion easily reveals who can and can't write code well. I might check out their github repos if I'm unsure about code quality, but often the conversation is enough to know if they're worth hiring.

</comment><comment><USER19> Leetcode has 695 public questions. If you can memorize so many questions and answers over a week, you deserve to be hired.

Most of their questions are trivial anyway.

[https://leetcode.com/problemset/all/](https://leetcode.com/problemset/all/)

<comment><USER20> I wouldn't say the optimal solutions for most questions are trivial on leetcode. And to do all of them in a week is impossible, your need a few months.

</comment></comment><comment><USER21> My favorite question to ask is one I've iteratively improved on over the last 5 years or so.

To start, I always phrase the question as a real world example - "I have a server, and we currently have some functionality X. I want to augment it in way Y, and I want you to help me do that". I structure it like a real problem rather than a toy "write an algorithm that does this, and demonstrate that you know this one arbitrary data structure I have in mind" type of question. The end task is the same, but it gets the candidate in the mindset of doing actual work and thinking about the implications of their design decisions.

The question starts simply enough, with most candidates at the level I'm interviewing for able to complete it in ~10-15 minutes, focusing on basic language structure common to most languages, and simple DS/A.

Then we get to have a little fun. Based on the role that the candidate is being considered for, how they did on the first part, and the feedback on other interviewers on their strengths and weaknesses, I can steer the question in several directions:

      - Let's talk about concurrency (also plays nicely into the "this is in a server we have" setup, since thread safety is not just a nice-to-have, but a real requirement)
      - I'd like to augment it even further with new functionality (which involves much more deep knowledge of various data structures and their nuances)
      - I'd like to build this into a whole separate service to handle this functionality.  What would that look like?

I come with a laptop and some skeleton code in a handful of common languages, and give the candidate the choice of white boarding or typing, as well as allow them to make use of the internet, to look up libraries, APIs, etc. This all also plays into the general theme of "structure the interview like the work they'll actually be doing".

If the candidate is not doing terribly well, the question can also stop after the first part (which even the weakest candidates can generally get to a decent solution on after the length of a full interview). This avoids the candidate from feeling like they did terribly, and leaving the interview with a negative impression.

</comment><comment><USER22> At CharlieHR we have two parts:

1.a remote tech test. Limited to two hours (though not timed - honour system only). Any language, any libraries.

2\. in house pairing exercise. This is 90 minutes pairing with me implementing a simple thing. Any language, and libraries, all the online docs you want. They do most of the coding and should talk a lot about what we're doing.

The important thing is the nature of the tasks. We use the same two every time and their characteristics are:

      * not logic problems
      * not algorithms or data structure problems
      * a simple task (like – but not – telling if a given noughts and crosses grid has been won by either side)
      * CLEAR requirements: there is no mystery as to how they should work, and there is no logical leap required at any point
      * related to what we build at CharlieHR

I've found the pairing interview to be very good for cutting through the bullshit and really getting a handle on their thinking and ability. Can they interrogate requirements and turn them into working code?

It's interesting because in theory a junior dev and a senior dev could both do very well on these problems, but it is usually evident when someone is senior thanks to the level of additional insight they provide into different ways of approaching the problem.

</comment><comment><USER23> Brief telephone screen, mainly to confirm the role is a match to their expectations. We tell them about the role, and give them the chance to opt out if the role doesn't fit their requirements.

Then an in person interview. The usual discussion about work history and experience.

We do a technical piece. This consists of a spec, a laptop with appropriate tools/compilers installed and about half an hour to implement it. Followed by time afterwards to discuss their implementation, what else they would do that they didn't have time for, choices they made, etc. We are around to answer questions, but leave them in peace if not. We allow full access to internet resources as you would expect in the real world. The specs are usually fairly contrived, they have to be to fit in the time aloted, but we try to make them something that any decent programmer would be able to implement even if they have never see the concepts before. Where the best stand out is in their follow up discussion afterwards.

This blog post has been quite influential in our process - [http://www.lihaoyi.com/post/HowtoconductagoodProgrammingInte...](http://www.lihaoyi.com/post/HowtoconductagoodProgrammingInterview.html)

</comment><comment><USER24> I just wrote up some thoughts on the topic:

[https://www.exratione.com/2017/10/in-search-of-the-spark- whe...](https://www.exratione.com/2017/10/in-search-of-the-spark-when- interviewing/)

Essentially, the question asked is just the setup to watch someone approach a novel experience. If the candidate is not in a natural environment, i.e. working with a comfortable IDE and with access to Stack Overflow, it is kind of pointless. You want to see what they do in a situation fairly close to the mundane daily example of "how do I do this new thing."

So don't ask standard related to business challenges that have answers online: find novel exercises. Write a sort function that sorts everything except for at least two items. Write a linked list node that sabotages the user in the most subtle way possible. And so on. Fortunately these are easy to create, as there is an infinite space of engineering exercises that no-one would carry out in reality as they are self-defeating, or pointlessly destructive, or otherwise non-productive. But they still serve to illustrate how someone thinks their way around a new concept, and that is the important thing.

</comment><comment><USER4> I'm a fan of using open-ended discussions rather than testing "book knowledge". Some simple textbook questions to gauge a candidate's approximate level of skill and experience are fine, but that's just the introduction. For the main event, I might give scenarios that have a lot of potential depth for them to implement, or I might ask them to review existing code for such scenarios that is relatively crude in its implementation and perhaps contains some errors or oversights. In each scenario, I'm more interested in the way a candidate is thinking and what sort of level they are working at than any specific details.

For example, assuming the candidate can give me a correct implementation of some specified behaviour at all, do they just take a brute force approach? Do they demonstrate some basic awareness of different data structures and algorithms that might help them, and make reasonable choices? Do they immediately start looking at the required data and access patterns carefully, and automatically consider whether the standard library provides the required tools, whether other well-known libraries would be better, or whether something completely new will be best? What sorts of constraints do they take into account in making these decisions? Do they consider issues like how we might ensure the correctness of the code or measure its performance? What tools do they use? What sources of information do they automatically turn to for reference?

I would always prefer to use a natural environment for this sort of discussion if possible, so the scenarios would be realistic and relevant, and within reason I'm OK with the developer using whatever tools or information sources they normally would for any programming involved.

</comment><comment><USER25> If a candidate passes the basic phone interview, we bring them in for a technical chat. I'll ask the candidate to send some code of their choice before the interview and use that as a jumping off point. I tend to keep a few other questions in hand in case the conversation comes to a dead end, but I find it useful to let things go where they naturally go, since the candidate can show more about themselves and what they know. We only ask candidates to perform a test if we're really uncertain that they can code at a basic level, and don't bother with puzzle questions at all, since they've never told us whether the candidate is competent or not, just if they've done a bunch of puzzle questions in preparation. It's a waste of our time and theirs.

Some candidates are great at blagging, which can be hard to identify, but it's usually unearthed if you start asking about a subject on their CV, away from their day-to-day duties, in any depth (depth being more than 30 minutes of study, since this is all most blaggers have really looked into things).

</comment><comment><USER26> At a previous job, we used to do a short phone screen, and then send the candidate a small homework assignment they could do on their own time.

The assignment was to build a simple client-server (in C) that solved a particular task, and the short spec (4-5 sentences) was intentionally non- specific about a number of things (that we did not care too much about anyway) but quite specific about some others. The task was similar to a small component of our embedded product, so it was relevant for the role.

The candidate would then spend half an evening or a weekend or whatever time they needed, and send us their hopefully working code. It normally took about 2 hours for someone familiar with this sort of thing, maybe 4 or 5 if they had no idea. We didn't impose any deadline, but most got back to us within a few days or after the following weekend. On a couple of occasions we never heard back.

We would then verify that the requirements were met, and we would take note of some of the design decisions where there was flexibility and things didn't matter so much. If they had at least made a good attempt we then had lots to discuss at the technical interview.

We had them walk us through the code, describing the flow and their design decisions along the way, so we could tell who actually understood what they had done. This was particularly interesting for certain sections where there were 2-3 potential ways to solve a problem, we would ask what the others were and how they had chosen to solve in this particular way, e.g. what tradeoffs they had considered. We would ask how much testing they had done (most said "thorough"), and whether they felt it met all parts of the specification (it didn't always, despite the "thorough" testing).

In all, most candidates told us they thought it was a good task without being daunting or time consuming, and we felt that we got some good insight into our candidates before we made a hiring decision. No puzzles, no grammar nazi questions!

</comment><comment><USER27> First start with work that they've written. Ask for a Github project or even schoolwork. Get them to describe the steps that they took. Approach them humbly, since they might not be great at communicating under pressure and may not properly express a consideration (like a prof mandating that they use ZMQ, say).

The code doesn't need to be perfect, but well written and hopefully tested, especially if it's in a dynamic language.

After that, do some basic hash map vs sorted array questions, some "how does the internet work" questions, and maybe get them to code up some solutions on a laptop that you get them to bring ahead of time (provide one as a backup though, since some people only develop on a desktop at home).

</comment><comment> a-saleh We send out a simple homework. Should take you around 3 hours at most, creating a simple rest service.

Then we would go through the code. Apart from that, we would go through the cv/talk about past projects.

</comment><comment><USER28> I have interviewed for a ton of companies in the bay. If I can't convince the company to offer contract to hire positions. I pick a realish problems adapted for interview from our day to day. I then try to "work with them" to see how much I would like to work with them. I prefer 1.5 hour interview slots but I usually only get 45m.

I find companies generally hamstring themselves by having people breaking up the interview slots into too small chunks. Basically limiting us from doing real interview problems.

</comment><comment> q-base I recently heard/read something which I actually can't really remember whether was aimed at tech hires or other, but it just resonated with me.

Remember that the process you choose to screen your hires defines the people you end up with. Understood as; if you present hard complicated theoretical assignments, then what you get is people who are good at these and may overcomplicate implementation. You may want these - but in a lot of cases what you probably needed was somewhat more pragmatic programmers.

<comment><USER29> And on the flip side, if you're the interviewee and you don't pass an interview, try not to beat yourself up. It just means the interviewer / interviewing company is looking for something different.

</comment></comment><comment><USER30> At a previous job we had a nice test: show them a listing with some glaring bugs and ask to find bugs from the listing (buffer overflows, obvious memory leaks, printf format mismatch) Surprisingly this used to be a very hard filter, people are trained to write new code and do not know how to review code of others (or even their own stuff)

</comment><comment><USER31> I sit down with them and have them write code. I give them a problem, a test suite, and an editor of their choice.

Their challenge is to get as many tests as possible to pass.

It's not really intended to get all of them - they branch into different areas, and the candidate can choose the direction they would like to move in.

</comment><comment><USER32> I just went through a round of interviews and came away with a better opinion of these "toy" interviews than I started with[1], so I'll play devil's advocate here: these questions have a place. The main reason to use these questions is that they're studyable.

Google and Facebook both put out content that walk you through how to solve problems like this. When you get an interview, you can delay it as long as you want, they can tell you the sort of problems to study: go read "Cracking the Coding Interview". Facebook sends you a link to it and a video of the author working a problem. Google sends you stuff like [https://www.youtube.com/watch?v=XKu_SEDAykw](https://www.youtube.com/watch?v=XKu_SEDAykw). There are thousands of toy questions, and it's not feasible to memorize them all. The correct _and expected_ thing to do is study up for the category.

Now that your candidates have in theory studied, you'll get a studied, "best" performance for each candidate, and interview outcomes can be compared in a very low-bias, apples-to-apples way. I can't imagine the success criteria for a pairing being clearer than for toys. I think the potential for toy question interviews to be managed in a low-bias way is the main reason they're used.

In comparison, how do you ensure that your exercise in go is exactly as hard as your exercise in Java? Or do they need to know go, or some other language? Or that they didn't spend longer on the take home than you asked? Or 100 other factors of your particular exercise? It's really hard to let every candidate shine on a level playing field using "real world" stuff. [2]

That said, there's good reasons to do pairing, or a bug squash, or a take home, or juggling, or _anything different_. The first is that candidates with 15 years of experience don't show up better than college grads on "toy" questions, even if they've studied. You can only do so well on them, and experienced candidates tend to have options and won't put a lot of time in to studying. And the corollary to that is that the biggest tech employers are leaving some great candidates behind, because they interview better doing "real world" stuff. And your company can go get them, just because you bothered to do something different. Most companies won't outbid Google and Facebook, so why would your interview process try to find the same candidates they do?

[1]: And to be clear: I did not get any offers from my interviews based entirely on this sort of question. I'm not the worst but far from the best.

[2]: Triplebyte's long-ish video chat interview is the best thing I've seen at "standardizing" this.

</comment><comment> bra-ket ask about their last project, favorite project, challenging project, what do they want to do in the future, why do they leave their previous job. that's all.

</comment><comment><USER33> I wrote up what I think is a good hiring process for technical positions on my blog - [https://blog.urth.org/2017/07/14/a-technical-hiring- process/](https://blog.urth.org/2017/07/14/a-technical-hiring-process/)

</comment><comment><USER34> DSA questions make absolutely no sense in 99% of the cases because

1) Most modern programming languages have ready-made implementations (by way of libraries) for almost every imaginable algorithm, written in the most efficient way, and probably all open source, so you can modify it if you feel otherwise.

and

2) It's very easy for a not-so-capable-engineer to "hack" the coding interview by -- as you yourself have mentioned -- memorizing the DSA questions and answers from various coding interview Q&A sites.

The 1% where they would make sense is if you are hiring specifically for such a role. Example: Amazon or Fedex trying to optimize their transportation model.

I've interviewed over 30 different candidates for 3 different companies I worked at. Here's what I do, and it works for us, YMMV.

1) Before the interview, I go over what the position is, the job requirements, ex: Front-end Web Developer, or Back-end Engineer, or Full-stack Engineer.

2) I go through the code-base of a couple of projects we are currently working on, and based on the job requirements, I create 5 to 10 code-related questions. Ex: We were once hiring a C# and ASP.Net engineer and had an enhancement in our website code base, to show open-close hours of bank branches on the website. Most people miss the importance of tracking timezones of the branches and pegging the open-close hours to some timezone , ex: UTC. So I created a question to the effect of "We need to store and display bank branch hours on our website, how would you go about designing a data store, and displaying it on the website." If the interviewee does not mention anything about timezones, then you know that they are not thinking through this correctly. These type of questions are a majority of the questions I come up with.

3) I throw in a couple of simple 1 line-answer type questions that will expose any lack of understanding of the fundamentals of programming, print it, and review the question with them and give them time to read it and answer. Ex: What's the difference between "==" and "===" in javascript. Or variable scopes in a sample method. etc.

This way, you are examining the candidate practically for what he/she will be working on, if hired and he/she is likely to be productive from day 1.

<comment><USER35> > 1) Most modern programming languages have ready-made implementations (by way > of libraries) for almost every imaginable algorithm,

I really don't think this is true of any programming language, modern or not.

> written in the most efficient way,

Elementary but nontrivial problems like string matching and integer sorting often have poor standard library solutions, not to mention that "the most efficient way" is context-dependent.

> and probably all open source, so you can modify it if you feel otherwise.

Intel's MKL, which has a ready-made matrix multiplication that probably is about as fast as possible on their hardware, isn't AFAIK open-source. (Regardless, if you modify the standard library in your own environment, you risk creating serious interoperability headaches for yourself later on.)

<comment><USER36> >> 1) Most modern programming languages have ready-made implementations (by way of libraries) for almost every imaginable algorithm,

> I really don't think this is true of any programming language, modern or > not.

Moreover, for this attitude (overreliance on external libraries) you get another left-pad.</comment></comment></comment>


Rogue wave - Wikipedia, the free encyclopedia - daniel-cussen http://en.wikipedia.org/wiki/Rogue_wave_(oceanography) <comment><AUTHOR> Funny, I figured this would be a post about the software company in Oregon of the same name.</comment>


Ask HN: Do you wish you could rent URLs? - <AUTHOR> I'm testing a number of startup ideas, and for each one, I need to either:
1. Buy a new domain 2. Use one I currently own.
Both options suck. I don't want to buy 50-100 domains, nor do I want to cycle through the same few that I own.
What I want is to pay like $10 a month to rent domains. I don't care if they have been used before, as I'm just testing out ideas. If I find an idea sticks, I should be able to either buy the one that I'm renting, or just redirect traffic to a URL that I subsequently purchase.
Does anyone else have this problem too? Do you wish you could rent URLs? <comment><USER2> No I have no wish whatsoever to 'rent' urls. Anything that makes urls more impermanent than they already are is, in my opinion, _a very bad thing_.

</comment><comment><USER3> This is actually a GREAT idea. I'd LOVE to rent domains because any traffic from the old visitors gives me free advertising. When my business is done I'll pass it off to the next person and they'll get the left over visitors from my old site.

To people saying they don't want to RENT urls. Think about it. How many of us have 60+ domains registered thinking "Oh I'm going to turn this into the next facebook one day". Like that'll ever happen. Our startups and projects last only 1-3 years anyway. Most startups fail anyway. After that we hold on to the domain for 7+ years thinking we'll hit the jackpot if some VC funded startup picks up our domain. What a load of BS. They won't. Why would they spend thousands or millions on a domain name when you can just give their startup some weird African name like Zazzuu, tikitituka, bamzoo, wasuzu, etc...

The perfect solution is to rent with the option of buying at the end. Very nice idea. I like it.

</comment><comment><USER4> I've heard of startups leasing domains with the option to buy. Then, when enough funding roles in, they pay for it in full.

Mint.com did something similar. They gave equity for the domain which was owned by some hedge fund. More info in this article on that story and the whole subject:

[http://foundersblock.com/articles/the-founders-guide-to- buyi...](http://foundersblock.com/articles/the-founders-guide-to-buying- domains/)

</comment><comment><USER5> Here's what I would do. Get a [myfancyname]labs.com ... any new startup ideas goes under [myfancyname]labs.com/idea1, [myfancyname]labs.com/idea2, etc...

This is much more cost effective, when the idea take off, I will consider getting a proper domain with all its extensions.

Or if you know a few domainers, you could consider renting it from them for a x period of time. But it's not going to be cheap.

</comment><comment><USER6> Sorry, but I don't get this.

I don't see the case where you need a domain (especially what appears to be a semi-poor/random name) to test a startup idea.

With a wholesale account you can register a domain for less than $8/year. What would the market be for renting them? Also, how would you deal with domains that might have been essentially blacklisted by Google for crappy SEO practices?

</comment><comment><USER7> Why exactly must each idea have a domain name? How about prioritizing your ideas some more to cut down on them? You can't possible have 50 equally good ideas.

Also, you can get .INFO domains for $1.99 so even if you have 50-100 domains that's fairly affordable. Can't imagine you would be able to rent a domain cheaper than that.

</comment><comment><USER8> A lot of domain owners would happily lease you domains, but at the $10 range, you're really scraping the bottom of the barrel. What's your opposition to buying 50-100 domains versus renting? You'd save a fortune just buying them yourself.

</comment><comment><USER9> You can rent domains for around $8/year from any domain registrar.

</comment><comment><USER10> Buy one domain, then use one subdomain for each idea.</comment>


The Tail End - <AUTHOR> https://waitbutwhy.com/2015/12/the-tail-end.html <comment><USER2> I'm 57. I found this piece unbelievably depressing. I don't feel like I want a count-down timer, even though I know one is running.</comment>


Towards an inexpensive open-source desktop CT scanner - <AUTHOR> http://www.tricorderproject.org/blog/towards-an-inexpensive-open-source-desktop-ct-scanner/ <comment><USER2> A topic I can speak intelligently about! (I am a Radiologist.)

This article is a great discussion of modern imaging technology and I 100% agree that MRI is incredible. But CT has become much more impressive than the single-slice scanners of yore.

Watch this video of a modern scanner rotating at full speed:

[http://www.youtube.com/watch?v=CWnjqeB7Mk8](http://www.youtube.com/watch?v=CWnjqeB7Mk8)

Currently, the race to improvement is about speed and lower radiation dose. The newest scanners can take hundreds of 2D slices in a single rotation of less than a second and reconstruct the image with a huge variety of algorithms accounting for body part, patient size, etc. that all allow for lower dose and noise resulting in better diagnostic quality.

MRI is truly the cutting edge of human achievement. Watch this video to see the forces involved:

[http://www.youtube.com/watch?v=6BBx8BwLhqg](http://www.youtube.com/watch?v=6BBx8BwLhqg)

And this for a detailed explanation of MRI principles:

[http://www.youtube.com/watch?v=pGcZvSG805Y](http://www.youtube.com/watch?v=pGcZvSG805Y)

Medicine uses 1.5T and 3T routinely for imaging, but higher field strengths are in use for research purposes. Innovation lately has been about developing new sequences (ways to differentiate types of tissue), and increase speed of aquisiton and comfort.

<comment><USER3> Off topic but what would you recommend for brain imaging, a CT scan or MRI?

<comment><USER2> CT is a great screening exam because it is cheap, quick and more readily available. MRI is much more specific in diagnosing problems in the brain and has a lot more 'features' that can be added to aid in diagnosis. So generally, everyone gets a CT and then moves on to an MRI if there is an abnormality... or if they fail to find an abnormality when the clinical exam remains abnormal/severe. There are a lot of exceptions... like in little kids, you should always avoid radiation when possible and people will go straight to MRI.

<comment><USER3> Why is there such a big difference in patient price between a CT and MRI scan?

My doctor told me to have a CT scan done but I am worried about the radiation. I feel that if an MRI was cheaper, then I would have been prescribed an MRI.

<comment><USER4> Ask them about the radiation dose in banana-equivalent, then be less worried.

<comment><USER5> You're confusing CT scans with conventional x-ray images. CT scans deliver the radiation equivalent of hundreds of conventional x-ray images. The radiation dose is high enough to epidemiologically significant (meaning higher cancer rates in people who have been scanned, especially children).

<comment><USER4> Believe me, I'm not confusing them - I just think it's significantly less risky than the parent does. And yes, there can be higher cancer rates in people who have a _lot_ of CT scans done e.g. because of a serious illness.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> On a related note, there are a couple of good open source projects for reading the standard imaging files (DICOM). DICOM itself is an interesting mishmash of a standard, but is pretty powerful. Images are shuffled around using a PACS (Picture Archiving and Communication System) which lets the scanning machines send their images to a central location at the clinic, the clinic to send images to your radiologist, your radiologist to send them to the hospital, etc etc. Interesting stuff.

[http://www.osirix-viewer.com/Downloads.html](http://www.osirix- viewer.com/Downloads.html) OsiriX is a DICOM viewer and PACS for Macs and iOS

[http://www.dcm4che.org/](http://www.dcm4che.org/) dcm4che is a collection of server based applications for DICOM and PACS. Sort of like OsiriX, but web based. It's Java Tomcat based and reasonably simple to setup.

<comment><USER7> I use pydicom[1] quite a lot. It is an open source, pure Python module for reading & writing DICOM files. Works very well by essentially transforming the whole DICOM file into a big dictionary.

[1][https://code.google.com/p/pydicom/](https://code.google.com/p/pydicom/)

<comment><USER8> pydicom is nice but it lacks network functionality: find, send, store and so on. And it cannot decompress jpegs. Two large open source toolkits are dcmtk[1] and gdcm[2]. Both comes with commandline applications for viewing dicom files and querying pacs servers. gdcm is bundled with itk[3].

[1] [http://dicom.offis.de/dcmtk.php.en](http://dicom.offis.de/dcmtk.php.en)

[2] [http://sourceforge.net/projects/gdcm/](http://sourceforge.net/projects/gdcm/)

[3] [http://www.itk.org/](http://www.itk.org/)

</comment></comment></comment><comment><USER8> It is a beautiful little machine, looking forward to seeing it in action.

A simpler approach to get a small CT scanner is to use a stationary source and detector. This requires a cone-beam source, which might cost a lot more, but it makes it a lot easier to experiment with phase-contrast and darkfield imaging, which can improve soft-tissue contrast.

For reconstruction from the projections the Cph CT Toolbox [https://code.google.com/p/cphcttoolbox/](https://code.google.com/p/cphcttoolbox/) contains open source implementations of several reconstruction algorithms. It is written in python.

From my viewpoint, CS student focusing on medical imaging, no single imaging modality will rule them all. It is much more interesting to look at the combinations like PET/CT and PET/MR that gives us complimentary information.

<comment><USER4> (from following link...) Ah, an old CRT screen as a detector - hadn't thought of that.

</comment></comment><comment><USER9> This is a nice hack! It's unfortunate that medical CT scanning remains expensive due to reasons other than the cost of designing and manufacturing one of these devices. It's about image acquisition speed, safety, quality assurance, safety, rigorous testing, and of course safety.

While all those things (+ personnel costs) are of course worth paying for, I find it unbelievable that a simple scan could cost $5000 in the US! When I had to get a CT scan, it cost $2000, of which 90% was covered by the mandatory minimum health insurance. Nobody gets left out in the cold.

<comment><USER10> Just fyi, in Paris you can get an MRI (they call it an IRM)(or a CT Scan) at a private clinic with fairly-modern e.g: GE machines (don't know how old) for 180 euros (including an assessment by a radiologist). Ahead of an MRI, you additionally pay a pharmacy 20-50 euros for injections they'll administer to you during the MRI, depending on which type of scan you're getting (your weight), etc. You leave with a DVD that summarizes your results and a report. I imagine the fees are subsidized by the government, but I actually don't know if it is since it is a private clinic I'm talking about. I imagine the technicians, doctors, and assistants are likely paid less in France.

<comment><USER11> FYI, in the US, the thousands-of-dollars list price for an MRI turns in to a few hundred if Medicare or an insurance company are paying (and no, I'm not talking about what the patient gets charged out of pocket--the actual total amount charged is reduced that much).

<comment><USER12> It also turns into a few hundred if you tell them you can't pay thousands of dollars, but are willing to take any free slot.

MRI is a classic example of high fixed cost, negligible variable cost. Once they buy the machine, it pays to make sure it never runs idle.

</comment></comment></comment></comment><comment><USER4> Hah. I was recently considering the feasibility of making a homebrew CT scanner, only I was thinking of using one of the cheap chinese dental xray machines you can get on ebay for ~$200. (I think I would have probably vacated the room while it was in operation. I'm not saying I don't trust cheap chinese x-ray technology but - well , actually - yes I am...)

Would have required an awful lot of scanning of xray film and would probably only have been able to image something around the size of a walnut.

</comment><comment><USER13> Here's another home made CT scanner project someone did, not as polished, but he does a great job explaining the principles involved.

[http://www.youtube.com/watch?v=hF3V-GHiJ78](http://www.youtube.com/watch?v=hF3V-GHiJ78)

</comment><comment><USER14> > Safety is very important to me. In medical diagnostic imaging it's often > important to have an image as soon as possible, but that's not the case for > scanning non-living objects purely for scientific or educational > interest...[I] make use of a "check source", which is an extremely low > intensity source used to verify the functionality of a high-energy particle > detector.

Thank you for doing this. It's easy to build something cool but extremely unsafe in your home, forgetting that medical devices are carefully controlled to ensure patient safety. All it takes is one irresponsible DIYer to cause problems for everyone.

</comment><comment><USER15> related: [http://www.ru.nl/hfml/research/levitation/diamagnetic/](http://www.ru.nl/hfml/research/levitation/diamagnetic/)

Frog levitating in 10 Tesla

</comment><comment><USER16> Off topic question: What kind of cardboard is that used in the prototype? I have been searching for such a material for some time.

<comment><USER17> It's not cardboard. It's laser-cut wood.

...and BTW, is anyone going to point out the obvious hazards of DIY x-ray dosing? Like, okay, sure, you can perform CT scans on inanimate objects in the privacy of your own home, without subjecting living creatures to x-rays, but still... open source x-ray machines?

Consider the infamous Therac-25:

[https://en.wikipedia.org/wiki/Therac-25](https://en.wikipedia.org/wiki/Therac-25)

<comment><USER18> There's a big difference between imaging and treatment radiation.

</comment></comment></comment><comment><USER19> An impressive project, truly some Hacker News!</comment>


Web Truths: JavaScript can't be trusted - <AUTHOR> https://christianheilmann.com/2017/09/26/web-truths-javascript-cant-be-trusted/ <comment><USER2> > "JavaScript isn't like CSS or HTML. Both these building blocks of the web > are fault-tolerant. This means when you write invalid HTML, the browser > tries to fix it. If you use bleeding edge CSS in an old browser, it ignores > it. Not so with JavaScript."

This really isn't a statement about the language, but about its use (and even more about frameworks). If your script breaks, your browser still happily displays the page as-is, if there's a type error, the language tries to make the best of it (much to its criticism), there's even a self-correction mechanism in the syntax (semicolon auto-insertion). If your first script silently and gracefully fails on an error, your other scripts will still execute (just like any other HTML tag). It really depends on the use, and the same criticism may be applied to, say, CSS:

E.g., we may come to the – rather amazing – conclusion that putting all the text content of a page into the content attributes of the before and after pseudo-classes is the only way to do it, because it's a) a rather new feature, b) sexy, c) CSS is then your single source, and d) why not? Then, hey, CSS is now Turing complete, why not build an entire client-side framework on this? And, maybe, a headless CSS engine for the backend? And, boom, everything fails on a single malformed CSS expression...</comment>


Curated List of Remote Jobs - <AUTHOR> https://twitter.com/list_remote <comment><AUTHOR> If you would like your vacancy to be listed on curated list of remote jobs. Don't hesitate and describe to Direct message the following:

1\. Clear position title 2\. Salary (yearly) 3\. Clear requirments (tech stack) 4\. Link to apply form or link to full description

Thanks.

</comment><comment><USER2> Isn't it what [https://remoteok.io](https://remoteok.io) does?

<comment><AUTHOR> \- a post does not cost $300. \- more vacancies could be listed. \- positions listed with salary only. \- informative and fast reading</comment></comment>


Keylogging to find wifi passwords? - james-bronze

Recently my legal guardians have decided to change the wifi password daily in an attempt to limit my internet time. I was thinking of using a remote access keylogger to view the password. Most of the ones I've found are too elaborate/expensive. Any suggestions? <comment><AUTHOR> Yea I have one..

Say please?

You can't just keylog a wifi password because that isn't how it works.

Just get a second wireless router and hook it up when you need it

Or tether your phone? Or pay half the bill so they don't block it anymore?

<comment> james-bronze Completely disregarding the first bit, what exactly do you mean "You can't just keylog a wifi password because that isn't how it works"? The point of using an alternate method to, say, buying my own wireless router is to evidently not spend money; hence I said I need something that was not "too elaborate/expensive". Regardless, I found what I was looking for elsewhere. Thank you for your comment, although your condescending tone, and the fact that you hardly answered my question at all, is not very appreciated.</comment></comment>


Typography for Developers - <AUTHOR> https://medium.com/@taimurabdaal/typography-for-developers-975cf2abd1e#.b5himthxu <comment><USER2> Sockpuppet/promotional votes and comments aren't allowed here. We ban accounts that do this, so please don't do it.

</comment><comment><USER3> Nice article! Registered just to comment. Always struggle with getting the right look, this should help a lot.

<comment><AUTHOR> Glad you liked it! If you're interested in going deeper, this is really good: [http://webtypography.net/toc/](http://webtypography.net/toc/)

</comment></comment><comment><USER4> I've been looking for an article like this for ages. Very nifty CSS tricks, will definitely be employing a few of those in my next side project. Just a little bit of line spacing and word spacing seems to make all the difference. Thanks for putting this out there, love it.

</comment><comment><USER5> This is great, light enough to read start to finish, and dense enough to come back for specifics.</comment>


Replacing CPython with PyPy at Magnetic - <AUTHOR> http://baroquesoftware.com/blog#magnetic

<comment><USER2> Just a question about the tests:

> _the Magnetic bidders were ported from CPython to PyPy, yielding an overall > 30% performance gain._

> _Memory consumption increased by 30-50% initially, causing slowdown because > of swapping on our 16GB RAM machines. These issues were resolved by > supplying the machines with an additional 8GB of memory, which stabilized > their memory usage._

The 30% improvement is comparing the old CPyton to the new PyPy+8GB, or it's comparing Cpyton+8GB to PyPy+8GB?

<comment><USER3> Very shallow report, indeed.</comment></comment>


Learn how to build Flappy Bird for iPhone - <AUTHOR> http://pineapple.io/resources/build-your-own-flappy-bird-with-spritebuilder-and-cocos2d-3-0

<comment><USER2> Link to the actual article: [https://www.makegameswith.us/gamernews/369/build- your-own-fl...](https://www.makegameswith.us/gamernews/369/build-your-own- flappy-bird-with-spritebuilder-and)

</comment><comment><USER3> heh.. alright, 50k per day here I come.</comment>


Show HN: What happens if you disappear - <AUTHOR> https://cronu.com <comment><USER2> I can see so many things go wrong with this:

\- Company tanks.

\- Company gets acquired, and your private data gets mined.

\- Company gets hacked and database dump gets posted.

I think I'd rather stick to the old methods of sealed envelopes and trusted friends or a lawyer. It's more reliable and requires less brain time slices ("Does the comapny still exist? Has it been hacked or acquired?" etc)

<comment><USER3> Another possibility is:

\- An insider misuses _powers_.

<comment><AUTHOR> That shouldn't be possible, everything is encrypted with the OAuth provider ids that are not stored and available only through the login ... then again SSH was broken ...

<comment><USER4> Dude...

People are raising valid concerns about your product, and instead of listening and accepting early feedback from HN, you are all over this discussion, defensively arguing with everyone. Just sit back, hear what people have to say, and then decide for yourself if you want to make changes, or reject the feedback.

</comment></comment></comment></comment><comment><USER5> Google already has a service for this:

[https://www.google.com/settings/u/0/account/inactive](https://www.google.com/settings/u/0/account/inactive)

<comment><USER4> Real life already has a service for this. They are called lawyers. They can keep your records on file, you know who they are, they have legal responsibility to keep everything confidential, and when you die... things just work.

I guess this would work for more casual documents, passwords to facebook, whatever. I have a document printed out and kept in our file cabinet for such things, so I would not use this service, but I can see where other people might.

<comment><AUTHOR> Yes, lawyers ... good or nothing for those. Thing is, your friends and family must know where that document is and then who gets to read it first?

<comment><USER4> Yeah, no system is perfect. If your will cannot be found, that is a problem. Of course, digital documents won't be notarized, so that is also a problem.

Your service has some use cases... but please do not tell me you seriously expect it to replace lawyers when it comes to managing one's estate.

</comment></comment></comment></comment><comment><USER6> Call me cheap, but $1 a month seems a little steep for this for me. I'm not planning on dying for another 50 years or so. Even if your site is still around at that point (which, let's be honest, isn't likely), I'll have paid $600 for you to send off a couple email for me.

It's a cute idea, and maybe something I'd consider for a small, one-time fee, but I definitely would never pay monthly for it.

<comment><USER7> Also an old email with long-expired passwords etc.

</comment></comment><comment><USER8> I'm constantly losing/breaking my credit/debit cards and forgetting about the services I have subscribed to. Usually I'm reminded by an email from a service telling me that they were unable to charge my credit card. Does it mean that next time it happens and i'm subscribed to your service everyone related will be notified of my death?

Edit: I read the description one more time and it seems that you send an email three times. But still I don't see how not answering email is a good way to determine that I'm dead.

<comment><AUTHOR> It really comes down to "we need to know you are around". Month is acceptable cycle, email or card it's up to you. The email assumes you are the only one with access to that email.

</comment></comment><comment><USER9> Cool idea, but what happens if, for instance, I lose access to my email account? Or if the messages start going into my junk folder? I'd hate to scare my loved ones with an email implying I've disappeared/died.

<comment><AUTHOR> You will need to lose access to all (3) of your social accounts and your email, highly unlikely. One of the reasons why we don't have our own account management ...

<comment><USER10> 3 social accounts? As a person that does not really do social media, I wonder what those 3 accounts are.

</comment></comment></comment><comment><USER11> > If a subscription charge fails three consecutive weeks, Cronu will release > your message.

Oh boy. I can see so much going wrong with this.

<comment><AUTHOR> What else can detect your disappearance? Other than email pings. We use stripe so your card expiration should be covered ... still valid point there.

<comment><USER12> "Sorry for the false alarm everyone, I'm not dead, I just didn't check my email for a while."

</comment></comment></comment><comment><USER13> > The system can not generate the key required to decrypt your data unless you > are logged in. Our staff have no means of accessing your data at any given > time.

If this is true, how can your service work? If I'm dead, I can't log in to generate a decryption key so my message can be sent in the clear.

If your service works, how can this be true? If it can decrypt and send my message in the clear when I'm dead, I very evidently don't need to log in for decryption to occur.

<comment><AUTHOR> When you add recipient your message is (decrypted using your id) copied and the copy is encrypted with the recipient email. Once the recipient logs in (their OAuth id becomes available) the email (verified by the OAuth) is used to decrypt the message copy and encrypted again this time with his/her id. That temporary email encrypted message is decryptable of course although there is no utility or UI for us to do so. I guess we'd better store the owner Id and don't make copies, since it doesn't change anything security wise ... Yes, rogue admin can do harm ...

</comment></comment><comment><USER14> How do I know the site won't die before I do?

<comment><AUTHOR> It's comfortably running within GAE free quota so even if we disappear it should be up and running ... Gotta pay that domain for max years though ;) Good question, thanks!

<comment><USER15> Comfortably running on the GAE free quota makes it _more_ , not less likely to disappear unless you're there to move it when Google pulls the plug.

<comment><AUTHOR> Yeah you are right. I think we are safe for now in the cloud wars ... maybe.

<comment><USER16> You are in the least safe position possible. You're on a free Google service. In spite of the longevity of a few of these services, those are shut down _all the time_.

You say:

> To make sure you are well and sound, Cronu will charge your card a dollar a > month.

I would insert "and to ensure your message remains available", as written this feels so inauthentic as to be mildly offensive.

And then take that dollar a month from myself and from a few others, and spin up some paid instances. Pick a couple hosts that are likely to be around for a long, long time, and get a box from each, and make your service redundant. Show that you've paid for service from these providers and have paid up for the next 10? 50? 100 years. Register cronu.com for the next 10? 50? 100 years (this expiry date is easily verified with whois) because you obviously can't send email from cronu.com if your domain registration expired. Right now, your expiry is in September of next year.

Paying for these instances is what distinguishes you from a free monthly dead- man-switch email and makes you worthy of receiving that dollar.

<comment><AUTHOR> We do have budget and will be paying once quota is depleted (can't wait for that moment) but so far (and in case of our disappearance) free should sustain the minimum viable service levels (aka delete account).

</comment></comment></comment></comment></comment></comment><comment><USER17> How is this secure? You yourself (or somebody who works for you – a rogue employee) could access your database and decrypt all of your customers passwords and sensitive data for their accounts. This adds a single point of failure for everything you store/send with it. You get hacked, and now they have access to everything.

</comment><comment><USER7> Can't you send an email on a timer? Say a day or two after your birthday or some holiday. Every year on your birthday you reset the timer. It could take some time after you disappear for the info to arrive.

<comment><AUTHOR> We can and we do. Just the cycle is month not a year cause we think your friends and family won't like to wait a year ...

<comment> nommm-nommm They don't want to wait a month either.

</comment></comment></comment><comment><USER18> Those two "Sign up" buttons hide the last line of both paragraphs for me. Also, the three buttons at the top ("login with") look a bit funky.

<comment><AUTHOR> Device/browser? Will fix, Thanks!

<comment><USER18> Chrome Version 56.0.2906.0 dev (64-bit) on Windows 10.

<comment><AUTHOR> great, thanks!

<comment><USER18> Here, I took a couple of screenshots: [http://imgur.com/a/urg8s](http://imgur.com/a/urg8s)

<comment><AUTHOR> Ugh it's not the browser but the resolution ... right between. Thanks for the screenshots!

</comment></comment></comment></comment></comment></comment><comment><USER19> Isn't this essentially MetLife Infinity? [https://metlifeinfinity.com](https://metlifeinfinity.com)

<comment><AUTHOR> Close but not really storage. I guess more of detection and notification although Google and Merlifeinfinity very close ...</comment></comment>


The end of uBlock origin for Google Chrome? - <AUTHOR> https://www.ghacks.net/2019/10/12/the-end-of-ublock-origin-for-google-chrome/#comments <comment><USER2> Great time to switch to Firefox if you haven't already. [https://www.mozilla.org/en-US/firefox/new/](https://www.mozilla.org/en- US/firefox/new/)

And before you even begin to complain about it being "too slow", "slower than Chrome", <other statement of the month>, tell us that after you're running Chrome without an ad-blocker.

And even if it really is still slower by some miracle - this is a community containing world-class software engineers. Donate some of your time to bring it up to speed. Pun intended.

<comment><USER3> > _And before you even begin to complain about it being "too slow", "slower > than Chrome", <other statement of the month>, tell us that after you're > running Chrome without an ad-blocker._

I run Brave without an adblocker and have found it to be much faster than Firefox (with adblocker and pi-hole).

Also, as someone whose startup has both Chrome and Firefox extensions, I have to say the Firefox reviewers (who review releases and hold up the process — not end user reviewers) can be hugely annoying, and we deploy there as infrequently as possible. As a result, our Firefox customers don't get all the latest bells and whistles. Wish it weren't that way, but the process takes months!

Edit: clarified the annoying reviewers are not end users reviewers, but the people who suck up months of time for every minor update, making confused complaints about our code, and even UI implementation.

<comment><USER4> Brave is an ad blocker

<comment><USER3> Yep, just pointing out that one cannot defend Firefox as the best just by saying Chrome requires and adblocker. There are other browsers, like Brave.

And for the record, I used Firefox for decades, up until last year. I just spend too much time in my browser to use anything other than Brave, given how much time it saves me.

<comment><USER5> Does it have time saving features?

<comment><USER3> Have you tried it? It is insanely fast.

<comment><USER5> I haven't. Will give it a go.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> There's a question mark in the title of the article, which is _kind of very relevant here_.

The last sentence of the article starts with words "While it is certainly possible that the stable extension update would be allowed by Google".

<comment><USER7> Google has already expressed their intention to stop supporting ad blocking extensions with Version 3 of their add-on manifest. So the writing has been on the wall for awhile, they're just turning the screws now.

<comment><USER8> Manifest v3 supports adblocking.

<comment><USER6> In the same way the Soviet Union supported freedom of expression.

<comment><USER8> Can you name anything specific that v2 can do that v3 can't? And how important is that to actually blocking ads?

</comment></comment></comment></comment></comment><comment><USER9> Ad blocking is the only thing that makes the web bearable. I hope the extension rejection was a mistake or over something unrelated to blocking functionality.

<comment><USER10> Nowadays ad blocking isn't even enough anymore. It feels like every website with news articles of any kind has some scrolling, autoplaying video embedded into the site, sometimes even with audio enabled. Unfortunately I haven't seen a blocker for that because it's not considered an ad. It is definitely more annoying than most ads, though.

<comment><USER11> You can block both video and audio from autoplaying in Firefox by going into about:config. It works. But in Chrome AFAIK you can only mute the audio and not the video from autoplaying.

<comment><USER12> You can stop video from playing as well in Chrome settings. Either globally, or on a site-per-site basis.

</comment></comment></comment></comment><comment><USER13> This is probably a good thing. Google is declaring war on adblockers, uBO is their first target but not their last. Tech savvy people are going to end up dumping Chrome en mass. Chrome has dominated the browser market by being so good, but development of non-Google browsers is about to become exciting again, and everybody benefits from that.

<comment><USER14> Firefox development has hardly been boring: Quantum (Rust) & container tabs (and some big improvements to Dev Tools, I understand). Not a new development but addons on mobile is pretty damn cool.

</comment></comment><comment><USER15> I recently switched to Safari on Mac. Safari has a native content blocking mechanism (on Mac and iPhone) which works quite well without giving the extension open access to the page content. It works simply by a JSON file that describes the blocking rules, and doesn't require running any third-party code on the web page.

So far, I've not missed any features of Chrome except opening accidentally closed tab again. You might want to change few settings though: "show full urls" and "show favicons".

Apple Pay also works remarkably well, just click "Pay with Apple", and the authentication request pops up on your iPhone, requesting Touch ID / Face ID.

I've not seen anyone implement the new "Sign in with Apple", which automatically generates burner email addresses, but that's another reason to switch to Safari.

Also, one feature which I like is the automatic generation of strong passwords.

<comment><USER16> For the record, Chrome is switching to the same content blocking mechanism (declarative blocking) as Safari is currently using.

I do personally think this lends some plausibility to Google's assertions that they're doing it for performance reasons rather than to make adblockers worse. It's not like Apple's doing it for the ad revenue.

<comment><USER17> > I do personally think this lends some plausibility to Google's assertions > that they're doing it for performance reasons rather than to make adblockers > worse.

I don't know that I buy this.

Chrome has a bunch of restrictions that Safari doesn't, which make ad-blocking in particular impractical.

Safari has, iirc, a hard 100,000 rule limit per blocker rule list. 1Blocker splits itself into 7 such lists to have enough room for all of the rules needed to be effective.

Chrome has a hard _global_ limit of 150,000 across all extensions. Multiple adblock authors have indicated that's probably too tight.

Safari also lets content blockers reconfigure rules on the fly, so I can add a rule or make an exception for a site as I browse as a user.

Chrome requires the lists to be totally static and pre-approved by reviewers. Change a rule requires resubmitting the extension for reapproval.

All-in-all it looks to me like Chrome's changes are designed to look like what Safari does on the surface, while actually adding onerous new conditions that effectively cripple the effectiveness and usefulness of adblockers.

</comment></comment></comment><comment><USER18> A lot of people are probably only reading the headline and assuming uBlock Origin was removed from Chrome Webstore, but what actually happened was a version update to the dev extension entry was rejected. We have yet to see if this is just a flake, but reading the issue it seems gorhill intends to just see what happens next dev version.

<comment><USER19> Talks about ad blockers prohibition in Chrome are here for a good half of the year. So there is a rather large possibility it's beginning.

<comment><USER18> I work for Google so I am biased.

However, I think most of that debate surrounds Manifest v3 is misleading. I'm not a huge fan of Manifest v3s limitations, but it's basically the same limitations as Safari as far as I understand, and the justification does make some sense. So I am hoping that things will work out. I don't know about any other things that would impact adblocking on Chrome.

Personally, I am happy with Firefox on desktop, and Safari on iPhone, and I don't think there are any threats, perceived or actual, towards adblocking on those platforms.

</comment></comment></comment><comment><USER8> It's an older rule[1]. It does technically apply here, but it's not a great look that they're only enforcing it now.

If Gorhill needed to, some of that extra functionality could be moved out into a separate extension. uBlock has done this before with uBlock Origin Extra[2]. Most of the extra features (eg. remote font blocking) aren't a huge deal, in my opinion.

[1] [https://blog.chromium.org/2013/12/keeping-chrome- extensions-...](https://blog.chromium.org/2013/12/keeping-chrome-extensions- simple.html)

[2] [https://chrome.google.com/webstore/detail/ublock-origin- extr...](https://chrome.google.com/webstore/detail/ublock-origin- extra/pgdnlhfefecpicbbihgmbmffkjpaplco?hl=en)

<comment><USER20> Why doesn't "blocking" just mean blocking?

I shouldn't need separate extensions to each block css, JavaScript, fonts, cookies, pixels, etc.

Remote fonts can be used for tracking and fingerprinting (hence why private browsing modes aren't private).

Am I missing something here?

<comment><USER21> > Remote fonts can be used for tracking and fingerprinting

Isn't it the reverse, local fonts can be used for fingerprinting?

(There are some snags with remote fonts — rendering bugs/exploits — but they're not exactly low hanging fruit anymore)

EDIT: I see what you mean by tracking. If the fonts are loaded with a third party script, this is indeed a problem. If the font files are served by a third party directly (without some intermediate script), this could be remedied with an extension that strips headers. It would obviously run afoul of this _only do one thing_ rule from Google, the company that once attached Google+ to its search results.

<comment><USER22> Actually, my Creative Director and I have noticed some Google Fonts have changed over time, producing significant enough (read: negative) changes to the UI of clients' experiences we have out there that we decided to start downloading and storing them locally to lock in state (and for perf, but that's another topic). The average user who comes to the site once will never notice it, but we have.

It wouldn't surprise me if it were a hidden vector of some sort, but I haven't put effort into digging into it.

</comment></comment></comment></comment><comment><USER23> I worked in a few AdShops for few short projects when I had to leave electronics for some time after my last employer in Canada was unable to secure a new work visa.

All and every were very very aware how adblocks can block double digits of their revenue with each new release, and it was considered an issue of _existential_ importance. C-levels had weekly conference calls on dealing with adblocks.

In one of those companies, a senior was calling Google, and was pretty much receiving directions like "you can get around this block if you randomise this part of URL," "next months we will change this and that API, this will give you some breathing room."

Google is well aware of UBO, and for years tried to covertly subvert it.

<comment><USER24> AdBlockers are the modern Anti-Virus. It's the same cat'n'mouse game. The next step will be isolating "sponsored content" in news articles and educational content.

</comment></comment><comment><USER25> dupe of [https://news.ycombinator.com/item?id=21231493](https://news.ycombinator.com/item?id=21231493) \- this one just links to the comments section

</comment><comment><USER11> Chrome has the user share and momentum to do whatever they want at this point, and since the majority of end users are unaware of developmental & software details and will continue using Chrome, their overwhelming user share will mean developers will continue to develop for Chrome whether or not they like the direction the browser is going. While ad blocking is the most widely used extension functionality remember that there _are_ other adequate replacements in the Chrome store. Most users are probably already using the more popular (numerically) ones and even if every Chrome's uBlock Origin user migrated to another browser it will probably not make a significant blip on the radar. Only a corporate rival can challenge Chrome at this point and practically the only one who can do so is Microsoft's Edge team, and they will most likely establish a duopoly with Chrome instead of holding out for the sake of user freedom.

</comment><comment><USER26> Fixed: [https://www.reddit.com/r/chrome/comments/dgoymg/warning_ubo_...](https://www.reddit.com/r/chrome/comments/dgoymg/warning_ubo_ublock_origin_will_possibly_be/f3fwlto/)

> Hey all, I'm Simeon, the developer advocate for Chrome extensions. This > morning I heard from the review team; they've approved the current draft so > next publish should go through. Unfortunately it's the weekend, so most > folks are out, but I'm planning to follow up with u/gorhill4 with more > details once I have them.

</comment><comment><USER27> If this keeps up I might just give up and stick to Links2 or something for my daily browsing. There's Firefox for now but I'm really increasingly pessimistic about the state of the web.

</comment><comment><USER28> Personally I'm more attached to uBlock origin than I am to Chrome.

</comment><comment><USER29> Given the situation Chrome should not be called Web Browser anymore. User Tracker seems better category.

</comment><comment><USER30> "how do i sideload my own extensions onto my web browser" is a really weird sentence to say out loud.

<comment><USER31> With v3 implemented there will be nothing to sideload.

</comment></comment><comment><USER32> The double standards are getting way out of proportion here:

The functionality of the advertising browser is a bundling of functionality as well: one one hand the browser functionality to let the user browse and view what he wants, and on the other hand the functionality that lets advertisements and trackers function on the user's browser willy nilly.

So we have a functionality bundler (Chrome) demanding a lower level unbundler plug-in (uBO) stop bundling it's unbundling features together, while the only reason the latter exists is because of the organised bundling at a higher level...

</comment><comment><USER33> Solution: Firefox.

</comment><comment><USER34> So the endgame is probably that we have to switch from "adblockers" to "contentallowers": Filter everything and whitelist content?

</comment><comment><USER35> Google Chrome only allows to install extensions from there web store, his would be the end of uBlock Origin for Chrome

Even if I am a Firefox user I don't see a sense in using Chrome. The 'features' that Chrome can but Chromium cannot are these that we everyone love:

* DRM * Centralized extension managment

</comment><comment><USER19> Switched to Firefox on Android just to have a luxury of ad absence, will do the same on a desktop the moment uBO turned off by Chrome. There was a day or two when all extensions stopped to work because of some certificate expiration - it was a horrible experience, never again.

</comment><comment><USER36> Will it still work in Edge chromium?

<comment><USER37> The credge people on Twitter have been engaging in adblocking discussions, but credge currently uses the chrome store.

<comment><USER38> It currently uses the Microsoft Store, but it -can- use the Chrome store.

[https://microsoftedge.microsoft.com/insider-addons?hl=en- US](https://microsoftedge.microsoft.com/insider-addons?hl=en-US)

</comment></comment></comment><comment><USER39> Damn! I've recently switched to a Chromebook as my daily driver, so Chrome is my only choice of browser available.

I hope this is a mistake, since I can't imagine browsing the web without uBlock Origin.

<comment><USER40> You can always install any extension outside of the store by enabling the developer mode in Chrome.

<comment><USER41> With the new manifest V3, it's sounding like this won't be enough sometime in the future

</comment></comment></comment><comment><USER42> Mozilla is the real hero here. GO with the good guys!

</comment><comment><USER43> Never stopped using Firefox. Chrome came from Google, the conflicts of interest were obvious.

</comment><comment><USER44> Chrome is still one of the best browser for the time being, but if uBlock will ne be available anymore, it's time to change, Firefox most likely.

<comment><USER45> Chrome might be "one of" the best. If so, Firefox is definitely another.

</comment></comment><comment><USER46> More "The end of Chromium for not being able to run uBlock Origin". Running a browser without a functional ad blocker is like running around without vaccinations - you're bound to catch something nasty.

I used to use Chromium and Firefox side by side but stopped doing so when they started acting up in this way. When I need to test with Blink I use Vivaldi (which still supports uBlock Origin), Firefox otherwise.</comment>


Saving Lives with Tech Amid Syria's Endless Civil War - <AUTHOR> https://www.wired.com/story/syria-civil-war-hala-sentry <comment><USER2> Sad to see the media no longer reporting Syrian news or seeing it as a headline, whats happening there is very tragic.

<comment><USER3> Yemen is also conveniently absent from main stream media coverage despite the horrible bus full of school children incident this week.

<comment><USER4> I think this is very dependent on how you find your news stories. In Apple News today I see 6 Syria stories. These are from very mainstream news outlets too: CNN, the Guardian, Reuters, Wired.

In Google News (different device) I see stories about Yemen in the past day from USA Today, Reuters, the Guardian, the Irish Times, the Washington Post, and the New York Times. Most appear to mention the school bus bombing.

I admittedly don't know what makes the front page of printed news or goes into heavy rotation on TV news. I've been using news aggregators instead of any one publisher for a decade+.

<comment><USER5> I maintain a database of news articles from local news sources and sometimes query it if I feel something is underreported re Syria. Sometimes it is and sometimes it's just a wrong feeling. Developments in Daraa/Quneitra were much less reported than developments in E. Ghouta earlier this year.

<comment><AUTHOR> This x 100. The news is being reported, but so many of us just digest what the aggregators and algorithms decide is most relevant - it saves a ton of time. Today's readers need to be curious to be well-informed.

</comment></comment></comment></comment></comment><comment><USER6> The article explains it's a mix of human observers and sensor data plus a lot of trial and error that has been done in order to get accurate prediction and to build trust.

What are the strategies to avoid or reduce false positives. I suppose the human observers are vetted? And the article suggests that there must be sufficient amount of sensor data for the likelihood to be big enough. However it fails to mention how many sensors and therefor data-points are collected.

Are there good resources on crowdsourcing data, ensuring certain quality of data, especially when it comes to limited data inputs?

</comment><comment><USER7> This should be expanded to Palestine, listening for Isreali jet bombers that blow up entire apartment complexes

</comment><comment><USER8> Great use of tech.

Also, not sure if I'm not seeing well or if my adblocker is being too zealous, but I don't see any share buttons on the article. Not something I'd expect from Wired, or any media outlet these days.

</comment><comment><USER9> This article is shameful. The "tech" involved predicting bombing raids, to evacuate people beforehand. Obviously the tech will be used in the future to maximize casualties via predicting bombing raids.

Not saying what they are doing is bad, just the unabashed optimism / tech will save us all view of Wired magazine.

<comment><USER10> From the article, it seemed like the "tech" is just text messages triggered based on flight paths of aircraft. How does that translate to killing more people?

<comment><USER11> If you know how people are going to respond, you can take advantage of it. You get a related practice in double-tap bombing attacks, where there's a second bomb set to hit the predictable batch first responders.

In this case, you can predict where people will evac to, and time your follow- up bombing flights to hit those areas before there's time to evacuate from them.

<comment><AUTHOR> CEO of Hala here. What I think needs reiterating is that the tools to do what you fear are already available and employed by the highly advantaged attacker (regardless of who it is). One of our primary missions is to actually give defensive tools to people who currently lack adequate means to defend themselves.

<comment><USER12> Wow I never thought of it like that!

If you have any pride in what you're doing, I see that as a problem. Maybe you're helping, but we will never be sure if you're making things worse.

<comment> King-Aaron Please.</comment></comment></comment></comment></comment></comment>


Amazon creating a for-profit national surveilance system - <AUTHOR> https://www.vice.com/en_us/article/j5wyjy/amazon-told-police-it-has-partnered-with-200-law-enforcement-agencies <comment><AUTHOR> I received a petition to sign protesting this: [https://actionnetwork.org/petitions/amazon- ring/](https://actionnetwork.org/petitions/amazon-ring/)

On the one hand, I'm all for catching criminals. On the other hand I'm all for limiting Big Brother. It's a paradox to some extent.

But having surveillance pass through Amazon to do with what they will seems like a really bad idea.

<comment><USER2> At some point you have to pick which one you think is more important. I'd much rather have criminals than big brother, and I think we can have a reasonable balance between the two.

Maybe this means I need to stop supporting Amazon.</comment></comment>


Two Startup Cliches I Hate the Most - <AUTHOR> http://neiljoglekar.com/two-startup-cliches-i-hate-the-most/

<comment><USER2> Is there somewhere where founders can share and receive feedback on issues they are currently dealing with? I never claim to be "killing it" but in casual conversation if asked about my startup I'll respond with a generally positive statement assuming the person doesn't want an earful of all the issues currently running through my head. If there was a venue for this type of conversation I'd participate.

</comment><comment><USER3> I understand and am sympathetic to the aversion to "stealth mode" but it depends on the context. I've often had people use stealth mode to mean, "I don't want it getting back to my boss that I'm talking to you about job opportunity, tech, etc."

In fact I'd say both of the things you mention I've mostly seen come from people who are too close to the investor or investor mindset.

<comment><AUTHOR> Great point, I think it also matters what industry you are in. For example a friend just mentioned this: "In my old industry (solar), the possibility of someone stealing your technology before you could get it to market was very real."

My argument is by no means a rule, just a personal observation.

</comment></comment><comment><USER4> I've found while living the Bay Area saying you are an employee rather than a founder during certain social events stops conversations faster than saying you are in stealth mode. "Oh cool, well great to meet you! _walks away_ "

<comment><AUTHOR> that is awesome

</comment></comment><comment><USER5> Great clip from Harj in the post

</comment><comment><USER6> "$company_name for $subculture".

</comment><comment><USER7> I kinda like killing it...but it's only because we are ;-)</comment>


Getting an Education in America - <AUTHOR> http://tekkie.wordpress.com/2009/04/26/getting-an-education-in-america/

<comment> barry-cotter Interesting but wrong.

He's bemoaning the fact that a B.A. serves the same screening purpose that a high school diploma did up until the late 60s, early 70s, the focus on college as a ticket to a decent job and hence a good standard of living.

As motivation to improve he compares European secondary education to American, after being appalled at the idea that people are trying to recruit the bottom 40% of the intelligence distribution into college, where they will fail, but will pay money before they drop out. He fails to realise that he's almost certainly not seeing a random sample of the products of European secondary education.

The main strengths of the Irish and British systems of secondary education, the only ones I'm vaguely familiar with, are the exit exams, which are brutal, anonymous and fair. They're also available in different gradations of difficulty (usually two, Higher and Ordinary, occasionally three for the subjects people just keep failing, add Foundation.) This means you can stream, and all results are comparable. No trying to compare an A from Podunk High School, west Virginia with one from Philips Exeter Academy.</comment>


Looking for open source projects in java and python - <AUTHOR>

I worked as a software engineer for 3+ years, then took a maternity leave for 3 years. Now I am eager to get back to coding after this long break. I have experience in Java and Python. I am looking for some open source projects that I can contribute to (preferably in BigData, analytics). Can somebody point me to such? - Thanks <comment><USER2> I would say openrdf sesame in the java world can use hand. It is one of the most widely used RDF and SPARQL apis on the java side. Very useful, when dealing with data from many sources without building a single datawarehouse.

</comment><comment><USER3> I'm working on this one, you might be interested. [http://archesproject.org/](http://archesproject.org/) It is implemented on Django Framework on python.

</comment><comment><USER4> I would highly recommend getting involved somehow with IPython. It's a great platform and not a bad codebase, and yields some pretty cool stuff!

</comment><comment><USER5> pandas (python data analysis library): [https://github.com/pydata/pandas](https://github.com/pydata/pandas) (friendly/helpful devs and easy to contribute)</comment>


The Xbox One Just Had A Very Bad Day - <AUTHOR> http://kotaku.com/the-xbox-one-just-had-a-very-bad-day-511766497

<comment><USER2> As a Dreamcast owner I know that sometimes the life of a console exceeds expectations, Requiring constant connection is unfair to the user.

</comment><comment><USER3> Forget about going to a friends house to play a game you just bought. Gaming has become less and less social.

</comment><comment><USER4> Thank you for this hour's Redmond schadenfreude fix! From `Devices' to `Services' the entire retreating front looks like Microsoft's Stalingrad. Anything left intact in Ballmer's bunker?! Hoorah!

</comment><comment><USER5> No point buying one then.</comment>


Ask HN: Post-YC Startup Numbers - <AUTHOR>

Just trying to make sense of some numbers...
According to the Inc article, 27 out of YC's 145 funded startups have failed, 7 have been acquired, and 2 have merged with other YC startups, meaning that the majority of the startups--a full three-quarters--are still hard at work.
PG recently posted that about 200 people are employed by YC-funded startups, which works out to be a little less than 2 per company on average (109/200). Plus, some of the companies employ a dozen or more people, which makes the distribution even worse. If you assume that the majority of the companies were founded by at least 2 people and that not many founders have started more than one company, the stats indicate that a lot of founders have moved on to other endeavors, no? <comment><USER2> those are employees, they aren't counting the founders in those 200 people

<comment><USER3> Also, those numbers refer to the 118 startups prior to the current cycle. The 27 this summer haven't had time yet to fail, merge, get acquired, or hire people.

<comment><AUTHOR> Thank you -- that makes sense.

Do you know how many founders there were in addition to the 200 employees in that survey?

<comment><USER3> You can usually multiply the number of startups by about 2.5.</comment></comment></comment></comment>


Step Away from the Keyboard - <AUTHOR> http://mat-mcloughlin.net/2013/11/02/step-away-from-the-keyboard.html <comment><USER2> I feel like this is definitely endemic to the software industry. It moves so quickly that the only ones who survive are the ones who care enough (passionate enough) to keep up.

While I don't think I should have a say on how everyone should live their life, I do agree with you that we need to remind ourselves to take care of our body as well as our mind - whether that means working less, exercising more, or maybe even taking a prolonged break to relax.

Staring at a screen for 14 hours a day is just not healthy. On that note, I'm going to get up and stretch :)

</comment><comment><USER3> I bought a stationary bike because of this. Everytime I spend more than two hours working with the laptop I do some bike.</comment>


Async-profile: A CPU Profiler for Node.js - <AUTHOR> https://bugsnag.com/blog/async-profile <comment><USER2> "You appear to have N cores, N-1 more than Nodejs can use."

<comment><USER3> fails for n=1 ?</comment></comment>


Linked-In speaker series: Salman Khan (Khan Academy) - <AUTHOR> http://www.youtube.com/watch?v=t1F15l7UfqE Salman speaking with LinkedIn CEO and employees on April 15, 2011. <comment><AUTHOR> Salman Khan speaking with LinkedIn CEO and employees on April 15, 2011</comment>