Ask HN: What's your speciality, and what's your "FizzBuzz" equivalent? - <AUTHOR> I was recently chatting with friends and the question came up:
    When hiring a programmer, FizzBuzz is sometimes
    (and controversially) used as an initial filter.
    What's an equivalent filter for mathematicians?
I know that HN is filled with people who have specializations outside of programming, so I ask:

    What is your specialization, and
    what is your "FizzBuzz" equivalent?
 Added in edit: Fascinating answers - thank you. I'd love to respond to many of them but that would probably trip the HN flame-war detector, penalise the item, and I'd get no more replies! If you want a reply, email me, or make sure your email is in your profile. And thanks again to all. <comment><USER3> This is an off-topic answer, but I see no reason why this thread shouldn't be generalized to FizzBuzz equivalents in other careers (in fact, it might be interesting to do so). Our electrical engineering FizzBuzz is an introductory, Freshman-level voltage drop problem, found within the first chapter of any Circuit Analysis textbook:

             R1  (N)  R2
      [VDD]-^^^^--*--^^^^----|

Given VDD, R1, and R2, compute the voltage at node N.

This works surprisingly well as a negative hiring filter. It's not intended to be a trick question at all: it can be solved with Ohm's Law:

      I = VDD / (R1 + R2)
      Vn = VDD - R1 * I

or faster and more intuitively using voltage dividers:

      Vn = VDD * R2 / (R1 + R2).

What's disappointing is that a large number of senior undergraduate students are unable to solve this problem -- which I think makes it a good EE equivalent of the FizzBuzz problem.

<comment><USER4> >What's disappointing is that a large number of senior undergraduate students are unable to solve this problem

...Wat? That's like, one of the easiest questions you could ever be asked. As a senior undergrad in his final semester for EE (Computer Engineering specialization), could you give me an idea of some of the more difficult questions you would ask?

<comment><USER5> I was once given a boolean function, asked to implement it using logic gates. And then asked to optimize it based on a few criteria (for example: GNDs and VDDs cost a lot, reduce the gates, etc.)

The most annoying thing was, I was not expecting any gates related question so my optimizations were very... adhoc.

</comment></comment></comment><comment><AUTHOR> I hesitate to say this, because it might be misconstrued. However, some people seem not to know it, so it might be of value regardless ...

Once an item has more than 40 comments, if the number of comments is more than the number of points, there is a ranking penalty applied. This is because it's a good proxy fr an item being a flame-war.

So if you're interested in seeing more answers to this question, or carrying on the discussion, it's worth making sure you up-vote the item to try to avoid tripping the flame-war detector.

Of course, it may already be too late ...

<comment><USER6> Is it known whether the flame war detector applies any significance to particular words appearing in the comments to determine if there is actually any war going on just because there are not enough item up votes?

<comment><AUTHOR> To the best of my knowledge it's purely depended on number of comments and number of points. There was a submission some time ago talking about all the factors involved in getting to, or not getting to, the front page.

I'll see if I can find it.

</comment></comment></comment><comment><USER7> I was a mathematician, and now work in finance (systematic trading). I've found a reasonable negative filter is

      A jar has 1000 coins, of which 999 are fair and 1 is double
      headed. Pick a coin at random, and toss it 10 times. Given
      that you see 10 heads, what is the probability that the next
      toss of that coin is also a head?

That tests their ability to turn a problem into mathematics, and some very basic conditional probability. Another common question (that I don't use myself) is to ask what happens to bond prices if interest rates go up.

<comment><USER8> That's a nice filter. (Of course, I'm a former mathematician as well.) Here's how I think of it:

\- the prior odds that you picked the double-headed coin are 1/999.

\- after seeing ten heads, the posterior odds that you picked the double- headed coin are (2^10)/999 - let's approximate this as 1. (Bayes' theorem usually gets expressed in terms of probabilities, but it's so much simpler in terms of odds.)

\- so it's roughly equally likely that you have the double-headed coin or any non-double-headed coin; the probability of flipping an eleventh head is then approximate (1/2)(1) + (1/2)(1/2) = 3/4.

<comment><USER9> Why is it 1/999? Shouldn't it be 1/1000 since there are 1000 total coins?

<comment><USER10> Odds, not probability. Probability p means odds of p:(1-p) or, if you prefer writing it as a fraction, p/(1-p).

(Note 1. The odds of a thing are the ratio Pr(thing) : Pr(not thing). You can generalize this to any mutually exclusive and exhaustive set of things: the odds are the ratio of the probabilities. The fact that there may therefore be more than 2 such things is the reason why I prefer not to turn odds into fractions as above.)

