The Test: Civilization at a Crossroads - <AUTHOR> http://www.whattofix.com/blog/archives/2012/03/the-test-1.php <comment><USER2> Some of his list of rules sound useful, some less so. I'd like to hear more analysis of each rule, though, rather than simply assuming it must be a good idea.

For example, decentralization can be useful in some cases. But differing laws in different can be a trade barrier, as companies have to lawyer up for each and every jurisdiction. There can also be arbitrage problems, eg: getting your free education in a generous-public-welfare state, then going to work afterwards in a low-tax state.

Another example is term limits. It has been suggested that in the presence of term limits, lobbyists end up with more political experience than elected representatives, which allows them to capture the political process. There's also the issue that without concern for re-election, an incumbent might feel no restraint in dishing out favors.

So my addition to the list of rules would be: "For each rule, consider how it could go wrong." It might make it harder to rile up the base even when that's appropriate, and it might make discussion take longer than it should, but I think it's worth it.

</comment><comment><USER3> > Computers are an extension of people's minds, not devices like a record > player, typewriter, or printing press. Intrusion into somebody's processing > and data should be treated the same as intruding into their thoughts. It > shouldn't be done.

Well said. This is probably the most challenging analogy for people (and courts) to grasp.

<comment><USER4> _Amendment IV

The right of the people to be secure in their ... papers, ... against unreasonable searches and seizures, shall not be violated, and no warrants shall issue, but upon probable cause, supported by oath or affirmation, and particularly describing the place to be searched, and the persons or things to be seized._

People used to write down their thoughts on paper, for their own private use, no different than using computers today (save at orders-of-magnitude different velocity). Courts have been struggling with this notion for centuries.

</comment></comment><comment><USER5> >You can't form a governmental system based on altruism. It has to be based on people acting in their own interests

Nobody has ever proposed pure altruism. We've often proposed a system based on mutual/collective self-interest pursued cooperatively instead of individual/corporate self-interest pursued competitively.

Example: the NHS or Canadian health system versus the American health system. I chose this answer because the answer is _really bloody obvious_. You would _never_ think that many small risk-pools competing against each other will somehow yield a better ability to spread out risk than a handful of pools, or even a single large pool containing _everyone_. The interest of the individual taking out insurance is _clearly_ to place themselves in as large a risk-pool as they can in order to defray their own costs.

So what leaves us with insurance companies and HMOs in the States? Capitalist _dogma_ that pronounces that Many Competing For-Profit Entities Beat a Single Central Non-Profit Entity Every Time. But what functions are we envisioning these entities performing? Those for a capitalist health system are, in fact, envisioning HMOs and insurance companies as businesses _first_ and actual risk-pools _second_ , whereas those for a single-payer system are envisioning insurance as fundamentally being about risk-pools and discarding the goal of profit-seeking entirely in favor of mere cost-recovery where possible.

Not surprisingly, each system results in _exactly_ the thing it optimized for! The American system puts out gigantic profits for insurers/HMOs at the expense of both the collective public (through Medicare/Medicaid) _and_ the individual public (through premiums, deductibles, high prices for medical procedures). The Canadian and British systems successfully spread out the risk of requiring treatment for sickness over the entire population.

Like freaking magic. _And you can design other things this way._

<comment><USER6> I think I agree with you, although I certainly don't think either the Canadian or British systems are perfect. The Canadian ban on private health care has its own serious problems, and the PFIs in the UK are a mess. Those systems have resulted in their own (possibly) unintentional but utterly predictable side effects. The other classic that Friedman and co used to point out is the minimum wage.

That said, I support the NHS etc. for entirely selfish reasons. I don't want to get sick, and more importantly I don't want other people making me sick. (Also not needing medical cover for employees is great for small companies). If there's an easy way to balance this I don't think it's been found yet.

<comment><USER5> Nothing is perfect, but there are very different conceptions of citizenship at work.

The proposed one, to which I object, is the capitalist/neoliberal conception of a citizen: a pseudo-"rational" actor in a political and economic war of all against all for the sake of individual and incorporated self-interest in the form of money and property, restrained only by statutory and Constitutional law from attacking their competitors.

I counterpropose the traditional social-democratic vision of citizenship: a partly-emotional actor who participates in collective decision-making to pursue their values and their collective interests, thus enhancing their private life by placing it in a more secure public matrix.

>The other classic that Friedman and co used to point out is the minimum wage.

Funny how everyone listens to Friedman et al when they propose eliminating the minimum wage, collective ownership of commons property, or most social services, but not when they suggested a citizen's income or a negative income tax.

</comment></comment></comment><comment><USER7> First, a question: to what extent are you involved in local/regional/national politics and government, Daniel? Have you actually tried to work in/with political institutions, draft legislation, deal with groups of constituents, build consensus around your preferred political priorities, organize?

Words are cheap. Making real political change is damn hard, and takes a lot more commitment than a blog post here or there.

* * *

Half this list is just a poorly worded rehash of the existing basis for U.S. government (poorly worded as compared to e.g. the clear, expressive, rhetorically masterful Federalist Papers), and the other half is hopelessly naïve and broken. None of his claims are backed by any kind of supporting evidence or analysis, or even clarification of exactly what he means.

For instance:

> _Representative democracy, where (in the States) you elect somebody to go > make decisions for you, should involve somebody who physically lives near > you, who only works part time making decisions, who is not representing too > many people (100K seems about right), and who doesn't have a job for life._

This is a terrible principle. It sounds good in theory, but practical attempts to be led by it – such as short term limits – lead to terrible outcomes, as we're seeing in the California legislature, where now no legislators have enough time to learn what they're doing and won't stick around long enough that cooperation is worthwhile, and so both parties have become intransigent and the whole institution is broken.

> _The president's term should be extended and he should be allowed only one > term. That way he won't spend all of his time running for re-election._

This is also bad. The president's power falls quite dramatically in his second "lame duck" term. Making him a lame duck on the first day in office won't help anyone.

The proper fix is to get rid of the 2-term limit, which was only created in misguided posthumous revenge against FDR, by opponents who lost policy fights while he was alive and bore a grudge about it.

> _Politicians should not be able to make decisions today that require my kids > to pay money for them 30 years from now. If my kids aren't represented, they > shouldn't be able to be taxed_

This is ludicrous. All decisions have consequences, and all big decisions today will still effect people 30 years from now. How could you possibly isolate government from any decision which would have impact 30 years in the future, and whyever would you want to? Who would make those decisions instead?

<comment><USER8> Hey jacobulus. Thanks for the comment! It certainly seemed to animate you, so that's a good thing. I'll try to respond here, but I have a feeling we're already off-the-rails so I'm not going to do one of those 47-level nested things.

 _to what extent are you involved in local/regional/national politics_

I am and have been student of complex systems of both people and technology. As such, I'm aware of all these things. But this is not about me, my experiences or qualifications. Let's not go there. Also you are talking applied politics -- the getting of results. My essay is on design themes. The two are not related at all.

 _None of his claims are backed by any kind of supporting evidence or analysis, or even clarification of exactly what he means._

Dude. It's a blog. Blogs are written quickly and in an off-hand, informal manner. This is just a list of thoughts. It's not even an argument. You want the Federalist Papers, go see Madison.

You go into a lot of other details here -- arguments against term limits and in support of possible presidents for life -- Including a nice little ad- hominem about the people who took action against FDR when he tried to pack the court. Memories DO last a long time, eh? :) I'm going to pick the one that is easiest to reply to.

 _All decisions have consequences, and all big decisions today will still effect people 30 years from now_

Yes, but I was specifically referring to taxation and debt. The funny thing here is that it doesn't even matter if I provide an argument or not. At some level of pain, future generations will just invalidate earlier debt anyway. All I was suggesting is that we be honest about the situation while we were making the debt, instead of sticking our heads in the sand.

 _Words are cheap. Making real political change is damn hard_

Yes, and design principles are a dime-a-dozen. The intent wasn't to change, or even suggest a method of change. We're talking principles of construction, not applied politics or how to make the world a happier place. An ideal system would function for many parties with many various dreams of how they would want their government to work.

If you'd like to dive down on some of these, sounds like fun! Send me an email. Happy to take some kind of public space like my blog or something and explore the foundations of what I'm talking about. But one blog entry or a comment thread on HN isn't going to do it.

Thanks again for the feedback. You sound very passionate. I hope that passion stays with you.

<comment><USER7> > _but I have a feeling we're already off-the-rails_

Hey Daniel, sorry, I wasn't trying to seem too annoyed/aggressive. I understand that you're a well meaning guy, and your blog is just a platform for throwing ideas around, etc.

In general, though, as you say, design principles (and gripes about how flawed all the people in the society who disagree about this or that) are a dime a dozen. This kind of glib "I've worked in a variety of social organizations and so the people working on things in some entirely different set of social organizations that I'm not actively engaged in must be doing it wrong, and here's how they should organize things the way I like to" is a very natural impulse, and probably can't be helped. I've heard arguments from the same direction from construction workers, teachers, businessmen, career civil servants, bankers, etc.

At the same time, statements like yours – at least the way the tone came across to me – seem presumptuous. In particular "tech guys are the philosophers of the modern world" (paraphrased, you seem to have removed the sentence) is awfully dismissive of several hundred years of professional political theorists. Sweeping statements like "You can't form a governmental system based on altruism" are so oversimplified that they either involve a tricky bait-and-switch with a hedge built into the "based on" part, or else are just wrong. Altruism is a large and essential component of the functioning of any human society or institution. Of course, there are other motivations and interactions to consider as well.

Anyway, I think we can agree on: citizens should study history, should learn the theoretical underpinnings of their governments, should consider the consequences of specific institutional design, and should engage in the political process.

