Denmark confirms US sent rendition flight for Snowden - <AUTHOR> http://www.thelocal.dk/20160205/denmark-confirms-us-sent-rendition-flight-for-snowden <comment><USER3> Can a US citizen explain what seems to me tobe a dissonance, between the government putting huge efforts and resource in trying to arrest a citizen speaking out against the government doing illegal spying on its own people (an almost no reaction from other citizens), and people defending the right to bear weapons to protect themselves from the government turning into a dictatorship?

<comment><USER4> Well part of it is pretty simple. He stole, as in removed classified information without permission from a secure facility and disseminated millions of pages of classified information to non-approved parties (everyone in the world). If it were legal to remove classified information without permission, because you felt entitled to, then that could be a legal defense. But it's clearly not, so he sought political asylum in Russia. If however, there was a directive from the President or office of legal counsel to shut down the program and if NSA had kept it running, him exposing an illegal program could be a legal defense - had he gone through the appropriate channels. But there was nothing illegal about it at the time. So he committed the crime, not NSA...

<comment><USER5> To add to your comment, he took an enormous amount of data. It was sweeping and pretty indiscriminate. And he gave it to the media.

Some of what he took and shared could be legitimately argued as whistle blowing but there's lots of other classified data about legitimate programs that was taken as well.

<comment><USER6> Can you give an example?

<comment><USER7> Listening in on Merkel's phone calls. Yes, an ally of the US but allies spy on each other all the time and have and will for all time. Was it illegal? That's a hard no. Was it immoral? That's an interesting debate.

Edit: Though I did appreciate her Captain Renault impression about being so terribly shocked that as head of state she was a target for espionage.

<comment><USER8> > Was it illegal? That's a hard no.

It was illegal under German law. Should we ignore the laws of our close allies?

<comment><USER9> Whether or not we should, it later came out that they were doing the same to us.