(Note 2. Bayes' theorem is, as others have mentioned, much nicer when you work with odds rather than probabilities for your prior and posterior probabilities. If you're comfortable with logarithms, it's nicer still when you work with logarithms of odds. Now you're just adding the vector of log- likelihoods to the prior odds vector to get the posterior odds vector. Which is how I think of the question above, at least if I'm allowed to be sloppy and imprecise. You start with almost exactly 10 bits of prior prejudice for "fair" over "two-headed", then you get exactly 10 bits of evidence for "two-headed" over "fair", at which point those cancel out almost exactly so you should assign almost equal probabilities to those two possibilities.)

<comment><USER9> That makes sense. I've never dealt with odds as a fraction before.

</comment></comment></comment></comment></comment><comment><AUTHOR> I'm a mathematician, and sometimes I need to assess the level at which I'll pitch an explanation. Although I don't do this in a setting where it's possible to set a test, as such, I do ask this question:

        An equivalence relation is reflexive, symmetric, and
        transitive.  If E is an equivalence relation, and we
        know E(x,y) but we know !E(y,z), what do we know
        about E(x,z), and why?

It seems a great filter for people who can think and reason formally, as opposed to using intuition based on their understanding of the words.

 _Edited in response to lmm 's perfectly reasonable question. In context I would see if they just assumed they knew what I meant, or asked for clarification. If they assumed they knew what I meant, it would be interesting to see what interpretation they used. This is like FizzBuzz - it shouldn't stop with the first draft of the code - it's an opening for discussion._

<comment><USER11> I would definitely reason intuitively to solve this question, rather than formally. When I see E(x,y) I paint a picture in my head putting x and y in the same equivalence class:

        </comment></comment><comment>=
        | x y |
        </comment><comment>=

When I see !E(y,z) I put a picture in my head where z is outside of the equivalence class of y (and x):

        </comment><comment>=    =====
        | x y |    | z |
        </comment><comment>=    =====

Hence we can conclude that !E(x,z). So while this is a nice question, I don't think it achieves your goal of testing formal as opposed to intuitive reasoning.

<comment><USER12> You know about equivalence classes and know to apply them. You can reason about partitions rather than needing to drop down the the level of logical implications (higher level abstractions for the win). If you remove the "think" part and become a little bit more assertive, your intuition becomes a proof.

You pass.

</comment></comment><comment><USER13> I'm a marketer, and have yet to find a way to judge a marketer's competence better than:

"Here's this app, here's what it does. How would you increase downloads?"

A quick brainstorm session shows you how they approach the situation, what tricks they have in their bag, and what methods they feel confident using (or if they're just BSing).

Interestingly enough, 50% of the time people answer "SEO," which is among the worst answers you could possibly give. The best answers often involve the person playing with the app and figuring out something you could actually build into the app itself.

<comment><USER14> There's a difference between marketing and product design. A marketer should know how to get qualified leads for lowest cost to your app, and then it's your product manager who should worry about making the best impression with new users.

<comment><USER15> This is really a false dichotomy. Many apps can market themselves by 'baking in' sharing, and I don't mean just a 'tweet/like/pin' button on every other page.

These two functions are not separate.

</comment></comment></comment><comment><USER16> I'm an electrical engineer who has pared my skill list down to 'troubleshooting.' For my equivalent of a fizzbuzz, the exercise is to present someone with a potential failure (the light in the room is off) and ask them how they'd go about investigating the problem.

I like to see all kinds of answers, but particularly more theories are better, especially when justified at least loosely. Things like "change the light bulb", "flick the switch", and "check the circuit breakers" are evidence that they have the right mind for breaking a situation out into many different causes.

edit: I absolutely loathe 'out of the box' as a meme, but I love hearing responses like "is anything else in the room turned on?" as it shows a simpler, more direct way of assessment.

<comment><USER17> I have misread the last quote as "is anyone else in the room turned on" and wondered whether that's not a bit far out of the box ;)

<comment><USER18> That's not a question I've ever had cause to ask on either side of an interview, to say the least.

</comment></comment></comment><comment><USER19> I'm a software developer, but the code I work does a lot of DB access. I always ask a "two joins and an aggregate question."

Given three tables:

        authors     books       sales
        </comment><comment>----  </comment><comment>----  </comment><comment>----
        id          id          id
        name        author_id   book_id
                    title       date
                                price

find the total sales by author in November 2013. The result set should have two columns: author's name and their total sales.

<comment><USER20> I would make a couple of assumptions:

\- price could be 0.0 for a book

\- Total sales means the sum and not count

\- Date format will be yyyymmdd (if not, assume that we converted in Oracle or Sybase)

        SELECT a.name, SUM(s.price) FROM authors a
        INNER JOIN books b ON (a.id=b.author_id)
        LEFT OUTER JOIN sales s ON (b.id = s.book_id)
        GROUP BY a.name
        HAVING (s.date >= '20131101' AND s.date <= '20131130')

<comment><USER21> Instead of the Left Outer Join, couldn't you also make it an Inner Join to S.BOOK_ID? The question, if I read it correctly, only requires you to return sales in Nov 2013. If there is no data for a book_id, you want to exclude it from your returned data, no?

<comment><USER22> I would imagine it is up to interpretation. It would probably be a good thing to ask the interviewer about to show that you are thinking about edge cases.

If it were me, I'd prefer to see those that made no sales based on the question. I guess if I didn't want to see them, I would ask for "where sales are greater than $0.00".

</comment></comment></comment></comment><comment><USER23> On/off producer + audio engineer. A good discriminator might be "it's squaring out; what do you do?". A good answer would lead to an argument about the compression war.

<comment><USER24> As a producer and non-native speaker, do you mean digital clipping?

</comment></comment><comment><USER25> I do grant writing for nonprofit and public agencies. [1] I usually ask for a couple of major commas rules. Sometimes for semi-colon rules or for a description of passive voice. Chances are good that anyone who is zero for three isn't very good.

A lot of writers and would-be writers also have blogs; it only takes one to three paragraphs to figure out who can sling a coherent sentence and who can't.

Like FizzBuzz, being able to sling a coherent sentence doesn't mean that one can write a coherent 50-page document, but those who can't write a coherent sentence can't write a coherent 50-page document.

[1] Try [http://blog.seliger.com](http://blog.seliger.com) if you're curious.

<comment><USER10> How well does the ability to write well correlate with the ability to articulate _rules_ for writing well?

I'd have thought there are a lot of people who can write any quantity of text with impeccably placed commas (and semicolons, when the required tone permits them), but would freeze and stutter and gabble if asked for "a couple of major comma rules".

I'd put myself among their number, if only because it's not clear to me what sort of thing you mean by "comma rules". Descriptions of some situations where it is appropriate to use commas? "Commas are commonly used to separate items in a list when there are more than two such items" or "commas may be used, like this, to surround interpolations -- but for all but the shortest such interpolations you should consider using parentheses or dashes, or restructuring the sentence"? Descriptions of situations where it's _inappropriate_ to use commas? "If you have two things that can function as separate sentences, don't separate them only with a comma; use a full stop or, in some contexts, a semicolon"? Or higher-level fuzzier principles? "Stops of all kind are placed to correspond roughly with pauses in speech and boundaries of grammatical units. The comma is the 'smallest' of stops, and is generally not used where the pause would be long or where the break in grammatical structure is great." Or what?

(I suspect a cultural difference at work here: I think formal analysis of grammar and punctuation may be a bigger deal in the US than it is in the UK.)

<comment><USER25> _How well does the ability to write well correlate with the ability to articulate rules for writing well?_

The short answer is "pretty well." Usually I ask specifically for major comma rules, which I'd tend to define as:

* Connecting independent clauses with a conjunction * As part of a list * To offset a word or phase at the start of a sentence. * Like parentheses (or, in the lingo, an appositive phrase).

If they say, "I have no idea," that's a very bad sign; if they ask questions like yours, that's a good sign.

A fun, short book called _Write Right!_ by Jan Venolia is worth reading if you're interested.

<comment><USER26> Known the rules is necessary but not sufficient for an A+ writer.

<comment><USER10> It's arguable (though I'm not sure it's actually _true_ ) that being able to write perfectly, and consistently, correctly is necessary for "an A+ writer".

But that is not the same thing as "knowing the rules". A writer may be able to write perfectly correctly without being able to enunciate any _rules_ accurately at all.

Perhaps you play one or more sports. Could you write down accurate rules telling you how to hold and move a tennis racquet, or exactly how to flex the relevant joints when kicking a soccer ball? Of course writing is more deliberative than tennis or soccer, but a good writer isn't thinking about grammar and punctuation much more than a good sports player is thinking about joint angles and muscle groups.

Also, of course, there isn't universal agreement about what is and isn't correct, nor about what the best set of rules is for describing what's correct. For instance, if you compare the famous "Comprehensive Grammar of the English Language" by Quirk and Greenbaum, and the more recent "Cambridge Grammar of the English Language" by Huddleston and Pullum, you'll find that their analyses are sometimes very different. Totally different rules, even though they're describing substantially the same language.

</comment></comment></comment></comment></comment><comment><USER27> For a data scientist I ask "what's a p-value?" Both Junior and senior candidates often get this wrong. The only difference is that senior people bristle at such a simple question before also getting it wrong.

<comment><USER28> Ok, now I'm confused, because I was under the impression that this is the first thing I ever learned in statistics - that a p value is how likely it is that a value created by chance would have been as extreme as the one the experiment gave. Is this wrong?

<comment><USER29> You have the right idea.

You're assuming an underlying model for the data. You have a test statistic( that estimates a model parameter) and you have a hypothesis regarding a parameter. The p-value is the probability that you get a test statistic more extreme than the one observed _assuming_ that your hypothesis is true.

Ex. You have a sample of 1000 men's heights. You compute the sample average height as 5'9 and a sample standard deviation of 3 inches.

(Unlikely) hypothesis: the average height is 4 feet. Your p-value is the probability of getting an sample average more extreme than 5'9 given that your 4 ft height hypothesis is true. Given that the sample standard deviation is 3 inches and 5'9 is 7 standard deviations from 4ft... the p-value is going to be small, so you'll reject that.

Note: I'm leaving out details and assumptions

<comment><USER28> Yeah, that's what I was taught. So what are people answering instead?

<comment><USER30> People can be easily lead to misinterpret p-values even if they can define them. Most often people assume that p values indicate something about the correctness of a model or an inference. This is the classic p(d|h) v p(h|d) debate.

</comment></comment></comment></comment></comment><comment><USER31> For sysadmin/ops jobs, I want to see debugging ability in addition to programming skill.

I usually ask about HTTP and DNS (for web-focused) or Kerberos/AD logins (for user focused).

There are a lot of moving parts to either of these, so a question like: "You type a web address into a browser, it doesn't load" can turn into questions about the DNS resolver process, system and network config, split horizon, time setup, etc.

Basically, I want to know if they have a grasp of how things all go together, and how to test the individual parts that make up the whole.

<comment><USER32> More sysadmin / troubleshooter focused person here, and I love this sort of question. It also brings out people who will throw out things like "do a network capture". Then you either get the "well, send it to the network team!" answer or the (much more desirable) "look for X, Y, Z, or something weird in N...".

<comment><USER33> Are you saying "do a network capture" isn't desirable? It's not the first thing I would do, but I wouldn't get to Z before taking one.

<comment><USER32> No, I'm saying that it's used as a blowoff answer for something that sounds important because it's outside of what one in said job would normally do, but when asked about it (to see how generalist the person is) they wave it off as something for another person to handle.

</comment></comment></comment></comment><comment><USER34> Information security. Our most basic interview demonstration question at my job is to hand the candidate a couple pages of tcpdump output and ask them to describe what was going on.

We don't use tcpdump all that often as we have more advanced tools, but if you can't understand a pretty raw representation of network traffic, you're probably not qualified to administer those advanced tools.

</comment><comment><USER35> I build web sites. I would ask that the person complete a series of tasks that involved using Javascript to do a bit a typical DOM manipulations and CSS changes, especially using transitions and whatnot...

...without jQuery.

<comment><USER36> Just curious, why do you not allow the interviewee to use jQuery? Do you expect the candidate to know JavaScript's DOM-level APIs without having to look them up?

<comment><USER37> Hang out on forums, #javascript, etc some time and see how many people have problems because their understanding of the DOM begins and ends with the jQuery API. I see it all the time. I've seen big-name sites bug out or slow to a crawl because some dev wasn't thinking about what was going on behind their $()'s.

The DOM API isn't very large/complicated, and it shouldn't be hard to MOSTLY memorize it. It isn't a "gotcha" question though, a good interviewer is not gonna ding the heck out of you if your forget bits of it (most web devs do spend most of their time with jQuery, YUI, etc after all) - it's about whether you understand what's going on behind the scenes.

</comment></comment></comment><comment><USER38> I was an electrical engineer before I was a computer programmer and people liked asking questions about Ohm's law and calculating total resistance of resistors in series and parallel.

EDIT: I should clarify... They weren't asking about the theory behind Ohm's law but rather to apply it to various circuits.

<comment><USER39> That feels more like asking the difference between a class and object. Its not really asking someone to solve nearly the simplest problem to prove they can can code.

Would the equivalent not be making a basic circuit to do something specific and hence a specific example that has one or two potential obvious issues?

<comment><USER40> Sorry Ohms law is not like a class or an object in any way at all.

<comment><USER41> he didn't mean literally like a class, it was an analogy. x is to y as z is to ...

<comment><USER40> Yes but an analogy needs to have some reasonable connection to the thing you are comparing it to for the analogy to make sense.

</comment></comment></comment></comment></comment><comment> model-m When I teach calculus 1, I usually put a "high discrimination" question at the beginning of every exam. Student performance on that question is usually very well correlated with the exam grade. It helps me quickly assess class performance right at the start of the grading process.

Examples of such questions:

Draw the graph of a function f, continuous on the reals, such that: f(x) > 0 always, f'(x) < 0 always, and f''(x) always has the same sign as x.

The line y=3x-2 is tangent to the graph of y=f(x) at x=4. What is f'(4)?

</comment><comment><USER42> Hi - vfx/games programmer here - I've never been given FizzBuzz - <USER2> similar problems generally appear on any programming test I've seen (reverse a string, find loop in linked list etc.) the better ones I've seen a couple of times now are:

"How do you reflect a vector about a normal? Name some uses."

"What is the dot product? Name some uses."

These aren't just filters but an experienced real-time rendering or physics programmer is going to have quite a lot to say about the practical implementations of either in particular situations and what hardware features are available to help you with them...

if there is a good theoretical understanding then they can talk a lot about what the dot product is, its relationship to matrix multiplication and tensor inner products in general. they can explain multiple approaches to the problem of reflecting the vector and derive their solutions from first principles instead of just repeating remembered knowledge.

there are lots of little domain specific bits of knowledge as well e.g. the reflection question can lead to discussion of the Blinn half angle approximation - why it works and why its no longer a particularly valid optimisation on today's hardware - the dot product question can lead to discussion of how to efficiently handle solving a quadratic equation on the GPU

really i expect a decent (games/vfx) programmer to run out of time whilst elaborating on answers to either of these questions (although not to the detriment of the rest of the test of course...).

the best filter is a strong demo though imo. never met a bad programmer who has a decent demo... none of the average, lazy or bad programmers i've worked with have one that i couldn't have crapped out in the evening before an interview.

</comment><comment><USER43>
      A nation's newest war ship is slowly disappearing. The ship's hull
      is made of Aluminium while its cannon bores are made of Stainless Steel.
      What is happening, why, and how do you stop it?

Grad school chemistry/physics candicacy exam question, sure to generate colorful answers!

<comment><USER44> 'Galvanic corrosion' and applying a non-metalic layer between the cannon/deck would be my first thought. Now I'm curious as to some of the more 'colorful answers'.

<comment><USER43> Yes indeed: two different metals in electrical contact through an electrolyte solution (sea water). One way to stop this is to use a sacrificial anode (where the oxidation occurs) made of Magnesium, although this would probably be unpractical in salt water. A colorful answer would be to replace the water with a fluid like 3M's Fluorinert and replace the air with a nitrogen atmosphere. But that would also be unpractical.

</comment></comment></comment><comment><USER45> For news reporters, there's the AP Style test, which gives you text/headlines that you have to translate to the AP style, which is its own kind of grammar (e.g. for state abbreviations, Calif. instead of CA; always use [numerical- age]-[old] in describing ages: 15-year-old). It's a test more geared toward editors though.

In terms of reporting...there's no litmus test for how well you can report an event. The education beat, however, is pretty common for new reporters (it was my first), which is ironic considering how ridiculously complicated education is as a topic (same kind of financial/budgetary documents as any business, government bureaucracy, board politics, and of course, dealing with children)

</comment><comment><USER46> Imaging science. If I were hiring another imaging scientist:

Write your own Fourier Transform. [If your FizzBuzz questions involve actually writing/coding the FizzBuzz, I'd not request actually writing it...]

<comment><USER47> I wonder how effective of a test this would be. Are the algorithmic & implementation details of the Fourier transform that important to imaging science? I would imagine that explaining the properties of the FT, it's connection to imaging modalities, etc would be far more relevant than actually coding a DFT.

How would you weight a naive implementation of the DFT vs the FFT?

<comment><USER48> >How would you weight a naive implementation of the DFT vs the FFT?

Luckily he didn't specify the dimensional requirements, so we can get away with f^[0] = f[0].

</comment></comment></comment><comment><USER49> Where I work, we have a 4 question SQL test where we sit you in front of a dummy database, give you 4 printed results, and say "make the queries to produce exactly these results." Very very few people get all of them, but it gives us an idea of where somebody is at in their ability and knowledge.

The first is the easiest, and the second one isn't bad. The 3rd and 4th trip up most people though.

<comment><USER18> I'd be curious to see that test.

<comment><USER49> Think you might be interested in applying? :-)

We're hiring...

<comment><USER18> No thanks; I'm happy with the job I've got right now. But I appreciate you asking!

More seriously, shouldn't it be possible to post a version thoroughly enough sanitized to avoid giving the game away to your potential applicants, without losing the sense of the original? You don't identify your organization in your HN profile, so it doesn't seem terribly likely anyone who's looking for hints on your hiring process will find it. And, hey, it's entirely possible you'll get feedback which helps improve the question you're actually using in your interviews!

<comment><USER49> I might see if I can come up with something approximating the test... The tricky part about making it so that people online could take it is that I'd need to give you an avenue to play around in a query editor and run queries on a database I've created. Short of making a publicly available database on my own domain (which uses a different database platform than what we use at work), is there a good way to accomplish this?

<comment><USER18> Looking at it from another angle, I'm considering the same question, because I'd like to build the "You Can't SQL Under Pressure" somebody else mentioned in this thread. But I'm not all that happy about the idea of letting random users run arbitrary queries against a database I'm hosting, because it seems like protecting that against SQL injection and similar vulnerabilities would be extremely difficult if not entirely impossible.

I'd use the Web SQL Database stuff that W3C was working on, except that they stopped doing that in 2010, which guarantees the corpse is dead and rotting; unfortunately, the only emulation libraries I've been able to find implement various key-value stores on top of WebSQL, which is the precise inverse of what I'd need.

I suppose it'd be theoretically feasible, albeit hideously ugly, to create and populate a fresh database and account per user on a MySQL engine; with careful grants and a bit of scripting to kill slow queries before they can multiply and throttle the server, that might be workable on the small to medium scale, although I don't doubt a "Show HN" post would kill it in short order.

Thinking about it, I suspect I've more or less recapitulated why there is currently no "You Can't SQL Under Pressure"; it's a more subtle problem than it seems at first blush. If you come up with any clever ideas on the subject, I'd love to hear about them!

</comment></comment></comment></comment></comment></comment><comment><USER50> My Math "FizzBuzz" question is: prove Fermat's Little Theorem and Wilson's Theorem. Even those with very rudimentary understanding of modular arithmetic (coming from non-math backgrounds) can prove both with some pointers (obviously the process is interactive)

<comment><USER7> Interesting. I think the proof of Wilson's theorem is easy enough to be accessible for a non-mathematician - for non-prime n you can find a pair of numbers in the product (n-1)! that are congruent to 0 (mod n), and if n is prime then you pair up numbers in the product with their inverses until you are left with ±1.

But I can't think of a similarly low-level proof of Fermat's Little Theorem. Is there an obvious one I'm missing?

<comment><AUTHOR> Consider Q to be the product (p-1)!. Then consider the product a.2a.3a.4a...(p-1)a. These are the same items rearranged, because a has an inverse.

But the product is also a^(p-1).(p-1)! by commutativity. So a^(p-1)=1 (mod p).

There's a clever idea in there, to consider prod(ka) for fixed a and k=1..(p-1). Not finding the clever idea means you won't prove it. Finding the clever idea is tricky. Once you know the clever idea the proof is trivial.

</comment></comment></comment><comment><USER51> Applied math/scientific computing:

If hiring someone, I would describe some practical scenarios problems involving the solution of finite-dimensional linear systems, and ask to see how they would suggest solving them in each circumstance (LU, QR, SVD, iterative methods, etc). More discussion oriented than in doing rote recital of algorithm structure, probably.

I would do something similar for functional characterization/pattern extraction via FFT/DCT/SVD/wavelets/ICA/etc.

Finally, I would construct some problems involving appropriate selection of statistical inference models and associated tests of hypothesis (from the usual the Fisher and Neyman-Pearson perspectives). The basics of Bayesian inference is good to know as well.

<comment><AUTHOR> Interesting - this is exactly the kind of answer I'm looking to learn from. Are these really so utterly fundamental that someone could do them under pressure without thinking?

Is it the case that someone who can't answer these near automatically is, in effect, incompetent (in this field)?

I'm wondering if you've set the bar higher than FizzBuzz is in computing, or if this really is equivalent.

Thanks!

<comment><USER30> I would agree with the op here. SVD in particular is so fundamental to the idea of data analysis I couldn't imagine talking to someone who even flinched at hearing it. Most other things fit at roughly the same level in my mind.

I feel like the mechanics of test selection biases against people who've specialized in Bayesian stuff—which might be very interesting! It's definitely a make-or-break kind of thing as to whether you can correctly formulate all the various moving parts and relate them correctly.

</comment></comment></comment><comment><USER52> My pet problem after FizzBuzz has been this for some time now:

        You are given a text in a file. Count all the words in the
        text and print out the words with their number of occurences
        in descending order.

This can be depressing at times.

<comment><AUTHOR> Define "word". However, strings separated by space:

Print number of words:

        wc -w <filename>

Print words with counts in decreasing order:

        cat <filename>  \
        | gawk '{for (i=1;i<=NF;i++) print $i}' \
        | sort          \
        | uniq -c       \
        | sort -rn      \
        | less

There are optimizations to be made, but that would be my go to solution in the first instance.

</comment></comment><comment><USER53> Quality Assurance (QA) engineer. I do QA Tools specifically but still need to be on top of most QA stuff. Other QA engineers exist in the company for in depth QA.

My initial question starts with: "build a function that takes a string and produces an integer". About 30% of candidates fail to get anywhere. 50% produce an incorrect implementation. 20% produce an implementation that is mostly correct. 9% produce an implementation that is mostly correct and well tested. 1% actually produce a complete and correct response. Which, as of right now, translates to exactly 1 candidate in 2 years. Who was rejected due to culture fit. A complete and correct answer is not required to pass the screen. ;-)

The reason this question is so effective is due to how the question is asked and the details of the solution. There is a lot more than just the initial problem statement. The full script assess: the candidates ability to determine requirements; ability to produce complete set of unit tests; ability to handle the boundary conditions.

There is a sharp division that occurs between QA engineers and non-QA engineers on the requirements gathering. All but 1 non-QA engineer I've interviewed assumed they had all the requirements before writing code. A clever solution is almost useless if it solves the wrong problem. Sometimes even worse than useless if the code adds a maintenance cost for no value.

Covering all the critical cases in testing is the next part that most candidates fail at. Even if the requirements they assumed are correct, none of the non-QA engineers have succeeded in writing a complete and good set of tests. Many add too many tests.

After those two the other parts are just seeing how close they can get to building the correct implementation. The candidates typically pass if they do well in all parts; perfection is not required. Still, I think it's interesting to note that almost nobody has ever written a 100% correct solution. Even if they are given all the requirements in detail.

This question does not asses algorithm design ability. At all really. Well, I suppose there was somebody who immediately proposed "binary search!" and really wanted to stick with that idea. No clue why...

<comment><USER54> This would match your specification.

        def string_to_int(str):

            return 1

<comment><USER53> That would match the initial specification. The point is for the candidate to note that the initial specification is too ambiguous and determine what they do about it.

If they gave that answer and then said "which is why the specification is weak" then great! If they gave that answer and called it done... well... not so good.

</comment></comment></comment><comment><USER55> Embedded systems programming (firmware).

Explain the difference between interrupt context and thread context. (With Embedded Linux, also throw in kernel space and user space.)

FizzBuzz coding would be showing how to safely share information between interrupt and thread context. Would be listening for message queues, locking, interrupt enable/disable.

Also, if you have done a lot of programming, the term "race condition" should make the interviewee blanch in terror.

</comment><comment><USER56> Working for a web company. Our favourite JS question is,

"What happens if you do this?"

        var func = function func () {
            // blah
        };

<comment><USER57> The variable declaration is hoisted to the top, then is assigned a named function expression `func` so that `func.name === 'func'`. Useful for proper error messages and stack traces.

Something else I'm missing?

<comment><USER58> Could you go into more detail about why you would do A)

      var func = function func() { /* blah */ };

Instead of B)

      function func() { /* blah */ };

