Captured Warplanes - <AUTHOR> https://hushkit.net/2020/05/25/the-top-15-captured-warplanes/ <comment><USER2> I wanted to like this article but it was all over the place. More attention was paid to the color schemas than how the airplanes were actually captured.

<comment><USER3> Bizarre writing, too. I can't stand when writers enjoy their owner "clever" writing more than the storyline.

</comment></comment><comment><USER4> I remember that during the Falklands war one British fighter ran out of fuel and landed in Brazil. The Brazilians returned the plane, but without one of its missiles - it turns out that it was equipped with an American missile (officially, the US was not involved - Brazil itself gave some help to Argentina too). Edit: found a source, it was a Shrike missile [https://en.wikipedia.org/wiki/Operation_Black_Buck#Black_Buc...](https://en.wikipedia.org/wiki/Operation_Black_Buck#Black_Buck_Six)

<comment><USER5> Technically not a fighter, but a bomber. And I'm surprised that it was a concern being armed with an American weapon. We provided AIM-9 Sidewinders to the British during the conflict.

<comment><USER6> I believe the concern was that they retained the missile (and probably disassembled it or shared it)

<comment><USER5> That seems correct [0]. But the replacement for the Shrike was already in development (AGM-88 HARM), and deployed the following year. Unless the HARM and Shrike shared a lot of tech, it wouldn't seem like it'd be much of a risk.

[0][https://www.express.co.uk/news/uk/621106/Margaret- Thatcher-F...](https://www.express.co.uk/news/uk/621106/Margaret-Thatcher- Falklands-war-Brazil)

</comment></comment></comment></comment><comment><USER7> I'll add Ju 88 R-1 W/NR.360043, which is remarkable because the defection required coordination among two of the crew (who held the third at gunpoint).

[https://www.rafmuseum.org.uk/documents/collections/78-AF-953...](https://www.rafmuseum.org.uk/documents/collections/78-AF-953-Junkers- Ju88-R1.pdf)

</comment><comment><USER8> My all time fav that time Iran spoofed GPS and made an american drone land [https://en.wikipedia.org/wiki/Iran%E2%80%93U.S._RQ-170_incid...](https://en.wikipedia.org/wiki/Iran%E2%80%93U.S._RQ-170_incident)

</comment><comment><USER9> There's also the P3 Orion SIGINT plane which emergency landed in China and was shipped home in crates.

[https://en.m.wikipedia.org/wiki/Hainan_Island_incident](https://en.m.wikipedia.org/wiki/Hainan_Island_incident)

</comment><comment><USER10> Also funny that the "Soviet Enemy MiG-28"s from Top Gun were in fact F-5's with red stars painted on them, making that a bit less far-fetched :D I never knew they actually captured one of those.

<comment><USER11> Yes, as all the kids obsessed with military hardware noticed right away. I'm sure real captured Soviet planes were too valuable to risk for a movie, not to mention their existence was probably kept secret.

(Another common error that warplane buffs immediately recognise is the replacement of Bf 109 by Ha-1112.)

<comment><USER12> Have a look at the Wikipedia article about the 4477th Test and Evaluation Squadron and Constant Peg :) [1]

1 - [https://en.wikipedia.org/wiki/Tonopah_Test_Range_Airport#447...](https://en.wikipedia.org/wiki/Tonopah_Test_Range_Airport#4477th_Test_and_Evaluation_Squadron)

</comment></comment></comment><comment><USER13> Never heard this story before

"In June 1942, after shooting down a Spitfire, a Luftwaffe pilot named Armin Faber landed his Fw 190A-3 at RAF Pembrey in Wales (believing it to be France). Because of an unfortunate inability to distinguish the Bristol Channel from the English Channel said Armin let his plane get into the grubby hands of the RAF, with barely a scratch. Given its total superiority to any Allied fighter then in service, this unexpected gift was insanely valuable to the technical experts of the RAF. In fact, so desperate were the British to get their hands on one that a Commando raid had been planned to steal an Fw 190 from a French airfield."

<comment><USER14> There is a better one than that, one night __two __Me109's got lost and landed at the same British airfield, they captured one of them in an armoured car when the pilot landed, realised his mistake they blocked the runway the other crashed.

Bet the sentries got a shock when an enemy fighter landed and then taxied to the hanger waiting for ground crew.

TP814 iirc, they called the branch that flew it (and other German planes) the Rafwaffe.

Another good one is when two British agents stole an entire Ju88 with the latest radar of the time by holding the third crew member at gunpoint and flying it to Scotland.

When it came to the spying the British had a ridiculous run of good results like that, we turned every single German agent in the UK and then had them do things like systematically lie about V1's over shooting London by 60 miles, then faking craters so that when the Luftwaffe sent a reconnaissance plane over it looked legit, the Germans then altered the targeting such that the V1s landed short of their target.

For all that people vaunt the Nazi's for their advanced technology it's actually a much more mixed picture, the cavity magnetron was discovered and perfected in the UK then taken to the US because we didn't have the resources to build them at scale, German radar output 40W with a klystron, the cavity magnetron could output 25KW.

It completely changed the picture for night interceptions.

Also lots of people don't know that Britain built and put intro production a proper radar based ground scanning system for targeting during WWII, it was called H2S and allowed accurate navigation and targeting.

> Combined with intelligence gathered from the surviving crew, they learned it > was a mapping system and were able to determine its method of operation. > When they pieced one together from parts and saw the display of Berlin, near > panic broke out in the Luftwaffe.

<comment><USER15> > systematically lie about V1's over shooting London by 60 miles, then faking > craters so that when the Luftwaffe sent a reconnaissance plane over it > looked legit,

Interesting that after D-Day the Luftwaffe could still manage any reconnaissance flights over England. Where can I read more about this?

</comment></comment></comment><comment><USER16> Soviet B-29: [https://en.wikipedia.org/wiki/Tupolev_Tu-4](https://en.wikipedia.org/wiki/Tupolev_Tu-4)

</comment><comment><USER17> A super interesting piece of history is how the British ended up selling their Rolls Royce jet engines to the Soviets.

[https://www.wearethemighty.com/history/ussr-won-jet- engine-b...](https://www.wearethemighty.com/history/ussr-won-jet-engine- bet?rebelltitem=2#rebelltitem2)

</comment><comment><USER18> The RQ-170 is another big one, and very recent too.

[https://en.m.wikipedia.org/wiki/Iran%E2%80%93U.S._RQ-170_inc...](https://en.m.wikipedia.org/wiki/Iran%E2%80%93U.S._RQ-170_incident)

</comment><comment><USER19> The US captured a Japanese Zero intact and it was heavily evaluated and helped inform the design of the Hellcat.

The USSR famously captured a B-29 and Stalin ordered replicas made. This bootstrapped the entire Soviet airframe industry.

<comment><USER20> It helped them build new long-range bombers, but the Soviets were already making a lot of planes before that.

[https://en.m.wikipedia.org/wiki/Tupolev_Tu-4](https://en.m.wikipedia.org/wiki/Tupolev_Tu-4)

<comment><USER19> Making a lot of planes and using advanced technology in them are orthogonal. The B-29 was a huge leap forward in advanced technology.</comment></comment></comment>


Ask HN: How can I close my crowdfunding gap? - <AUTHOR>

Hi everyone. I've been running a crowdfunding campaign for a month for my tech nonprofit, and with 5 days to go, I'm trying to figure out how to reach the goal. We're at $17,600 out of our $25,000 goal, and while everything really started off with a bang ($10k on the first day), it's slowed significantly since then. I already know some things we did well, and some things we didn't, but I'm not looking for a post-mortem. I'm trying to figure out how I close this campaign with the biggest bang possible. If anyone has experience with crowdfunding, or just suggestions or feedback, I'd appreciate any help or tips. Thanks so much. Heres the link to our campaign... http://j.mp/GoGoCV
 In one sentence: CareerVillage.org crowdsources career advice for low-income high school students. One more sentence: I built CV over the past 2 yrs in Django after leaving my career as a manager at McKinsey and learning to code through some elbow grease and a lot of generous mentorship provided by this community. <comment><USER2> Among othet things, I've stumbled my way into being a high (over) paid crowdfunding expert who also trains / certifies people to be high (over) paid crowdfunding experts. I looked at your site, the following advice will be your highest leverage IMO.

By the way, this is easy, just do it. It's the holidays, people are generous which is also going to help you.

1) Look at your school list and identify the most in need school. (1 min)

2) Identify a top level professional services firm in the geographic market that has an interest in education / philanthropy. (15 min on google or less)

3) Call / email the most senior person you can and ask "are you still intersted in creative ways to help Chicago students? (10min)

No? Is there someone are your firm who is? (Repeat)

Yes?

"I'm builing this new mentorship program to a school in Chicago, and I'm relying on a local firm to underwrite (key word) the cost of the program via sponsorship. So far I've raised $17k and have 5 days left to raise the additional $10k. Based on your commitment to education and mentorship, I thought this would be a great opportunity. In addition to helping, there will also be a press / media opportunity and we'd invite you to one of the schools as a guest speaker if you were interested."

Try to close them for $10k (create a $10k entry on the Indigogo page) but settle for the $2,500.

Of course, take anything they give you, and ask them to share it with their networks..

Repeat this until you have the $10k in funding..

If you get 10 senior people on the phone, you'll close at least one of them. aim to talk to 10 people a day for the next week and you'll be good.

Also, before doing any of this, email all your current donors and ask them to "Double Up" their donation and maybe throw in some additional perk for doing that. They have already given you $$ and are more likely to give again.

It's too late in my option for scrambling for Press (that is a T-30 or 60 days process). But if you have any media connections, sure let them know - but at this point tactical selling of the big ticket items is your best bet.

Good luck! If this was useful at all or you want more detail hit me up at Anthony @ 175g . com

<comment><AUTHOR> This idea is _excellent_. We have several schools that would be perfect for that, and a number of execs we'll be contacting. Thank you!

<comment><USER2> Congrats! I see you hit your goal. How did you do it? Was the advice implemented / helpful?

</comment></comment></comment><comment><USER3> CF campaigns often pick up steam on the last day, but here are a few suggestions: 1) Email EVERYONE you know about the current state (don't plead for donations - say "Donations are going great, please share with your friends to push it over the top". 2) Put it on FB, Twitter, LinkedIn and personally ask friends to like, share, tweet. 3) Cold email tech blogs, non profits, and reporters. 4) Use Tim Ferris crowdfunding article and follow every step. [http://www.fourhourworkweek.com/blog/2012/12/18/hacking- kick...](http://www.fourhourworkweek.com/blog/2012/12/18/hacking-kickstarter- how-to-raise-100000-in-10-days-includes-successful-templates-e-mails-etc/)

<comment><AUTHOR> Will keep pushing. The 4hr workweek article is pretty robust. Some good PR practices, and sharing tools that I'm definitely going to keep in the toolchest for next time. Thanks!

</comment></comment><comment><USER4> I'm a friend of Jareds (OP) and wanted ot thank you guys for these tips! Jared is a humble, hardworking guy and its so great to see the advice here.

</comment><comment><AUTHOR> Update: We hit our goal! [http://www.indiegogo.com/projects/careervillage- inspire-the-...](http://www.indiegogo.com/projects/careervillage-inspire-the- next-generation/x/2994167) Thanks to @ada1981 and @czbond for advice, and to @piratebroadcast and many others for pushing hard to get the news out.</comment>


Show HN: Monetize Any REST API with Saasify - <AUTHOR> https://github.com/saasify-sh/saasify <comment><AUTHOR> I care a lot about OSS sustainability (my github: [https://github.com/transitive-bullshit](https://github.com/transitive- bullshit)).

I'm also a firm believer that SaaS is the most viable business model to solve this problem at scale. Sponsorships, ads, grants, etc are all awesome and serve a very useful role, but from an economic standpoint, they will never be able to capture any sort of value proportionate to the value created by open source.

I started working on Saasify with the explicit goal of making it easier for open source developers like myself to "saasify" their code and start selling it online.

I've been working on Saasify for the past 15 months and we're fully bootstrapped.

Large chunks of Saasify are open source on GitHub - here's an article where I discuss the open core business model and Saasify's approach to open source: [https://blog.saasify.sh/saasify-open-core/](https://blog.saasify.sh/saasify- open-core/)

I'd love to hear your thoughts on Micro SaaS, monetizing APIs, OSS sustainability, and Saasify.</comment>


What's the best text for learning Flex? - <AUTHOR>

<comment><AUTHOR> I found a good text for Javascript from another thread. Anyone knows similar text for flex/ActionScript?

<comment><USER2> For Actionscript: Essential Actionscript 3.0 by Colin Moock is a great book. There's also a book on Actionscript Design Patterns that is okay.

For Flex: I used Total Training's DVD training and then just used Adobe's docs.

Total Training also has a new online training option that is cheaper than buying the DVDs. I'd recommend the online library if you have a high-speed connection and don't mind NOT being able to download the vids. (You can get online access to ALL Adobe training products for about the same as one or two Flex DVDs, roughly $200. I just gave away and sold a bunch of access codes to the online library, and everyone reported they were thrilled with the training and service. I've just used the DVDs.) Send me an email if you're interested in buying any Total Training DVDs...I have a bunch of new ones still in the shrinkwrap and some that were opened and viewed once. I'm out of the online access codes, though.</comment></comment>


See what people are googling right now  - <AUTHOR> http://www.google.com/trends/hottrends/visualize?pn=p3

<comment><USER2> It is not a live search, it is a fine visualisation of the more sttaic trend lists ... [http://hawttrends.appspot.com/api/terms/](http://hawttrends.appspot.com/api/terms/)</comment>


How to Disagree (2008) - <AUTHOR> http://www.paulgraham.com/disagree.html <comment><USER3> This is a PG classic, and a perennial HN favorite.

It left an impression on me the first time I read it 10 years ago; but since then, I've actually found it to be more useful as a piece to introduce people (designers, teachers, writers, musicians, nurses, pharmacists, etc.) to how "computer people" think - in extremely hierarchical, rule based systems that they see as impervious to everything else and that leave no room for nuance - and how to work with them.

There are many cases where any of the layers mentioned can be perfectly fine on its own. If a medical doctor dismisses someone by saying they're a "homeopath", that's really all you need to know - going in a 2 hour lecture about why homeopathy is quackery would only waste the doctor's time (and it is well know that the amount of effort needed to refute bullshit is orders of magnitude more than the effort needed to produce bullshit). The fact that, in PG's framework, it falls as "DH0 - Namecalling" really doesn't matter. You're a homeopath, go away, stop trying to get my money.

Within the definitions established by PG, the best possible form of disagreement comes from a perfectly refuted central point, nothing less. But that presumes that there is such a thing to refute in the first place - <USER2> the person you're arguing against isn't moving the goalposts every other sentence, appealing to emotion, etc. If you were to debate Donald Trump, how much would following PG's framework help you?

Schopenhauer's "Die Kunst, Recht zu behalten" ("The Art of Always Being Right") is the perfect manual to defeating this in the field.

The corollary of all of that is that it's extremely easy to persuade nerds - you effectively just have to make them believe you're operating at "DH 6", to borrow PG's terms, rather than a well disguised DH 1 or 2.

</comment><comment><USER4> I really like this article as it takes something I think a lot of people have an intuitive feel for already and formalizes it.

Unfortunately, one of the interesting things that stuck out to me since this was written is that a lot of our discussion platforms (twitter / facebook / etc) seem to self-select for and encourage visibility of low quality arguments. Maybe this is a problem with society itself though, since at the core of it, it's people upvoting/liking/etc those arguments.</comment>


This app turns sketches into working computer games [video] - <AUTHOR> http://www.springwise.com/forget-coding-app-turns-sketches-working-computer-games/

<comment><USER2> PixelPress is really cool. Their OCR technology is a neat idea to making levels. However users are not really making games. They're making levels for a game they provide.

We have developed an iPad app which is called GamePress [http://www.gamepressapp.com](http://www.gamepressapp.com) (we had the name first!) its live in the app store right now for free. It is a platform that allows you to actually make a wide variety of games using our behaviour system. We developed a visual programming environment that works like a flow chart.

You're not limited to game mechanic we provide since you have timers, variables, if statements and more.

We also allow our users to share their games really easily to what we call the GamePress arcade. Its a place inside the app where users can play, rate, and even edit (if enabled by the author) each others games.

So far have been getting great reviews in the app store. Teachers have even started using GamePress to teach kids about programming!

<comment><USER3> I agree with your point about creating different game mechanics. After browsing through both sites and watching the videos, it seems that GamePress is much better in that regard.

Does it work for iPhones as well as iPads?

<comment><USER2> iPad only. We found that making games on an iPhone is just not fun with our current interface. We currently don't have the resources to come up with a new interface for iPhone.

We do hope to have a player available for iPhone eventually, but right now our main focus is iPad.

</comment></comment></comment><comment><USER4> This seems like it would be cool for existing games to add as a feature, like a level creator on ipad or iphone games, but as for actually making games it seems like all these ideas are just custom basic side-scroller generators. Someone had something like this the other week at Hack-MIT and I think it even won some stuff, the tech is cool, but so far no impressive implementation.</comment>


How to Troll a Troll - <AUTHOR> https://lifehacker.com/how-to-troll-a-troll-1819880278 <comment><AUTHOR> From the title, I thought it was an Internet Comment Etiquette video but I was just trolling myself.

[http://youtube.com/commentiquette](http://youtube.com/commentiquette)</comment>


What it means to "disagree and commit" and how I do it (2016) - <AUTHOR> http://www.amazonianblog.com/2016/11/what-it-means-to-disagree-and-commit-and-how-i-do-it.html <comment><USER5> Ex Amazon engineer here. The disagree and commit principle is a double edged sword.

The good: it's taken relatively seriously, it's not just some empty PR line. It allows you to prove to managers and colleagues that you know what you are doing instead of following the heard. It encourages people to prove their ideas with prototypes instead of talk and more talk. It discourage "design by committee" and blame shifting. It's refreshing to be able to disagree openly and challenge popular views.

The bad: It takes a lot of self confidence. Some people might feel insecure due to impostor syndrome, upbringing or belonging to minorities and this creates a disadvantage. Also, it's really exhausting in the long term.

Neutral: if you disagree, commit and fail it becomes a very public failure. On the bright side it teaches people not to disagree too lightheartedly.

<comment><USER6> > if you disagree, commit and fail it becomes a very public failure

Not quite sure what you mean, there. Can you give an example, please? How does your disagreement make the failure more public?

<comment><USER7> I think that the idea is if you disagree, but what you disagreed with succeeds, then it's difficult because you were proved wrong.

<comment><USER8> But that is not true. I can say idea X is bad and it can succeed due to any number of reasons. That doesn't disprove that it is a bad idea (relative to some better idea, let's say).

<comment><USER7> If you say "X is bad, it's going to fail", and it succeeds, it certainly doesn't make you look _good_ , and I think that's what the previous comment was getting at.

<comment><USER9> But it's rarely a "it's going to fail". Normally it's "it'll make more effort for people down the line" or "we'll get more customers if we do X instead".

</comment></comment></comment></comment></comment></comment><comment><USER10> Most important quote IMHO: "There are some risks related to this approach that I am concerned about but I am confident that you have heard and considered them."

Jeff Bezos makes the strong point that risk is important: "most decisions should probably be made with somewhere around 70% of the information you wish you had. If you wait for 90%, in most cases, you're probably being slow."

Bezos also emphasizes that disagree-and-commit is a hard requirement: "Leaders are obligated to respectfully challenge decisions when they disagree, even when doing so is uncomfortable or exhausting."

<comment><USER11> > Bezos also emphasizes that disagree-and-commit is a hard requirement: > "Leaders are obligated to respectfully challenge decisions when they > disagree, even when doing so is uncomfortable or exhausting."

I agree on both terms. If you plan and test everything to death, you are wasting and in fact atrophying our ability to think on your feet. This is an important skill, especially during incident and emergency handling. It's a fine line to learn, and it changes with the team, and the company, and the projects, but it's important.

Challenging decisions is the best way to keep unproductive work away from the team, and unproductive work is one of the best ways to waste time and motivation of a team. Even if it exhausts me at the end of a week, it's a good thing to see 2-3 guys getting excited about a project they should do, because it doesn't contradict our values and it furthers our infrastructure.

<comment><USER5> > you are wasting and in fact atrophying our ability to think on your feet

Most colleagues in Amazon agree that the company encourages quick thinking versus deep/long-term way too much.

</comment></comment></comment><comment><USER12> I wholeheartedly agree with this principle since my days at Amazon.

I also found that if you need to follow the principle too many times it's a good indicator the team/company goals/vision/ and yours don't align and - <USER2> circumstance permits doing so - leaving is better than keep up the fighting forever (which is _extremely_ exhausting, from personal experience).

<comment><USER13> Don't know how it works at Amazon, but we have a similar rule to avoid teams getting paralyzed on design decisions. I've also worked at companies that didn't do this, and spent more time in design meetings than it would have taken to code a simple prototype.

Following this principle too many times isn't necessarily an indication that the team doesn't align with you, it can also be a sign your communication skills are lacking, and you need to get better in how you convey your ideas (unfortunately talking from my own experience).

A good tie-breaker is usually picking the simpler idea, to avoid perfectionism or over-engineering that engineers sometimes fall into. It seems especially common with people straight out of uni, and lessens with experience.

</comment></comment><comment><USER14> It's great to disagree & commit if the person on the other side of the table can explain his/her position in a organized manner.

Unfortunately the proposal can be a fait accompli. I used to have demoralizing arguments with my boss, a company VP, about his product directives that were blatantly unsupported by logic or data. In every case his response would be to shrug his shoulders and say "but it's a done deal". (Meaning his CEO wanted to do it.) I can look back & say with confidence that each change was a financial dud.

Go ahead & say that it's your option to leave the company in these situations. It's true - and not always a viable option.

</comment><comment><USER15> It's funny how we all try to learn principles and how to be effective in the abstract, but in reality most companies promote asshole nihilist freaks and are dysfunctional, so none of it matters.

<comment><USER16> > Once a decision is determined, they commit wholly.

That sounds quite similar to Lenin's principle of democratic centralism - <USER3> upon a time communist parties allowed for a brief period of internal discussion prior to accepting policy decisions (in theory), once the decision was made every party member was committed to the 'collective' decision.

[https://en.wikipedia.org/wiki/Democratic_centralism](https://en.wikipedia.org/wiki/Democratic_centralism)

Now that one did not quite work out, because you always depend on the whims of who is heading the discussion; I wonder if the Bezos principle works any better, as there are no third party regulators that might constrain the one who is heading the discussions.

Once upon a time they had this theory of gradual convergence between a west dominated by big corporations and the Soviet Union (for example ' 2001: A Space Odyssey' made this assumption); this observation might have had a grain of truth in it.

<comment><USER17> > they had this theory of gradual convergence between a west dominated by big > corporations and the Soviet Union

That sounds like only something a resentful Westener could say, in feeling entitled to a society exactly as they wish it, dismiss the one they have as "practically similar to tyranny".

I think its fair to measure tyrannical states in units of genocide of their own citizens. By this measure, the western democratic capitalism stands at 0% tyranny.

<comment><USER16> does genocide perpetrated in colonial possessions count?

<comment><USER17> What "colonial possessions" were held by western democratic capitalist governments?

<comment><USER16> Britain used to rule over half of the world, France had some in Africa - <USER4> Algeria; Belgium had Congo, the Netherlands had a few colonies some time ago. Not to mention the colonies of Spain, Germany when these countries were not quite as democratic as they are now, but democracy is a continuum, isn't it?

<comment><USER17> They were not democratic _at all_. Clearly you know nothing about the history of these countries.

Universal enfranchisement in the UK happened only after WW1, with more than 90% of the population unable to vote for the whole history of "voting". And germany was just simply a dictatorship.

In 1800 90% of all of europe were farmers. The political class to even create a political system was tiny.

Democracy is _rule by the people_. Votes among feudal lords for which is the most powerful is _not_ democracy.

You made a claim about two political systems: USSR's communism and western democratic capitalism.

If you're going to equivocate any old political system with any other then the claim to "convergence" is incoherent. I'm not even sure what "covergence" means when we're equivocating 19th Germany dictatorship, democratic capitalism, and USSR communism.

"Convergence" is severely under-evidenced. And my original claim is only ever- more evidenced: it is only possible to imagine our present system of government "converging" to mass murder upon some resentful delusion.

<comment><USER16> Well the Soviet Union of the seventies was a quite different place from that of the thirties, if you mind. Systems change over time.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER18> I think, Amazon's leadership principles are quite interesting since they represent the essence of the company's culture. Compared to other companies these values or principles are not just empty phrases; they're applied daily and people inside take these very serious.

I personally like the principles although I'm missing a statement about developing employees. Also, the combination of two values can have dire effects, e.g. "Insist on the Highest Standards" and "Deliver Results" was probably the reason why some amazon warehouse workers have peed in bottles, see [https://news.ycombinator.com/item?id=16849520](https://news.ycombinator.com/item?id=16849520).

<comment><USER19> As mentioned, Hire & Develop. Its required for leadership positions (sr IC or people managers). May not be obvious, but also applies to yourself; continual improvement and whatnot.

</comment></comment><comment><USER20> Some may have found this to be true at Amazon, but I found it to be one of the biggest deceptions of working there. It was more like Never Disagree Ever. You take major political risks with every time you exercise the idea. I've seen plenty of people's careers stagnate and effectively end because they chose to publicly question some egotistical asshole's authority.

<comment><USER21> Did you disagree on some vague feeling or some past history (one bitten twice shy) or have some substantive points?

<comment><USER20> Few people at amazon will disagree with a superior based on a vague feeling. I, as a business intelligence engineer, had no excuse to disagree without substantial proof or evidence backing my disagreement. That never mattered. If you disagree with someone a level higher than you, you need to not only have perfect evidence, but also the backing of several people at that same higher level or higher.

For example, one time I disagreed with my director, who spent his entire career navigating by the seat of his pants. I was generally considered an expert in the subject, after having written several whitepapers that had become canonical reference amongst higher level leaders. That didn't matter, he never conceded the point and he treated me like shit until his boss told him he was wrong (which was after I transfered to a different org). This demonstrates this problem on two levels: he wouldn't tolerate any disagreement from me right up until the point where he realized that he was the one with the unapproved opinion.

</comment></comment></comment><comment><USER22> It's strange to see this repeatedly presented as some recent Amazon or Bezos thing. It's been floating about since at least the 90s, often attributed to Intel/Grove.

<comment><USER23> agreed. in the valley you do hear it attributed to intel.

the other long-time intel—ism that has now been appropriated everywhere is the OKR system. it was really weird moving from intel to google and hearing someone from peopleops talk about "this part of google culture called OKRs."

</comment></comment><comment><USER24> I've had this same though lately, that I was being seen as inattentive or disengaged by not disagreeing more with decisions I don't fully support. Maybe I'll try this out to see how that works.

The issue though is when you do bring it up and none of the leadership care and they plow ahead anyways. Headlong into another poor decision.

</comment><comment><USER25> Sounds like a nightmarish environment, making a "process" of engineers discussing a solution.

</comment><comment> Digital-Citizen First, I don't think this blog should require Javascript to fulfill its function -- convey text to a user. I've tried to read the source markup to get to the essay.

On to addressing points raised in the essay:

"If you have been following Amazon at all, you have probably heard what sounds like code language when we talk about how we get our work done. As I have mentioned before, our work like a kind of short-hand for the types of qualities that make people effective here. And they aren't just for leaders of organizations, they are for everyone at Amazon. We are all leaders."

No, everyone at Amazon.com is not a "leader". Leaders get to set the terms by which they and others will do some job. Reports of worker exploitation (see [https://stallman.org/amazon.html#exploiting](https://stallman.org/amazon.html#exploiting) for links to relevant stories to back up the claim) make it clear that not everyone has the freedom to determine how their own job should be structured. Even if those changes would result in allowing workers to live in reasonable conditions, earn a living wage, work under conditions that don't make them ill, work without "spout[ing] the ideology of devotion to the company" (as Stallman rightly put it on his personal website linked above), and work a full-length career not a short-stint part-time or "contractor" job that will leave the worker to have to find another way to make ends meet all while delivering goods and services in a reasonable time-frame. I'll give you a hint as to how this could play out for boxing goods at Amazon.com: it's fine if Amazon.com's customers waited an extra day or two in order to let the "pickers" take bathroom breaks, longer working breaks, and avoid on-the-job hazards like constantly hustling and fainting during the working day.

"You may have heard that Jeff Bezos dislikes social cohesion. It's a detriment to business success because it causes people to stifle ideas and objections for the sake of keeping the peace. I'm the kind of person who can have a concern or objection sidetrack my attention and I need to get it out; at least have it heard."

I doubt many who work under someone else believes this. This is what the manager class tell each other and tries to believe themselves while the worker class (people with the least say in the relationship) knows that stifling one's ideas and objections is conducive to helping them keep their job. This applies at every level in the hierarchy -- mid-level managers suffer from this when talking to their bosses and exploit this when talking to their subordinates. But the largest set of people always exist in the least- empowered class.

Managerial glib puffery PR like this usually downplay or ignore why people work these jobs at all: they live in societies that don't pay enough to give the worker the flexibility of choosing where to work. Capitalism pushes people to trade their skills for sustenance and tries to make it seem like that's a right and proper tradeoff, while capitalism also ridiculously over-rewards a few at the top (most notably in the case of Amazon.com's Jeff Bezos). Bezos, who might be the wealthiest person, clearly makes enough money to where he could never work again and be fine (as so could many generations of his children). But Bezos is not alone in this over-reward scheme; the gap between rich and poor is the largest it has ever been and it is accelerating.

It's ironic that any discussion of this kind would be raised in a single- point-of-censorship discussion forum such as this; it's so easy for anonymous users to score someone's post low (which affects whether other readers see the post with difficulty or at all) instead of responding. All scoring systems that affect how others see the posts are censorship, without exception. They work that way because that's precisely what they were designed to do. They are a mechanised way of implementing the reality of talking to the boss and run directly counter to the self-deluding lie of "disagree and commit".

<comment><USER26> So what's your point?

I read your entire post. Is there a point besides: Amazon = capitalism, capitalism = bad, Amazon = bad?

<comment> Digital-Citizen I think it's more likely you're trying to minimize setting a critical response which clearly focuses on exploiting workers in a context suggesting that caring about worker exploitation is irrelevant or shouldn't be allowed to be raised in the context of some manager going on about abstract management technique (as apparently are those who downscored the post).</comment></comment></comment>


Mosaic plots: responsive, flexbox-based parts-to-whole visualizations - <AUTHOR> https://keminglabs.com/blog/mosaic-plots/

<comment><USER2> I understand there have been studies showing people don't estimate angles as well as linear distances but people go too far out of their way to avoid pie charts when parts within whole data is shown. The 1D mosaic plot is effectively a stacked bar chart but there I suspect there is also some bias given toward the largest component such that the relative proportions of the smaller components are not well discriminated.

<comment><AUTHOR> Stephen Few has an excellent overview of why pie charts should be avoided: [http://www.perceptualedge.com/articles/visual_business_intel...](http://www.perceptualedge.com/articles/visual_business_intelligence/save_the_pies_for_dessert.pdf)

Neither pies nor mosaic charts should be used if you need exact readings of the data --- though mosaic plots do have the advantage of being rectangular, making segments much easier to label with values than the segments of pie charts.

<comment><USER3> I disagree partly. It's easier to estimate relative shares of a total from a pie chart compared to his linear examples.

<comment><USER4> I am also not so convinced. I still like a simple pie-chart.

</comment></comment></comment></comment><comment><USER5> This is a neat and natural idea. I'm actually sort of surprised I haven't seen something like this before. It's one of those things that you think "oh I could have thought of that," but then nobody does until now :)</comment>


A common mistake involving wildcards and the find command - <AUTHOR> https://blog.robertelder.org/find-command-wildcard-globbing/ <comment><USER2> As another user mentioned, many POSIX and/or GNU utilities havent aged well. I respect trying to stay portable, but peoples needs change over time and these tools simply havent kept up. Like the other user, I use Fd now instead:

[https://github.com/sharkdp/fd](https://github.com/sharkdp/fd)

As well as Silver Searcher:

[https://github.com/ggreer/the_silver_searcher](https://github.com/ggreer/the_silver_searcher)

while Grep performance is pretty good, its also gotten pretty stale with regard to its defaults and options.

<comment><USER3> For grepping, rg is faster and saner.

[https://github.com/BurntSushi/ripgrep](https://github.com/BurntSushi/ripgrep)

On end-user systems with fast I/O, it is usually a better use of resources to have a battery-/suspend-/reboot-aware indexing system that has path/extension white/blacklists and prioritizes file monitored changes. This way, searching can happen against an optimized text search DBMS much faster than waiting for zillions of IOPS that are basically wasted by instead spending them ahead-of- time in the background/idle indexing text files/metadata/structured data once when it changed/s and already know exactly where all occurrences of _kWhateverCondition_PP3V42_G3H_ or _\A[AB]{1,3}c+d\z_ live under _~ /Projects_ without reading any actual files.

<comment><USER2> Yeah and its also 10 times larger

[https://github.com/BurntSushi/ripgrep/issues/1481](https://github.com/BurntSushi/ripgrep/issues/1481)

<comment><USER4> If you go on a system with grep aliased and run your single grep command, are you going to be able to tell which binary was larger?

If you look at the size of two disk images for different distros, and one has grep while the other has ripgrep, are you going to be able to tell which is which?

10x larger than grep is noise in 2020. Making that tradeoff in exchange for significantly improved performance seems reasonable.

Not to mention a large part of that difference is likely due to grep relying on libc, while ripgrep has to bundle its own runtime. And that's not even bringing up memory safety.

I'll take ripgrep at 10x the size of grep any day.

</comment></comment></comment></comment><comment><USER5> I often set the nullglob option in scripts, because it makes the handling of globs which don't match anything a bit more predictable:

[http://bash.cumulonim.biz/NullGlob.html](http://bash.cumulonim.biz/NullGlob.html)

There's a note at the end about how with nullglob set, ls on a glob with no matches does something surprising. This is a great illustration of how an empty list and the absence of a list are different. Sadly it's rather hard to make that distinction in shells!

I do wish that either shells had a more explicit syntax for globbing, or other commands didn't use the same syntax for patterns. Then confusion like this couldn't occur. An example of the former would be if you had to write:

      ls $(glob *.txt)

Here, the shell would not treat * specially, but rather you would have to explicitly expand it. This would be a pain, but at least you wouldn't do it by mistake!

<comment><USER6> I set failglob: `shopt -s failglob`. Makes the whole command fail if there's no matches. That combined with `set -e` which aborts the script in the event of any command failing makes me feel somewhat safe.

Indeed I add the following two lines to every bash script I write:

        set -exu
        shopt -s failglob

<comment><USER7> If you like set -e, I recommend looking at set -o pipefail.

</comment></comment></comment><comment><USER7> Tangential: another safeguard you can adopt is avoiding "hard delete" commands like rm and find -delete. Untrain yourself from these commands by never using them. On Mac systems, the "trash" program (brew install trash) sends files to your system trash. You can use `trash [file]` and `find .. -print0 | xargs -0 trash --`. rm is a dangerous command you should only very rarely be using.

I fish something out of the trash a few times a year and lemme tell ya; it's worth the investment.

Another tip if you fancy debugging shells is using

      python -c "print(__import__('sys').argv[1:])" sample "arg here" * foo

this provides the same functionality as the c program in TFA, without needing gcc.

<comment><USER8> Trash is the poor man's backup system.

<comment><USER9> You use trash _and_ backups.

Rich men can still save a few dollars for pocket change.

</comment></comment></comment><comment><USER10> For a long time (probably since the first time I forgot to quote something and got burned, so around 40 years), I've thought that there should be some mechanism for the shell to pass in information about how each argument came about.

For each argument, it would tell the program if it was supplied directly, or came from wildcard expansion. For those from wildcard expansion, it would tell the program what the wildcard was.

Most programs would not care, but some programs could use this to catch common quoting errors.

<comment><USER11> > For those from wildcard expansion, it would tell the program what the > wildcard was.

Different shells have different globbing mechanisms. Why should all programs tie themselves to the mechanisms of any one particular shell?

The simpler the calling mechanism for executables, the simpler it is to write them in any existing or future language. This also gives more flexibility to future shells.

UNIX is pretty much designed thinking of users as programmers. Making it easy to write programs building on other programs is as important as being able to call them. With that in mind, I don't think it's a good compromise to complicate the writing of executables in order to protect users from their own mistakes.

<comment><USER10> > Different shells have different globbing mechanisms. Why should all programs > tie themselves to the mechanisms of any one particular shell?

I don't think my proposal would do that.

First, a clarification. When I said "For those from wildcard expansion, it would tell the program what the wildcard was" I meant the shell tells the program the full argument containing the wildcard, not just the wildcard part. E.g., if the argument was a?c which expanded to abc, the shell would tell the program it was a?c, not merely ?.

Let's say myprog takes one argument, which it expects to either be a file name or a wildcard in some pattern language that is not necessarily the same pattern language used by the shell.

Suppose myprog is invoked and it sees it has one argument, X. If the shell tells it that X did not come from shell wildcard expansion, myprog can safely use it.

If it does come from wildcard expansion and the source was Y, then there are a few cases.

1\. Neither X nor Y contains any myprog wildcards. In this case, I'd have myprog go ahead and use X.

2\. X does not contain any myprog wildcards, but Y does. Myprog can infer from this that it and the shell probably have overlapping wildcard languages. Report a "needs quote?" error.

3\. X contains a myprog wildcard, but Y does not. Probably myprog and the shell use different wildcard languages. I'd guess its pretty unlikely that the user expects that a filename will contain a myprog wildcard, so I'd report an error in this case.

4\. Both X and Y contain myprog wildcards. Go ahead an accept X, applying myprog wildcard expanstion to it. (Maybe first check that X and Y contain the same myprog wildcards, in the same order).

I'd probably add support in myprog for some optional flags to change the defaults in those cases so if you really want to do obscure things like have file names that contain myprog wildcards and use shell wildcards to provide those file names you can do it.

<comment><USER11> Right now, programs receive a list of strings as their arguments. What would be a concrete proposal for this X-Y mapping, taking into account that a single Y results in multiple Xes?

The calls of executables is done via this system call:

int execve(const char * path, char * const argv[], char * const envp[]);

How would you modify that system call signature to be able to carry that information? And what about how programs receive arguments?

int main(int argc, char * * argv)

How would you modify main()'s signature?

Take into account, the kernel has no notion that shells even exist. It has no need to know about features of particular programs in the upper layers, but now it's going to carry this information. All other programs, too. Right now, they're typically not aware that there is such a thing in the world as a shell, but now an integral part of what makes an executable an executable, its arguments, is going to come attached to this data structure that represents the use of a feature of some other program that has nothing to do with the executable itself.

What is a wildcard/glob/pattern? It's just some weird idea a program not different from any other program had. It's not particularly important. It's nothing all other executables ever needed to know about before.

Sorry I'm ranting. What I'm trying to convey is that typically software comes in layers, like an upside down pyramid, and the upper layers base themselves on the lower layers. The upper layers depend on the foundation that is the lower layer. This seems to go backwards, with the lower layer basing itself on a particular tiny insignificant piece of the upper layer. To the lower layer, that piece from the upper layer doesn't even need to exist. It can just disappear. The lower layer can run just fine without it. The kernel doesn't need the shell, and even shells don't need globbing. It's not a core feature even if it's common.

I'm fine with breaking rules and making a step towards a mess when the benefit is really worth it, but I'm not convinced this is worth it.

Listen, this article says `find -name * .jpg` is a common mistake (I put the space because of HN formatting). Yet, I don't think I've ever done that, and I don't believe I ever will. I trust the claim to an extent. When people are learning a new language (tongue), like English or Spanish, they'll make all sorts of silly grammatical mistakes, like saying "you was late" or similar. I'm sure they're very common, but as they gain experience or are a native speaker, they'll never commit those mistakes. Trust me that `find -name * .jpg` looks really wrong. It jumps out, and just like you'd never say "you was late", my fingers would never type that.

I wouldn't try to change English grammar so that "you was late" became acceptable. For whoever is making those types of mistakes, learning is a process, and that's fine.

<comment><USER10> > What would be a concrete proposal for this X-Y mapping, taking into account > that a single Y results in multiple Xes?

Two arrays:

1\. An array of all the Ys.

2\. An array with one entry for each X. If X came from shell wildcard expansion, this entry is the index into the first array of the Y whose expansion resulted in X. If X did not come from wildcard expansion, this entry is some magic value that cannot be mistaken for an index into the first array.

Pass these arrays in the environment. No need for any kernel or standard library or language runtime modification to support it.

</comment></comment></comment></comment></comment><comment><USER12> Shell (because this is technically a shell, not a find issue) is the worst language that everyone should learn. It's a language you'll actually encounter, and it's one that's hard to avoid (unlike PHP).

</comment><comment><USER13> This was obvious to me, but one version of this that surprised me is when using scp. If you glob a remote destination like "scp myserver:*.jpg ./" It will probably work! But how? Because the remote path will likely not match any local files and the path with the asterisk will be passed to scp and scp will do the globbing on the remote side.

<comment><USER14> I mostly use ssh and tar instead of scp, because I'm usually after more than one file.

Like, _" ssh remote 'cd /whatever; tar -cf - someglobpattern' | tar -xvf"_

<comment><USER15> Tip: get into the habit of using && rather than ;

So...

> _ssh remote 'cd /whatever && tar -cf - someglobpattern' | tar -xvf_

<comment><USER16> Seconded. Here [https://apple.stackexchange.com/questions/378942/cant- initia...](https://apple.stackexchange.com/questions/378942/cant-initialize- osx-interrogation-folder) is an example of what can happen from not checking for errors after a `cd` command. Summary: "sudo find ... -delete" ran in the root directory rather than the intended location, and now the OS is gone (probably along with lots more).

<comment><USER14> Fair observation. I will change my ways :)

</comment></comment></comment></comment></comment><comment><USER17> I believe that programming languages should never make the meaning of a program depend on the context in which it is executed. So many obscure bugs are directly caused by such behaviors. There should be exactly one possible interpretation for a given statement, and if that cannot be executed, then the program should abort. In this case, the glob should never have been passed on to find. It should either have expanded to the empty array, or failed.

<comment><USER18> One could argue that it is merely a side effect that a shell constitutes a programming language. And one could also note that find should employ the same tradition as the shell (ie. Use __/ *.jpg to recourse into folders)

</comment></comment><comment><USER19> My instant reaction to the example was "that won't work; you're shell will say something like 'no matches'".

Using an unescaped star in a find command _never_ works for me, which is a lot better than it sometimes working and sometimes breaking!

Reading the article and the comments, it seems like bash doesn't do this? I suppose it's one nice thing about oh-my-zsh, whose default confit I use almost unchanged.

<comment><USER20> It's a default in zsh, nevermind oh-my-zsh.

<comment><USER19> Thanks; I didn't know whether it was or not while I was writing my comment, and it was difficult to check on mobile, so I went with what I knew for sure.

Glad to know it's a stock zsh default, too!

</comment></comment></comment><comment><USER21> Straight from _The UNIX-HATERS Handbook_. [https://web.mit.edu/~simsong/www/ugh.pdf](https://web.mit.edu/~simsong/www/ugh.pdf)

<comment><USER22> A classic

</comment></comment><comment><USER23> Putting 'shellcheck' in your CI pipeline is a must for me now, after one too many mistakes.

I just finished cleaning away all existing 'error' and 'warning' level issues in our codebase so that the 'shellcheck' CI step can be really strict on code quality.

</comment><comment><USER24> Subject of the post is wrong. This is a common mistake between the user and whichever shell the user is using, not the user and the command itself.

The find command works exactly as expected.

</comment><comment><USER25> Phew! I'm glad I've been hitting the "Happy Case" scenario all these years!

Very useful article. And very informative.

Summary:

Instead of -

      find . -name *.jpg

Use quotes around pattern i.e.

      find . -name '*.jpg'

Edit: Oops, the double-quotes should have been single quotes! Thanks, @lucd. Happy case, like I said!

<comment><USER26> Wildcards are still expanded inside double quotes.. Yiu have to use single quotes.

<comment><USER27> ...or a backslash.

<comment><USER28> I use the backslash. I also specify -type f explicitly when I'm looking for files.

find . -type f -name \\*.txt

Now the next article will talk about problems when there's a space in the file names and you just piped the output into xargs :)

</comment></comment></comment></comment><comment><USER29> Common? Yes. Simple enough to stop doing this mistake after two times? Also yes. One you internalize in which case shell is responsible for globbing and in which case command itself, it is pretty clear cut.

</comment><comment><USER30> `find` has one of the worst user experiences out of UNIX tools. I prefer to use `find . | grep foo` to find files.

</comment><comment><USER31> Isn't this in the Unix hater manual? I never use -name without ''. I guess this is just muscle memory from early on when I run into this issue that in Unix *.py can mean very different things depending on where it gets resolved.

</comment><comment><USER18> That was a lot of text to explain that one should be cautious of the wildcard expansion some shells provide.

Thanks! I would have jumped right in!

</comment><comment><USER32> The title seems a bit off since shell expansions and arguments has nothing to do with the find command.

Both features are also often covered in entry level material for introduction to shell.

<comment><USER33> Well it seems the root of the problem is

> * Most importantly, the 'find' command uses a different algorithm than shell > globbing does when matching wildcard characters. More specifically, the find > command will apply the search pattern against the base of the file name with > all leading directories removed. This is contrasted from shell globbing > which will expand the wildcard between each path component separately. When > no path components are specified, the wildcard will match only files in the > current directory.*

So there does seem to be a `find` specific issue here

<comment><USER34> That's just ignorance about find. The globbing works fine, they're just not doing the search they think they are - they seem to think "-name" acts like "-path":

      $ ls Foobar/
      one  three  two
      $ find . -path '*bar/t*'
      ./Foobar/two
      ./Foobar/three

</comment></comment></comment><comment><USER35> It is just awesome that I stumbled upon this post. I remember previously I had faced similar issue while running a command like

      find . -name *.gradle | blah blah

Instead of finding the root cause, I by-passed it by

      find . | grep "\.gradle" | blah blah

It just feels great to now connect the dot and know the real reason for the issue.

</comment><comment><USER36> find . -name \\*.jpg

This is pretty elementary which any seasoned Linux person should know.

</comment><comment><USER37> > You can type: man glob

Translation: you cannot type "man" followed by an asterisk because that would have required forethought in how one learns a programming language.

Argle: Hey Bargle, is that new bridge built to spec?

Bargle: It's like I always say, man: _good enough for shell script manual operator discoverability_.

Argle: Yeah, you're always saying that...

</comment><comment><USER38> I almost appreciate the idea of writing a C program whose sole purpose is to show you the arguments send to it. That's some serious overkill.

But I think echo *.py would not just be easier, but more effective at demonstrating what your find command line will actually look like after shell expansion.

<comment><USER39> That will be quite misleading when you have filenames with spaces and arguments with quotes.

</comment></comment><comment><USER10> Another one I've seen a few times with find (although it is actually more an xargs thing than a find thing), usually not with any bad consequences at least, is something like this:

find . -type f | xargs grep foo

You expect to see all the "foo" lines from your files, each prefixed with the file name and a colon. And that's what you get most of the time.

But sometimes you might get a foo line without the filename prefix.

Why? Because grep only adds the filename prefix when there is more than one filename argument. There are two ways that might come about in the above command.

The first is if the find only finds one file.

The second is if the find finds so many files that xargs has to invoke grep more than once. It can happen that there is only one file left to do when it gets to the final grep invocation.

Simple fix:

find . -type f | xargs grep foo /dev/null

<comment><USER40> A "better" fix would be:

        find . -type f -exec grep -H foo {} +

<comment><USER41> Yeah, find ¦ xargs is definitely an antipattern, but in practice I use it all the time. Either because I forget the syntax for find -exec, or because I'm feeling principled that find -exec breaks the Unix philosophy of doing one thing well and being composable, or because my script started using ls and got changed to use find.

<comment><USER42> Why is find | grep an anti-pattern? Is eschewing memorizing the flags of one particular command in favor of using a pipeline which is much more broadly applicable really an anti-pattern?

Heck, I'm at the point now where I pipe tar into gzip.

<comment><USER43> I think there is a cottage industry around telling people that they're using the interactive shell wrong. This all started with "useless use of cat", which people still bitch about on Reddit and Twitter on a regular basis, and so whenever someone finds something a little weird about UNIX, they are quick to call a person asking a question about it dumb. I think it might be stockholm syndrome, or a symptom of one's greatest achievement in life thusfar being reading the man page for find. Or maybe they genuinely think they're helping. I dunno.

Ultimately, it's a cascading failure of bad design. Good design is that find and xargs each do one thing and do it well. Find can output files to anything! Xargs can xargify input from anything! Bad design is that find uses \n as the output record separator and that xargs uses \n as the input record separator, but \n can appear in filenames! This design can never work and will always lead to difficult-to-debug problems. So instead of fixing it, we blame the user for not knowing "oh, well find has xargs built in. sort of. a lot of the features are there. not all of them. but some. so never use find | args, smile." or "well, we designed the unix shell to be easy to use... but there is this corner case that we knew about and could have protected you from, but we chose not to, so 1% of the time you'll rm -rf / with your xargs command, UNLESS YOU REMEMBER THIS ONE WEIRD TRICK which is to use -0 to use an out-of- band symbol to separate records which we could have just made happen by default but chose not to, just to mess you up!"

I appreciate the efforts of people that are re-imagining the interactive shell, like PowerShell. I am not very productive with PowerShell (to get a listing of files in your directory, just type "Could-We-Make-It-Even-More- Verbose -PerhapsInTheNextVersionWeWill!") but it's a good prototype of a good shell. I have personally stepped on enough UNIX landmines to be generally OK with the compromises, or more typically don't write shell scripts for anything that will be run more than twice. It's bad though, and I don't think the users are to blame.

<comment><USER44> > Bad design is that find uses \n as the output record separator and that > xargs uses \n as the input record separator, but \n can appear in filenames! > This design can never work and will always lead to difficult-to-debug > problems. So instead of fixing it

Perhaps, but it also can't be avoided. Everything can appear in filenames. We want filenames to be able to contain any character.

The most high-profile attempt to "fix" the "problem" you identify here is of course the ASCII standard, which defines several separators (0x1C - 0x1F) just for the purpose of delimiting fields with bytes that can't appear in data. Except of course nobody cares -- the solution was stillborn -- because data can contain any bytes that anyone wants it to.

> I am not very productive with PowerShell (to get a listing of files in your > directory, just type "Could-We-Make-It-Even-More-Verbose > -PerhapsInTheNextVersionWeWill!")

Well, you could do this by typing Get-ChildItem, but it would be both easier and more standard to type one of "gci" (what Microsoft would like you to use), "ls" (meant for those used to unix) or "dir" (for those used to dos).

<comment><USER45> > Perhaps, but it also can't be avoided. Everything can appear in filenames. > We want filenames to be able to contain any character.

Who is "we" ? I wouldn't mind some 'sane' limits, eg UTF8, no control characters and no names starting with a dash.

Still hoping for the day that some distribution sets a mount option to enforce sane filenames by default and starts weeding out the application bugs it'll trigger..

[https://dwheeler.com/essays/fixing-unix-linux- filenames.html](https://dwheeler.com/essays/fixing-unix-linux-filenames.html)

</comment></comment></comment></comment></comment></comment></comment><comment><USER46> Do people really use find like that to clean up source code?

      git clean -fxdn  # review what would be deleted, then

      git clean -fxd

<comment><USER47> I do for .pyc files.

      find . -name "*.pyc" -delete

<comment><USER46> Is there a reason you prefer that rather than having something like

      *.py[cod]

in your .gitignore?

<comment><USER47> Yeah, the reason is that the Python interpreter doesn't give a shit about .gitignore.

</comment></comment></comment></comment><comment><USER14> Globbing is also more complex than it seems on first blush.

Alternation is supported in bash. Stuff like _" echo ∗.{png,jp{e,}g}"_ (utf8 asterisk to get around HN, cut/paste won't work).

That bsd derived glob is useful for some sometimes useful tricks. Like in Perl:

use File::Glob qw/bsd_glob/;

my @list = bsd_glob('This {list|stuff} is nested {{very,quite} deeply,deep}');

<comment><USER48> > "echo ∗.{png,jp{e,}g}" (utf8 asterisk to get around HN, cut/paste won't > work)

This works:

        echo *.{png,jp{e,}g}

Note

        ∗ ⟵ U+2217   * ⟵ needed ASCII asterisk

Just put the code examples in the _separate lines, prefixed with spaces_.

</comment></comment><comment><USER49> Apparently, the OP read the man page of " _glob_ " but couldn't spend a single minute reading the man page of _FIND_.

      -name pattern

        ... Don't forget to enclose the pattern in quotes in order to protect it from expansion by the shell.

So, a lengthy article on an already documented feature of _find_.

</comment><comment><USER50> One of my favorite features of fish shell is the __wildcard expansion:

[https://fishshell.com/docs/current/tutorial.html#tut_wildcar...](https://fishshell.com/docs/current/tutorial.html#tut_wildcards)

It's rare I reach for find nowadays since switching.

</comment><comment><USER51> Also, a good thing to remember is to mind the order of your options. I know from experience that it matters a lot after thinking once: "I can just place this `-delete` option wherever, right?" and using it as my first option. Needless to say, I had a very bad time.

</comment><comment><USER52> It is unexpected to new users, principle of lead surprise should show it's not a great idea. At the same time, globbing is a basic concept for beginning shell users. I don't know how I learned about it, if someone told me or something.

</comment><comment><USER53> I wonder if this is also a problem with fish. The globing there is different.

<comment><USER54> Fish won't pass along the unmatched glob, so in the given example you'd notice that with

        find . -name *.py

it will error initially, because there is no "*.py" in the current directory.

Globbing is still a thing fish as the shell does, and you still need to protect asterisks that need to reach commands, but you're more likely to notice.

(for bash there is also the "failglob" option that I personally recommend)

Disclaimer: I am a fish developer.

</comment></comment><comment><USER55> I always write it like this:

      find . -name \*.jpg

escape the glob

</comment><comment><USER56> I also have the habit of always using -iname instead of -name to make case insensitive searches.

<comment><USER57> I used to do this until just replacing it with `fd`.

[https://github.com/sharkdp/fd](https://github.com/sharkdp/fd)

</comment></comment><comment><USER58> Find is an ugly beast. I only use it to print all the files and then grep my way on.

</comment><comment><USER15> Quiz; in any directory, full or empty I can run this command

$ *

and get

*

What allows me to do this? (the $ is the prompt, not what I typed)

<comment><USER59> You can't, at least on bash version 5.0.3(1)-release with the default config Ubuntu packages it with. After a lag I get the error `$folder_name$: command not found`

<comment><USER15> I promise you you can, with a previous particular incantation.

Answer to come.

PS. the response is not important.

<comment><USER59> Oh, I thought you meant in an arbitrary directory. If the first file in sorted order is executable and prints "*" to stdout you could get that.

<comment><USER15> I did mean an arbitrary directory.

Your answer almost works; but only if PATH includes the current directory which is unusual.

It does hint at another _almost_ answer ...

       mkdir t
       cd t
       ln -s $(type -p ls)
       *

</comment></comment></comment></comment></comment><comment><USER60> TL;DR: globbing kicks in before other things unless you turn it off like with single quotes:

[https://www.tldp.org/LDP/abs/html/globbingref.html](https://www.tldp.org/LDP/abs/html/globbingref.html)

Don't forget about globbing when making Bash scripts.

<comment><USER61> points for spelling globbing correctly :)

</comment></comment><comment><USER62> I use fd-find and I don't really miss find.

</comment><comment><USER63> at my workplace I use git bash on windows, and because i'm always getting man: command not found I flick to a browser and type man <whatever I was looking for>

About once a year I forget what happened all the previous times I typed

       man find

into google.

TLDR: looking for Dennis Ritchie, I found Chuck Tingle.

</comment><comment><USER64>
      find . -name *.jpg

TL;DR if you don't wrap your wildcard expressions in quotes the shell will expand them.

      find . -name '*.jpg'

so wrap them in single quotes so that they make their way to the find command unexpanded.

</comment><comment><USER65> This is the _one_ thing I like about DOS/cmd.exe. In those shells, wildcard expansion is done by applications instead of the shell itself, so there's no need to resort to hacks like this.

<comment><USER39> That means the expansion is very limited and can be inconsistent. The bash etc. way is much more powerful and convenient.</comment></comment>


Democracy 3.0: A science-fiction story about what comes next in America - <AUTHOR> https://qz.com/884971/democracy-3-0-a-science-fiction-story-about-what-comes-next-in-america/ <comment><USER2> What comes next is universal Franchise:

[http://sonomavalleyhigh.org/home/CA49709534937256/.blogs/pos...](http://sonomavalleyhigh.org/home/CA49709534937256/.blogs/post21696/Franchise%20by%20Isaac%20Asimov.pdf)</comment>


Wireless charging startup uBeam accused of being the next Theranos - <AUTHOR> http://techcrunch.com/2016/05/11/charged/ <comment><USER2> The story reported here (blog by ex-exec) had two major discussions at the time:

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

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

<comment><USER3> Please delete my account.

</comment></comment><comment><USER4> There's a big difference between a venture backed tech product that doesn't work at the desired scale because of the laws of physics and a medical product that doesn't work because of phlebotomic reasons (also, procedural and calibration).

And that difference is who gets hurt.

uBeam is going to hurt the VCs, Theranos hurt everyone who relied on the results of their tests.

<comment><USER5> To be fair uBeam might also cause cancer, we just don't know.

See another power related investment scam: Steorn: [https://en.wikipedia.org/wiki/Steorn](https://en.wikipedia.org/wiki/Steorn)

<comment><USER6> I had a hilarious experience being brought into a meeting at Steorn, designed to explain to potential investors and commentators the technology and the origins behind it.

I'm not going to make any comment on the intentions of the founders or even on the technology itself. The presentation itself however was comically childlike and questions were answered with a circularity that was amazing to witness. What I noticed, though, was that if you ask penetrating questions and if someone calmly and persistently fails to address the core of your question then other people eventually accept that your question has been answered!

<comment><USER5> They are still going strong

orbo.com

You can buy a phone that has a battery that will never run out, apparently.

However it seems a lot of faults are found:

[http://dispatchesfromthefuture.com/](http://dispatchesfromthefuture.com/)

</comment></comment></comment></comment><comment><USER7> There was a Tumblr blogger su3su2u1, a physicist, who was all over these guys:

> I reached out to an investor in impossible startup I had talked about > previously. Had a long phone call today, in which he explained to me he > didn't invest because he thought they'd ever be a viable business. He > invested because he thought between their pitch/charisma and the names of > the investors backing them they'd be able to get several rounds of funding, > and he'd be able to cash out.

That is: for VCs in the present climate, "find a greater fool" counts as a business plan.

It's about now that front-end web devs who are good with JavaScript should be stocking up on tinned food.

(He's since deleted his Tumblr, but the text is still in my reply to him: [http://reddragdiva.tumblr.com/post/129387704618/conversation...](http://reddragdiva.tumblr.com/post/129387704618/conversation- with-an-investor) )

<comment><USER8> I think this right here is why some VC's are so rabid about criticism of startups they've invested in. For a while now it's looked like a lot of pump- and-dump behavior.

</comment></comment><comment><USER9> Funny thing is that Marc Andressen had some mean comments on @pmarca about how HN reacted after first news appeared here and commentators showed it was technically impossible (or at least not what most people expect)

<comment><USER10> did the same thing when initial theranos reports came out.

<comment><USER8> You mean those "Hater News" comments? Yeah, if you don't support the VC's narrative you're a hater. Doesn't matter if you've got legit concerns related to physical laws.

</comment></comment></comment><comment><USER11> "uBeam could be vaporware"

You don't say?

Seriously — uBeam's claims were always ridiculous. Anybody with any kind of engineering background should be able to feel it instinctively, and be convinced after spending a couple of minutes with pen and paper.

<comment><USER12> I'm not deeply into the details, but doesn't it depend on how focused the ultrasonic beam is if you can fully protect the beam from hitting people by some smart and rapid sensing ?

<comment><USER13> If you have to develop 100% accurate human detection and avoidance systems in order to avoid catastrophic tissue damage for users of a mild convenience, maybe you should pack it in.

Some things are worth the risk. Spaceflight, experimental cancer research, assassination of despots, hazardous waste storage technologies. Sometimes you really do need to crack a few eggs to advance humanity.

But the 'advance' we're talking about here is the trivial convenience of not plugging in your phone.

<comment><USER14> This technology _starts_ with phone charging, where it ends may be quite a distance from there. We've also quite literally _had_ to develop as close as we can get to 100% safe ways of pretty much everything complicated we do, from surgery to driving to toasting bread.

</comment></comment></comment></comment><comment><USER15> Are they being called the next Theranos simply because they're also a tech startup without a working product that has a woman founder/CEO? Sure looks that way. uBeam is just a dumb idea that can't work. Squandering a few million of VC money in pursuit of a dumb idea happens all the time. This article seems really meanspirited.

<comment><USER16> Maybe it's time to roll out a pitchfork-as-a-service startup ?

<comment><USER17> Already exists, it's called reddit.

</comment></comment></comment><comment><USER18> "uBeam has refused to publicly show a demo because the technology doesn't work."

in this case it's the VCs to blame for blindly throwing their money.

<comment><USER19> Well... I gather uBeam's stick was to give a demo of an impractical ultrasonic power transfer system (off-the-shelf transducers transmitting a small amount of power over an insignificant distance) and claim that they just needed to scale it up by improving on the existing technology. Which presumably sounded reasonable to VCs who didn't bother doing some back-of-the-envelope maths on the physics...

<comment><USER20> Or asking someone who does know his physics to do it for them.

<comment><USER21> The VCs might have wanted to "save" money on this, but of course they would/will spend millions (if not billions) on shitty consultancy firms.

</comment></comment></comment></comment><comment><USER22> Not exactly like Theranos. uBeam isn't selling the product, it's still in development phase. In other words, it's vaporware.

It won't be the first nor the last vaporware.

Theranos was outright fraud in a regulated market.

</comment><comment><USER23> Better the next Theranos than the next Therac.

<comment><USER24> [https://en.wikipedia.org/wiki/Therac-25](https://en.wikipedia.org/wiki/Therac-25)

(I didn't know about this... interesting case study, thanks!)

<comment><AUTHOR> Interesting is too mild a word. Devastating is probably more accurate.

<comment><USER25> We could have learned that lesson in many other ways. I am glad we have the opportunity when it was pointed at one person at a time—that could have been a subway or aircraft controller.

Now, the hard part is ensuring we really do learn the lessons Therac can teach us.

<comment><USER26> I was about to post "...or could have been a Toyota ECU?" But doing a little obligatory pre-mouth-opening-due-diligence, I discovered that the Toyota ECU I remember so much bad press about apparently wasn't at fault. [https://en.wikipedia.org/wiki/2009–11_Toyota_vehicle_recalls](https://en.wikipedia.org/wiki/2009–11_Toyota_vehicle_recalls)

</comment></comment></comment></comment></comment><comment><USER27> The blog that the article was sourced from ([http://liesandstartuppr.blogspot.com/](http://liesandstartuppr.blogspot.com/)) currently has a biting post about how Theranos' failures are endemic in the tech industry:

"Companies in the new tech area tend to be a little lax when it comes to doing things carefully - Mark Zuckerberg, founder and CEO of Facebook, tells us all to "Move fast and break things", which I have to agree is a great way to innovate and learn _when your product does nothing of actual importance at all._ It doesn't matter if you don't get your silly cat videos, or can't post pictures of your holidays, because your business payroll doesn't run on it, your medication isn't delivered by it, nor is your aircraft navigation based on it. Real consequences of a Facebook blackout are near zero."

"[...] In both these industries [generator manufacturing and medical ultrasound] the mentality was "we must make sure this is safe" and the idea of reducing or skipping safety is never considered, but I do not see the same thinking in many of these tech companies. I have literally heard "what's the minimum we have to do?", "we don't have proof it's a risk", "that sounds time- consuming and expensive. We should do <pointless but fast/cheap thing> instead", and "well if it goes to court our lawyers say they have good arguments"."

</comment><comment><USER28> uBeam isn't like Theranos because uBeam isn't defrauding anybody. They have honestly described how the product works. The product just happens to be a horrifying deafness ray. Some VCs will fund that.

<comment><USER9> So they'll be looking at selling it to the military? Just like Theranos wanted?

</comment></comment><comment><USER29> uBeam is most likely vaporware that violates the laws of physics - at least in what they propose on a product level - but that doesn't mean that they shouldn't be funded to try working on a really hard problem. Maybe in their R&D they fall short by a large margin on the product side, but still make some meaningful contribution.

I think where everyone loses their cool is when the company purposely gets massive amounts of PR to glamorize themselves (and their founder) as if it's already a success [1]. IMO these guys should be keeping a low profile, like the people working on Jetpacks and similar things. Make some noise when you have a demo.

[1] - e.g. "Top 30 under 30". Seriously? Prove yourself first. [http://www.forbes.com/pictures/mef45eldh/meredith-perry- foun...](http://www.forbes.com/pictures/mef45eldh/meredith-perry-founder- ubeam-22/)

</comment><comment><USER30> Pretty sure Forbes was on this same blog post more than two weeks ago. [https://is.gd/5xJ4QY](https://is.gd/5xJ4QY)

[EDIT] Additionally, they accurately point out that, apart from the VP's rant, uBeam is actually persuing something more akin to cordless charging, within a few meters of a charging station.

That's still something of a pipe dream given the inverse law of power distribution. But rather than hitting the target perfectly to wirelessly charge my S7 it'd be nice to just set it anywhere on the counter. Not sure that's disruptive, but it's more possible than ubiquitous, in-home charging.

</comment><comment><USER31> Is this a issue specific to uBeam or wireless charging in general? There is also a YC company working on the same thing : [http://www.madebysupply.com](http://www.madebysupply.com)

Are there similarities/differences between the two?

<comment><USER32> uBeam claims to be using ultrasound to transmit power, while the other companies (inluding the one you mentioned) in this field are using radio waves. Electricity over radio waves is well understood and basically works. The problems there are ones of engineering a system that is sufficiently energy efficient and reliable in a reasonably compact package rather than any fundamental scientific problems.

</comment></comment><comment><USER33> I'm kind of surprised at their list of investors. I mean Mark Cuban is generally a skeptical guy at investing from what I see on Shark Tank. Then there is some major investors (Andreessen Horowitz, Founders Fund, Shawn Fanning...) Can't these people afford a technologist/scientific consultant to bounce thughts on the feasibility of ideas before investing in them? I guess for them spending a $1M here or there is pocket change.

<comment><USER34> Mark Cuban is a lottery winner and reality TV star. He made his own money by selling a company to yahoo for billions that they shut down shortly after taking a giant loss.

Who knows about all of these guys though. It makes you wonder if they are taking unresearched scattershot approaches to winning carnival games in the hopes of walking home with a few big prizes.

</comment></comment><comment><USER35> """uBeam CEO Meredith Perry tricked co-founder Nora Dweck into an 80/20 split of the company instead of a 50/50 split, according to court documents. Dweck sued Perry, who "settled out of court with Dweck rumored to get 20% of the company"""

I'm assuming this means an additional 20%? If not that's a pretty great settlement for the sued party :P

</comment><comment><USER36> I think it's becoming a meme. Failed startups is nothing new. Failed healthcare startups is different, because healthcare has created a vast regulatory and auditing network to specifically prevent the creation of startups that will fail.

<comment><USER12> Not really - the regulatory framework prevents giving bad medical services to people. But many healthcare startups have failed. Just in the area of non- invasive glucose testing there we're probably tens of them. No shame in failing, assuming you gave an honest effort.

</comment></comment><comment><USER37> This reminds me of the idea of having a Tesla coil in every room for power delivery.

</comment><comment><USER38> Seems like in SF you just need a ridiculous idea to get funding. No working product, nothing. Funny but also quite sad.

<comment><USER39> They invest in the story and the founders, so you need a great story (Zenefits etc), a Zuckerberg lookalike (Clinkle etc) or something similar.

<comment><USER40> The three usual metrics that are used are "Team", "Market" and "Product" with investors focusing more on one or the other.

I'm fairly certain that investors who focus on team and market over the product metric are the ones who will continue to get burned by this sort of scenario. This isn't the last company that will try to peddle vaporware and get away with it for an extended period of time.

</comment></comment></comment><comment><USER41> i think the naivete of my thinking there was any kind of rhyme or reason to which companies get funded and press coverage is completely gone.

it's clear to me that this entire system is just one giant crazystorm.

<comment><USER34> There is certainly a method to the madness, but if you are hoping for an answer that includes technical progress or sound long term business plans you may be very disappointed.

</comment></comment><comment><USER42> TIL Americans just can't pass up a good which hunt.

</comment><comment><USER43> theranos is almost a decade and a half old. i'll just come right out and say that the FDA is a sham and I honestly wouldn't care if they Theranos didn't pay extra to have some peer reviewed paper published or adhere to the laws proposed, written, ammended and passed by people without degrees in the field.

It is a shame Theranos did some questionanable, unethical & likely illegal things. I wont hold them up as the Unicorn's gift of Zeus here, but I really could care less about red tape. 23andme had an injuction against them by these clowns(fda) so unless soneone here can say in 2008ish 5 years after Theranos was founded, you knew it was going to implode, then I would say would you still not want another company in the space to get funded? Nobody gets points for standing infront of Yahoo right now and sayibg they are in bad shape, shits obvious. However there are many companies succeeding where Theranos failed.

As for uBeam, I assumed this would fail. I just looked at it like a privately funded research project. Regardless, it seems like this space is actually succeeding (just not uBeam wireless inplementation) so I am excited about that.

tl;dr it's really easy to be negative with a decade or more of hindsight. sure these were collosol failures & that money could have been spent elsewhere, if nothing else these high profile companies likely inspired some competitors and interest in the space and many of them aren't doing something physically inpossible</comment>


Mapping your location data from the Moves app - <AUTHOR> http://quantifiedself.com/2014/03/map-moves-data/

<comment><AUTHOR> Other examples of visualizations and tools for this kind of data?</comment>


Music from Earth - <AUTHOR> http://voyager.jpl.nasa.gov/spacecraft/music.html <comment><USER2> Would love to see the following experiment:

1) Take a bunch of people from different backgrounds, ages, etc

2) Test if they know about the golden records

3) Take the ones who don't and close them in an office/workshop with access to pen/paper/computers/tools but no internet

4) Task them with decoding the record and report what they find in it

<comment><USER3> using younger subjects might be ideal also, they could be unfamiliar with how records work

</comment></comment><comment><USER4> Related: A group on Kickstarter are producing a reproduction of the Voyager record [1]. It closed a few days ago.

[1] [https://www.kickstarter.com/projects/ozmarecords/voyager- gol...](https://www.kickstarter.com/projects/ozmarecords/voyager-golden- record-40th-anniversary-edition/)

</comment><comment><USER5> Here are the pieces themselves:

[https://www.youtube.com/watch?v=Bhuq9rNO_FQ&list=PLA5Z0m2JKy...](https://www.youtube.com/watch?v=Bhuq9rNO_FQ&list=PLA5Z0m2JKyVJUgkMG08WP8KsAvLrjfkjP)

<comment><USER6> > Unfortunately, this video is not available in your country because it could > contain music from UMG, for which we could not agree on conditions of use > with GEMA.

(on Bach_Brandenburg Concerto No. 2 in F, [https://www.youtube.com/watch?v=olLi5RtE_6M&list=PLA5Z0m2JKy...](https://www.youtube.com/watch?v=olLi5RtE_6M&list=PLA5Z0m2JKyVJUgkMG08WP8KsAvLrjfkjP&index=5))

I find it telling and sad that the same music that we're sending aliens presumably to represent the human race cannot be freely accessed here on Earth for bullshit business/legal reasons.

<comment><USER7> I'm more annoyed Extra Terrestrials get to listen to our music for free without any geographical restrictions! hardly seems fair.

<comment><USER8> "I'm sorry, the content you requested is not available in your solar system due to intergalactic copyright laws".

</comment></comment></comment></comment><comment><USER9> This is Earth Radio, and now here's... Human Music

<comment><USER10> Show me what you got.

</comment></comment><comment><USER11> The queen of the night aria will probably destroy all the alien glassware.

</comment><comment><USER12> So happy to find out my mother tongue was one of the 55 languages included in the Greetings from Earth :)

</comment><comment><USER13> More or less accurate:

[https://www.youtube.com/watch?v=Bhuq9rNO_FQ&index=1&list=PLA...](https://www.youtube.com/watch?v=Bhuq9rNO_FQ&index=1&list=PLA5Z0m2JKyVJUgkMG08WP8KsAvLrjfkjP)

<comment><USER14> ghgg

</comment></comment><comment><USER15> I love the project as a whole, but why send music? Even terrestrial non-human animals have basically no interest in our music, why would extraterrestrials?

<comment><USER16> You could say the exact same thing, replacing "music" with "written language", or essentially _anything_ you could put on the probe. The point is, we have zero reference allowing us to imagine the mind of a being capable of catching and analyzing the probe. Not even ourselves, we're too stupid.

Let's make the improbable assumption that someone will receive it, otherwise the exercise is futile. They probably won't be highly interested in our "advanced" knowledge of mathematics and physics, so let's only inscribe minimal required information to roughly convey our level of advancement, since our radiation-resistant media has limited storage.

So what's the most interesting data left? All I see is descriptive information about life on earth, and insights into the functioning of the human mind. This is where art comes in. That leaves us weighing the potential alien interest in different forms of art, and music turns out to be an art form that requires relatively little cultural context in order to be appreciated, while still having surprising depth and being an outstanding representation of our mind's uniqueness.

<comment><USER15> If we received a record from extraterrestrials, what would most like to see on it? Music would be awesome, of course, but chances are they don't have music, maybe they have something else but it would be meaningless to us, like an ant sending artistic pheromones, except far more bizarre since they'd share _no_ common environment or past. Not meaningless to us would be details about their atmosphere, their society (if that were easily communicable), their technology (even if less advanced than ours), and - by far the biggest - their biology and that of their planet. There's some of that on the record, but it's clear to me that including more than, say, one song, is a service to the humans launching it, not the hypothetical receivers. Then again, in all likelihood, humans are the only pieces of intelligent life to every go near the Voyagers, so perhaps it's them who should be appeased.

</comment></comment></comment><comment><USER17> I wonder how the list would look like if voyager would be sent today?

Would we for example send Justin Bieber, Rick Ross or artists like Deadmous5?

<comment><USER18> Most of that music wasn't contemporary.

Rite of Spring, El Cascabel, Johnny B. Goode, Melancholy Blues, and Dark Was The Night date from the same century; I can't figure out if the Japanese piece does or not.

Everything else seems to be much older.

I was going to say that we'd be more likely to send something more provably enduring from living artists, and I was about to name Prince and Bowie, but, alas.

</comment></comment><comment><USER19> No Motörhead?..</comment>


Dear Asana Inbox, why do you want to slay email? - <AUTHOR> http://blog.grexit.com/dear-asana-inbox-why-do-you-want-to-slay-email/

<comment><USER2> Slay probably isn't the right term. They want to improve upon the concept of email. If you're solely using email to manage projects and groups you're taking what is admittedly an elegant and simple platform and trying to stretch it too far.

<comment><USER3> I don't mean to say that email as it is will get us to a very elegant solution for something like group project management. What I'd like to see is that if email + some addons/enhancement can get us to solving 80% of the project management problem.</comment></comment>


Amazon plans to make Prime shipping one day by default - <AUTHOR> https://arstechnica.com/information-technology/2019/04/amazon-primes-default-delivery-window-will-soon-shrink-to-one-day/ <comment><USER2> This is already the norm in NYC as of the past few months. It used to be that by declining optional free one-day delivery I could prevent LaserShip from handling my delivery but that is no longer the case. I would take three-day delivery if it meant that I never had to have another packaged delivered by LaserShip.

<comment><USER3> I used to dread having a package shipped LaserShip but I would gladly take LaserShip over delivery by Amazon. At least with LaserShip I knew that when the package said delivered when it wasn't the package would show up the next day at my door.

The majority of time Amazon delivers a package using their own service I have to spend 30 minutes figuring which neighbors front porch my package is sitting on in the picture provided in the Amazon app. Even worse is if the package is delivered in the evening because then the drivers just mark the package as handed directly to resident so they don't have to take the time for a picture. Then I have to blindly scour the block hoping to spot my package.

</comment></comment><comment><AUTHOR> Two day doesn't get to me in two days half the time.</comment>


Show HN: ML Contests – Discover Ongoing ML/AI/Data Science Contests - <AUTHOR> http://mlcontests.com/ <comment><AUTHOR> Hi! I initially built this for myself as an overview of ongoing contests, but figured it might be useful for other people. I'd love to hear your feedback/suggestions - next up I'm thinking of adding contests without prizes (e.g. conference or recruiting contests), and improving the categorisations.</comment>


Why a prolific Clojure user switched to Haskell - <AUTHOR> http://bitemyapp.com/posts/2014-04-29-meditations-on-learning-haskell.html

<comment><USER2> My favorite takeaways:

* Refactoring is a breeze. This may be truly unbelievable until you start to work on a big project in Haskell.

* Old code stays alive—types provide adequate documentation to get up to speed on old code pretty quickly.

* Reuse is immediate. Parametric polymorphism and free theorems mean that you tend to write _really composable_ pieces as nothing more or less than the simplest, most confident way forward.

* Slow down when learning. Haskell will pretty much violate every base expectation you have about how languages work. You'll have to suss out what those assumptions are to move forward, and it may take time.

All of these I reflect personally as well. The first three derive immediately from the combination of purity and expressive typing.

<comment><USER3> As a general Haskell recommendation, I'd also recommend you take the time to actually carefully read the error message. It tells you exactly what's wrong deceptively often, though not always in terms that are easy to understand at a skim.</comment></comment>


Ask HN: How do I stop perfectionism from getting in the way of progress? - <AUTHOR> I feel as if I am a natural perfectionists. No matter where I work, I want everything that I build to be perfect in meeting the needs of the users and outsmarting competitors in the market.
Yet I know that the problem with perfection is that it slows me down and can stop new ideas from being given a green light.
How do I fight this feeling of striving to be absolutely perfect?
How do I know when a feature is "good enough"?
Sidenote: This feeling is exacerbated by the fact that I also receive a lot of customer support messages, giving me insights into the problems they might have. Yet I know that a single user complaining about a feature should not be the reason to fix it. <comment><USER2> Prioritize.</comment>