<comment><USER7> If I were a German taxpayer and the BND weren't spying on the US I would want a refund.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> This revelation seems me to be a calculated political move. The government at the time was the leftist one led by Helle Thorning Schmidt (now the president of Save the Children). Current government is a right-wing one. Revealing this shows certain groups of traditional leftists how those traditional workers' parties have "betrayed" them (and this leftist government has been quite pragmatic; just recently the leftist opposition parties voting to approve the infamous sufficiency proposal -- i.e. the one where if you're carrying significant amounts of cash and try to seek political asylum you get to pay for it yourself first).

You can read that in what the foreign policy spokeperson of the party says: "It is to me unbelievable the that S-SF-R government of that time would prefer to join the hunt on Snowden and thus value the American government over the Danes' fundamental right to freedom" (see [http://www.politiko.dk/nyheder/pind-fly-i-kastrup-skulle- tra...](http://www.politiko.dk/nyheder/pind-fly-i-kastrup-skulle-transportere- snowden-til-usa))

</comment><comment><USER11> > "He is sought for a series of legal violations; that's what he is. And the > US is a democratic constitutional state," he added.

Looks like this guy never heard of Guantanamo or the other secret camps the US keeps around the globe. It's beautiful to be naive.

<comment><USER12> His former boss and predecessor Anders Fogh Rasmussen was Bush's biggest supporter and ditto on the Iraq War.

He has a vested interest in ignorance of the past—so much so that he shut down the investigative committee for the very same war as one of the first things when he won the election last year.

</comment></comment><comment><USER13> At least this story gets it right that it was the DOJ's flight, not CIA's.

<comment><USER14> That really does make a big difference to me. Capturing an escaping fugitive really is their domain, assuming they operated with permission of the governments over which they flew.

<comment><USER13> The DOJ cannot in fact lawfully fly into other countries to capture escaping fugitives! If Snowden is in Denmark, they need the cooperation of the government of Denmark to take custody of him.

<comment><USER14> Since Danish agents were present when the plane touched down in Copenhagen, couldn't they just detain him awaiting extradition?

It's very clear Denmark was onboard given the article.

<comment><USER13> Yes, they can definitely do that.

<comment><USER14> tptacek, you have a J.D, correct? I would love to chat about your experiences in law/tech, if we could exchange info.

<comment><USER13> Eek, lord no. People on HN to talk to about that: 'rayiner, 'tzs, 'DannyBee, 'pdabbadabba, 'grellas, 'dctoedt.

('tzs has a JD and _isn 't_ a lawyer, which I think is interesting. Also, he wrote my all-time favorite HN comment: [https://news.ycombinator.com/item?id=6228350](https://news.ycombinator.com/item?id=6228350))

<comment><USER14> Oh, that's interesting. Very impressive. My apologies for the misunderstanding :) I've seen far far worse legal understanding reviewing the writing of first and second year associates as a paralegal, in a previous job.

I do monitor the few comments of a few (especially rayiner and grellas.) I'm quickly learning that when they make legal arguments it's best to shut up and let them educate me.

Also, I've interestingly met a few people with JDs who go into finance, management, engineers as patent attorneys, and even one who went into high- risk bail bonds.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER15> Doesn't international law/Danish law require an extradition process or is kidnapping for political purposes not a crime?

<comment><USER16> International Law is concent based, meaning, it's more a guideline than a law. Sovereignty, at the state level, still reigns supreme. Until states voluntarily bind themselves this will be the case. Here in the U.S. of A. most folks misunderstand the term "state" to mean a political unit that is subservient to the federal level of government. This is only true for certain areas of law, and it is only true because the states bound themselves by voluntarily ratifying the constitution (well, enough of them ratified it and a few went along for the ride). Most folks here are unaware that each state is, politically speaking, still as sovereign as Germany or China. Arkansas = Australia. New York = Bolivia. Texas = France (except, Texas is bigger than France). So, no, between two states, unless there is a binding, not concent based, agreement between the parties, and even then it's fairly common to break these agreements and settle the outcome in court, well states can do pretty much whatever they want. And they do.

Edit: On the subtle points being missed or misunderstood by the replies so far, maybe do some research before sounding off. I've a B.S. in Political Science and am married to a person currently working on their dissertation for their Political Theory Ph.D. whose advisor is ranked above Foucault for the most influential political theorists, and I was able to double check my claims as correct simply by reading some Wikipedia.

<comment><USER17> Your comments about US states may have been true prior to the civil war, but certainly have been true since then.

<comment><USER16> is that an assertion? based on your say so? or was there some reasoning behind that statement, that you'd like to share?

</comment></comment></comment></comment><comment><USER18> _The revelation that the US landed a private aircraft in Copenhagen_

Who owned the plane?

<comment><USER19> It might be a English translation of a Danish way of saying "business jet". Talking about the type of plane. As opposed to bigger commercial jets. E.g. a Gulfstream V is a business jet often used by business people. Even when used or owned by government, some people might keep calling it a "privatfly" \- private plane.

<comment><USER20> Thats exactly what it is (Danish here)

</comment></comment></comment><comment><USER21> Seeing a lot of people asking broader things about Snowden here, the main perspective to have on this is from Eben Moglen: [http://snowdenandthefuture.info](http://snowdenandthefuture.info)

cheers

</comment><comment><USER22> Looks like this has turned into a hot topic as more details have evolved. To my mind, this all seems to be a bit of an academic side-show, given how long ago these events were.

What should probably be of concern is that Assange is talking about leaving the Ecuadorean embassy in the UK AND the UK police have taken a much lower key approach recently, removing officers from outside etc.

Has Assange not considered the risk that, given how friendly the UK was to these flights [landing, refueling at Glasgow Airport for example], the flight is probably sitting waiting at Heathrow right now?

If he steps out, he's more likely to be confronted by US agents, possibly posing as UK police, who will detain him and whisk him off to the waiting plane ? The convenient absence of real UK officers will allow for a daylight snatch by the US and bypass the Sweden issue completely.

<comment><USER23> Are you talking about Assange? The article is about Snowden.

<comment><USER24> I think the underlying issue is about rendition flights - so it's relevant to Snowden for historical purposes but is relevant for Assange (another target) for very current reasons today following the UN decision on arbitrary detention.

The original comment therefor seems pretty valid.

Are you saying you don't think it is a valid comment dealing with the underlying issue because it's not restricted to purely Snowden?

</comment></comment></comment><comment><USER25> Side Bar: Why do all the articles about the "jewelry law" have quotes around the phrase "jewelry law"? For example: "Denmark faces backlash over 'despicable' 'jewellery law'"

<comment><USER26> Because it's not officially called that. The law itself is about confiscating valuables from people who enter the country seeking protection, and it's been dubbed the "jewelry law" by media to make it easier for people to imagine what its effect will be (stealing people's jewelry as they enter).

<comment><USER20> They are not stealing peoples jewelries not sure where you got that from.

This is exactly the kind of unfortunate misconceptions about that law and it requires context to understand what the point of it is.

Denmark is one of the countries who both take most and provide the most social benefits to immigrants and asylum seekers.

There is almost no difference what a citizen and an asylum seeker/immigrant gets in social welfare from the government. They have access to free healthcare, free education, free housing and so on.

Denmark is one of the countries who accept the most too.

A system like that requires a lot taxation to even be possible and so Denmark is one of the most highly taxed countries in the world.

What the law is attempting to make sure is that immigrants or asylums seekers who come to Denmark and ask for the government to provide all these things to them don't have any wealth. I.e. before the danish government starts giving you access to the social welfare system you need to have spent your own wealth first.

This is the same way they treat their own citizen btw.

And on top of that. This is something that Germany, Holland and Switzherland is already doing. The law is much bigger than that and holds all sorts of adjustments to deal with the underlying system. Someone just managed to polemically pick some of this up and interpret it in a way that made it sound like they where literally pulling gold teeth out of peoples mouth.

They aren't taking any of affectional value either.

So no they are not steal peoples jewelry as they enter.

<comment><USER27> The contention is whether the valuables are being traded voluntarily for welfare, or whether they are being taken by force (i.e. _stealing_ ). Presumably Danish citizens can choose whether to claim welfare or not.

Also, while a normal person might suppose that all jewellery must be of "affectional value", I doubt the Danish state sees it the same way.

<comment><USER20> The law was never intentioned at taking jewelry or taking it by force. The law was intended to make sure that you didn't have people showing up with lots of valuables and collecting money from the system. Again the Danish system is extremely giving. And lets put something in context here. People traveling through several countries to get to Denmark seeking asylum do have a choice. Many of them are men and left their family behind btw.

And yes the Danish state sees it that ways since it's explicitly in the law.

The whole thing is much to do about nothing. A bunch of danish people venting their political opinions about danish domestic policy in international media.

That is their right but this leaves a lot of room for gross simplifications and lack of context when discussing the law.

This started with people claiming the government would take peoples wedding rings which is ironic since wedding rings is mostly a western tradition and muslims aren't even allowed to wear gold wedding rings.

This is just one example of how absurd the whole discussion is and the level of manipulation that have gone into framing Denmark as an especially bad nation.

The fact still remains that Denmark is one of the countries that gives most of it's GPD to immigration and refugees, one of the few countries who live up to the goals set by the UN on how much a nation should be spending on aid.

It's beyond any rational claims to portray Denmark the way it's being done right now. At the end of the day though it will mean absolutely nothing.

This is a much bigger discussion than some anal focus on some minute part of that law.

<comment> k-mcgrady >> "The law was intended...|

The intention of a law and how it enforced can be quite different. This law could be abused, I think that's the issue.

>> "People traveling through several countries to get to Denmark seeking asylum do have a choice. Many of them are men and left their family behind btw."

There's a reason the men are leaving their families behind. Travelling across Europe can be very dangerous - I'm sure some of the men who lost children to drowning off the coast of Greece wish they'd left their families behind. The men take the dangerous journey, get some shelter for their family in a new country, and then move the family there safely. Not all asylum seekers have had their homes destroyed/are at immediate risk of being killed. You would typically start trying to get out before your city is being bombed so it makes sense to leave your family in relative safety where they have shelter/food/a community to help them.

>> "muslims aren't even allowed to wear gold wedding rings."

Not all people seeking asylum in Europe at the minute are Muslim.

<comment><USER20> Denmark have no history of treating it's refugees or asylum seekers that way. They are just doing what Germany, Holland and Switzcherland is already doing. And you should turn it on it's head. The law was made to make sure people don't misuse the danish wellfare system. It's the same rule that apply to it's own citizens.

It is estimated that more than half of the refugees are economic immigrants/refugees not actually refugees. Sweeden is sending back up to 80.000 for exactly that reason. They aren't in any danger.

Claiming that it can be dangerous traveling across Europe is so absurd I don't even know what to say. Is it more dangerous than what they escaped? If thats the case why travel to Denmark? You are contradicting yourself.

Most people who seek asylum are actually muslims so yes.

</comment></comment></comment></comment></comment></comment></comment><comment><USER28> Bringing him back the US would be extradition, not rendition. Rendition means sending him someplace away from American courts to be [interrogated harshly].

<comment><USER29> So... wouldn't this be a rendition from Denmark to USA (where he would be - <USER2> doubt - interrogated harshly)?

<comment><USER28> Interrogated over what? He's publicly confessed repeatedly to what he's done. AQ subjects were tortured because the administration believed at the time they could find out about upcoming plots. Snowden has already done his business, boasted about it and fled the nation. If he ever set foot in the US he'd be very easily convicted by due process without needing to answer a single question.

<comment><USER30> Perhaps _pour encourager les autres_.

<comment><USER31> I'm sure he will get some ridiculous 2,000 year prison sentence, no need to torture him to make the point.

<comment><USER32> Manning has been tortured. As a member of the army I suppose there are some differences but it's not so difficult to think that the same could happen.

<comment><USER33> Manning was convicted of espionage, imprisoned, and put into solitary confinement under the legal authority of UCMJ. Unfortunately, this is all legal, backed by the popular view that sentencing should be punitive and serve as a deterrent. Think of all the people in solitary confinement who, unlike Manning, were never in the public eye.

<comment><USER32> Manning was:

imprisoned in solitary confinement, barred from exercising even in his cell, under constant surveillance, without pillows or sheets,

all this, before the trial.

[http://www.salon.com/2010/12/15/manning_3/](http://www.salon.com/2010/12/15/manning_3/)

[http://www.mintpressnews.com/chelsea-manning-chronicles- her-...](http://www.mintpressnews.com/chelsea-manning-chronicles-her- incarceration-140-characters-at-a-time/204554/)

I agree with you about all the other people in solitary confinement.</comment></comment></comment></comment></comment></comment></comment></comment>


Ask YC: How do you project web traffic? - <AUTHOR>

As I raise funding for my startup, investors want to see pro forma financial projections. I think I can estimate our expenses fairly well for a year or two, and some of our revenue assumptions (e.g. subscription cost, ad CPMs). But our revenue depends on two unpredictable things:
-- traffic -- conversion rates
This is crystal ball territory, and everyone knows it. But we still need to make claims and substantiate them.
Has anyone seen a good model for estimating traffic based on assumptions? Any insight into what to give our investors? <comment><USER2> You can't predict traffic up or down meaning your conservative estimates might be 10X high or low.

Conversation rates depend on a whole bunch of parameters like the content of your site, traffic, etc. I have seen conversion rates as high as 5-15% and as low as .5%.

Take a look at Powerset's growth modeling: [http://www.blognewcomb.com/blog/2007/04/how_is_powerset_pred...](http://www.blognewcomb.com/blog/2007/04/how_is_powerset_predicting_gro.html)

That said, as antiismist mentions, model your traffic and conversion rates 10X higher & than lower starting from what your predict.

If you are making claims it should be easy to substantiate :-)

</comment><comment><USER3> This is one of the topics I always touch upon when talking to web entrepreneurs who've launched sites. I usually ask it in terms of scaling and how fast someone should worry about it. What people tell me is that they were either surprised by how fast their site grew or they've been disappointed by the slow uptake. In either case, the models they've created were pointless.

So worry less about modeling and spend more time planning for the best (or worst) case when you have so much traffic coming in that you have to scale up. Modeling is useful IF you're paying for the traffic. If you're buying traffic and you have X amount of dollars to spend per month, then it's fairly easy to project numbers. I'm assuming most of us here are building community sites and are depending on either viral or SEO traffic so you're left to more guessing.

Edit: I just looked at the Powerset modeling they released and looked at their actual numbers on alexa/compete and you can see they're absolutely nothing like they projected.

</comment><comment><USER4> Think of it less as a "projection" as much as a "what if" exercise.

Do a few different scenarios: Single-digit, Double-Digit, Exponential, Hockey- Stick, Shark-Fin, and explain how you would operate in each of these situations, and how you would perform financially. Then show them what you think are the most likely scenarios.

</comment><comment><USER5> You must not be dealing with typical tech investors if they're asking for those sorts of things. Tech investors generally don't ask precisely because they are meaningless.

The best you can do is look at your nearest competitor. Pro forma numbers work great for the guy who ran one hotel and is opening another down the road. They can justify using the same occupancy rate, etc.

Using your competitor's historic traffic data is, of course, meaningless, but to someone who is asking you for numbers that are by definiton meaningless guesses, it probably counts as justification.

</comment><comment><USER6> I just spend $125 on Adwords sending traffic to a barebones/not really launched site with a sales page and found out about 25% of visitors click to my registration page and 10% sign up for a free account. Once I figure out how to monetize those accounts (it's something health related) and get more than $5 in revenue each it'll be a gold mine as this is something that 50% of the population will deal with in their life (not gender based).

One of the beauties of Adwords and especially the content network is that you get an idea of how many people are interested in you topic/market.

So if you're doing something subscription bases, throw up a prelaunch sales page, spend $100 and see what you get. If that's the only data holding you back from you VCs, consider it money well spent.

</comment><comment><USER7> I'm having a similar problem, mainly with revenue projections with advertising.

So I'm just building out a table - each row in the table is some level of traffic, and each column has some projection of yield (yield = CTR X CPC), like reasonable worst case, probable case, and reasonable best case.

Basically, identify the variables in the model. Come up with some reasonable ranges for what those could be, put those in a table. For example, for CPC advertisements, the CTR that I have heard about range from a minimum .05% to a maximum of 30%, and the CPC ranges from $.01 to $100 (e.g. for mesothelioma related ads at one point).

</comment><comment><USER8> Honestly, you should use something like the Drake Equation:

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

</comment><comment><USER9> It's impossible don't get hung up on it. As an early stage startup you should have one concern--build the product. A working product is more impressive than artificial projections.</comment>


Ask HN: Video Chat Webapp – How should I start making one? - <AUTHOR>

Hello all!
I want to create an app where newcomers can book and have video chat with professionals to learn skills/language. I am new to programming and have basic HTML/JS, Python, C++ knowledge.
I don't know what I don't know.How should I start creating the chat backend?
Throwaway account because of copyright ownership clause by employer. <comment><USER2> You can use the open source etherpad it provides realtime collaborative document editing. There is also a version which providers webrtc based video support. Check it out once.

</comment><comment><USER3> See to tokbox.com

<comment><AUTHOR> Thank you for the reply!

I am creating it in a third world country for mainly rural folks. I see in OpenTok they have the following bandwidth requirement:

Video: 300 kbps per stream (recommended lowest level)

Audio: 50 kbps per stream (recommended lowest level)

I guess it's in bytes. Here, average speed is around 64kbps/512Kbps. Is there anything else which have further low requirement? For hangout it's pretty low:

[https://support.google.com/plus/answer/2979333?hl=en](https://support.google.com/plus/answer/2979333?hl=en)

Something in this range would be best.</comment></comment>


Flock is dead - <AUTHOR> http://www.flock.com/

<comment><USER2> "The Flock team joined Zynga in January, 2011 and is now working to assist Zynga in achieving their goal of building the most fun, social games available to anyone, anytime -- on any platform."

<comment><USER3> No exceptions!

</comment></comment><comment><USER4> Sorry to hear this, but I think that the customized browser is basically DOA. It's hard enough to get people to update their main browser as it is. Better to build whatever you have in mind within a conventional browser.

<comment><USER5> A few years ago, I managed to inherit some laptops that were being thrown out by the company my father was working for at the time.

One of them, apparently, used to be used by the CEO, and had Flock installed on it. This was my first introduction to the browser.

<comment><USER6> The CEO's laptop wasn't wiped clean before being thrown out? What else did you find on that machine?

<comment><USER5> I didn't really find anything on it. Nothing that could cause the company any damage. I don't really remember because one of the first things I did was to throw Ubuntu on it.

</comment></comment></comment></comment><comment><USER7> Even though most may disagree: Am I the only one who doesn't shed any tears over this news?

A dedicated browser for social networking like Flock always seemed superfluous to me. The recommendations of the Flock project point at this: use other free browsers (preferably FF) with the appropriate extensions.

</comment><comment> k-mcgrady I always liked the idea behind Flock but the UI was too cluttered and confusing every time I used it. Definitely too confusing for any regular user to be able to use it effectively (and therefore near impossible for it to ever gain as much traction as the 'big' browsers - even now when social is huge).

<comment><USER8> I have to agree with you. When it comes to design, Flock was the anti-Chrome: a huge number of sidebars and tiny icons, all screaming "Look at me!"

</comment></comment><comment><USER9> Sad but I am not surprised. Its incremental value was always questionable and I never understood why they thought they could build a successful browser based on niche features that only a tiny segment of the online population would want. It would be interesting to see what happens to RockMelt.

</comment><comment><USER10> Good news or bad news for RockMelt?

<comment><USER11> Bad. It proves RockMelt doesn't solve a pain-point.

<comment><USER12> I like RockMelt - I tried Flock but it did nothing for me...

Does RockMelt have a business model? dunno. But RockMelt solves the pain of twitter/facebook/linkedin fire hoses (for me)

<comment><USER13> I would pay for RockMelt. Simply love it.

</comment></comment></comment></comment><comment><USER14> Surprised and disappointed that they don't recommend RockMelt to their users. I'm not a huge fan of either, but if they wanted to do right by their users, the least they could do is to point them to the only other social-browsing game in town.

<comment><USER15> They recommended a platform rather than an alternative browser. Flock was initially built on Firefox and it later switched to Chrome.

</comment></comment><comment><USER16> Interesting how they list Google Chrome before Mozilla Firefox (left to right). Did Mozilla do anything to piss off Flock?

Edit: Nevermind. I didn't realize that Flock 3.0 moved to webkit.

</comment><comment><USER17> The original release of Flock was amazing back in the era when blogs were new, but sadly they seemed to unfocus after a bit of time.

</comment><comment><USER18> There must be a case study in there somewhere.

</comment><comment><USER19> It was fun working on flock. I still work with many of the guys I met there.

"Wanted to destroy something beautiful" - [http://factoryjoe.com/blog/2005/12/29/wanted-to-destroy- some...](http://factoryjoe.com/blog/2005/12/29/wanted-to-destroy-something- beautiful/)

</comment><comment><USER20> Read this news using Flock 2.6.2 :(

</comment><comment><USER21> I've used Flock since version 0.7. Makes me sad to see a product I loved for five years die :(

</comment><comment><USER22> Flock had deeper integration and less uselessness than rockmelt in my opinion.

</comment><comment><USER23> Working on the mozilla source code....worst decision ever. They made chrome from scratch and its already got large number of users without any special feature.

<comment><USER24> Sure, but that was Google. If some random, unknown company made a browser just as good as Chrome, it wouldn't have gotten a tenth the users Chrome has now.

<comment><USER25> Precisely. Chrome got advertised on the Google.com homepage. You can't buy an ad that effective, anywhere.

</comment></comment></comment><comment><USER26> No love for Opera, Flock people?

<comment><USER27> Zynga is a web development company. They have no love for browser fragmentation; it means multiple environments they have to develop and test for.

<comment><USER28> Ahem."use the new zyngaweb browser and earn an extra 20% Frontierville dollars." I think Zynga could induce serious (double digit) uptake onto their own browser. Once they have this kernel of user installations, where could they go next?

<comment><USER27> thats true for flock, but i was replying to the Opera comment.

</comment></comment></comment></comment><comment><USER29> wasn't this obvious from the beginning? And the same would happen to RockMelt as well.

</comment><comment><USER30> Long Live the Browser

</comment><comment><USER31> Wait, there was another browser based on Mozilla that then moved to Webkit that then died? Who knew?</comment>


Show HN: Big-O Poster [pdf] - <AUTHOR> https://github.com/ro31337/bigoposter/blob/master/bigoposter.pdf <comment><USER2> Knowing all these sorting algorithms can only be useful for someone just learning what an algorithm or what a complexity means. On day to day basis, they are not used. So if this poster was supposed to be practical, it's not, and if it supposed to be stylized techno-babble kind of poster, it's really uninspired and could use serious style improvements, better background, etc.

</comment><comment><USER3> I'd argue that having a poster and memorizing it is actually counter productive. It's easier to know the data structure and think about how they work in the different situations.

</comment><comment><USER4> Quite hard to distinguish between the two greens. I didn't see that there were two until I found the legend.

<comment><USER5> All in all a poorly designed poster of something you needn't have memorized unless you're studying the algorithms specifically for an exam or something.

</comment></comment><comment><USER6> Hey, I'm red green color blind and much of this is difficult to read, but could be otherwise nice. Try outlining instead of solid fill. And having 2 different color sets can help with different color blindness types red/green and blue/yellow.

<comment><USER7> Red/green myself, and personally a selection of one red and one green can work if both are bright enough. This one suffers from using a shades of both, and only both (AFAICT). IOW, again for me personally, one can use one from the red box and one from the green box and that's it. Having various shades of the two most commonly mistaken colors just ain't gonna work for a lot of people. For five items, I'd use something like red/blue/green/white/orange or even beige.

But enough bitchin', I appreciate the amount of work and the presentation (color palette not withstanding). Really good work, and I can figure it out despite difficulties with the colors. Off to pinboard.in to file this one away.

<comment><USER6> You can also try the website version of this. [https://github.com/ericdrowell/BigOCheatSheet](https://github.com/ericdrowell/BigOCheatSheet)

It's even open source, pick colors (or not) at will.</comment></comment></comment>


HTML5 Guitar Tab Editor with custom language - <AUTHOR> http://vexflow.com/tabdiv/tutorial.html

<comment><USER2> Nice. This is one of those things that once you see it you wonder how it got to be 2010 without anybody having done it yet.

Here are a few of my initial observations:

\- Why justify the notes? It's common to use spacing as an informal way of indicating timing, so if you auto-justify everything you make that impossible.

\- Are Chords on the way?

\- Are you planning to write an importer for the 12 zillion existing tabs in ASCII format? I imagine most of them are parseable.

<comment><USER3> In the comments of his most recent blog post, the author mentions support for parsing ASCII tabs will be left to third-parties, with rendering using his library.

[http://0xfe.blogspot.com/2010/06/fonts-tablature-svg-and- dem...](http://0xfe.blogspot.com/2010/06/fonts-tablature-svg-and-demo.html)

</comment></comment><comment><USER4> Nice execution but as always I wonder why the author preferred canvas over SVG. Nothing wrong with canvas but aren't those tabs a perfect example of a _vector_ graphic?

edit: SVG typo.

<comment><USER5> Did you mean SVG?

<comment><USER6> Probably. Canvas seems like the wrong tool for this task – just try printing the tabs.

</comment></comment></comment><comment><USER7> Very neat stuff. I've actually been working on a site that basically does tab collaboration (kinda like Github for music/tabs) and have been pondering how to do something like this.

It'd be pretty cool if somehow you could incorporate a means of playing that tab as well but I can't think of how to do that without flash. I suppose time signatures would be important to have as well.

<comment><USER8> Playing is kind of possible today with some hacks, though you would need time signatures on the tab.

I think we're going to move towards the browser as a music composition tool soon, and I can't wait. Some people at Mozilla are working on an awesome audio data api spec, check out their demos/videos: <https://wiki.mozilla.org/Audio_Data_API>

</comment></comment><comment><USER9> Question: how to put chords there? I saw image of this at your blog post, but can't figure it out at the demo.</comment>


Walking 6 Miles to Work in NYC - <AUTHOR> https://www.youtube.com/watch?v=ZnPvsUejfJs <comment><USER2> I used to walk between 123rd & Lex to 54th & 10th. Lost around 40 lbs doing that for 5 months, then I moved to New Jersey, and haven't walked that much since.</comment>


Shakespeare Programming Language - <AUTHOR> http://shakespearelang.sourceforge.net/report/shakespeare/ <comment><USER2> I laughed when it occurred to me that, since their parser only accepts variables named after a character from a play, Shakespeare programs are limited by having a finite number of variables and storage, but laughed even harder when reading their solution to this problem, stacks.

Each variable is a stack that can push and pop, with no error handling:

"Trying to pop when the stack is empty is a sure sign that the author has not yet perfected her storytelling skills, and will severly disappoint the runtime system."

Fantastic. All the user-friendliness of assembly indeed.

</comment><comment><USER3> I can't wait to compile Hamlet with it. I've been wondering for years what that script does.

</comment><comment><USER4> Definitely deserves an A+ grade for turning in such an assignment.

</comment><comment><USER5> Beautifully convoluted.

</comment><comment><USER6> I'm still laughing hard! These guys deserve to graduate right now ... or maybe a perpetual grant to stay in school and write such assignments :D Excellente!

Edit: Just noticed 2001

</comment><comment><USER7> This is amazing! I took a Shakespeare class in college, and it would have been awesome to have given my instructor some source code for assignments. :)

</comment><comment><USER8> Reminds me a bit of Haifu <http://www.dangermouse.net/esoteric/haifu.html>

</comment><comment><USER9> I like how easily the arithmetic can be mapped onto a stack or tree structure.

</comment><comment><USER10> Poetry is code.</comment>


Tech Is Eating Media – Now What? - <AUTHOR> https://medium.com/@jwherrman/tech-is-eating-media-now-what-807047ad4ede <comment><USER2> Journalism, "the press", isn't used to being called out. They used to be the ones beyond reproach, the defenders of the faith.

Now, struggling for readership and revenue /income, they have been riding the coattails of watered down investigative reporting with a flash of click-bait and "social mood". That's to say they aren't following an immutable compass but rather the vagaries of the day, hoping one of those spaghetti strands sticks one day and saves them.

They are too often chasing acceptance in hopes this will drive up revenues.

I'm not sure they ever were the fourth estate, but certainly now with their self interested survival on the line, they don't even try to fake it any more.

<comment><USER3> Does anyone have details on the financial health of The Economist? They don't play this dumbed down new media game, and while I'm sure they're not gangbusters, they do appear quite a bit more stable than the other traditional outlets that _have_ tried to get in on clickbait.

<comment><USER4> The Economist is a prime example that quality still sells, and always will. Even their new daily newsletters are top-notch.

IMHO they get right what most "old media" are getting wrong: The Economist isn't trying to compete with new media at what new media does best.

I don't need a magazine for opinion pieces, I have blogs for that; I don't need my local newspaper to tell me about Lady Gaga's new acting career, I don't need a magazine to tell me what's new and cool in fashion or music, and I certainly don't need CNN to tell me what's trending on twitter.

Give it up. You can't compete with the masses for _that_ type of content. What I _can 't_ get from blogs and twitter is quality journalism: investigation, inside scoops, quality political analysis, etc.

When traditional media realizes that this is the domain where they excel, they will be just fine. Instead of cutting down on their investigative journalism departments, slash the entertainment reporters, slash opinion and talking heads. Cut your content in half, cut your staff, stop wasting resources on a hopeless battle, and _focus_ on the one thing no blog or YouTube channel can do... give me concise, focused, quality _journalism_.

<comment><USER5> Meh, my manager says quality costs too much. JK

</comment></comment></comment></comment><comment><USER6> The media is eating the media. In their thirst for viewers and money they are looking for news anywhere they can find it, making them untrustworthy in reporting both the scope and depth of issues on both a global and local scale.

People are tired of being told by some tart on CNN that bird flu is going to kill everyone before ISIS has a chance to turn them gay.

</comment><comment><USER7> The biggest problem with the press (and why the internet and technology is 'eating' it) is that their business model is based in a world that doesn't really exist any more. The old school media offered a quick barrage of articles on a wide variety of topics. They didn't cover any one particularly well (just look at a newspaper article about a topic you're in a expert in if you want proof of that), but they did decently enough at informing people in an age where information was inconvenient or costly to otherwise get.

The internet changed that. For any important news, you can find better sources on social media, since people at the scene will probably now be posting photos and opinions about the goings on as they're happening, no reporter required. For timely news, social media and aggregator sites simply do better than journalists, since they don't have to worry about editors or proofing and there's a large crowd of people looking for stories at the same time (usually many times larger than the team in a professional newspaper).

And for more informative pieces, you can just go straight to the experts now. Whereas before you'd have a journalist approach an expert on say, information security, you can now just find an expert's blog or a relevant forum or subreddit instead. Bonus points for their words likely not being censored or altered or anything else.

And the fourth estate thing? Well, for better or worse, now that seems to be the legions of bloggers and amateur journalists online instead. The traditional media kind of gave up on that when most of the papers and news channels were bought by large companies.

You can try paywalls and subscriptions and patreon type systems all you like, I just suspect the old way of doing news simply cannot work in the internet era, and the traditional journalist is simply becoming obsolete.

For the article's question about how the relationship is supposed to work and what media built on newer platforms will be like... it'll be amateurs and companies reporting the news on their own.

</comment><comment><USER8> OP is probably right. Though it doesn't seem radically different than what's happened with journalism before, as alluded to regarding TV. I'm sure it happened with print, and I'm sure it happened with whatever existed before that.

</comment><comment><USER9> This piece has left me confused

</comment><comment><USER10> This unhealthy obsession with eating in tech is starting to give me indigestion.</comment>


Ask HN - how to be a great software test engineer? - <AUTHOR> Hey guys,
I am currently going for a position as a software test engineer at a big software company. I'm wondering what advice you guys would have for this type of position, as I would consider myself relatively new to it. Additionally, are there any resources anyone could recommend?
Cheers <comment><USER2> Some general thoughts (I was a software engineer in test for a few years):

\- Be a good developer--all the advice and best practices for software developers still applies to you. Much of your job will be coding automation, test suites, integration tests, etc. All the best practices of writing solid, readable code will definitely be useful to you.

\- Work closely with your fellow developers. Have them code review their checkins with you so you understand how their code works. Find out what they think are risky areas to target. Help them understand how they can write more easily testable code. Don't fall into a trap of developers throwing code over the fence at test, and test throwing bugs back at them. Everyone is in it together to ship a quality product.

\- Understand how your customers use your product and make sure their usage is covered in your tests. It's easy to look at a spec and start trying to test all of the inputs, edge cases, etc. It's better to understand how your customers/partners will use a feature and make those your highest priority tests.

\- Try to catch bugs as early as possible. Automate your test execution, run test passes against changes/checkins, and alert yourself when changes cause new test failures. If you let too many bugs get into a build you'll waste tons of time sifting through hundreds of failing tests to find the bugs.

<comment><USER3> One minor nitpick, working closely with developers isn't always an option or necessarily a good idea. Working too closely makes it easier for assumptions and to get transferred over. I really like having testers who can take a completely fresh look at the application and find issues with stuff that I just didn't think to try because I know how the page was meant to be used.

In addition certain industries such as medical require testers to be separate from the development process entirely. On my current project for example we aren't allowed to bring in the test lead to our code reviews, we've discussed it.

</comment></comment><comment><USER4> It largely depends on what they're expecting. The position could range anything from executing manual tests to setting up and running a continuous deployment infrastructure and coding tests to run against every commit. As you're on HN, you probably want something like the second.

I started as a Test Automation Engineer about a month ago, and I'm using Selenium to write tests for all sorts of things -- do password changes work? Does the logout button work? Can a user edit another user's profile? Selenium is proving to be incredibly versatile. Grab it and try it out. Create your tests as actual code; don't rely on Selenium IDE.

Feel free to message me (email in profile) if you have any questions.

</comment><comment><USER5> I must say most of the comments here are either irrelevant or bunch of crap: You asked about software test and people wrote you about automation which is irrelevant to your question. Tips from 4dr144n are very good.

I am doing QA for the last 13 years, so these are my tips: 1\. Do not take anything as OBVIOUS. for example- People say the sun rise from the east. how do you know? did you see it? you should test it and confirm it is true. 2\. To find many bugs doesn't mean you did a good job, you should try and find the quality ones. we call it 'Show Stopper' because they block the software from being shown to the public. 3\. GUI bugs are as important as functionality ones. 4\. Become a friend with the developers but let them eat shit with your bugs. it will be easier for them to handle a shit from a friend. 5\. When you report a bug- be as much as informative as can be (screen captures, logs, debugging). the developer will appreciate it 6\. Be the best in the company about the feature you are testing, make them feel you are the focalpoint of that feature.

good luck man

</comment><comment><USER6> I was a QA many years ago, for about 5 years. Here are my tips:

1) It doesn't matter which test suites you use - I wrote my most valuable tests in straight Perl (ie no test suite)

2) The most important aspect of QA is communication with developers. Don't just log bugs and let devs fix it in their own time. Have a chat with at least one dev a day at their desk. Watch while they fix the bug - turn it into an almost social, non-pressured action. Many bugs can be quite traumatic to developers - your work is to soften this. Take interest in the code you're testing.

3) When you find an issue, only then start testing the issue. For each issue, try and find out as much as possible about the issue by testing it in as many as possible states, with as many as possible input sets. Try everything you can think of. Also try very hard to find a workaround for each issue. A lot of information about an issue is embedded in the workaround.

4) Never stop hand-testing. Never stop refactoring results of your manual tests into your suite. Treat your test suite as a product in itself, and log bugs on it.

5) Mastering QA will turn you into a better developer. You'll pick up good habits which you will never be able to shake again. You will write robust code. Above all, you will be able to communicate with QA.

</comment><comment><USER7> If it's a Unix-like environment, learn as much as you can about at least one Unix shell (try "zsh" or "bash"; just stay away from "csh" or "tcsh"). You should understand things like process management, e.g. "&&", "||" and subshells. You should also understand file management, e.g. ">", ">>", ">|", and the program "tee". These help with testing because you frequently have to write scripts and organize output files, and you have to understand how the system handles things like failed programs.

When testing it's quite common to have to deal with lots of files and do filtering. Think of how you'd organize data. Reuse things like scripts for driving tests. Learn tools like "grep" and "diff" and "sdiff" and a scripting language like "perl" or "python". For example, it's very common to need to automate test audits by filtering out volatile data such as time stamp lines and comparing the remainder against a set of golden results.

Learn at least one widely-used testing environment, such as the "unittest" and "doctest" modules of the Python standard library. It doesn't matter if your company will use something else, it's useful to pick up on some terminology (e.g. the concepts of setting assertions and creating standalone testcases) and to see how at least one framework does things.

Practice being pessimistic. For any given system, don't let yourself only test the "easy" stuff; try to think about weird things that could happen. Boundary cases are often very useful, e.g. what happens when -1 or 0 are given as values, or very large numbers.

Practice editing. Tests should be extremely focused because when they fail you want to know exactly what went wrong. This kind of focus also helps outside the world of testing.

</comment><comment><USER8> I'm also looking for a job as a software test engineer (currently unemployed). I have a small problem - I don't have a suitable project to test. I've heard that software testing is largely a domain of large corporations, and you can't really learn it if you don't work in one.

Could you suggest any places where I could find open-source projects in the need of testing ? And how to select a project ? What kind of projects are likely to need it, and when it's a waste ? Or - at least - where NOT to look for practice in software testing ?

</comment><comment><USER9> I've been a SDET for two months now, and I am fresh graduate. What I've experienced so far is that you have to have a good understanding of the product, the workflow and each scenario. Also you need to be a good dev for automation purposes and troubleshooting should not be a pain in the neck for you.

Communication skills will definitely come in handy since working based only on specs can sometimes mislead you in a very bad manner.

<comment><USER10> I second this, make sure you DO understand the underlying business and its needs; also if you want to be friends with the devs, make sure you provide the most helpful info about failing tests, not just "it is failing".

</comment></comment><comment><USER11> Here's what I would do.

\- Set up a continuous integration server, I use this test server whenever I want to test any test cases. Also, it allow me & the mgmt to always be in touch with the development team.

\- Make sure Unit Test cases are present.

\- Semi-automate testing of GUI, using tools like Selenium, I will be cover most of the testing on UI.

Optional: Find out more about the Top 10 OSAP, make sure I cover most of the items listed.

</comment><comment><USER12> You'll be the first to be cut when the axe falls. Turn yourself into an SDET as quickly as possible.

</comment><comment><USER13> What tools do you guys use?

Fitnesse? GreenPepper? Cucumber?

Is anyone into specification by example?

</comment><comment><USER14> Learn to automate. If you have a language you enjoy, learn the popular test automation tools in that language. Someone who can automate testing is far more valuable than someone who can only do manual testing. Along with automation goes all the usual best practice of writing software.

Read about testing - lots of inspiration and ideas to be had. Anything by James Whittaker. O'Reilly's Beautiful Testing.

(Please fellow HNers add your favorite books in response - would love to know what others recommend).</comment>


LeadingList.com - list of fastest growing websites, update daily - <AUTHOR> http://leadinglist.com

<comment><USER2> This is cool.

Are you caching the data? It would be cool to see a graphical interface of this over time. The guys at insidefacebook have done a nice iteration of this idea on the analytics of facebook apps and pages (<http://pagedata.appdata.com>)

It would also be cool if you could somehow integrate Compete and Quantcast into here too (not that any of those three are terribly accurate - but would be fun to look at).

<comment><AUTHOR> Yes I am caching the data starting from today :) Thanks for your comment. I will improve the interface and add more statistics about the sites later, possible the two sites you just mentioned.

</comment></comment><comment><AUTHOR> This list won't show the big old sites because we know them all along. (Who doesn't know that pinterest is rising really fast?) Enjoy :)</comment>


What Makes a Waif? - <AUTHOR> https://www.lrb.co.uk/v40/n17/joanne-oleary/what-makes-a-waif <comment><USER2> I read the whole thing, and I still don't get why anyone is interested. Maeve Brennan, her columns, her life — all of it seems trivial in an especially dull way. Maybe the writer of this piece was unable to convey her interest in as artistic a way as they wished to, and should have told the simple facts instead of trying to construct atmosphere.

<comment><USER3> The atmosphere _is_ the thing here, along with the character sketch of a person. It's the age-old process of trying to look inside someone's head to feel as they feel.

From the opening few paragraphs I suspect she was one of those people with intense in-person charisma, or as we call it round here, "reality distortion field".

<comment><USER2> But there's no atmosphere either, just the appearance that an attempt was made to convey it. I'm left baffled over Brennan's significance.

</comment></comment></comment><comment><USER4> The term Waif was never defined in the article. It's used 6 times counting the title. After googling, it seems to mean a homeless person or low life.

<comment><USER5> The third definition in MW: : an extremely thin and usually young woman.

Waifish is almost always used with this definition from my experience. I'd even argue the first 2 definitions are archaic at this point.</comment></comment>


The Real Reason "Stupid" Startups Raise So Much Money - <AUTHOR> http://www.nirandfar.com/2014/12/stupid-startups.html?source=HackerNews&referrer=@anujadhiya

<comment><USER2> > Facebook, Twitter, Instagram, and Pinterest

An easier reason: They get a lot of eyeballs.

<comment><AUTHOR> Getting eyeballs is one thing - keeping them is another.

<comment><USER2> That's why near year 2000 the saying went, "Never be between a VC and the door when the lock up period is over."</comment></comment></comment>


Legal question regarding iOS app - <AUTHOR>

Think of any game were you can earn virtual money or points (farmville, mafia, etc).
Now imagine that at any point in time the application allows you to redeem the points (or fake money) for a fraction of real cash (ie: 1000 points = $1, 10,000 points = $10, and so on).<p>I want to know if doing that is legal and if so, will Apple allow an app like that? <comment><AUTHOR> Basically the idea is to use the marketing budget as cash back instead of spending it in the usual marketing channels.</comment>


Hexagonal grids for games - <AUTHOR> http://www.redblobgames.com/grids/hexagons/ <comment><USER2> This is an amazing resource. Bookmarked.

I recently implemented the board game Hex[1] using canvas. I didn't need most of this stuff... really only "neighbors", "hex to pixel" and "pixel to hex".

Hex uses a rhombus grid, a possibility surprisingly not mentioned in this article, which makes choosing a coordinate system easier. It's simply row and column, and finding a cell's neighbors is simple, if slightly counterintuitive. From my code:

        (let [possible-neighbors
                [[     col  (dec row)]   ; Upper left
                 [(inc col) (dec row)]   ; Upper right
                 [(dec col)      row ]   ; Left
                 [(inc col)      row ]   ; Right
                 [(dec col) (inc row)]   ; Lower left
                 [     col  (inc row)]]] ; Lower right
          ...)

I found drawing the board unexpectedly tricky. In my first iteration I simply wrote a "draw hexagon" function that plugged in all the mathematical values, then called this function for each cell. The result looked terrible due to aliasing artifacts. Some lines were doubled and not all cells appeared the same size. In the end I precomputed integer values for the length of the vertical sides and the dy and dx for the diagonal sides, then used these integer values repeatedly to draw the board.

For converting pixel coordinates to hexes I used a different method[2]. If the pixel is inside the interior rectangle of a hex (the part of the hex with top and bottom removed), we know it's in that hex. Otherwise it's in the top or bottom of a hex, and I use the direct algebraic formula (y=mx+b style) for the hex tops' diagonal lines to find out if the point is above or below that line.

Maybe these approaches of mine would be helpful for someone whose needs are more basic, as they rely on less cleverness than the techniques in this article.

[1] <http://toxicsli.me/hex/>

[2] [https://github.com/graue/cljs-hex/blob/master/src- cljs/locat...](https://github.com/graue/cljs-hex/blob/master/src-cljs/locate- cell.cljs)

<comment><USER3> The Hex game is nice, but I don't see how the second player ever loses (swap rule).

Isn't this a solved game that, given optimal strategy, is either won or lost based on the where the first tile is placed?

<comment><USER2> No. Usually experienced players will begin in a cell like a2, b1 or b2, cells near to the top left corner — these are considered fairly neutral opening moves.

I wish I could link you to the Hex Wiki (hexwiki.org), where players much more advanced than I have written about Hex strategy. But it's been down with a message about database problems for months. Here's a link to their page on openings, via the Wayback Machine:

[http://web.archive.org/web/20110806113426/http://www.hexwiki...](http://web.archive.org/web/20110806113426/http://www.hexwiki.org/index.php?title=Opening)

Edit: You may also wish to read [https://en.wikipedia.org/wiki/Hex_%28board_game%29#Theory_an...](https://en.wikipedia.org/wiki/Hex_%28board_game%29#Theory_and_proofs)

</comment></comment></comment><comment><USER4> One use case for a hex grid is for a persistent MMO. Dividing the world up into a hex grid allows you to load-balance the world across different servers. This is more advantageous than a square grid because square grids share a corner with 3 other squares, whereas hex grids share only 2. That means it's less costly to hand off a player to different servers as they're running across the world.

<comment><USER5> I could be wrong, but the current gameplay of Planetside 2 suggests they are doing exactly that.

<comment><USER6> Your absolutly right, 5-6 months ago there an exploit involving the sunderer which crashed the hex it was in.

Observing from the outside the hex was very surreal, any entity that crossed the boundry simply stops dead. Not my video but shows what happens on the client when the handover of entity control fails! <http://www.youtube.com/watch?v=bJGrFSQn3ZA>

</comment></comment></comment><comment><USER7> Oh my word. I'm going to be spending a good while disecting the construction of this page.

It's interactive and clear.

This is an informational web page. All craftsmenship is of the highest quality. It is adorned with illustrations of HTML Canvas masterfully made interactive by Amit Patel. There is an illustration of a hexagon and a developer with javascript. The developer is making a plaintive gesture. The javascript is laughing.

<comment><USER8> Every illustration I looked at was SVG, not Canvas; even the interactive ones.

<comment><USER7> ahhh damn. Canvas worked so much better for that joke.

</comment></comment></comment><comment><USER9> This stuff is pretty hard to get right when doing it all by heart. Last year I tried to make a multiplayer fighter on a hexagonal grid using websockets for a Ludum Dare, but I wasted the first day on making moving around on the hexagonal grid work, and the second on making the multiplayer code work, so at the end of the 48 hours the game was working technically, but I had no art whatsoever, and it wasn't fun at all :P

Ofcourse if I had taken the time to look for resources on building hexagonal game I would have found a lot of things like this article (though probably not as concisely summarised as in this one), but for some reason it didn't occur to me that it could actually be hard, since it seems like it's just some simple trigonometry.

Others said it was a fools errand to make a multiplayer game for a Ludum Dare (48 hour game compo), but actually if I hadn't been so stubborn with the hexagons I think I would have had enough time to build a pretty cool game.

</comment><comment><USER10> There is a nice Haskell package called grid[1] that supports hexagonal grids, among other things. If you want to play around with some of these ideas, you might just have the perfect excuse to learn Haskell now!

More amusingly, the package also supports grids over things that _aren't_ plains, so you can even have octoganal tiles![2] Also, perhaps counter to expectation (:(), it's well-documented, including an illustrated wiki[3].

[1]: <http://hackage.haskell.org/package/grid>

[2]: [https://groups.google.com/forum/?fromgroups#!topic/haskell-c...](https://groups.google.com/forum/?fromgroups#!topic/haskell- cafe/bGuyCdW5068)

[3]: <https://github.com/mhwombat/grid/wiki>

</comment><comment><USER11> This page brings back memories: Back in high school, I spent a few slow weeks in the back row of Physics class planning and working out some of the math behind a Military Madness/Nectaris clone for the TI-84+. I wasn't as clever as the people mentioned in the article, so I came up with a bog-standard "offset coordinates" system, with the flat-topped hexes and a rectangular map stolen from Military Madness.

Unfortunately, I never got around to programming it, because I realized early on that it would be really hard to fit a legible interface onto a 96x64 monochrome display. You either use small hexes with almost no room for actual graphics, or large hexes that fill up too much of the screen to give an effective view of the battlefield. Not to mention, lacking color or even shading would make it really hard to differentiate terrain, show which hex was selected, etc.

What I wasn't aware of at the time was that a lot of other strategy games from the 80s and early 90s (including the Game Boy port of Nectaris, which had to work around the limitations of a 160x144 4-shades-of-pea-soup greenscale display) used hex grids for gameplay, but displayed them as grids of staggered squares or tall rectangles. This made the graphics code (especially on tile based systems) much simpler, and gave artists a lot more room to fit legible graphics into, at a cost to the amount of hexes you could pack onto a screen. Examples:

<http://youtu.be/iWra6nvKvok?t=1m13s>

<http://youtu.be/sTV06jd9j3A?t=7m21s>

You could fit about 40 full 12x12 tiles onto the 83's display, and that just might be enough space for some primitive programmer art tanks and soldiers. Or, maybe plain ASCII would have been even more legible. The 83's built-in 6x8 font would have allowed me to fit about 120 full tiles on screen, more than enough to get a decent view of the battlefield. Damn, if had known about those games at the time, I might have actually stuck with the project... or at least, long enough to get stuck on figuring out how to implement a decent AI...

But enough of my rambling. This is an excellent resource, of the interesting and useful but very accessible kind the world needs more of desperately. It'd be interesting to read the author's thoughts on these "rectangular hex grid" systems; obviously, none of the internal data structures or algorithms change, but it does seem to be a bit simpler (under an offset coordinates system, at least) to convert between grid and pixel coordinates, to calculate how many tiles can be fit on screen, etc.

</comment><comment><USER12> I made a hexagonal maze once: <http://www.dllu.net/hexmaze/>

<comment><USER2> Neat. I like how when you move the cursor over a cell, a path to that cell lights up.

It might be nice if there were a defined exit you could go to and win the maze.

</comment></comment><comment><USER13> I'm the author of Hexdefense (a tower defense game with a hex board), and I think this page would have saved me days. I'd love to see someone collect the logic and algorithms on this page into a portable library. Thanks for creating such a great resource!

<comment><USER14> +1 here! I started a canvas library[0][1] to draw hex grids and boxes, this would have been immensely useful! Maybe I can integrate it sometime in the future.

[0] example: <http://hengles.net/piksel/> [1] <https://github.com/rhengles/piksel/>

</comment></comment><comment><USER15> The visualizations and explanations are fantastic. The mouseover highlighting of code as you mouse over the hexes in the 'Neighbors' section remind me of Bret Victor's work[1]

Also, I was amused to see that the author used a language called "Haxe"[2] which can generate (compiles into) javascript, flash, C++, java, C# etc. I guess it's good for making web games where you have a flash fallback (or vice versa)?

[1] <http://worrydream.com/>

[2] <http://haxe.org/>

</comment><comment><USER16> Don't forget to trawl through the rest of Amit's stuff. His articles are responsible for who knows how many game developers learning interesting algorithms and howtos.

</comment><comment><USER17> I remember reading an interesting article which said that hex-grids were overrated, since each hex was adjacent to only 6 spaces, whereas square-grids have 8 (including diagonals).

I just tried to dig up the article, but failed. It was a pdf, and it was his investigation into attempting to create the most balanced turn-based strategy game he could. I remember the first-player would move once, and then the second play twice to offset the first-play advantage. And the board wrapped around top-to-bottom and left-to-right. Shame I can't remember the name of it!

EDIT: Found it: <http://www.symmetryperfect.com/shots/texts/descript.pdf>

<comment><USER18> Sorry but this is pretty naive. The link you proposed is for a Chess variant. Now, in an abstract game like Chess, I may agree that using a square grid (and allowing diagonal moves) may be ok. In a wargame, though, or anything trying to "simulate" reality (e.g. a role playing game) using a square grid with diagonal moves will result in the "interesting" phenomena where moving your tank towards North-West would boost its speed by more than 40% (square root of 2=1.414...). And this would be even worse in case of favorable terrain like roads or plains. The reason why hexagons are favored is because they can perfectly cover a plane and at the same time you move a constant distance no matter which side you are exiting.

So you should at least qualify your "overrated" statement by saying "for abstract games where speed/range of units is not considered an important feature".

<comment><USER17> I didn't make the statement, the article did, and I wasn't quite sure of the details. I just thought it was interesting. You're right, of course re: moving distance on a square-grid.

Re-reading the article, I'm not sure why he was so concerned about finding tessellating shapes for the playing surface. Being an abstract game, and with the goal of exploring new gameplay concepts, surely he would consider using nodes and paths instead? That would be able to represent many more configurations.

</comment></comment></comment><comment><USER19> Just in case someone is looking for a neat way to experiment with game Grids, the MOAI framework has some pretty good support for grids, in general, and works very well at giving you everything you need to set up a game and get a grid working, fairly smoothly:

<http://getmoai.com/>

(And, on a side-note, MOAI is going to get an HTML5 host pretty soon, meaning you can deploy to HTML5, iOS, Android, Linux, Windows, OSX .. Chrome NaCl .. and so on!)

</comment><comment><USER20> Your page disables zooming on iPads (and other devices). Why? There is no good reason for doing that and it prevents some people from reading.

</comment><comment><USER21> Great use of hexagonal gameplay ==> weewar.com

</comment><comment><USER22> Being a lover of hex grids for strategy games and just about to set out to learn canvas along with Parenscript in order to create games, which will probably eventually have me rolling out my own naive implementation of half the world of game engines across genres, thanks for this, it has come at just the right time.

</comment><comment><USER23> Awesome. My favorite video game of all time is Military Madness (Nectaris). The hex map was the best part. That and the music and level names.

</comment><comment><USER24> I've implemented the FOV algorithm suggested on this article without ray casting in Javascript: <https://s3.amazonaws.com/jbochi/layout.html>

It was an experiment for a game that I was working on, but I never finished it: <https://github.com/jbochi/duelo>

</comment><comment><USER25> Reminds me of hexagonal telescope mirror design. Check out TMT [1] and some images [2].

[1] [http://www.tmt.org/sites/default/files/SPIE-Segmentation- Pap...](http://www.tmt.org/sites/default/files/SPIE-Segmentation-Paper- REL01.pdf)

[2] <http://lot.astro.utoronto.ca/design/tel.html>

</comment><comment><USER26> Articles like this remind me of what a small understanding I have of most everything.

</comment><comment><USER23> Take the cube coordinates graphic, switch to hexagons, and you wind up with: Q*bert!

</comment><comment><USER27> Interesting, was just thinking about this the other day when somebody linked to a coding challenge for Max Levchin's new company: <https://affirm.com/jobs>

</comment><comment><USER28> This is a fantastic resource, a future side project I have been kicking around is for an online game that would use hex movement. This is a great place to start for laying out the logic, thanks for sharing!

</comment><comment><USER29> We tackled a lot of these problems when building an app for Wrangler: <http://appstore.com/wranglermileage>

</comment><comment><USER30> This might me my most favorite submission of all time so far.

</comment><comment><USER31> Great article! Thanks for sharing!

</comment><comment><USER32> Civilization 5 uses hexagons

</comment><comment><USER33> Bookmarked, damn useful!

</comment><comment> guard-of-terra We tried to figure out how to cut a planet into hexes, turns out you can't (no surprise). Footballs use pentagons.

Well, I guess you can just make equal area square map and cut that. <http://en.wikipedia.org/wiki/Gall%E2%80%93Peters_projection>

Also, it's curious nobody mentioned Battle of Wesnoth. Battle of Wesnoth (together with Fantasy General and Battle Isle) is a shining example of hex- based strategic wargame.

<comment><USER34> For anyone wondering why you cannot tile a sphere with hexes: this is a matter of Euler characteristic.

Suppose that there is a tiling of sphere with N hexes. Each hex has 6 edges, but every edge is shared by two hexes, so there are 6N/2 = 3N edges. Similarly, there are 6N/3 = 2N vertices.Thus, the Euler characteristic would be 2N - 3N + N = 0. Now, the sphere has Euler characteristic 2, so we get a contradiction.

Incidentally, a torus has Euler characteristic 0, and indeed it turns out that you can tile torus with hexes.

<comment><USER35> There's no need to assume exactly 3 hexagons meet at each vertex: if you only assume at least 3 hexagons meet at each vertex, then 6N >=3V, and we get that the Euler characteristic is <=0, which is still a contradiction. Of course if you allow vertices with only two hexagons meeting at them you can make a sphere: for example, take two hexagons and glue them around the edges, then stuff the middle to get a hexagonal cushion.</comment></comment></comment>


"I love dev tools" on Addy Osmani's contributions calendar - <AUTHOR> https://github.com/addyosmani

<comment><USER2> Turns out this was made by a fan using [https://github.com/IonicaBizau/github- contributions](https://github.com/IonicaBizau/github-contributions) thanks to GitHub's ability to accept commits in the past.

Another similar tool is: [https://github.com/gelstudios/gitfiti](https://github.com/gelstudios/gitfiti)</comment>


Dutch went from shortest to tallest in Europe through sexual selection - <AUTHOR> https://royalsocietypublishing.org/doi/10.1098/rspb.2015.0211 <comment><USER2> This seems like a BS answer to me. Tall people in all societies have always had an advantage in terms of status in society and therefore wealth and health. But unless tall people were reproducing at an extraordinary rate relative to small people there just hasn't been enough time elapsed to explain the change on a society wide basis. English people were small by modern standards at the time of Napoleonic wars as evidenced by e.g. the dimensions of the living areas on board the ships of the time. OTOH Irish soldiers in the service of various European countries in the 17th and 18th centuries were noted as being tall for the time. They were mainly of rural stock and would have been relatively well nourished in childhood compared to urban reared children. Whereas today Irish people would be of just average height or maybe even lower than average height by European standards. I suspect that the reason for the Dutch being small then was poverty and that the relative rapid growth in the meantime is due to improved nutrition which has allowed them to grow to their genetic potential.

<comment><USER3> English people were small at the time of the Boer wars too, there were problems finding enough suitable soldiers, the food rationing in WWII actually improved diet for the average worker.

<comment><USER2> Actually the Boer war brings to mind the fact that the Afrikaaner people of South Africa are noted for being of large stature. They are primarily of Dutch origin as well but have long been separated from Holland. So the fact that these two societies would share the attribute of being tall suggests to me that Dutch tallness compared to everyone else is genetic in origin

<comment><USER4> Afrikaner here. I'm 6 feet tall and I'm the "short" one in my family and friend circle.

<comment><USER5> I'm an Iowan from USA. My 6' son is the shortest male in our entire extended family. German ancestors.

<comment><USER2> If it's not too personal, is your wife of German extraction too?

<comment><USER5> She's Italian and 5'3"

Three sons - 6', 6'3" and 6'4"

<comment><USER2> Sounds like your line is secure for another few generations at least!

<comment><USER5> My eldest has married a 6'1" Amazon. So yeah.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> Actually, although Netherlands still often gets cited as the tallest country, it's recently been passed by Bosnia within the youngest cohorts.[1]

[1] [https://en.wikipedia.org/wiki/Average_human_height_by_countr...](https://en.wikipedia.org/wiki/Average_human_height_by_country)

<comment><USER7> I wonder if the modern genetic composition of Dutch society impacts that statistic. The massive growth in length is something that happened to the indigenous Dutch population, but the effect won't be present in the Dutch who hail from immigrant stock.

Basically, when you are the tallest people in the world, any immigration will tend to shorten the average length.

<comment><USER8> ? I wonder if the modern genetic composition of Dutch society impacts that statistic. The massive growth in length is something that happened to the indigenous Dutch population, but the effect won't be present in the Dutch who hail from immigrant stock.

> Basically, when you are the tallest people in the world, any immigration > will tend to shorten the average length.

I know it's popular in Holland to blame the immigration on everything, including destroying the average height, but since a significant part of the population comes from Balkans, those immigrants are actually "improving" the average.

<comment><AUTHOR> >significant part of the population comes from Balkans, those immigrants are actually "improving" the average.

Aren't Turks the biggest immigrant group?

<comment><USER7> Yes, Turks, Moroccans, and people from Surinam. They came as labourers in the second part of the twentieth century. The medical growth charts used here to chart the progress of children and detect potentially harmful deviations even come in specific variants for children with their genetic heritage.

</comment></comment></comment></comment></comment><comment><USER9> Conclusion:

> "Finally, it is important to emphasize again that our effect sizes are very > small"

</comment><comment><USER10> This article tackles the 'simple' case of comparing Netherlands to the United States.

It doesn't provide a motivation for why this phenomenon only happened in the Netherlands, and not it's neighbors Belgium, Germany or Scandinavia.

Those would be much more similar in Social equality, and to some extent even dairy consumption.

Edit: I've corrected Holland, to read Netherlands. Apologies for the misnaming.

<comment><USER11> > ... Holland ...

The Netherlands. "Holland" is the name of _one_ Province in the Netherlands.

Edit: I stand corrected. Actually two provinces.

<comment><USER12> two not one... Zuid Holland and Noord Holland

<comment><USER13> Is this more common in English or does it happen in other languages also?

Example: Q: What you call your country? A: Deutschland Q: Ok, then we'll call it Germany

???

<comment><USER14> Usually, at least in Europe, if it's not due to linguistic drift or somesuch, it's because the name is just being translated. For example, the French name for the Netherlands, "Pays-Bas", is just a literal translation of "nether lands".

My guess for Germany, which certainly seems the weirdest, is that it's a result of that process happening and the name getting fixed at different times for different languages, combined with the region having a rather complicated political history.

<comment><USER15> Germany comes from Germania which is Latin. Deutschland is deutsch + land, and deutsch can be traced to proto-germanic origins (common root with Dutch, I believe). So Germany is not actually one of these cases; it's an externally assigned name.

</comment></comment></comment></comment></comment></comment><comment><USER16> I find sexual selection an interesting albeit in popular science literature underrepresented subject. It seems to me that this is the phenomenon that links things like fashion, infatuation and other cultural expressions to our biological evolution, and would explain the relative rapid adaption to various climates that humans obviously have gone though over the last 50 000 years or so, which the traditional evolutionary model (survival of the fittest) will have trouble explaining.

I'm sure this is no secret among professional evolution scientists, but this side of evolution has AFAICS not filtered into the general consciousness, for some reason that I have yet to figure out.

Maybe because it would give women a more important role than we so far have been willing to accept? Maybe because it would give animals an intuition and intelligence that we traditionally have denied them?

<comment><USER17> >Maybe because it would give women a more important role than we so far have been willing to accept?

I'm not so sure this isn't broadly accepted. As far as I understand it everyone knows why the peacock has ridiculous (or beautiful, depending on your sensibilities) feathers, or why male birds are beautiful, while female birds are plain.

</comment></comment><comment><USER18> If all the Dutch are so tall, then how do they decide who gets to be the CEO ?

<comment><AUTHOR> Even if average height is quite high. There will still be people on both sides of the bell curve much taller and much shorter than average people exists.

So basically, it will look like as it looks anywhere else. Pretty sure there are 6'3 Dutchmen who feel short in Netherlands.

</comment></comment><comment><USER11> What's it with the obsession with tallness? 300 years ago the Prussian kings were already fans of "the long guys". Outside of basketball, what's the point?

<comment><USER5> Tall people get more respect in a conversation. Its a mammal thing?

<comment><USER19> I think tall people get more _automatic_ respect. In a room where people don't know each other that well and are trying to figure out status/hierarchy, tall people are automatically advantaged.

That said, shorter people can cultivate presence and earn respect through competence, people-skills and the like. There are many leaders in history and today who are shorter than average who can command a room. But they've mostly had to earn respect the hard way. They start off with negative points and have to work hard to even get to zero. Tall people start off with positive points is all.

<comment><USER5> And its a lifelong thing. Not just an initial condition. Get another point or two every day, for life.

<comment><AUTHOR> In which case, only way forward for short people is to become very famous and pray that atleast few people in the room know you.

</comment></comment></comment></comment></comment><comment><AUTHOR> I don't understand, why tall people will have more kids?

And why they didn't have more kids before the time when they were shortest?

What could drive tall people having more kids in last 150 year when they went from shortest to tallest?

Did anything big happen in last 150 year?

<comment><USER20> It's basically just fashion. Tall men were preferred in the marriage market.

<comment><AUTHOR> Thinking about it more. I think tall men are not necessarily more successful at warfare or sea faring where people of short stature might have more advantage due to needing less food.

For example, Mongol archers could definitely kill enemies no matter how tall they were. So there was no advantage of being tall once better weapons were available.

Selection for tallness could have happened because of peace time.

<comment><USER21> >Selection for tallness could have happened because of peace time.

This is an important observation and should be explored more deeply. When there is more equality for gender/class, and more economic security, people, viz. women, are freed to choose mates on other factors, such as attraction

<comment><AUTHOR> "Hard times create strong men. Strong men create good times. Good times create weak men. And, weak men create hard times."

</comment></comment></comment></comment></comment><comment><USER22> tl;dr it's because they are below sea-level

<comment><USER23> have my upvote for all the downvotes you got, it made me laugh

</comment></comment><comment><USER24> Eugenics: taboo everywhere apart from the dating market, wherein it is celebrated ("what a catch!").

<comment><USER25> There's a big difference between a top-down and a bottom-up approach to natural selection.

<comment><USER24> It's just an interesting contradiction to me, and I also find it interesting how upset some people seem to get when I point it out. Yet it's unarguable: all else being equal everybody (without issues) should celebrate their friend, relative etc. being with an obviously good catch. And nobody (without issues) intentionally picks the inferior partner, beauty being in the eye of the beholder arguments notwithstanding.

<comment><USER25> From Wikipedia:

> programs included both positive measures, such as encouraging individuals > deemed particularly "fit" to reproduce, and negative measures, such as > marriage prohibitions and forced sterilization of people deemed unfit for > reproduction. [0]

Eugenics refers to an organized and systematic (top-down) approach to manipulating the genetics if a population. Obviously this is not good.

Competition and dating are good, I don't think anyone is arguing with that.

Confusing the two is like confusing capitalism and communism. Both systems affect the economy but in very different ways for very different reasons.

[0] [https://en.m.wikipedia.org/wiki/Eugenics](https://en.m.wikipedia.org/wiki/Eugenics)</comment></comment></comment></comment>


New AWS region: US West (Oregon) - <AUTHOR> http://aws.typepad.com/aws/2011/11/now-open-us-west-portland-region.html

<comment><USER2> ...and the part you actually care about which they don't mention in the post:

The new region is 'us-west-2' and has two availability zones.

EDIT: Here are the two sites that make up the availability zone. (the 'a' and 'b' monikers are randomized between AWS accounts, so it dosen't make sense to label them as such)

Umatilla: <http://g.co/maps/yd8de>

Boardman: <http://g.co/maps/xuhdg> (It is not on sat view, between Columbia River Processing and the power substation to the east)

<comment><USER3> That's a pretty drab bit of Oregon. The Dalles and Prineville are nice places in their own ways, but way out north east it's pretty much just hot (or cold, in the winter), dry and flat. Pretty boring...

<comment><USER4> Flat and boring with cheap land, abundant hydro and wind power, and low- humidity -- makes a good place for datacenters. Google, Amazon and Facebook are already here with a few more in the works.

I just moved to Texas from Oregon and folks here are astonished when they learn that the eastern two-thirds of Oregon is mostly desert; most folks think of Portland and the coast when they conjure up images of Oregon, but it's a really big state and the part east of the Cascades is different.

<comment><USER3> > Google, Amazon and Facebook are already here with a few more in the works.

Err... right, that's what I was referring to with my comment about The Dalles and Prineville (Free Beef!), which are very different places from the Hermiston area where the two AWS centers are supposedly located. The Dalles and Prineville are both fairly close to some decent sized mountains, the former being at the base of Mt. Hood, and the latter being located just to the west of the Ochoco Mountains.

> it's a really big state and the part east of the Cascades is different.

Yep, there are some really fascinating bits of country there, and much of it is _empty_ :

<http://padovachronicles.welton.it/2007/08/31/the-wild-west>

Some other favorite places to go see: Fort Rock, and Steens Mountain (one of the emptiest bits of the US outside of Alaska).

<comment><USER4> Yeah, it's a very cool region. I worked in Bend for a few years and got the chance to explore a lot of Eastern Oregon. On my drive east to Texas I actually drove by Steens Mountain and stopped in for burgers and ice cream at Fields Station. Very remote and beautiful country.

</comment></comment></comment></comment></comment><comment><USER5> As Amazon increases the number of regions, I really hope they make it easier to work across regions. Not being able to migrate AMI's or replicate RDS db's across regions is really a pain.

<comment><USER6> We're launching a new VPC in the region today. Unfortunately none of the Community AMIs we used in US East and US West-1 are available in the new region yet :(

To second your sentiment, it would be really, REALLY nice if we could port AMIs across regions.

</comment></comment><comment><USER7> The pricing is same as the US East. Excellent for building disaster recovery mirrors.

</comment><comment><USER8> Why put two regions so close to one another? I am really confused. Why not do something in East Europe or central europe for countries like italy, germany and maybe even russia.

<comment><USER4> The regions aren't really that close to each other -- it's over 1000 km to the other West region down in the bay area.

</comment></comment><comment><USER9> Curses, thught we would see the rumored AUS announcement. Great for super low latency to NW though.

<comment><USER10> Every day they don't announce an AU zone, is yet another day people who want to be "in the cloud" are getting locked in to the IaaS/PaaS stacks rushed to market by incumbent data center providers. Case-in-point: [http://www.theregister.co.uk/2011/11/08/telstra_opens_sme_cl...](http://www.theregister.co.uk/2011/11/08/telstra_opens_sme_cloud/)

This goes hand in hand with advice (arguably FUD) from those providers and privacy "experts" that if you accidentally put IPP in the US or Singapore, you will get sued over their domestic anti-terrorism laws allowing government access. Again Telstra says "There are also legal implications. If an organisation's data is stored offshore, it is likely to be subject to the laws of the country in which that storage facility is located.This could lead to scenarios such as foreign government requests for access to stored information."

<comment><USER11> Telstra's so-called cloud is just another VPS service: Setup fees? Yes. API? No. And you'd better hope that whatever you're running doesn't become popular at $1/GB for the pay-as-you-go plan.

It's high time for AWS to set up shop Down Under and teach Telstra et al the meaning of competition.

<comment><USER12> Bandwidth prices here are rather stupid.

Yes, it is OOM $100/mbit to get international bw. But that's nowhere near $1/gig.

IMHO providers end up charging that much 1) Because they can and 2) To help offset a very high cost base due to a lack of automation and inefficient architectures. A million dollar san really doesn't pay for itself now, does it?

<comment><USER13> For international traffic, 1Mbps CIR per month is 320GB/mo if used uniformly. A markup of 3x to adjust for burst actual vs. CIR in advance is pretty reasonable.

The real problem is that you don't have big neutral pipes. Build Pacific Fibre (<http://pacificfibre.net/>) and then things might be ok. Or do differential billing for domestic and international bandwidth, but for that, it helps to have a non-English domestic language and have all consumers only interested in local content due to the language barrier.

(Satellite is even more fun; CIR of $500-5000/mo for dedicated 1Mbps HALF DUPLEX, and then sometimes more than that for shared service overhead; it can come out to $10-20k/Mbps symmetric 100% use, with end user costs reduced through transparent compression of images, filtering, and oversubscription. Then there's L-band portable stuff which prices at $3-30/MB, and some which is $0.01/byte.)</comment></comment></comment></comment></comment>


Do Things That Don't Scale (2013) - <AUTHOR> http://paulgraham.com/ds.html <comment><USER2> I've been working on a programming language for a while, and this is one of the key bits of advice I've had in the back of my mind during that time.

People have come along and contributed occasionally, but for the most part, I'm doing _everything_ : writing the compiler, standard library, documentation, editor integration, blog posts, evangelism of the programming paradigm, and so on. Despite the fact that _I_ don't scale, I'll happily sit down with someone who's trying out the language, help them get up to speed, and fix all the bugs and usability issues they report. It's that kind of connection to people that not only drives interest in the project, but drives _me_ to stay motivated.

I can't say I fully understand my own success…or even whether it's success. I'm not selling anything, just making the language I want to use. Maybe a few hundred lines of code have been written in the language by someone other than me. I've accumulated >450 stars on GitHub for a product that _doesn't even do anything yet_. It's certainly surreal, but it's been pleasant. :)

<comment><USER3> What's the language called?

<comment><USER4> This is from his HN profile:

I'm writing a stack-based functional programming language called Kitten: [https://github.com/evincarofautumn/kitten](https://github.com/evincarofautumn/kitten)

<comment><USER2> Thanks—only reason I didn't mention it was that I didn't feel the need to advertise. I mainly wanted to give my thoughts on how this article's advice has been a positive thing for the project—seeking out users and taking measures to help them and make them happy directly.

</comment></comment></comment></comment><comment><USER5> This is Paul Graham's best piece. Really nails down what it takes to make a business successful.

</comment><comment><USER6> Any stories of fellow HNers with their startups doing this?

<comment><USER7> For our first 100 customers we basically did all the setup work for them. Basically did a screenshare, clicked for them, told them what to do. Would sometimes leave the call, and spend 1-8 hours clicking for the customer.

Learned how customers wanted the product to work, and gained initial customers. Lost money on the setup but who cares.

Now setups are a 30 minute phone call where we teach customers how to click themselves.

<comment><USER8> Curious, what software did you use for screen sharing? were customers ok with this? Was your app so complex that you couldn't guide them through the phone or it was a deficiency in the UX/UI of the app?

<comment><USER7> > Curious, what software did you use for screen sharing

Started off with Join.me. I then threw out my windows PC and installed Ubuntu, so it stopped working. I did appear.in a few times, but the quality stunk. Mostly moved to my setup team, that mostly still uses join.me.

> were customers ok with this

Oh they loved it. The competition is "Here is a youtube video and some docs, have at it". We actually took the time to get to know our customer and dive in, help them navigate the setup etc.

> Was your app so complex that you couldn't guide them through the phone or it > was a deficiency in the UX/UI of the app?

Both! Necessary complexity is high, but so is accidental. Working on reducing accidental a little every day. Not willing to kill off too many features in the name of simplicity, but willing to at least make the common path a lot easier to use.

</comment></comment></comment></comment><comment><USER9> Spent a month in university libraries handing out candy and asking groups of students to try out our sharing platform. We then would take what we learned that day and code changes/fixes before we left or when we got home so we could go out again in the morning.

<comment><USER10> And, how'd it go?

<comment><USER11> They are now a small company with a lot of diabetic users.

</comment></comment></comment><comment><USER12> (2013)</comment>


Fire your best people... reward the lazy ones - <AUTHOR> http://www.testearly.com/2007/08/17/fire-your-best-peoplereward-the-lazy-ones/ <comment><USER2> I think it's important not to overgeneralize this argument though.

The example works because it's very specific to a particular way of programming. Extend that insulated idea to everyone, and you won't have much of a company.

<comment><USER3> I think this was actually a part of someone's management thinking for a while. I think I remember Nicholas Taleb mentioning something about this in Fooled by Randomness (not the programming part, just about management thinking that advocated firing your best people and promoting the lazy ones)

</comment></comment><comment><USER4> Misleading title.

If you have "troubleshooters" like Bill putting garbage into your source repository, then it's YOUR fault.

Do you have any standards, procedures, or conventions? Do you QA the source code, or is User Acceptance Testing enough?

If anyone working for me tried to squeeze hard coded error codes by me, I'd keep sending them back until either: a. It was done properly according to standards, b. They quit because they couldn't be "creative", or c. I'd fire them.

Sorry for being a little testy today. I just replaced a 92 line internal bubble sort with 3 lines of code. Of course, I didn't realize it was a bubble sort until I resolved 23 variables named "a", "aa", "aaa", "b", "bb", etc.

You see, I'm the poor schmuck that has to clean up your "best people's" mess.

</comment><comment><USER5> <http://worsethanfailure.com/Articles/Soft_Coding.aspx></comment>