<comment><USER57> Let's say you want to define a function to be used for a certain operation on two numbers dependent on some boolean.

        if (addition) {
            // operation = add
        }
        else {
            // operation = subtract
        }

If you use function declarations you might run into bugs

        if (addition) {
            function operation (a, b) { return a + b; }
        }
        else {
            function operation (a, b) { return a - b; }
        }
        console.log(operation(1,2));

Here it might happen that you don't get the expected function.

Additionally it's much less clear what's going on. Compare it to this:

        var operation;
        if (addition) {
            operation = function add (a, b) { return a + b; };
        }
        else {
            operation = function subtract (a, b) { return a - b; };
        }
        console.log(operation(1, 2));

Here it's very obvious what's going on and your operation function has a name that reflects what it does.

Personally I prever never to rely on function hoisting and always declare functions using function expressions. It keeps the code style more consistent and it's clearer what is happening in your program.

</comment></comment></comment></comment><comment><USER59> For poker, I see if they understand how squeezing works.

<comment> r-s when are you ever interviewing for a poker position?

I think that would be a good question though. Or even something simple like "Explain how you could set-up a polarized 3bet range".

</comment></comment><comment><USER60> I'm an SE now, but I got my degree in Northwest Semitic Literature and Linguistics:

Here's a couple:

Are Semitic languages VSO or SVO?

What does it mean that Semitic words are triliteral?

<comment><USER61> SVO?

<comment><USER62> Subject-Verb-Object word order like English or most other European languages. (I ate the apple).

Classical Arabic and other semitic languages are VSO, but spoken Arabic is mostly SVO.

</comment></comment></comment><comment><USER63> Based on interviews, POMDP has become a favorite FizzBuzz question for data scientists. So make sure you have a working example for that. I usually explain the tiger pot of gold in gruesome detail. [https://www.google.com/search?q=tiger+pot+of+gold+pomdp](https://www.google.com/search?q=tiger+pot+of+gold+pomdp)

<comment><USER64> Any recommendations for courses or books on Markov decision processes?

<comment><USER63> For whatever reason, pomdp has been co-opted by the AI community, so the books are pretty lousy and show-offy, often using nonstandard terms and newfangled jargon to explain what is really plain old probability theory with some state space transitions.Thrun's Probabilistic Robotics is the best one I could find. Any math professor can run circles around the material if it were treated as part of math instead of bringing AI into the mix.

</comment></comment></comment><comment><USER65> Technical support analyst in the online advertising biz.

Our Fizzbuzz equivalent would be to mess with some HTML / JS and ask the interviewee to spot what's the issue. Or playing with a spreadsheet software to highlight stuff (pivot table, filters, duplicates, whatnot).

</comment><comment><USER66> Not math but could be interesting anyway: Genomics, specifically quality engineering. When hiring for my team we ask candidates to generally describe 1) DNA translation and 2) statistics for experimental design (AQL, RQL, etc).