As for the legacy we leave future generations: I absolutely agree we should aim to leave the society better in the future than it is today. As a state we should restructure the tax system to redirect resources from locked-down corporate holdings and inheritances (taxing wealth in preference to income, at least relative to today) toward long-term public infrastructure; should hopefully in the construction process encourage young people to become civil engineers &c.; should radically cut wasteful military adventurism and should directly employ people to do military support jobs rather than overspending on poorly overseen private military contractors; should probably bring back some kind of compulsory public service both to get public advantage from young healthy enthusiastic people and to make sure our whole society is actually invested in military actions; should treat municipal/state bonds as investments and should use them for projects with long-term benefits rather than just routine governmental functions, which instead should be paid for with taxes; should even more heavily subsidize basic scientific research, especially in energy; should stop so heavily subsidizing fossil fuels; should work to promote industries which produce real things rather than those designed to skim off the top of financial transactions and should re-regulate the latter to prevent their current abuses; should work to reorganize the healthcare system to improve preventative care and better prioritize expenditures; should work to improve public education, in particular by respecting and paying teachers enough that smart ambitious young people will want to make a career of it, instead of trying to break teachers unions and turn teaching into a high-turnover unskilled job; should work to reduce the current massive underemployment (for one thing, by imprisoning fewer poor brown people on minor drug charges), so that huge amounts of manpower don't go to waste; should adjust our immigration policies to make the US a more welcoming place, both to attract highly skilled ambitious people, and to respect the humanity and dignity of the people we import to do unskilled labor; etc.

Sadly, social reform of any kind is really really hard. Actually doing it requires sustained engagement and a lot of energy. A whole lot of folks are trying really hard to work at each of these issues. As programmers, there are great extra ways to help them – above and beyond just engaging and organizing and lobbying – by building communications and data analysis tools, for instance.

</comment></comment></comment><comment><USER8> It's interesting how the lessons learned in startups and IT mesh so closely with those of political theory. IT architects are in some ways the working, practical philosophers of the 21st century.

</comment><comment><USER9> I'm struck how many of principals in the article track closely with the founding principals of America.

<comment><USER10> That's the intersting part, yes. And not just the founding fathers, if you look at Napoleons code civil, the constitution Germany passed after WW II and the like they all share some basic principles and values. Almost seems back then they had more insight to human nature than we have now, at least sometimes.

<comment><USER5> The post-WW2 West German constitution was written at the behest of the Americans, the British and the French. That should serve as to some hint of why it came out looking so American and French.

<comment><USER10> The allies wanted one to be written, so yes quite likely their constitutions where IMHO looked at during the process, espacially since they are pretty good. But it is also important to note that a: it's not realy a constitution, only basic law (Grundgesetz in German) b: The guys who wrote it were democrats who saw the fall of the monarchy, a doomed democracy and the rise, reign and fall of the Nazis. Some of them even were part of the resistance. And that shows. That current politicians are maybe following the words of it and definitly not the spirit, well thats a different story. P.S.: The different view points from the two sides of the atlantic are fascinating.

</comment></comment></comment></comment><comment><USER11> Not sure why he threw compulsory military service in their which seems to be counter to the other points, all that would do is give the corrupt politicians a low wage, essentially temporarily enslaved, class of people to do their bidding. If politicians should be assumed corrupt why on earth give them our young people to control and indoctrinate for two years against their will

<comment><USER12> I didn't read that as specifically referring to military service. Many countries, at least in continental Europe, have non-military national service, or at least a non-military option.

It's not a system I'm terribly comfortable with, either, but if you're specifically looking for a way to create social cohesion, it's at least worth discussing.

</comment></comment><comment><USER13> I like the thought, but it touches on something else important but isn't very direct about it.

We are best represented by those in our own communities and those who we know on a first name basis. The article suggests 1 representative per 100,000 people - I'd much rather see that number down around 1k. If you want to get power back in the local, make people ONLY elect a local representative per 1k people (+/- 100) and then you can have tiers of representation above that - the local could be a collective 10,000 people with a council of 10 voting, where 1 of them goes to the region / state level - composed of 100 localities - representing 1,000,000 people. Then the national level is just the collective states in the system - preferably, somewhere around 100. It does make national borders harder to cope with, but you can just add layers on top to make super-nations and eventually a global council on top (haha, I made a funny :P)

You get the benefits of having national and state representatives that don't need to be hell bent on campaigns and buzz words and an even more important trait is passed on to the public - it makes political influence easy.

You have ONE person who you, and everyone in your community, knows. You pick that person collectively. If you don't like your regions pick, you can move. If you don't like the local region, you can move to a different local. You should have laws start small and get large through consensus across multiple constituencies.

That kind of system would get people SO MUCH MORE INVOLVED in the political system. And with technology, we can easily usurp the overhead of linkage between different levels of government. You get a small national government that has explicit powers, and tiers of representation below that, down to the local, where law needs to pass up through the tiers by consensus of senate like bodies past the local.

<comment><USER14> Do we need representatives at all? I mean, we have the Internet now. We used to need experts/professionals for knowledge, news aggregation, and problem help/advice. Now, we have Wikipedia, Reddit, and Stack Exchange. Why not gov too?

<comment><USER15> There was a project called Hyperarchy I saw a while ago (their site seems down), which had the idea of 'delegating' your vote to experts you trust on certain topics. So you could say, "I trust Richard Stallman to vote for me on the topic of software copyright", and he would effectively get an extra vote.

</comment></comment></comment><comment><USER16> > The rules are not only changing, the entire game is different.

I don't buy it. There have always been revolutions, there have always been ways to offload a lot of work (millennia before machines and computers humanity had slaves).

The most important part of any society hasn't changed -- people haven't changed. We're still pretty much the same animal that roamed the Africa and, unless we start radically modifying our own genome or come up with implants that can actually change our very personalities, the same motives and patterns that permeated our history will remain recognizable in the future. High tech love (or greed, or kindness, or lust...) is not that dissimilar to low tech love. Which is why we can look at Rome or Greece and see our own republics.

BTW we can really look at Rome now: <https://www.youtube.com/watch?v=vrIEwjgfbYs>

</comment><comment><USER17> I agree about computers, and here's what I would add:

I'd want people to understand that politicians are not leaders - they are servants of the public. They are elected to represent the citizens of the country and make decisions that the citizens want, not which they believe would work or worse, which fit their own needs.

They're not leaders in a league of their own who have followers, those times have past. That's why they must be held in check, not left to do whatever they want - that's how you end up with having to take your shoes off and being patted by some stranger at an airport, while they fly first class or charter with their envoy without even going through a metal detector (just an example).

<comment><USER18> I think it is naive to think that politicians are "servants". If you take a critical look at it, politicians don't "represent" you in the same way I would "represent" you when you hand me $5 to go down to the corner store and get a soda.

See here for more details, The Indefensibility of Political Representation : <http://mises.org/daily/3383>

I actually agree with the OP in a minor way, that "there are also really good reasons why it lasted 300 years", but has the US government lasted ~250 years in anything near the same form?

No, it started much closer to an anarchic Hanseatic League. Some days now, it looks more like Communist China. The way "the code" is written leads to continual aggrandizement of power.

If it is really true that "Elections and the regular change of power allows governments to be wrong and adapt.", why not have elections every 6 months?

There isn't enough value in the average person fighting the legislation which affects their lives in minor ways relative to that obtained by lobbying interests.

</comment></comment><comment><USER19> "All laws should have an expiration date."

I would add that the states should be able to override any federal law if 51% of the states voted to do so. It would be as if the law never passed.</comment>


Venture Communism - <AUTHOR> http://clicky.me/ventcom

<comment><AUTHOR> This is a pretty old text, but comments are very welcome. I'm currently working on the Telekommunist Manifesto to be published by the Institute of Netwoked Cultures in time for the Chaos Communication Congress in Berlin this December. The Manifesto will contain an updated version of some of this material, so comments and feedback are very welcome.

<comment><USER2> Instead of working your pitch, why aren't you working on your product?

Don't tell us how wonderful Venture Communism will be, show us by example.

If you won't do it, why should anyone else? (You don't get to argue "I'm not good at real organizations when you're telling people how to build organizations.")

</comment></comment><comment><USER3> Communism is a great idea on paper, but completely ignores the realities of human behavior. It will never work, because people are not mindless drones.

I read your entire manifesto, I highly recommend you read about the Twentieth Century Motor Company, so you can see what will eventually happen to your commune (link to the story is below)

[http://conservablogs.com/bluecollarmuse/2008/10/06/socialism...](http://conservablogs.com/bluecollarmuse/2008/10/06/socialisms- lying-promise/)

<comment><USER4> Capitalism is a great idea on paper, but completely ignores the realities of human behavior. It will never work, because people are not mindless drones. Why would anyone chose to receive "money" in exchange for their hard work? Why would anyone accept that people who prepare food and care for children should receive far less of what society creates (by being paid less "money") than people who organise other people into meeting other people who then build a rival to twitter?

Worker's cooperatives are a sensible system for organising labour. Notable in the UK are John Lewis (not quite a co-operative I think, but owned by its workers) which is doing surprisingly well ATM and the co-operative bank which survived the credit crunch with nary a whimper.

The pressure to sell out will always be there though, and given the essential fact that capital is winning, it seems unlikely labour can ever overtake. It is also hindered by the totally discredited communist movement and the fact it is deeply counter-cultural, e.g. against the protestant work ethic.

Also, the article you linked makes a fairly typical mistake of equating regulation, provision of public goods, and provision of merit goods with socialism, when really governments can do all of the above and still be deeply capitalist.

Also, in reply to "Only one system of government and economic theory has come close to delivering on the promise Socialism makes: the Republic and Free Market Capitalism found in the USA." Hey from Europe!

<comment><USER3> Why would child care takers make less money than people who build companies?

It is called the laws of supply and demand. Child care workers are in abundant supply, require few skills to do properly. However, people who build extremely large businesses are far fewer in number and require a lot more specialized skills. Plus, there are plenty of people who try to build a company and fail and don't make anything. If your services/products aren't good enough for people to voluntarily exchange money for them, then the business fails.

</comment></comment></comment><comment><USER5> There are two steps to any collectivist system 1) Collect all the resources 2) Stop</comment>


Startup or Pokemon? - <AUTHOR> http://evilbrainjono.net/pages/startup-or-pokemon.py

<comment><USER2> I can't decide if the fact that I scored 10/10 means I follow startups too closely, or that I played too much Pokemon when I was younger.</comment>


What do you wear to work? - <AUTHOR>

What do you wear to work? Do you wear shorts? A shirt with a collar? Sandals? Dress shoes? <comment><AUTHOR> I basically wear something with a collar and close-toed shoes and pants.

</comment><comment><USER2> Shoes, Jeans, Startup T-shirt. All day, every day. Also, always in a ponytail.</comment>


Slack Removed a Blog Post Showing How Police Use Its Tech - <AUTHOR> https://www.vice.com/en_us/article/jgxma3/slack-blog-post-worked-with-police <comment><USER2> Former Slack employee here...

This blog post/case study was published a few years ago by Slack's marketing team and led to a firestorm of controversy within the company. Many employees of all backgrounds spoke up about how upset they were that Slack would use a police department as marketing. Eventually the decision was made to keep it up which certainly frustrated a lot of people. I guess now the leaders have decided it's time to take it down.

edit: in private channels for POC, which I was a part of, people were incensed at the insensitivity. At the time I felt it was a particularly stupid choice for marketing material but not necessarily a moral wrong.

<comment><USER3> Why though? Is there not a legitimate role for policing in a civil society? And if there is, don't they need to coordinate and collaborate just like any other organization?

<comment><USER4> > Is there not a legitimate role for policing in a civil society?

Look around. Most Americans would say no to this question.

I don't think they've thought through the consequences of that, but I guarantee a random poll would show most Americans want to abolish or >70% defund the police (which is effectively the same).

<comment><USER5> > _Look around. Most Americans would say no to this question._

How is it possible to conclude this? There have been polls the last few days where more than half of respondents of both parties support sending the _National Guard_ to quash the rioting and looting, and _a significant proportion of Democrat respondents think the Federal government should send the U.S. military to do the same._

If you live in a place where people broadly do not support the police as an institution, you live in an odd place.

Now, given recent events on the top of the national consciousness, there is broad concern that some very bad police tend to be protected in many police departments, but that's an entirely different opinion.

<comment><USER3> Right. It seems to me that many here are making sweeping and unsubstantiated generalizations. There are problems in policing that need to be addressed, but to extrapolate from that that police are not necessary and/or are a net decrease in safety is really a conflation of two separate issues.

</comment></comment></comment></comment></comment><comment><USER6> Are we saying that:

(a) police are a net good, but slack is aiding/encouraging particular bad behaviors; or

(b) police are a net bad and we should just deny them anything that enables them to do their jobs; or

(c) police are a net good, but it's bad PR to associate with them

<comment><USER7> It's a witch-hunt, plain and simple. Of course the police needs reform, demilitarization, higher standards, more accountability, and better educational requirements.

How you get any of those things by demonizing the police and making it a left- vs-right political issue is beyond me.

<comment><USER8> >How you get any of those things by demonizing the police and making it a left-vs-right political issue is beyond me.

These aren't new issues, practically speaking every attempt at less radical solutions hasn't worked and there have been many. In the end, the solution will be filled with political compromise and the weaker your starting position the more compromise there will be.

<comment><USER7> Surely the amount of police violence is less today than say, the early 1900s, when outright lynching was practically sponsored by the police? You deny that there has been _any_ progress?

<comment><USER8> Society as a whole has changed and I'd argue police have changed less than the rest of society. Given the videos from the last few days it's clear that the police see themselves as immune to consequences even in the age of social media, cell phone cameras and widespread public opposition.

<comment><USER7> Sure, I agree to that absolutely. But how you get from "the police needs radical reform" to "we don't need police, abolish them" is a mystery to me.

<comment><USER9> > "we don't need police, abolish them

I think it's important to not conflate this movement with the _defund_ movement, which merely points at the for example 6 billion dollar NYPD budget and says "is this really necessary?"

Furthermore, the "abolish" movement comes with its own subtleties, that don't necessarily mean "all cops gone tomorrow." An easy exercise to illustrate this to yourself: you can imagine that an alt-right 2a gunsrights activist wearing milita patches, body armor, and holding a rifle, while chanting "abolish the police," has a very different idea in their head of what that means from a liberal social-democrat holding a "black lives matter" sign and chanting "abolish the police," can't you?

Here's a good article: [https://bostonreview.net/law-justice/derecka-purnell- what-do...](https://bostonreview.net/law-justice/derecka-purnell-what-does- police-abolition-mean)

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> I don't get it. Are we now advocating that police is overall more of a force of evil than good? Legitimate question.

<comment><USER11> That is what's becoming apparent right now, yes. I was more of an "a few bad apples" person until this week. But they're making it extremely clear that as a faction they have no regard for anything or anyone but their own power and bravado.

<comment><USER12> This principle incriminates the protesters just as much.

There is widespread rationalization and support for the "few bad apples" perpetrating violence/looting/burning/rioting. There is very little condemnation. Lots of quoting MLK Jr. "rioting is the voice of the unheard" and yet MLK Jr. certainly did not practice or advocate violence.

If the protesters can't regulate their own bad apples then how can they judge police for not being able to?

Currently, this is two groups of unethical idiots fighting with each other. With each group's extremists serving to justify the other's extremists.

The outcome is easily predicted. Either the protesters take the ethical high ground or they lose.

<comment><USER13> > This principle incriminates the protesters just as much.

Yeah but you know, one group _took oath to protect and serve_ and the other didn't.

It's like when Trump say some racist shit VS when your drunk uncle says the same thing, you can't put both sides to the same standards.

Everybody condemn rioters, but for some reasons a lot of people, including the president and many officials, manage to rationalise police brutality and if you don't see that as the obvious main issue you're most likely in the wrong.

> The outcome is easily predicted. Either the protesters take the ethical high > ground or they lose.

This is the kind of thoughts I had when I was 15, I don't even know what to reply to that anymore.

______

Also, why do people keep creating new accounts to post these very poorly thought comments ? Don't you have the balls to attach your speech to your semi public internet presence or are you just trolling ?

<comment><USER14> _Also, why do people keep creating new accounts to post these very poorly thought comments ? Don 't you have the balls to attach your speech to your semi public internet presence or are you just trolling ?_

I think it's fair for someone on the fence, or visiting the conversation from the other side, to comment on the crimes of both sides without fear of being personally insulted _on HN_.

We can condemn the police and hold them to the much higher bar they should be held to, and also condemn whatever looting and vandalism is occurring. "Two wrongs" etc.

<comment><USER15> If someone creates a new account in order to make one post based on a screamingly obvious fallacy they deserve what they get.

<comment><USER12> Just because you claim it to be false does not make it false. You could be wrong.

So what exactly does someone "deserve" for expressing a contrary opinion?

<comment><USER15> I claimed it to be fallacious, not false. Your trolling game is laughably weak.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER16> Coming from a country where police has been rendered completely toothless by the same policies some people in this country are trying to promote which led to literally lawless areas, I am completely against this movement that's currently for some reason trying to demonize cops.

I do not care if you're black, white, asian, gay, lesbian or anything - if you break the law, threaten a police officer, or simply ask completely irresponsibly around them, you should be punished appropriately.

What I DO agree with is perhaps greater transparency from the police. This is a problem that can be fixed. Anyone wishing to defund or even abolish the police clearly has lived a coddled life for way too long and doesn't know what happens when police can't do their jobs.

Be smart and don't let poisonous politics cloud your judgement - police are nowhere near as bad as some media would love to make you believe.

<comment><USER17> > punished appropriately

This is exactly what the protests are about, that police are using disproportionate amounts of force, and it seems to be heavily influenced by race.

If you break the law, you're entitled to a fair trial and a fair punishment. Handing someone a fake $20 bill doesn't warrant death. Hell, I've gotten caught speeding multiple times, I can't imagine that you'd argue that it's worth an execution or even a beating. I also jaywalk all the time.

And people aren't getting their opinion of the police from the media, a lot of this anti-police sentiment is spurred by firsthand videos from protestors on the ground.

Not to mention that protesting is protected by the constitution and is a cornerstone of our democracy.

<comment><USER18> it is also not the job or the prerogative of cops to punish anybody FFS.

They have a VERY special role in society where they are authorized to use violence against other citizens. This role absolutely does not include any form of punishment or beating up people because they feel like it.

Unfortunately police needs way stricter rules, monitoring and accountability than what they have today in many countries.

</comment></comment></comment><comment><USER19> Post in question: [https://archive.is/iCVq0](https://archive.is/iCVq0)

(Sorry to post twice but think this is relevant as a root level comment)

<comment><USER20> Link looks broken. Getting 403 Forbidden.

<comment><USER19> This is caused by using DNS over https

<comment><USER21> Same here. Why is it caused by DNS over https?

<comment><USER22> Because the archive.is operator returns bad results when queried by Cloudflare. [https://news.ycombinator.com/item?id=19828702](https://news.ycombinator.com/item?id=19828702)

<comment><USER23> Any idea when this pissing match will be resolved?

I spend 8-12 hours online every day and have only ever seen this issue with that one website.

</comment></comment></comment></comment></comment></comment><comment><USER24> Have switched from Slack to discord and our team has been happy.

<comment><USER25> What benefits do you find that discord offers over Slack?

<comment><USER24> 1.Cost 2) Real time voice chat is a game changer 3) Better User Management