</comment><comment><USER67> I have been unable to think of one for Linux system administrators. :-(

<comment><USER18> I've seen a good one -- actually got asked it in a phone screen I did last year:

"How would you recursively delete all files with extension 'mp3' in a given directory tree?"

The (simplest) correct answer (I know) is

        find /path/to/wherever -name "*.mp3" -exec rm -fv {} \;

Maybe that's more of a _pons asinorum_ , I suppose, but then isn't a _pons asinorum_ precisely what a fizzbuzz question is meant to be?

<comment><USER68> Can't we

        cd /path/to/wherever
        rm -rf *.mp3

    ?

<comment><USER69> It's supposed to be recursive. That would only delete the files in the current directory, not subdirectories as well.

<comment><USER68> -r is the 'recursive' flag.

<comment><USER18> Yes, but it doesn't do what you think it does. Feel free to try it for yourself if you don't believe me.

</comment></comment></comment></comment></comment></comment><comment><USER70> This thread makes me feel like a worthless POS but at the same times motivates me to finish learning so many pending topics properly. Nothing's better than an actual test.

<comment><USER71> A worthless POS would lack to motivation to finish learning...

<comment><USER70> I'm very low on motivation, but my derivative, even if small, is positive yes.

But I got a college (a good public one) diploma, yet reading this I feel anything above Linux devops and FizzBuzz would be far from my reach, that's what I meant by worthless P...

</comment></comment></comment><comment><USER72> I just saw Wolf of Wall Street this weekend. Has anyone in sales been asked "sell me this pen" in an interview?

<comment><USER6> I'm good at sales.

But I would really bristle at being given a question like that (and luckily I don't have to interview so this will not happen).

For one think selling takes preparation, knowledge of the product and strategy. It also takes experience (for a particular product and buyer and situation). So in my mind I don't see what asking a question like that will prove other than that you can ad lib or bs in a way that doesn't matter.

Selling also takes interpreting cues (verbal and visual) from the potential buyer. With those cues you change strategy on the spot and try to hit the right hot buttons. [1]

In a hypothetical situation it's unlikely that those cues would be valid because the person you are trying to sell knows it's not a real situation.

[1] As an example the strategy that you would use to sell a car to a father for his daughter is not the same as to a middle aged woman. And by listening to the father you could tell what points are resonating and try to reinforce those points more if appropriate.

<comment><USER73> This explanation actually properly answers the question, in my mind. :-)

</comment></comment></comment><comment><USER74> A DBA I worked with had a good one-- just asked a question that was the textbook problem a left join solved.

</comment><comment><USER75> If someone has UX on their resume I ask them to draw up a user flow diagram of getting groceries.

</comment><comment><USER76> My FizzBuzz equivalent: do they say date-uh or dat-ah.</comment>


Show HN: Voice to MIDI bot - <AUTHOR> https://blog.buildo.io/voice-to-midi-bot-193b83f47d6e <comment><USER2> Will this work with drums? It would be awesome if I could (poorly) beat box a rythme and get a drum loop in return.

<comment> casper-12 Yes, it does. Have a look at the bot.

<comment><USER2> Awesome! I'll take a look when I get back from my current travels.</comment></comment></comment>


CodeProject: How to estimate a software project. - <AUTHOR> http://www.codeproject.com/KB/architecture/Estimation.aspx <comment><USER2> OT:

Codeproject: teaching a generation of Win32 programmers the virtues of cut- and-paste "components". I have seen the same bug in two different projects, thanks to the same buggy article both original developers have read. CodeProject has a huge presence and visibility among Win32 programmers, but they have done nothing with their influence to improve the industry; the guy who runs it is happy living in his Canadian mansion and building his site on user generated content; most users there are freelancers trying to pad their resumes, and the result is a nightmare of a documentation site, marching in lockstep with MS's marketing department.

CodeProject could have easily become to the Windows world what O'Reilly is to Unix. Alas, they're Expert-Sex-Change sans the SEO; their model still follows their former competitors', ProgrammersHeaven.com, and both are due for some good SO'ing.</comment>


Popular crypto service MyEtherWallet hit by attack after Hola VPN gets hacked - sahin-boydas https://techcrunch.com/2018/07/09/myetherwallet-hit-by-attack-hola/ <comment><AUTHOR> Btw, Hola VPN is actually Luminati so it's a big risk for safety here ([http://fortune.com/2015/05/29/hola-luminati- vpn/](http://fortune.com/2015/05/29/hola-luminati-vpn/))</comment>


Show HN: A Twitter bot that posts wikipedia pages with broken links - <AUTHOR> https://twitter.com/BrokenWikiLinks

<comment><USER2> As a new Wikipedia user looking to increase my activity, I find this useful.

</comment><comment><AUTHOR> Getting a few false positives but it was a pretty quick hack</comment>


Higher-Order Symbolic Execution - <AUTHOR> http://arxiv.org/abs/1507.04817 <comment><USER2> On page 3, I see this:

        (define/contract (f x)
        (positive? . âĘŠ . negative?) ; contract
        (* x -1))

Am I missing fonts or does âĘŠ actually mean something?

<comment><USER3> I see the same thing, but I think it's supposed to be a rightward arrow, as in a function from positive numbers to negative numbers. At least, that's how it usually appears in the Racket documentation.

<comment><USER4> It does appear to be some encoding issue relating to the Unicode "→" (U+2192). Encoded with UTF-8, this is represented by the three bytes 0xE2 0x86 0x92. In the TeX EC encoding, these correspond to "âĘŠ".

(See [https://www.tug.org/TUGboat/Articles/tb11-4/tb30ferguson.pdf](https://www.tug.org/TUGboat/Articles/tb11-4/tb30ferguson.pdf), also section 2.3 of [http://mirrors.ctan.org/macros/latex/doc/encguide.pdf](http://mirrors.ctan.org/macros/latex/doc/encguide.pdf))

<comment><USER5> I've submitted a replacement to arxiv that fixes the encoding issues (arxiv unfortunately does not support xelatex, which I use extensively). That will appear Tue 0:00 GMT.

In the meantime, I've made a version available at [https://www.cs.umd.edu/~dvanhorn/jfp- draft-2016.pdf](https://www.cs.umd.edu/~dvanhorn/jfp-draft-2016.pdf)

</comment></comment></comment></comment><comment><USER6> "it can form the basis of automated verification and bug-finding tools for higher-order programs. "

Does this mean I can verify C++, Haskell, Python, JavaScript & Common Lisp code that uses Higher Order Functions?

<comment><USER7> That's the idea. We've only done it for Racket so far.

</comment></comment><comment><USER8> How is this different from defunctionalizing and converting to smt backend or prolog engine without higher-order capabilities?

<comment><USER7> Other people have taken that approach, for example the HALO project in Haskell. But the imprecision of the defunctionalizaton often makes it hard to prove the properties you want, especially without static types.</comment></comment>


Neo Keyboard Layout for Programmers - <AUTHOR> https://secure.wikimedia.org/wikipedia/en/wiki/File:Neo_2.0-Tastaturbelegung_Ebene3.svg

<comment><AUTHOR> The Neo layout is overlaid on top of your existing keys. You use a modifier key to toggle the second layer.

More resources:

* Homepage (German): <http://www.neo-layout.org/>

* Wikipedia: [https://secure.wikimedia.org/wikipedia/en/wiki/Keyboard_layo...](https://secure.wikimedia.org/wikipedia/en/wiki/Keyboard_layout#Neo)

* English introduction: <http://pebbles.schattenlauf.de/layout/index_us.html></comment>


Cascadeur – Software for physics‑based character animation - <AUTHOR> https://cascadeur.com/ <comment><AUTHOR> The articles on the forum are particularly good at explaining the physics part of Cascadeur: [https://forum.cascadeur.com/articles](https://forum.cascadeur.com/articles)</comment>


Show HN: Version Control for Whiteboards - <AUTHOR>

Triple Point Robotics specialises in the hardware and software design of robots and robotics technology. Their first product, Synchroboard, is a collaboration and version control solution for whiteboards.
See their pitch video at Hey ★ Startup.
www.heystartup.com <comment><USER2> clickable : <http://www.heystartup.com></comment>


Write experimental hacks with TDD - <AUTHOR> http://gilesbowkett.blogspot.com/2008/11/tdd-and-experiments-i-was-wrong.html

<comment><AUTHOR> This is what I have been trying to say to some of my fellow coders, but somehow could never quite express it.</comment>


Red Hat, Jetbrains and Unity Join Dotnet Foundation - <AUTHOR> http://www.dotnetfoundation.org/blog/tsg-welcome <comment><USER2> I'm uninformed on this topic, but with all the movement in the .net community. How will it play out for Oracle and Java?

This is pure speculation I know, but would be interesting to read some opinions from people that is more informed. Any links or comments would be appreciated.

<comment><USER3> I have a foot in both communities.

Around 10 years ago, developing Java enterprise desktop applications was a mix of pure Swing, SWT, Eclipse RCP and Netbeans Platform.

Nowadays, just speaking from our customer projects, it is .NET for Windows only applications and Web for everything else.

The only place where Java based UIs still matters are on Android.

And on mobile OS, thanks to Oracle not caring about iOS and Windows Phone, C++ and C# are the languages to go for portable native apps. With Xamarin being made available for free, this will increase C# (including F#) usage for such applications.

Currently .NET Core lacks a story for portable UI framework, but if it gets one, it might win some adoption outside Windows for desktop apps, at least more than Java, as JavaFX doesn't seem to be wining much mind-share.

Another advantage of .NET Core is that Microsoft is having AOT compilation for free, while on Java world the best AOT compilers are commercial.

However for server side UNIX applications, mainframes and embedded devices, there Java might still rule, specially thanks to the existing developer base.

Also pure speculation from my part.

<comment><USER4> Well all this has been true for 10 years. There is still a little life in Java desktop GUIs because all the Java IDEs are written in Java (Netbeans and IntelliJ on Swing and Eclipse on SWT), but no one wants line-of-business software that is thick client, and they haven't since they realized they could reduce administration costs, and lose little functionality. (The exception in my experience being JPL which does some SWT work).

The two interesting things that _actually_ compete with Java (JVM) would be LLVM and WebAssembly (or asm.js if you prefer).

On another front there is the thing that is competing with a big chunk of the SmallTalk OOP GUIs, a little thing called React. And actually Redux (or something like it) may turn out to be even more influential.

My take is that the functional dynamic DOM environment of the browser complete with run-time remote linking and compiling is like the harsh environment of Arrakis, which was the only thing that could have given rise to such hardy technology.

P.S. I really have to wonder how much a combination of `System.out.println` and `public static void main(String[] args)` cost the Java ecosystem. Not to mention the Date and File 'idioms'. Having nice collections and solid vm spec and implementation doesn't mean you get to ignore API usability. Sigh.

</comment></comment></comment><comment><USER5> Honest question, how many .NET developers actually write stuff for Linux on the server side? How many have a significant user base?

I know there are a few desktop Linux apps (e.g. Tomboy, and Banshee), but I haven't seen many used in a daemon or as an Apache mod or the like.

<comment><USER6> We ([https://raygun.com](https://raygun.com)) use a lot of .NET on the server side. We also use golang, node and a few other things, but a lot of .NET, specifically with C#.

We're very excited about being able to run on Linux. There's plenty of our back end worker processes that are in C# and being able to move them to Linux will be a big win for us (manageability, cost, etc).

I'm not sure what you consider a significant user base, but we do have 40k+ devs on our platform, and we process billions of interactions and software exceptions every month from many of the top 100 web sites and apps globally.

<comment><USER7> After looking at your site, you guys should definitely open a New York office.

<comment><USER6> Thanks :-) I've just relocated to Seattle to open a second west coast office. East coast or Dublin is next!

</comment></comment></comment></comment><comment><USER8> I would have loved it better if MS chose Cent over Ubuntu.

<comment><USER9> The post doesn't refer to Ubuntu's unity but the game engine Unity.

<comment><USER8> You don't say!

</comment></comment></comment><comment><USER10> Jetbrains will be acquired by either Microsoft or Google; I think it's a matter of weeks rather than months.

<comment><USER11> Why do you think so? Microsoft has good developer tools of their own, Google is already building Android Studio on the IntelliJ platform without owning the company. Making IDE's is neither company's core business. I'm sure Jetbrains is a healthy business, but for Google or MS it's peanuts. I don't see the benefit of them owning Jetbrains, whereas on the contrary it would be good for Jetbrains to stay neutral.

<comment><USER12> Resharper and Jetbrain's other .net tools may be enough of a reason, would be a nice add to VS. Also, MS is clearly showing an interest in Linux ATM and I doubt VS is going cross platform anytime soon, and they know the value of good developer tools.</comment></comment></comment>


Copy complete – supercut of computers in films of the 70s/80s/90s - <AUTHOR> https://www.youtube.com/watch?v=LzgAzasqbpA <comment><AUTHOR> from last year, not sure how I missed it - but a great trip down memory lane of tons of appearances of computers in films over the years. See also [http://www.starringthecomputer.com/](http://www.starringthecomputer.com/)</comment>


Microsoft workers celebrated Windows Phone 7 RTM with iPhone hearses - <AUTHOR> http://www.neowin.net/news/microsoft-workers-celebrated-windows-phone-7-rtm-with-iphone-hearses

<comment><USER2> It's really encouraging to see signs of life in Microsoft's culture. I've never been a real fan of their products, but hopefully if some of this fun, creative energy makes it's way into the user experience.

That being said, whenever anyone declares any product dead I cringe a little.

</comment><comment><USER2> I knew the iPhone well. We were great friends for a long time. This is absolutely terrible news -- has it been confirmed anywhere else?

The only reason I ask is because IE6 was supposed to have died last year but 11% of our users still use it.

<http://ie6funeral.com/>

<comment><USER3> Zombie IE6 is a terrifying thought.

</comment></comment><comment><USER4> Where was the Microsoft funeral for the Kin?

<comment><USER5> It's in bad taste to poke fun at a still birth.

</comment></comment><comment><USER6> So no Android?

It's either Microsoft thinks Android will not gain significant market share like what they thought about the IPhone ([http://arstechnica.com/microsoft/news/2007/04/ballmer- says-i...](http://arstechnica.com/microsoft/news/2007/04/ballmer-says-iphone- has-no-chance-to-gain-significant-market-share.ars)) or it thinks they cannot kill Android.

<comment><USER7> Android is Linux. From what I've seen of Microsoft's marketing against competitors, there strategy is to pretend that Linux does not exist.

</comment></comment><comment><USER8> They going to keep the hearse around?

</comment><comment><USER9> Don't get too excited about WP7, for example the IE Mobile will be based on a mixed of IE7 and IE8...

<comment><USER10> At least Windows Mobile is no longer using IE6. Gasp!

</comment></comment><comment><USER11> I can appreciate that it's the platform team having some fun for shipping... but this is gonna be pretty embarrassing if WinPhone 7 tanks.

<comment><AUTHOR> Not if, but when.

</comment></comment><comment><USER12> I'll believe it when I see it.

Looking at the windows 7 demos on video it's very clear they've spectacularly missed the mark. It's like a really bad version of Windows media centre, which I accidentally had the displeasure of trying to setup today when hooking my new XBox up to my PC.

They may think it's good, but really what will happen is that it won't sell and they'll look like idiots, again. Whoever headed up the XBox should immediately be promoted into Ballmer's postion, his effigy should be burnt and then maybe they'll be ready to move on and be a real tech company again.

<comment><USER13> Yeah, because pop culture and how cool you think a guy is really matters. In the mean time since he has been CEO Microsoft has doubled their profit. Metrics matter.

<comment><USER12> In the last 10 years would you like to estimate how much the computer industry sector has grown? Double or would I hazard a guess at significantly more?

So, put it into context and doubling the profits is pretty pathetic.

<comment><USER13> They have held their PC market share in tact so regardless how much the market has grown they have gone with it. Pretty hard to push past 80+ % share.

<comment><USER14> The important thing from my standpoint as an investor is that the CEO "show me the money." Whether that's in terms of profits distributed as dividends, or as a growth in the value of my equity, it doesn't matter, but it has to happen some way. If it doesn't, I'm pretty disappointed. How much value has Ballmer created for his shareholders over the past ten years? Does it compare well to other companies with stable market shares in their primary line of business? These are the questions that interest me, not merely whether he's been able to maintain a market share status quo. That's the baseline of competency, not a sign of success.

</comment></comment></comment></comment></comment><comment><USER15> Back when WM was just a baby a fired Nokia engineer started a site claiming that WM would overtake Symbian any day now..

Its several years later and good many MobileMonday members have laughed at that time and time again..

My prediction WM8 will be MS buying RIM..in 18 months or less

</comment><comment><USER16> Why no Android or Symbian? Are they giving up on those?

<comment><USER17> Android was taking the pictures <http://techcrunch.com/2010/09/10/windows- phone-7-funeral/>

<comment><USER13> You almost can't make stuff up that good.

<comment><AUTHOR> "Win Phone sex? The killer app?"

I LOL'ed</comment></comment></comment></comment>


Show HN: 7courses - The easy to use online recipe manager. - <AUTHOR> http://7courses.com/

<comment><USER3> I applaud you for tackling this niche, but $120/year seems a high price. For example: this is the same price as a 50Gb plan on Dropbox.

There are some features that could make this really valuable - such as automatic parsing/importing of recipes from other sources, or a tablet app with syncing for offline - but if these (or any other value-adding features) do exist, you really need to expose them on the front page.

Have you looked at <http://onetsp.com/> ? Their freemium model allows a limited number of recipes. Pro version is $5/year.

<comment><AUTHOR> Oh wow, I had never seen onetsp before. They compete almost directly with me. I agree on the price, and currently brainstorming different ways to monetize.

<comment><USER4> Well what are your ideas? I cook a lot, and I know others who had ideas for similar services. I can't really see myself paying money for an advanced note taking app. I think you'll have to add more value to be able to justify me paying for this.

It looks great. Very well done.

</comment></comment></comment><comment><USER5> Sorry to be blunt but $10/month is totally unworkable.

Who is your target audience? It's house-spouses. If both spouses work (like I used to) they would more generally go out to eat, so there's no reason to spend $10/month on something that they would use infrequently. Netflix is $8/month.

If you're a house-spouse, like me, you are notoriously cheap. There is no way I would pay $10/month for something that I currently bookmark on allrecipes.com. Or print out on a sheet of paper.

I just checked out onetsp.com and that's probably more like it, 150 recipes for free and $5/yr. That's more the price range that someone would be looking for, rather than $120/yr.

</comment><comment><USER6> I spend several hours in the kitchen most nights, making my own asian dumplings, ravioli, bread, vinegar, etc.

I dehydrate food, have 100+ spices on hand, and more.

I clicked the link, saw the price, and immediately clicked "back".

I have no idea what the features are, or how wonderful it is.

UTTERLY unrealistic pricing.

Offer it free, suck me in, and THEN push me to upgrade, and you might get $2/mo or $5/mo from me.

...but putting a high price like that right up front means that you don't even get my email address.

<comment><USER7> Old marketing pro once told me: "it's really easy to lower your prices, but fucking impossible to raise them".

I agree with tjic's sentiment, especially the "free trial" bit.

EXCEPT, that maybe instead of charging $10, make it APPEAR as if your intention is to charge $10/month "but signup now to get it for $x FOR LIFE".

<comment><USER8> > "it's really easy to lower your prices, but fucking impossible to raise > them"

I think this is true for big companies with huge customer bases.

But when you're just launching a startup, it's not that risky to experiment.

</comment></comment></comment><comment><USER9> I don't think this is near ready for $10/month subscriptions. I agree with adityakothadiya with having some sort of freemium approach. Walking through how I took this at first, I clicked your link and was a second away from sending it to my girlfriend. That's huge, but then I saw the price and immediately closed the window. I just can't imagine anyone paying that much, more than streaming accounts on netflix/hulu. For an online recipe box. Especially when similar free and cheaper solutions are available. Even looking at something like <http://onetsp.com/account/signup> which i'd say is definitely direct competition, it's free to use, and $5 a year for pro account. Why do you value yours so much higher than this, as much as I like dead simple, you currently have zero defensive edge against competition. Even using evernote, you can do something similar and have a very searchable database of recipe's. Until you have something that puts you clearly above the rest, I'd be extremely careful of missing out on early adopters. First 100 signups shouldn't get a month free, they should get a year free, seriously.

<comment><AUTHOR> Hey, thanks for the feedback, the price will change or be removed for sure. In the meantime, I'd be happy to set you or your girlfriend up with a free account, but can't find your email in your profile. Email me, mine is in my profile, if you're interested.

</comment></comment><comment><AUTHOR> I am happy to announce to relaunch of 7courses.com!

I launched almost exactly a year ago, as a sort of weekend project <http://news.ycombinator.com/item?id=2087598>

I've sort of let it stagnate, and gotten a few users, mentioned on smashing magizine, but nothing major. However, I use the app quite a lot, and was getting tired of some small bugs, so decided to recode and relaunch.

The app is 100% JavaScript, node js backend and thick js frontend (jammy.js, model.js, etc). It is a mobile web app, looks great on iPad and iPhone too.

I got enough feedback that I decided to charge for it, but for a day the first 100 signups will get a month free!

The price is very tentative, and I'm open to any and all suggestions. Also, if you would like to give accounts away on a blog etc, contact me, I'd be happy to set something up.

Any and all feedback is welcome, thanks a ton!

<comment><USER10> I'm not convinced charging is the correct way of monetising this. Could you not target advertising instead?

<comment><USER11> I'm glad to see some people have the balls to actually charge for a service instead of peppering me with ads. You get what you pay for. If I were looking to use a service like this, I'd be much happier investing in my time in one I pay for rather than a free one.

<comment><USER12> >You get what you pay for.

GMail cost me $0, and it's probably the best webmail service/interface out there right now.

>If I were looking to use a service like this, I'd be much happier investing in my time in one I pay for rather than a free one.

Why would the amount of cash you throw at something impact how you invest your time in it? I love Evernote, but me throwing a few bucks a year at it isn't going to change how I already use it.

<comment><USER11> > GMail cost me $0, and it's probably the best webmail service/interface out > there right now.

Yes, you get a good product, but you also get ads. Your information isn't really entirely private. Some people are totally fine with that, and that's OK. But if you don't want a service to do that, usually that means you pay them money. Nothing is free.

> Why would the amount of cash you throw at something impact how you invest > your time in it? I love Evernote, but me throwing a few bucks a year at it > isn't going to change how I already use it.

I mean that in the sense in order to really use a product like this, I've got to spend time putting recipes into it. The very basic (and not perfect) theory is: if this site is making money from me directly, it's less likely to shut down or want to sell out. I take comfort in that but I know there are counter- examples.

</comment></comment></comment></comment></comment><comment><USER13> $10 a month buys a lot of good recipe books.

</comment><comment><USER14> I like YumTab [<http://yumtab.com/>] for grabbing & storing recipes from other sites.

The importer/parser is quite smart, and while the planner & shopping list manager are pretty basic, they get the job done.

</comment><comment><USER15> How is this better than just storing recipes in Evernote? (One thing I thought it might do is automatically scale recipes up or down, but it looks like it doesn't do that.)

<comment><USER16> Exactly my thoughts.. My wife and I are moving all our recipes into a shared Evernote premium account, and it's really fast and easy to use, and performs decent OCR on whatever we scan.

I can't think of any way that we could improve on this setup, except maybe to sell all our cookbooks and buy an iPad just for the kitchen.

</comment></comment><comment><USER17> How does your service compare with another service, <http://www.pepperplate.com/>? My wife and I are trying to settle on a product. We're considering that or just using Evernote, but Pepperplate lets you scrape from many different recipe sites.

</comment><comment><USER18> This looks nice. You might want to add a time-limited free trial.

I wouldn't take the pricing advice on HN too seriously because even if you charged $10 lifetime for something, you will find someone complaining that it's too much. "If only it were $3.33, I would totally buy it for the whole family."

Don't decide based on what the competitors are charging. Because the answer to that is ZERO.

Decide based on what kind of business you want to be in. If you want to scale it to the moon and make it up on volume, then sure give it away for free or cheap and work on optimising for premium upgrades or advertising.

But if you are looking to make money from the get go, then don't even think of charging less than $10/month or you will end up losing money.

</comment><comment><USER19> Very good looking site! Does it function as a locker for recipes from other sites (allrecipes, etc?), or do you need to manually input everything?

I agree with alexchamberlain - I'm not sure there's enough value to be found in any recipe service to justify $120/year, when multiple options exist.

I hate to fallback on advertising as a business model, though. I'd say offer free accounts to pull in early adopters while you use their feedback to refine your product and keep working on building out features.

</comment><comment><USER20> I'm not sure charging $10/month is the right way of monetizing this service. It's useful, but you have to think is it valuable and critical enough to pay $10/month? For "consumers", you should target somewhere around $3-$5/month. That too, not all consumers will pay this - so you have to have some Freemium approach. I feel current version of service should be Free and do Ad-based revenue. And then you add more advanced features based on user feedback, and then make that Premium plan with no Advertising.

</comment><comment><USER21> Everybody is saying $10 is too high of a price point and that was my initial reaction too. However, I think its great that you're looking to build a product and charge people for it. Its easy to coast by thinking that you're doing something right when you have lots of free users. By charging out of the gate, you'll be able to learn how to get money from people a lot more quickly than a company going the freemium route, keep trying.

</comment><comment><USER22> Love the UI. What I would really love though is a site in which I can give a URL to a recipe I like, and it parses everything for me into a common format. Having to manually enter ingredients / directions when much of the time I'd just like to pull the recipe from somewhere else is going to be too much work. Something like that I would pay for, a simple recipe manager, not so much.

<comment><AUTHOR> A parsing bookmarklet is on the horizon, I've begun on the backend for it already.

</comment></comment><comment><USER23> Recipage (<http://www.recipage.com/>) is a free solution that has a decent amount of overlap though it is more focused on bloggers being able to publish their recipes.

</comment><comment><USER24> Great mobile version and it looks great added to my iPhone home screen. I was about to sign up but then I saw it was $10/mo. Sorry, I'll stick to using Evernote for my recipes.

</comment><comment><USER25> I'm not even sure if I would pay $10/year, let along $10/month.

</comment><comment><USER26> Why not try Pinboard-style escalating pricing instead that starts dirt cheap (yearly or lifetime) and grows with the userbase?

</comment><comment><USER27> Slightly off topic, but I wish there was an XML format specifically designed for recipes.

<comment><USER28> <http://microformats.org/wiki/recipe-formats>

</comment></comment><comment><USER10> When you edit the recipe,its done WYSIWYG style. Which js library did you use?

<comment><AUTHOR> It's handwritten code on top of jquery UI. There are a bunch of form elements (text inputs) that have been styled, and you can drag and drop them to rearrange.

</comment></comment><comment><USER29> What distinguishes this HN post - added by the company in question - <USER2> spam?

</comment><comment><USER30> Good job, I am working on a similar tool. There are lots of free great recipe managers on the web. What is the main differentiating factor that makes this worth 10 a month?

<comment><AUTHOR> The important thing that differentiates this is that it is solely a replacement for a recipe box or other strategy for storing recipes. Most other recipe managers are tacking added on to recipe discovery tools. 7courses allows for sharing recipes, but is 100% focused on making it dead simple to manage your recipes.

And we have a kick ass mobile web app.</comment></comment>


The Fakebook Generation - <AUTHOR> http://www.nytimes.com/2007/10/06/opinion/06mathias.html?ex=1349409600&en=2da1c3f706197a55&ei=5124&partner=permalink&exprod=permalink

<comment><USER2> People have been meeting through the web since the first web page was made..the 'socialness' of the web was here long before facebook...facebook has not made any shift on how people are social on the web. People have been using things like yahoo chat, yahoo groups geocities and even newsgroups to 'hook up' for a long time. If there is a facebook generation , is there a myspace generation too? what about a hi5 generation..oh wait, what about a twitter generation? Why exactly is it that people seem to set aside rational thinking when it concerns facebook?

</comment><comment><USER3> >Its founder, Mark Zuckerberg, has even declared his quest to chart a "social graph" of human relationships the way that cartographers once charted the world.

Whether or not Facebook is worth 10 billion dollars on the market today as an acquired company is irrelevant; Facebook does represent a shift in how we are social on the internet. Hacker News does as well, but I've only met people who are willing to meet up with me in cities other than Pittsburgh and on Facebook they all live in Pittsburgh.

If nothing better comes along, Facebook will be worth more than 10 billion dollars in the long run. There's also a good chance something better will come along, and it will probably happen overnight if Google buys the old TV frequencies and licenses space on all the old TV towers. Maybe someone smart will figure out how to implement the semantic web by himself or with a YC style investor.

The barriers between the web and the real world have really started to dissolve. I know a lot of people around my age that are in long term (for 22 year olds) relationships with people they met on the internet.

The Facebook Generation is a small part of America. It's the people who went to four year universities and their friends. For all of my age-group peers, I use the descriptor Generation Y because I hope that generations X, Y, and Z are the final generations of Humanity. Hopefully by the time that Generation Z has children we will all be Post-Humans, sipping our drinks in the enlightenment of eternity.

<comment><USER4> One of the biggest ways Facebook will change the internet is giving it a trust foundation.

<comment><USER5> Very, very important observation. Coincidentally, the recent Wolrd Bank story (<http://news.ycombinator.com/item?id=64367>), is quite relevant to this thought.

</comment></comment></comment><comment><USER6> _"... My generation has long been bizarrely comfortable with being looked at, and as performers on the Facebook stage, we upload pictures of ourselves cooking dinner for our parents or doing keg stands at last night's party; we are reckless with our personal information. But there is one area of privacy that we won't surrender: the secrecy of how and whom we search. ..."_

I listened to a sobering talk by _"Eben Moglen, 'Freedom Businesses Protect Privacy', mp3, 18Mb, 40min"_ ~ <http://itc.conversationsnetwork.org/shows/detail1897.html> about just this scenario about data and the rights to infer, think, collect, evaluate and express. The key takeaway, these users are living with giving away their data without contractual agreements and are ignoring the consequences.

The biggest threat to privacy is private company data miners who you freely give data. Inference drawn the data is private property. But it's not all doom and gloom but do you trust those who have bailment over you own data? <http://en.wikipedia.org/wiki/Bailment>

_"... But there's no way Facebook would allow such a program to exist: the site is popular largely because it enables us to indulge our gazes anonymously. ..."_

That's not true. There is a Fb internal application that works out the probability of 2 people who will go out together based on Fb data. So don't bet on it.

</comment><comment><USER7> 9 months ago, we were the MySpace generation. Just saying...</comment>


If You Could See Google Street View In Video, It Would Look Like YellowBird - <AUTHOR> http://www.techcrunch.com/2009/08/03/if-you-could-see-google-street-view-in-video-it-would-look-like-yellowbird/

<comment><USER2> [http://www.yellowbirdsdonthavewingsbuttheyflytomakeyouexperi...](http://www.yellowbirdsdonthavewingsbuttheyflytomakeyouexperiencea3dreality.com/)

That's not a super practical domain name.

<comment><USER3> I actually like it. Becomes kind of a talking point and with all the URL shorteners out there I don't think it would be a problem anyways.

<comment><USER4> Well, the issue is that words are much more memorable than the random letters at the end of a shortened URL, and fewer words are generally easier to remember than many words.

I guess since most people see URLs through links rather than ever actually having to remember, it's not such a big deal. Long URLs just don't look pretty, and neither do shortened ones.

<comment><USER5> <http://bit.ly/yellowbird> seems pretty easy to remember.

<comment><USER6> or google.com -> search "yellowbird" (which is what a lot of people do anyway these days)</comment></comment></comment></comment></comment>


20 min Website Review for better SEO and Marketing - <AUTHOR> http://aymeric.gaurat.net/2011/website-review-to-improve-website-ranking-and-conversion/

<comment><USER2> Thanks - that's a really useful review. I've got into the habit of making the site name the h1 tag, and the page title the h2 tag - so is this a 'bad' habit?

<comment><AUTHOR> Interesting, it makes me realize that most of my websites have a logo instead of a site title.

To answer your question, some say use <div> for site title and <h1> for article title, and some say use h1 for site title on front page and h1 for article title on other pages (site title becomes <div>).

I personally use <h1> on front page for most important tagline and <h1> for article titles on other pages.

I'd love to hear the opinion of a SEO "guru".

<comment><USER2> I'm definitely not the "guru" :)

I always end up using an image for logo too, nested inside an H1 tag. There's no methodology to that, just a habit I've got into. Well, I'll change it and see what happens! Thanks.</comment></comment></comment>


Howard Marks: Political Reality Meets Economic Reality [pdf] - <AUTHOR> https://www.oaktreecapital.com/docs/default-source/memos/political-reality-meets-economic-reality.pdf <comment><USER2> I always love reading these memos. I discovered Howard Marks listening to a podcast and found him full of wisdom. In respect to this memo, Marks isn't the first big name portfolio manager to mention the growing possibility of capitalism becoming the target of the progressive left. Ray Dalio of Bridgewater has also alluded to it several times. Then again, when you have CEO's in America making 271 times more than the average employee, it's easy to resent the capitalist system.</comment>


US denies visas to Afghanistan's all-girl robotics team - <AUTHOR> https://www.theverge.com/2017/6/30/15903206/afghanistan-robot-team-denied-us-visa <comment><USER2> Yeah, remember that part where we declared war on Iraq for no fucking reason? Oh wait, no... that's not correct... we did have a reason...

      "Rumsfeld was saying that we needed to bomb
       Iraq," Clarke said to Stahl. "And we all said
       no, no. Al-Qaeda is in Afghanistan. We need
       to bomb Afghanistan. And Rumsfeld said there
       aren't any good targets in Afghanistan. And
       there are lots of good targets in Iraq.

[http://www.cbsnews.com/news/clarkes-take-on- terror/](http://www.cbsnews.com/news/clarkes-take-on-terror/)

Put another way, there was never any rationale for anything we ever did anywhere. All of this is bullshit. Don't even bother trying to make heads or tails of it.

Nothing was ever supposed to get fixed, made right, redressed.

The travel ban? Why does it exist? Because they're fucking assholes. Not because anything matters.

</comment><comment><USER3> So this gets unflagged, but it's still completely gone from the front page even though it has a very good upvotes / time ratio. I really dislike that about HN. This is clearly an important discussion.

<comment><USER4> Have you read this thread? There is no important discussion going on here, only lazy barbs about the US military and Republican party which, while true, are neither intellectually interesting nor particularly germane to the posted article.

If there were something worth saving here, I'd agree that the downvoting and flagging were a problem, but in this case it's just garbage and it gets what it deserves.

<comment><USER5> There's separate flagging for comments and articles though, you seem to have those confused. Should we flag front page articles every time the first two comments are terrible?

<comment><USER4> The article seems close enough to being mainstream political news to be flag- worthy to me.

I'd agree that an article shouldn't be flagged because of the comments alone, but either way it's going to vanish from the front page quickly considering how heavily HN weighs downvoting and flagging.

<comment><USER6> So anything mainstream gets flagged, even if it relates to people in the field of science? Srsly hn, flagging != patriotism

<comment><USER4> Anything mainstream _should_ get flagged unless it presents some "new and interesting phenomenon," or satisfies some intellectual curiosity. You could replace the robotics in this story with anything else and it wouldn't change it at all, so it's really just three brief paragraphs a subject which has already been covered. I can see why people would flag it.

If you want the topic of America's visa policy as it relates to science to be discussed in depth, then someone can post a better article with substantive content. Most people are only going to read the title and vent their spleens anyway, so the bar has to be set higher for articles which touch on certain topics.

</comment></comment></comment></comment></comment></comment><comment><USER7> Ugh. Winning hearts and minds. I wonder how long that US flag remains on the robot.

</comment><comment><USER8> Why the hell is this flagged? I wish could flag the flagging...

</comment><comment><USER9> Original article: [https://www.forbes.com/sites/hilarybrueck/2017/06/29/denied-...](https://www.forbes.com/sites/hilarybrueck/2017/06/29/denied- afghanistans-all-girl-robotics-team-cant-get-visas-to-the-u-s/#30ffe5b8367f)</comment>