</comment></comment></comment><comment><USER26> The last thing any company needs right now is the media digging up an old blog post/Tweet of them praising the police, so can't blame them. I wouldn't be surprised if the post magically comes back up when things are back to normal.

</comment><comment><USER27> After 9/11, there were a surge of recruits joining the military because they felt it was their patriotic duty.

In the wake of George Floyd et al, will people start joining the police force in an attempt to reform it from within?

</comment><comment><USER28> Possibly somewhat ironically (and hypocritically?), the CEO seems very anti- police based on twitter:

[https://twitter.com/stewart/status/1268749287615156230](https://twitter.com/stewart/status/1268749287615156230)

[https://twitter.com/stewart](https://twitter.com/stewart)

Disclaimer: I am a happy user of slack and do not have an opinion on the blog post

<comment><USER29> I'm guessing the CEO is not anti-money.

<comment><USER28> Also, he probably cant legally not let police departments use it, it's publically traded.

<comment><USER30> Largely a company can choose their customers; they're not forced to transact with anyone. There are some exceptions of course, largely based on the reasons for not transacting. Being publicly traded doesn't really matter here directly.

<comment><USER31> I'm curious, do any kind of discrimination laws apply here?

<comment><USER30> They do, and that's what I was getting at when I used the qualifier "largely".

</comment></comment></comment></comment></comment></comment><comment><USER32> we need to look seriously at curtailing the power of the unions.

Even yesterday, the leader of the union in MN said that they are going to appeal for the jobs - since these guys were fired without due process.

<comment><USER33> The union's job is to protect the workers, not agree with your politics.

</comment></comment><comment><USER34> is there a link to the archived post?

<comment><USER19> Should be this one [https://archive.is/iCVq0](https://archive.is/iCVq0)

<comment><USER35> 403 Forbidden

<comment><USER19> It doesn't work if you use DNS over https

<comment><USER35> Thank you

</comment></comment></comment></comment></comment><comment><USER36> One way techies can affect change is to not do business with the government, particularly law enforcement and military.

However, this won't happen, because at the end of the day the only thing people _actually_ care about is money.

<comment><USER37> > the only thing people actually care about is money

Although I do care about money, I also support my government and my local police force, and would be happy and proud if my work could be used to make their efforts more efficient as well as more open, transparent, and fair. I don't agree with everything my government does, and I believe that there are bad cops that need to be corrected, but don't presume to speak for me.

<comment><USER36> If you have 1,000 cops, and 1 of them does something bad while the other 999 take no action, then you have 1,000 bad cops.</comment></comment></comment>


Prince Rupert's Drop - <AUTHOR> http://en.wikipedia.org/wiki/Prince_Rupert%27s_Drop "The very high residual stress within the drop gives rise to unusual qualities, such as the ability to withstand a blow from a hammer on the bulbous end without breaking, while the drops will disintegrate explosively if the tail end is even slightly damaged." <comment><USER2> I wonder if I could find a place that would be willing to let me make some of those. They don't mention if the pieces go fast enough to hurt the person holding the drop, though.

</comment><comment><AUTHOR> "The very high residual stress within the drop gives rise to unusual qualities, such as the ability to withstand a blow from a hammer on the bulbous end without breaking, while the drops will disintegrate explosively if the tail end is even slightly damaged."</comment>


Dvorak: The Sun-MySQL deal stinks of Larry Ellison - <AUTHOR> http://www.marketwatch.com/news/story/john-dvoraks-second-opinion-sun-mysql/story.aspx?guid=%7B88606B4A%2DA4AF%2D46FC%2D9C80%2D6B186A622456%7D&dist=hplatest

<comment><USER2> Wow, I really wish Dvorak would stop using such insane, incredible, horrifying and superfluously inappropriate superlative hyperbole.

I just ignore his stuff these days.

</comment><comment><USER3> Isn't Dvorak a self-admitted troll? It's quite obvious he either doesn't know about postgres, which means he didn't do any research for writing this article, or he does and he didn't mention it, which would mean he's trying to make his angle more legitimate than it really is.

</comment><comment><USER4> I don't know, it kind of makes sense. You guys don't have nearly enough imagination for the level of common evil and machiavellianism in the typical C-suite. And for guys at the top of the money/power pyramid, like Larry, who got there through long experience with just this sort of corporate skullduggery and drama, they'd be underperforming their shareholders if they _weren't_ doing this sort of thing.

Also remember that anyone at that level is completely insane.

Sun has, in fact, destroyed every acquisition they've ever gotten their paws on. That list he links to only goes back to 2002. The full set is a dizzying tower of failure.

</comment><comment><USER5> He's like the Andy Rooney of the tech world.

Soon he will simply complain about being old each week.

</comment><comment><USER6> My guess is that everybody will switch to Postgress or a fork of MySQL itself in no time if Sun will ruin MySQL.

Still it is not impossible that management style people at companies like Oracle and Sun are so stupid to don't realize this, or maybe it's the best they can do to mitigate the MySQL effect in the current situation, that is to continue the development in a way that makes MySQL uncomfortable in some way but still usable enough to slower the switching to other products.

</comment><comment><USER7> It's kinda odd how blatantly he contradicts himself there. He seems to think Oracle wants to buy/kill mysql, and at the same time mentions that because it's open source, it can just be forked at any moment. Meaning that Oracle couldn't possibly kill it, they could, at best, force it to change names.

If mysql were Nike, it would be worth it for a competitor to pay a billion to force a name change. But anyone who even knows what mysql is would know instantly what happened.

</comment><comment><USER8> Dvorak has outdone himself. This article has the highest ratio of fallacious arguments to sentences I've ever seen.</comment>


Daniel J. Bernstein's IM2000 email proposal is not a good idea - <AUTHOR> https://utcc.utoronto.ca/~cks/space/blog/tech/IM2000NotGoodIdea <comment><USER2> > the fundamental problem of email [is] random strangers on the Internet are > still allowed to push to you

I think that's the fundamental strength of email, and what has given it staying power. I can email a person in government or an old friend or a scientist and be reasonably certain they will read it without knowing who I am.

Email is the only tool where I still regularly have meaningful conversations with strangers. Several times a week I get emails from strangers asking for help with something they're working on and I am almost always happy to oblige them. I have built a number of meaningful relationships through these chance encounters with random strangers.

It would be all to easy on other services just to say "I don't know this person" and ignore them, as I regularly do on Facebook. With email on the other hand I always read a message before deleting it.

</comment><comment><USER3> IM2000 could've been a reasonable step in shifting costs towards those generating them, especially in the earlier-environment in which it was proposed - when bandwidth & storage were more salient bottlenecks.

Sure, there would still be a (smaller) pointer (or metadata) saved by the recipient. But such pointers/metadata might've allowed identifying certain originators/remote-stores as sources of unwanted mail, earlier, before transmission/storage elsewhere.

That, and the need for senders to provide an enduring server for the mail to be read, could've forced some of the same sender-side stability/reputation that's since become central to mail-delivery, via other mechanisms (DKIM/etc).

I'm not sure it was ever much more than a rough concept/prototype, not a complete solution. Its central idea – "reverse the responsibilities" – could still be part of an improved messaging system, even if it doesn't solve everything.

</comment><comment><USER4> Much ado about nothing. Is djb or anyone else really pushing for this today?

Email infra is unnecessarily complex and painful to operate yes, but that isn't the big problem today. If anyone wants to tackle a big problem in email space (even infra problems), they have to start with UX and justify their reasons for redesign from that.

<comment><USER5> Obviously not but I think it's helpful to explore proposed alternatives, especially by credible people, as we work towards better solutions.

Just like in academia exploring what didn't work helps us either not waste time or maybe even 'fork' the idea and attempt to fix the original flaws.

Also the bit about email lacking "revocable authorization to send you things", at least in a more decentralized and standardized way, is a good concept that could potentially be reexplored.

</comment></comment><comment><USER6> I don't understand the proposal. Why would the spammer even need to store the email on his own server. It could just be generated on demand.

<comment><USER7> Spam senders who use their own infrastructure is pretty much solvable using things like reputation score. Details varies but they generally work good enough. Hence, most spam piggybacks on other infrastructure.

At the time of IM2000, an eternity in Internet time, most of this was done using open or poorly secured relays. Reputation score worked well for that too and that spam vector is closed now. Remaining vectors are hacked infrastructure and the large cloud and free email providers. Storage cost could be relevant to escalate the problem for the latter.

</comment></comment><comment><USER8> Funny I actually went back and read the IM2000 page again yesterday when someone submitted another blog post about DKIM from the same author. I resisted mentioning it.

When I read it this time I started wondering about how the "notifications" would work. How would we tell a genuine notification for something we want to retrieve from one that is just a front for some "attention seeker"?

</comment><comment><USER9> Ahem!

* [http://jdebp.uk./Proposals/IM2000/](http://jdebp.uk./Proposals/IM2000/)

You, the Hacker News participant, are using a pull-style electronic communication system _right now_.

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

</comment><comment><USER10> "In addition, in some potential realizations of IM2000, email would become mutable in practice"

That objection is invalid, as common and widespread DKIM message signature can be pushed with other headers. Author is likely aware of this, so he inserted a qualifier "in some potential realizations". Then it follows that this is not objection to IM2000, but to an easily fixed realization flaw.

This makes the author look like he has an agenda.

</comment><comment><USER11> Has anyone proposed proof of work for email? For instance force everyone who is sending to find a nonce that will take a few seconds per email? Should work just fine for you if you're sending mail manually or to a short list, but will take ages if you're spamming millions of people.

<comment><USER12> [https://craphound.com/spamsolutions.txt](https://craphound.com/spamsolutions.txt)

Your post advocates a

( X ) technical ( X ) market-based

approach to fighting spam. Your idea will not work. Here is why it won't work. (One or more of the following may apply to your particular idea, and it may have other flaws which used to vary from state to state before a bad federal law was passed.)

( X ) Mailing lists and other legitimate email uses would be affected

( X ) Requires immediate total cooperation from everybody at once

Specifically, your plan fails to account for

( X ) Lack of centrally controlling authority for email

( X ) Public reluctance to accept weird new forms of money

and the following philosophical objections may also apply:

( X ) Ideas similar to yours are easy to come up with, yet none have ever been shown practical

( X ) Sending email should be free

Furthermore, this is what I think about you:

( X ) Sorry dude, but I don't think it would work.

<comment><USER13> Maybe I'm missing something, but none of these objections seem insurmountable.

> Mailing lists and other legitimate email uses would be affected

The receiving server could require proof-of-work for the first message from a sender to a given receiver, but not for subsequent messages. If spammers try to abuse this, it's easy for the user to click "block this sender"; if the spammer changes their sending address, they have to do a new proof-of-work.

> Requires immediate total cooperation from everybody at once

It could be introduced gradually: if a proof-of-work is provided, then the message is allowed to skip the spam filter. Small mailserver operators often have trouble with their messages being caught in spam filters by GMail and other large webmail providers; even if GMail alone started accepting proof-of- work, that would probably be enough to convince a lot of senders to start generating proofs-of-work, which would drive adoption.

> Lack of centrally controlling authority for email

This is no more difficult than any other backwards-compatible extension to an existing Internet standard.

> Public reluctance to accept weird new forms of money

OP's post didn't mention a weird new form of money. The original HashCash proof-of-work proposal included a weird new form of money, but it's easy to imagine a proof-of-work system that doesn't.

> Sending email should be free

Suppose the proof-of-work cost is calibrated such that it costs about $0.001 per email. That would be enough to destroy spammers' margins, but the vast majority of legitimate users wouldn't mind paying that.

> Ideas similar to yours are easy to come up with, yet none have ever been > shown practical

I kinda see the point here... But I'd like to understand _why_ it isn't practical, because none of the arguments make sense to me.

<comment><USER12> > The receiving server could require proof-of-work for the first message from > a sender to a given receiver,

at this point mailing lists are dead

> It could be introduced gradually: if a proof-of-work is provided, then the > message is allowed to skip the spam filter.

Yes, because that totally will not harm the small senders (often individuals) whose newsletters can easily reach thousands / tens of thousands.

> Sending email should be free

> Suppose the proof-of-work cost is calibrated such that it costs about $0.001 > per email. That would be enough to destroy

all mailing lists, yes. Look at open source mailing lists.

<comment><USER13> Suppose you have a newsletter with 10,000 subscribers. You need to perform a proof-of-work the first time you send an email to each new subscriber; so, 10,000 proofs-of-work. Each proof-of-work costs $0.001. This adds up to a grand total of ten dollars.

Or, to put it a different way: $0.001 is very roughly equivalent to a few minutes of CPU time. So if you have a single-core server dedicated to running your mailing list, you can onboard several hundred new subscribers every day.

Remember, the sender only needs to pay the proof-of-work when someone first joins the mailing list and receives the initial message. So, I don't see how this will kill mailing lists at all.

</comment></comment></comment></comment></comment><comment><USER14> I think fundamentally it seems very difficult to even send a message to someone. If you have an IM2000 server and you would like to send a message to someone on another IM2000 server: how? They would have to subscribe to your IM2000 server, but how would they know that unless you told them via... what? Not via IM2000, certainly, because that's what you're trying to figure out in the first place!

<comment><USER15> > how would they know that unless you told them via... what?

Metadata? It seems for some assumptions one cannot avoid a notion of sending at least metadata?

From the proposal: "All the receiver needs is a brief notification that a message is available."

<comment><USER16> Right. If someone did email today, you'd get a push notification with a URL to read.

<comment><USER17> Well thank God it wasn't. I love email, one of the few bastions of the old internet.

</comment></comment></comment></comment><comment><USER18> On email alternatives, there's the DIME[0] effort.

[0]: [https://darkmail.info/](https://darkmail.info/)

</comment><comment><USER19> I am not sure of the benefit of writing a critic on an ignored proposal from the late 1990s. DJB didn't modify anything going since the initial proposal had been updated little.

If course it has flaws, it was never a fully developed idea.

</comment><comment><USER20> I love how long people have been trying to fix 'broken' email.

</comment><comment><USER21> Here's the fix to e-mail: Centralization.

You can't curb abuse in a federated model. This is an issue that's been plaguing the fediverse as well. IRC networks, though not federated, have had to each individually ban spammers and other problematic users.

Google (GMail), Yahoo, Microsoft (Live/Hotmail), Yandex, QQ Mail. That ought to be enough for everyone. EDIT: and mail.ru

<comment><USER22> I don't think so. We could win so much of the spam fight by just making signed messages mandatory. Would there still be some spam? Sure. But it's better than handing over all email to a few select companies.

<comment><USER23> A lot of the spam these days is being sent via hacked computers. You'd get signed emails from individuals, only those individuals wouldn't know they are sending them.

It's the same problem with DDOS. Some providers tried to mail out letters "hey, your computer is involved in malicious things, please get it fixed", but that just lead to a lot more support requests that the ISPs can't handle. So we just accept that botnets are a thing.

<comment><USER24> It is unlikely you would know the people that had the hacked computers. So that case would be the same as no signature at all. Otherwise the spammers could just make up their own valid signatures.</comment></comment></comment></comment>


A personal air-conditioner that uses just 320 watts - <AUTHOR> https://www.techinasia.com/love-mangos-spawned-portable-air-conditioning-startup <comment><USER2> With no exhaust, where does it dispose of the heat it is supposedly removing?</comment>


Bitcoin's Underlying Incentives - <AUTHOR> http://queue.acm.org/detail.cfm?id=3168362 <comment><AUTHOR> tl;dr:

Incentives do indeed play a big role in the Bitcoin protocol. They are crucial for its security and effectively drive its daily operation. As argued here, miners go to extreme lengths to maximize their revenue and often find creative ways to do so that are sometimes at odds with the protocol.

Cryptocurrency protocols should be placed on stronger foundations of incentives. There are many areas left to improve, ranging from the very basics of mining rewards and how they interact with the consensus mechanism, through the rewards in mining pools, and all the way to the transaction fee market itself.</comment>


Treehouse Donates $3 Million Worth of Tech Education to 2,500 College Students - <AUTHOR> http://blog.teamtreehouse.com/treehouse-3-million

<comment><USER2> Neat PR - $3 million worth of tech for a cost of bandwidth/CPU resources; Not trying to undermine the value that this provides.

<comment><USER3> Not just PR but selling potential future customers using reciprocity. College students who find value in this may someday be in a position to promote it.

Considering the multitude of free resources in this area, It's a smart move.</comment></comment>


Test coverage only matters if it's at 100% - <AUTHOR> http://www.dein.fr/2019-09-06-test-coverage-only-matters-if-at-100-percent.html <comment><USER2> As someone who worked somewhere where 100% code coverage was practically required, while it does point out flaws in your testing where you may have "missed a spot." It still doesn't prove that you're testing everything. You never know if a library function you are calling beneath your code has a different path it can also follow.

> I believe the only level of test coverage that's worth it is 100% of the > lines you want to be covered.

This statement I vehemently disagree with. It seems like the kind of thing someone would hit you with as an excuse for why testing isn't useful at all because it's not perfect. I have found in my experience that simple end to end tests give me the best bang for my buck, and even a test suite that covers 80% of the code is pretty good.

To paraphrase from the Google code reviewer guide: No code is perfect, just try to make it better than it was.

100% test coverage doesn't tell you if you have race conditions, security problems, or networking issues. 100% test coverage doesn't matter much in distributed systems, where you can individually test each component to 100% but still have the system not work as a whole. 100% coverage doesn't mean you're checking that all your returned results are verified and what they should be.

> The problem with having a goal that is not 100% is that it leaves room for > interpretation and negotiation.

By handing out edicts like these, you're taking away tools like negotiation and common sense and replacing them with blanket rules. Time is a finite resource and test coverage is only one small part of testing. Going from 95% to 100% might take more time and provide less value than other kinds of testing and other concepts (like UX, or market fit, where you test that what you're building is usable and useful).

Just because you answer all the questions right on the test doesn't mean you have perfect knowledge of the situation. Thinking such is hubris and leads to errors/defects.

By excluding lines and saying only make sure you cover what you're testing you're intentionally making blind spots. Just let the coverage number be what it is. Look at your coverage reports. Check the coverage of key components.

> I think it is a perfectly fine decision to exclude some code from coverage > if the tests are too expensive to write (because of the required setup for > instance).

No, no, no, no, no x a million. This is the fallacy that if you unit test each component, then when you put it together it's perfect because each part is perfect. You still have to do integration tests and complicated setup tests. If a test takes a long time, try to make it shorter, don't try to avoid testing it. Anything you avoid testing is where bugs will nest and code will churn.

To sum up, most of the important, complicated, and hairy bugs are not found by unit testing. It is the simple bugs that are found by unit testing. These are important to get out of the way because a system with a thousand cuts can still kill you, but in no way is 100% coverage and tests passing mean anything other than 100% coverage and tests passing.

<comment><USER3> I would go farther and claim that 100% test coverage is worse than 90% test coverage. You're probably testing irrelevant stuff - which just means that you have more test code to maintain, and also likely means that your tests are bad (i.e. not testing business logic, but testing irrelevant implementation details). Last, but not least, 100% test coverage means that your code is bad/ you're not programming defensively (how exactly did you cover all those error- handling bits for cases of unexpected exceptions/ "stuff that theoretically should never happen, but in practice it might, so let's have some sensible treatment/ logging/ etc."? )

<comment><USER4> Or it could mean that you've contorted your code to make sure that you can hit every single defensive edge case, and in the process possibly introduced new bugs due to the increased complexity.

</comment></comment></comment><comment><USER5> This is totally ridiculous.

Test coverage clearly matters even if it's not 100%, as anyone who has ever worked on an older codebase knows.

As long as you're not causing coverage regressions, it is perfectly acceptable to leave untested code that "should" be tested, but hasn't been changed in years.

Test it when you change it; don't test for the sake of achieving a coverage benchmark.

<comment><USER6> And implying that there is 100% coverage just because the instruction register had all valid values is silly.

When writing test one should worry about the other registers too ...

<comment><USER7> Thank you for stating this so succinctly!

This concern has been nagging me in the back of my mind, but I hadn't convinced myself that code-coverage was insufficient (in practice) until you framed it this way.

Now all kinds of supporting examples come to mind:

\- divide-by-0 errors

\- floating-point exceptions

\- numeric underflow / overflow (both silent and signaled)

The alternative code paths exercised by these situations are generally outside the purview of code-coverage tools, because they reside in the silicon / firmware, process' default signal handlers, etc.

<comment><USER8> Mutation testing can expose weaknesses like these in your automated tests.

</comment></comment></comment></comment><comment><USER9> This is the type of article I'd expect from a junior engineer.

Test coverage matters even if it is not 100%, especially if it covers the most important use-cases. Cost and time always needs to be considered. 100% coverage may not be worth it. Coverage based on LOC is also an arbitrary metric in some sense, the author himself has examples of that. From a business POV, use-case coverage is more important.

</comment><comment><USER10> We had some mild debates at an old company on this matter (I don't think anyone was really ever pro 100% coverage, but we were under pressure to increase coverage in order to provide momentum and to emphasise that automated testing should be routine)

It resulted in a mug being made in the same style as our company mugs but with the words "Fuck Coverage" instead of the company name.

Eyebrows were raised when it was mistaken for a 'real' mug and taken in to a board meeting by a manager however..

</comment><comment><USER11> So, don't bother writing any tests unless you can test everything?

At a previous shop, we had a simple test that ensured user could log in for a while, until we created more coverage. We didn't test every aspect of the code. This simple sanity check saved us once or twice.

Should we have not written this test just because we couldn't test every conceivable piece of code?

Don't let perfect be the enemy of good...

<comment><USER12> Exactly this, plus, the entire concept of 100% coverage is hilariously wrong.

Are you covering 100% of code interactions? How much of your integration logic are you mocking? Are you covering 100% of HTML and interface logic? How much code is not in your code? What about packages and imports? It's incredibly arbitrary for no good reason except to slow development of a product that may depend on fast development for survival in trade to test for bugs that honestly, actually, may never happen. To be clear, testing is good, but you write tests to serve the code and product, not the other way around.

</comment></comment><comment><USER13> Test coverage is a very dangerous metric. IMO it will only be useful the day that we find a way to not take into account those tests that are testing implementation details. Every time that I see a high number being enforced, the end result is always a disaster: lots of poor quality tests that are only there in order to bump up that metric. Those tests are poison: they don't aim to test correctness, they make refactors/improvements a PITA, they just lock you down to a concrete implementation and they don't even give you any guarantees that your code works correctly.

<comment><USER12> Bingo, this *1000.

Your team ends up spending half their time writing painful depressing tests that are bad afterthoughts. Generally with TONS of mocks and little real meaning.

<comment><USER2> The other half of the time is spent editing the tightly coupled mocks/tests when you refactor the real code. Bad tests can be a liability, not an asset.

</comment></comment></comment><comment><USER14> The title is disingenuous. A better title would be "100% test coverage should be the goal". Though that is laughably obvious and would generate no clicks, so I can see why the author made the choice they did.

That said, if you have a single test, that better than no tests. And 90% is better than 80%. Yes, 100% is ideal, but if you let perfect be the enemy of good, than you waste time when low hanging fruit breaks.

</comment><comment> t-writescode The irony to me is that the examples he provides for things not to cover are exactly things I think should be covered. Short-circuit logic is ripe for bugs and the code that causes the short-circuit should definitely be tested!

<comment><USER15> Yes, and exceptions. Tests must tickle all the exception paths. An exception that contains a dumb typo _crashes the system_ instead of propagating up to get handled. Just touching the exception path roots those out.

      raise ValueError(' '.join('meaningful message with:', parameter)

Is a stupid mistake that I _still_ make all too often inside an exception handler.

</comment></comment><comment><USER16> \- Don't write unit tests for testing code, use them to guide your design.

While that statement is itself is somewhat questionable, it's a little better and IMO reflects the purpose of unit tests better. Usually, if I'm finding it hard to write or setup a test, that's a signal that something's off. Also, UTs are absolutely lovely when you're refactoring code - as long as code tests invariants and publicly visible behavior instead of implementation. So even if the part you're refactoring has say 60%, you'd still be in a much more confident of making changes.

Code coverage under anything other than unit tests can be very misleading - for ex I've seen places where system & integration tests are run on instrumented code (and little to no unit tests) and since a huge swathe of code will be hit (mostly happy path), there's a false sense of code quality and safety which is probably more dangerous than no tests.

Overall, "When a measure becomes a target, it ceases to be a good measure." applies most often to test coverage.

</comment><comment><USER17> The author is either crazy, or else maybe works in a very niche area where this makes sense. I work in games, and some modules are very conducive to automated testing.

Eg. complex math functions, it'd be very easy for them to be not quite right and you would never notice without tests, and also they will probably never change.

An area that would be stupid to test (with automated tests) for example, would be a UI menu.

* The test (ie. replicating a user pressing buttons via code) is probably gonna be more complex and less maintainable than the code its testing.

* If there is a bug it will be obvious in human acceptance testing.

* UI menus are gonna change drastically during development.

Anyway, I could see a misguided requirement for 100% code coverage massively hampering a project and potentially killing it.

<comment><USER2> And yet, UI menus are one of the things that always break, and break right in front of the user ("I can't click this button. This is greyed out and it shouldn't be.") Menus should definitely be tested, and I think testing them in an automated way is fine. Without a working UI, you have no control.

You can even do model based testing.

For example, you're testing a word processor. You know that your state is no document. Then you click the open file button. Press some other buttons, and knowing what button it is, you should expect some change.

That being said, usually you can "press" the buttons virtually, for example sending window messages or calling the same functions as the buttons wire up to, rather than knowing the pixel layout.

People have been doing these things for years.

<comment><USER17> Your sort of reiterating my point.

I know UI stuff breaks a lot, but my point is that when it does break, _its obvious_. Bugs should be easily caught in human acceptance testing.

Also an automated test UI is never going to be the same as a human test, a lot of UI bugs can result from the vagaries of various physical devices touchscreens / gamepads / motion controls etc.

Also anything that tests such high level functionality is going to be very complicated and touch many parts of your code, it will probably be more complicated and less maintainable than the code its testing, which defeats the purpose imo, do you want to write tests for your tests?

UI stuff tends to change radically over development, so you'd be more than doubling your work with all the testcode youd have to write.

and it would still never replicate an actual human running the actual game, you absolutely are still going to be doing human acceptance tests + the closer you try and get automated tests to that the more complex and less maintainable they get.

</comment></comment></comment><comment><USER15> 100% of what? Oh... line coverage, in Python.

Well, with Python, the compiler doesn't do type checking, so 100% coverage (or close) is very important. One of his cases of "what do you not need to check" is error-handling. Yet, having something in production that should raise an exception that gets handled versus having the exception blow up and crash the system is a critical system stability defect. And in fact, in my personal code, since I tend to try to create exception messages that are as specific as possible, I must admit with chagrin that screwing up a ''.join() to create the exception message is one of my most common errors. I at least touch-test my exception code, without exception.

And then... line coverage? Oh my, that is just the beginning. I pretty much always use the hypothesis package so that everything get exercised with a large variety of inputs. Inputs that I didn't have to think up, and avoid my pre-existing biases of what might get thrown at the function.

Line coverage does do much to really ensure that you have reached "interesting conditions". I wish Python had a good tool for that kind of instrumentation. Line coverage is really only a "touch-test" and mainly useful as a check-in gate, not as production testing.

<comment><USER7> > Well, with Python, the compiler doesn't do type checking, so 100% coverage > (or close) is very important.

Intuitively I agree with you: In my personal experience, the more dynamically typed a language is, the more unpleasant surprises I get at runtime.

Some years ago I did a project in MLTON [0], and I was delighted by how many bugs were caught at compile that that, in other languages, would likely go unnoticed until runtime.

[0] [http://www.mlton.org/](http://www.mlton.org/)

</comment></comment><comment><USER18> For me the absence of coverage, or low coverage, is a useful piece of information. It's not the whole story but it is a smell, and it should be taken into consideration with the other smells/signals

Conversely perfect or high coverage is not a positive signal _per se_ , but rather just the absence of a negative signal

</comment><comment><USER19> Edgy, but wrong.

Is there a difference between 79.9% and 80%? Maybe not. My team is increasing test coverage for a legacy code base. 60% to 80% DOES matter. And it's not just the fact that the tests flags regression, but the very process of increasing test coverage uncovers bugs / dead code.

</comment><comment><USER20> There's an insight here I haven't seen elsewhere. Everyone but the most blind ideologue knows 100% test coverage isn't a good use of your time. But it's hard to care about increasing coverage from 89% to 90%, or to feel justified in objecting during a code review because the change under review would decrease coverage from 90% to 89%.

The solution to this dilemma is to make it easy to mark code as "OK not to be tested". It's annoying to have test annotations in code, but I'd expect mostly entire modules will be exempted, so it's not that big a deal. And this way, the coder has to either write tests or make a specific decision not to.

</comment><comment><USER21> > With this setup, test coverage will be at 100% even though we did not test > the case where the toaster is not plugged because it is too simple. Writing > a test for this "functionality" would not be worth it. Therefore we > explicitly exclude it from coverage. You should revisit this decision if it > becomes more complex and needs to be tested.

This is ridiculous. He writes unreachable code and says he doesn't test it because it's "too simple". No, you're not testing it because you can't test it, because it's code that will NEVER run. Instead of deleting the pointless code he marks it as not needing test coverage.

</comment><comment><USER22> Not my experience at all... Tests need to be intelligently written for the project at hand, which sometimes means testing something to freeze the API, writing tests for small functions that are easier to test in a suite than anywhere else, and especially catching a problem where your program keeps failing, like testing with an older version of a library or runtime, or even testing something that you know could be fragile.

</comment><comment><USER23> Seems like the Intelligent Design nuts arguing "what good is half an eye?". Well, it's half as good as a full eye, a lot better than no eye.

</comment><comment><USER24> I think what really matters is that your test coverage percentage increases over time and never goes down. A goal of 100% might be ideal, but is rarely realistic.

</comment><comment><USER25> This is such bad advice that's so well written I can only assume the author is trolling HN-types with it.

I'm serious. I think we're being trolled here everyone.

</comment><comment><USER26>
        Some lines of code should be tested twice to ensure they're correct.

Translation: "100% coverage" is a vanity metric

</comment><comment><USER8> Not only that, you should subject your automated tests to mutation testing. No link coz wikipedia seems to be down for me.

</comment><comment><USER27> Given unlimited time, money and importance of the code in question - go for 100% coverage. Otherwise, probably not.

</comment><comment><USER28> 100% coverage only ensures that you've looked at everything twice. Nothing more, nothing less.

</comment><comment><USER29> There is actual empirical evidence that this is false.

<comment><USER30> Feels like you didn't the read the (whole) article.

The author makes a good point -- everything should either be covered by tested or _explicitly marked as excluded_. Having a gray area of code that is included but not covered by tests is a recipe for missing something. That much seems obvious.

<comment><USER31> Seems like 50% coverage is better than 0% coverage and 75% coverage is better than 50% coverage.

The author argues about the horrors of going from 80% to 79.9%, but I don't see how that is any different from the suggestion to explicitly exclude code. The excluded code is still in the gray area of code that is included but not covered by tests. What happens when someone starts making breaking changes to excluded code?

<comment><USER32> > What happens when someone starts making breaking changes to excluded code?

You... don't. You un-exclude it first, and then, because of the rule, you're not allowed to commit the code until you write the tests that bring it back up to 100% coverage. _Then_ you make breaking changes.

<comment><USER31> I'm not following the benefit of excluding code in the first place. Your method seems like more work, more error prone, and more likely to leave unintended gaps in coverage.</comment></comment></comment></comment></comment>


The Best Products Designs of 2007 - <AUTHOR> http://www.businessweek.com/magazine/content/07_31/b4044401.htm

<comment><USER2> I wish they would stop trying to make me watch slideshows. Just give me everything on a web page.

<comment><USER3> Right. A web page with a scrollbar is the best format for a "slideshow" when it comes to giving control to the user. That's how you view groups of photos on ourdoings.com. Autoplay slideshows have uses, but they shouldn't be the default way to view a group of photos.</comment></comment>


Re-thinking open source license? - <AUTHOR> 1. there are more and more discussions about open source license, one major one is whether cloud providers can just use the open source software to get tons of money without paying to the main contributor.
2. recently another interesting thing is many chinese engineers are proposing a license to not allow companies that force engineers to work long hours over time (this is happening a lot in China) to use the open source softwares https://github.com/996icu/996.ICU/blob/master/LICENSE
I feel there are something common  behind these things
is it a time to re-thinking open source license? <comment><USER2> Rethink what? If you release something under an Open Source license per the OSD, then yes, cloud providers can use it to make money, as can anybody else. Field of Use restrictions, etc., are explicitly dis-allowed by the OSD, because allowing that sort of thing opens up all sorts of crazy rabbit-holes that nobody wants to go down.

If someone has code they want to release under a license that prohibits those things, that is great. They are totally free to do that... it's just not Open Source. It can be "Source Available" or "Shared Source" or "Fauxpen Source" or whatever they want to call it. That's fine, there's room for all sorts of licensing models in the world we live in.</comment>


Show HN: LivGiv - Be more than a Face in a Book - <AUTHOR> http://livgiv.com/ The time has come for us to move for greener pastures yet again. Our species migrated from Friendster to MySpace in 2003 and then to Facebook in 2005. Well, in 2009, Facebook turned to the Dark Side under the influence of Microsoft while locked in an epic war with Google. Many are still in denial and are suffering from Like Syndrome. The future of our species is at stake and Earth is getting hot and bothered about it too. LivGiv exists to restore sanity back to the Web and give power back to the biosphere. <comment><USER2> This feels like a joke. "Transcending Facebook", "World Web War III", crap about cosmos and buzzwords.

Actually, I'm quite sure it is a joke. And yet, I can't help but fear that it isn't.

<comment><AUTHOR> Sorry you feel that way. The real joke is that our species is devolving and on the verge of collapse within a relatively small time frame, instead of reaching the stars that light the universe.

<comment><USER3> Humans are pretty flawed. Maybe it should be the dolphins that go out into the universe.

<comment><AUTHOR> humans are incredibly gifted too. we can transcend our flaws, if we reach for the stars like da Vinci advised us too.* Our modern discontent is rooted in denial of our place in the universe...

"Fix your course to a star." - Leonardo da Vinci

<comment><USER2> May I ask what recreational drugs you use, and where I can acquire said drugs?

<comment><AUTHOR> I ask a lot of questions and read a lot of books. I stay high off life. Never tried anything else...

"If you don't work on important problems, it's unlikely that you'll do important work" - Dr. Richard Hamming, a pioneer of communications theory.

</comment></comment></comment></comment></comment></comment><comment><USER4> A few days ago I imagined a decentralised, p2p social platform which would be a framework for writing all kinds of social apps. It would handle friendlists, message passing in real time between peers, permissions, authentication, encryption, etc etc.

This way, you could write, say, a Twitter client, that would push your updates to all your subscribers' servers. This way, you could write most social apps. The only functionality you couldn't get is knowing what everybody in the social network is doing (suggesting friends, etc), which isn't really that crucial.

This way, you could share photos/videos/media, your location (with different, configurable granularities to each friend), your statuses, etc, without _anyone_ knowing about it without your permission.

The closest I've found to this is diaspora, which looks really promising. I emailed them about turning their design into an extensible platform so this design could be implemented, but they didn't reply. I really think that would change the web and our lives, though...

</comment><comment><USER5> It's like Time Cube if it were a social network

<comment><AUTHOR> nicely put. Some stars exploded to birth our Sun, the planets around it, and all organisms on the planets...wouldn't it just make logical and intuitive sense to reach for the stars. It's almost like humanity is looking for it's true parents.

</comment></comment><comment><USER6> Oh man that front page is a big JPG (and JPG is used throughout) A different encoding (e.g PNG) even if it means a larger file size would increase the aesthetics of the site greatly! Edit: Wow reading some of these pages, this products looks too profound to be usable.

<comment><AUTHOR> Thanks for the feedback. I'm slimming down the home page jpg for a faster load time. Designing for the future is why we humans made it even this far...

<comment><USER7> Can't it just be text? Why would you want it to be an image?

</comment></comment></comment><comment><USER8> Liked the front page, then clicked around and realized you were way more serious than I thought. This site (which isn't available yet) comes with a lot of philosophical baggage. Show, don't tell.

<comment><AUTHOR> Thank you for the feedback. TechCrunch Disrupt and Ecomagination is where we plan to do all the showing.

</comment></comment><comment><USER9> If they plan on taking on FB, they should at least hire a graphic designer, to begin with. Cutting all the BS hype would probably help as well.

<comment><AUTHOR> Slimmed down the home page image for faster load time. Thanks for the feedback.</comment></comment>


Ask HN: So, I made a Mac app, and it's in the store... - <AUTHOR>

Hey, gang; My first-ever Mac app has just hit the App Store. It's a silly little thing that just makes your computer play a sound effect of your choice when you close the lid (and a different one when you open it). I made it to scratch an itch and learn a bit more about Cocoa.
So, two things here:
1. I'd love to share — if anyone would like a promo copy, I'd be happy to give away a few codes. Message @lidpopapp on Twitter.
2. Does anyone have any ideas on how I can possibly promote it? I'm not good at this stuff, and any ideas would be greatly appreciated.
Wish me luck! <comment><USER2> There's a price on something that makes noises on open and close? There's a price on your first program? I'm not saying never, I've seen first apps worth paying for, but are you sure you want to charge?

What's it called?

<comment><AUTHOR> It's not my first program, it's my first Mac app.

<http://shinyplasticbag.com/lidpop></comment></comment>


Sales for Hackers - <AUTHOR> https://stormpath.com/blog/sales-for-hackers <comment><USER2> As a techie , I dreaded making sales calls. I hated my accent, I hated my voice and I dreaded being rejected.

Then recently someone on HN mentioned this book "Go For No" by Richard Fenton and Andrea Waltz. I have it on my kindle and it changed my attitude towards sales. I have yet to get traction with my bootstrap but I am learning more with each conversation. Rejection is so much more informative than A/B testing you web page.

<comment><USER3> I read the same book after it was mentioned here on HN. Definitely worth a read and isn't particularly long either.

</comment></comment><comment><USER4> This is the single best piece of advice I've ever seen on HN, apart from this bit about love: [https://news.ycombinator.com/item?id=617915](https://news.ycombinator.com/item?id=617915)

Your time is your most valuable commodity and you will have less as you get older. Don't waste it on unqualified leads, ever.

</comment><comment><USER5> Personally, I'm very strong on the social networking side. And I love the engineering side, too. Part of the attraction to consulting for me is in meeting and getting to know new people. Especially, C-level. I've always done best reporting to or working directly with senior management or owners.

Spending too much time in one can leave the other feeling under-utilized. I'm guessing I'll end up needing to have engineers on contract and have 70:30 business dev to engineering ratio or something. I'm not sure but that ratio seems about right given how much time the social networking side needs to keep money coming in consistently.

Plus, there's the downtime needed to make the mental switch from one to the other. Or maybe just contract out all the work and do my various hobby projects on the side to satisfy the engineer in me.

Edit: Cold Calling: Things I learned in a non-tech venture.

Visualizations, and rehearsals (mental and physical) of each step of the calling process were very, very helpful. One click dialing straight off a spreadsheet of cold contacts made things easier, too.

After getting through the first 100 or so numbers dialing started to give me a rush. Fear was starting to be replaced by excitement. Very curious experience.

One other thing. I was told to expect, and found, roughly speaking, half of the numbers I dialed on an industry specific list of small to medium sized companies, no one answered. Another quarter were busy or couldn't talk and it really had nothing to do with me.

These numbers held across a few different industries. Since I was rather likely to NOT reach someone for a conversation I found it much easier to dial.

</comment><comment><USER6> This is a great lesson from the article: "Prioritize the opportunities that are furthest along, biggest, and most likely to close. If you do that, you'll manage your pipeline most efficiently." -> the best way to learn how to prioritize is to fill your pipeline with more sales leads than you can handle. Nothing like a 14 hour workday in sales teaches you about how a good lead for your business looks like. You can't give every sales lead an equal chance. It's basic sales triage: don't concentrate on leads who you'll win anyway or who you can never win, focus your most work on leads who need your expertise to make a decision (for you).

</comment><comment><USER7> Hi folks. Author here. Happy to answer any questions if you like.

<comment><USER8> I follow up but never a response. Do you think its good to bug them following up more and more?

<comment><USER7> If you're following up and are not getting a response then set a limit to the number of times you'll try again. I personally do 3 follow-up email over the course of a 3-6 weeks. On the last email, I let them know it'll be the last time I follow-up and let them know how they can reach me if they'd like to talk in the future.

If you just keep following up and never stop, you'll likely annoy someone who is probably not interested in what you're selling and you'll likely get spam filtered.

Sometimes we just have to take the hint :)

<comment><USER9> One other spin on the follow up comes in timing and content: Follow up after 2 days, 7 days, 2 weeks, 3 months, and annually. This increasing time frame rarely is found to be annoying and is an effective way to keep in front of them. Also try and send a new set of content after 2 contacts.

</comment></comment></comment></comment><comment><USER10> We are 3 months old startup, have ipad and tablet apps in developement, zero experience in sales, our developers are freshers except me with 10 years exp in coding. We thought of trying to get some customers and strangers feedback about our product and their interest before launching the apps on app store. When we mail the prospect about our product, they don't even reply, it may be discarded.

We then tried showing up some data about prospects in our app, attached android, ipad images, at least they could say that they are not interested at this time, or they may decide and let us know sooner. Some of them pick our call, clarify their understanding about apps. Some of them are going ahead and asked for price, how to get the apps working on their mobile device.

For each prospect, our sales rep has to spend a lot of time preparing the data that is relevant to our potential prospect, to send the screen shots.

This article is very good to target high potential prospect who can give us good business even if we spend a 2-3 days to prepare the data for them. Since we lack in sales, we don't know the best way to get this done. For each prospect we have to spend a lot of time, if they are not interested, we are losing our time.

</comment><comment><USER11> One point to note is that you don't necessarily need to explicitly ask their budget, you can ask questions about the size of their operation instead. eg. For an IT sale, ask about number of employees in the IT department, number of desktops serviced, tech refresh cycle frequency, server numbers, etc... You can then get a gauge on what their true overall budget is without having to ask for it - as that will possibly be lowballed. A 100 man department with 10000+ desktops to support can probably afford a 6-digit equipment sale, whereas a 10 man dept. with only a hundred users will perhaps be looking at low 5-digits spare on their budget.

Similar applies to the authority question. The larger the department/company, the less likely that a huge sale will be authorised by just one individual. Although the contrary can also sometimes be true in this case - very small/new companies may have the directors signing off on all the major purchases.

</comment><comment><USER12> Really great advice. All of the points made in this article can be distilled into one maxim - LISTEN. If you actually listen to your customer instead of trying to "sell" your product the conversation will naturally lead into discussions of budget, time frame, objections, etc.

The biggest mistake I've made with sales is getting nervous and talking too much. Ask open-ended questions and let the prospect do the rest.

Can't stress getting to the top quickly enough. It's so rare for a sale to close from the bottom-up in my personal experience.

<comment><USER13> I have a counter to the emphasis of getting to the top. I used to work for a much larger company (definitely "enterprise") and as a product manager I was often the decider of a vendor to use. There were times where the vendors' sales teams wanted to make an end-run and get to someone on the upper management/executive level to influence the decision.

If anything, that became more of a negative because it meant that I had to spend more time managing those conversations rather than analyzing the fit for their product.

I would change "getting to the top quickly" to "identifying the decision maker and getting to them quickly".

</comment></comment><comment><USER14> I liked the article, the standard book on the subject is:

[http://www.amazon.com/Influence-Psychology-Persuasion- Busine...](http://www.amazon.com/Influence-Psychology-Persuasion-Business- Essentials/dp/006124189X/ref=sr_1_sc_1?ie=UTF8&qid=1394591078&sr=8-1-spell&keywords=invluence)

I know there are some techniques I use from the book that helped me significantly.

</comment><comment><USER15> I'm sorry, but my inner hacker just has to mention this: There's a syntax error in your BANT script - one closing paranthesis missing at "(match(features, needs)". But the article overall is great!

if ( (budget >= price) AND (Authority.isInvolved()) AND _(match(features, needs)_ AND (timeframe == now)) {

       proceed();

     } else {

       quit();

     }

<comment><USER16> btw there's a syntax error in your markdown.

</comment></comment><comment><USER17> Great post! As a sales guy (non-hacker), I think this post properly lays a foundation for technical founders and hackers to begin the sales process from MVP to first sales-hire. Like the author, I'm open to offering any tips/advice to help you make progress in your efforts.

Best of luck to all.

</comment><comment><USER18> Reading this was incredibly difficult because the letter F didn't show up in any words for some reason. Arch Linux + Firefox Aurora.

</comment><comment><USER19> I agree on the content, but disagree on the form of some of the points.

Example:

Budget:

Validate leads. Yes, of course. However, I don't like that asking someone how much they're willing to spend. Not under this form, at least.

This information is none of anyone's business than the prospect (speaking as a prospect). However, it's an important information, so the salesman needs to adapt to _get_ that information. He might not _ask_ for it, but needs to get it.

Some cues on the means of the prospect can be visible, but this can be deceiving. Bling bling people often are broke overcompensating folks.

Conversation fu can also be used indirectly to get the information, but the prospect can be good at that and drop just the right amount of hints to convey he can afford it..

Authority:

Speaking to the right person. Yes. However, this is done on two sides: Convincing the pockets, using the daughter as leverage.

Asking the father "Besides yourself, who else is involved with the purchase" isn't, in my opinion, the right form.

Because it's like asking a man "Is your wife grabbing your ___? ". A man will never admit someone else holds the power. Those who do, the "I won't lie to you, she's the boss.." are way beyond the point of no return, but at least, they're at peace and you can go for it.

But with those who won't admit to that, you need to be careful not to scratch the ego. The problem isn't the fact he has no power inspite him being the earner, the problem is that you mustn't know. So you always make it seem it's his decision, and won't acknowledge the fact the wife or the daughter chose. He must feel good about the decision he -someone else- made.

With this, too, observation is key. You see a man with his daughter and wife, and you know. You see how they interact, and you see who's a daddy girl or a bossy wife, who's a wimp and who's dominating and who'se _domineering. These are all subtleties one observes.

Needs: Agree. How about a Cayenne ? It's fast, it's German, it's luxurious (a Porsche, after all) and it's got 4 doors. You drop the kids, and pick-up a young lady a two minutes later.

Handling objections is of paramount importance (Sometimes triggering them helps, too. I know it may sound weird, but triggering an objection on a point early on when the objection doesn't really matter (because there's no action tied to it at _that_ time) is useful for when you go over that point later because the objection was already triggered earlier (or about another, less important point)).

I haven't sold a $100M for anyone, but let's say I have a slight knack for enabling people to do what they really want to do, but didn't find a way to.

</comment><comment><USER20> as a developer, how can I target the enterprise market, namely ERP, CRM type of software? I wouldn't mind creating one from scratch or based on some open source software and delivering that.</comment>