The burn down chart as a lone tool - <AUTHOR> http://devmngr.wordpress.com/2013/02/26/burn-down-chart-as-a-lone-tool

<comment><AUTHOR> Curios what people think of this post.</comment>


Beta Family: 50k Users to Test Your App - <AUTHOR> https://betafamily.com/ <comment><USER2> Lot of comments putting this service down - but I love it. I used them for a beta launch. Got ~180 people who applied for it. Got a ton of honest feedback that helped me plan for my next beta round.

The actual website is a bit slow and not so intuitive, but has a bunch of features. Support is great.

Having people put in their device UDIDs makes the process faster to register in the Apple dev portal.

There are other services I'm planning to try out, like [http://erlibird.com](http://erlibird.com) and [http://playtestcloud.com](http://playtestcloud.com). PlayTestCloud will record audio (maybe video?) of people trying out your app/game. I imagine it depends on the capabilities of the device OS though.

<comment><USER3> (PlaytestCloud co-founder)

We record the players' screens (with their permission) in iOS, Android and browser games.

We offer a free trial - would love for you to try it out and let us know what you think!

<comment><USER2> Thanks - I already reached out. I'm excited to try it out for another game in Sept! Your support team has already been very helpful.

</comment></comment></comment><comment><USER4> From the page: "6 000 tests completed, trusted by 6 000 companies..."

They've had no repeat customers?

<comment><USER5> I want this answered. How have only 6000 tests been completed with 6000 customers? Even if a single customer ran just two tests, the numbers wouldn't match.

This leads me to believe both numbers are fake.

<comment><USER6> Or accidental variable reuse in a template. Could be either.

<comment><USER7> In this case they forget to use their own service for test.

<comment><USER8> yeah! We do need to test our service better ;)

</comment></comment></comment></comment></comment><comment><USER9> Clicked on available tests, found a listing for "funimate pro lip sync"

Lip sync sounds like fun so I clicked. Was immediately presented with a test but not what I expected. Instead of a lip sync video maker, it was for a "Bitcoin Price Tracker ACrypto - Test is looking for testers. Part of the Funimate Pro Version lip sync music video maker testing family"

My trust evaporated right there.

<comment><USER8> Hi, we are lookig in to this.

</comment></comment><comment><USER10> I have used this service, does not work as advertised. We hardly got 2-3 testers to test our App.

<comment><USER2> I'm guessing you didn't put up a reward. I put just a $5 reward per tester and got ~100 testers who applied within 2 weeks.

<comment><USER11> Do you have to provide the reward to every tester, or do they apply and you pick the ones you want?

<comment><USER2> Once you create the test, you can open it up for applications. You can also search based on the demographic you want (age range, geographic, etc.) and invite users yourself.

If people apply, you can pick from those. I invited about 60 testers and had ~180 others apply. I was able to pick from that 180 set - and the reward goes only to them.

Also, before you start the test, you buy 'Beta' credits. You can choose to use these however you want, for example if you buy 50 beta credits, you can give a $5 reward to 10 testers, or a $10 reward to 5 testers. You can buy more credits as you go if you want to offer rewards to more testers.

</comment></comment></comment></comment><comment><USER12> Interesting that it's a device enrollment, but also a tad scary. There seems to be a lot of trust that you want your testers to give, and there was basically no heads up to the user.

EDIT: I see what they're doing now, crafty, it doesn't actually install any profiles in the end they're just capturing your UDID instead of entering it manually.

EDIT 2: Nice, I was expecting survey spam: [https://betafamily.com/app/12089/feed- item/28330](https://betafamily.com/app/12089/feed-item/28330)

<comment><USER13> I hate to be _that person_ but in the requirements of that link, is "Requirements [...] Male & Female" really needed? How is this a requirement? This would be better written as "No gender requirement" or simply removing that line unless only one gender is specified.

<comment><USER14> There's also the 13-99 age requirement for, you know, when you are ignorant to believe that your market really is everyone between 13 and 99.

<comment><USER12> Seems to be going well for the people asking testers to fill out their paid surveys lol.

</comment></comment></comment></comment><comment><USER15> This looks like an interesting site. The immediate focus is towards the developer of the apps. I wonder if it'd be more successful if the initial site focus was on the apps (read: opportunities) listed under Browse Tests. Getting a bigger base of people who like to test stuff apps would seem like a pretty valuable thing and I had to think for a few moments about how I can be on the other side. Maybe a less persistent person would have browsed away.

</comment><comment><USER16> Really cool design.

There are a few of these services, but I always wonder how engaged are the testers.

I would assume most of them don't really care about trying your app. I'd then much rather post it on [https://www.reddit.com/r/alphaandbetausers/](https://www.reddit.com/r/alphaandbetausers/), although it's not amazingly active.

<comment><USER17> In the end of course, nothing will ever properly replace real users that actually care about your product. There's nothing Beta Family can ever do to match that. A service that is serious about improving, will focus on actual users that want to use the product because it meets a need.

Any attempt to automate away that hard, required process of business improvement, must necessarily result in a hollow outcome.

<comment><USER8> We do agree that your own "fans" are highly important. That is why we encourage app companies to combine their own fans with the testers of our community.

</comment></comment></comment><comment><USER18> I've had a similar idea to this in the past, not only to test but also to seed apps with some initial users. My incentive to get users signed up is reserved usernames. I want covercash as my first choice username for EVERY new app/service. I'm still pissed I slept on Instagram for too long.

Give me first crack at my username on all new apps and I'll kick the tires for them.

</comment><comment><USER19> Interesting that they list "iTunes Connect internal testflight" as a supported distribution method (in addition to external testflight). That must surely be against some kind of terms of service and developer agreement. Also, it's a pretty bad idea either way because you would have to grant the testers access to your iTunesConnect. :O

<comment><USER20> That's not true. Testflight is clunky but secure and gets the job done. You just enter in the email addresses of people you want to receive a test version, and those people need the Testflight app to use it. IIRC You can even control which users are distributed which version

Out of curiosity, have you personally used Testflight? Maybe it's changed since I last did

<comment><USER21> That's how TF works right now. Not sure where the parent's complaints come from.

</comment></comment></comment><comment><USER22> I tried this with an Android app and it went well for us. The only problem was that the UI was super slow in Firefox, but it worked well in Chrome. That was several months ago so hopefully they fixed it by now.

</comment><comment> le-mark I would definitely use a service like this. The last time a launched a side project I found it extremely difficult to engage users, even users that had signed up with an email. They simply wouldn't respond to anything; feedback requests, surveys, nothing. I took this as a _strong_ signal there was no market or that I'd done something horribly wrong in the implementation. If I could've just paid $X to get some honest feedback, would have saved me a lot of time.

<comment><USER23> With [https://www.usertesting.com/](https://www.usertesting.com/) you can get videos of users using your app and answer some questions. It's useful for usability testing.

</comment></comment><comment><USER24> > 50,000 testers representing 207 nationalities

Wait, how many nationalities are there?

<comment><USER25> There's more than 200 countries listed on [https://en.wikipedia.org/wiki/List_of_sovereign_states](https://en.wikipedia.org/wiki/List_of_sovereign_states) (I didn't actually count them, but jQuery says the table has 238 rows; a few of these are headers/footers, but there's still enough to have more than 207.) That isn't exactly equal to a nationality, but it's probably a good minimum - I could easily believe that there are more than 207 nationalities.

</comment></comment><comment><USER26> My app is in Arabic language, do you have testers for Arabic?</comment>


I asked GPT-3 to write an article about the impact of GPT-3 - <AUTHOR> https://www.chrisfrantz.me/the-impact-of-gpt-3-on-the-marketing-industry-as-told-by-gpt-3/ <comment><USER2> I wonder if AI will continue to throw Elon Musk name around for no reason just to freak him out more.

My second thought here is that many of these paragraphs basically repeat themselves, but is not unlike how a younger person might write given arbitrary constraints and word length requirements.

Conclusion: AI is taunting Elon Musk and is bored of doing homework.

</comment><comment><USER3> Wow, to unskeptical passing viewer - this was as good as a human written, perhaps at par with someone with good vocabulary. I'm loving this succession of GPT-3 based experiments people are sharing recently.</comment>


You've Been Framed. A survey of iframes and the sandbox attribute - <AUTHOR> http://www.debug.is/2015/04/15/youve-been-framed/

<comment><USER2> So Google, FB, Twitter, et al are _knowingly_ insecure.

Userify just removed all third party inclusions except CDN from the app itself. I wish more companies would do this.

What's the point of strong TLS if you're potentially leaking every click and keystroke to a third party?

Use Privacy Badger where you can: [https://www.eff.org/privacybadger](https://www.eff.org/privacybadger)

</comment><comment><USER3> This is why I think per-site security settings in the browser are a good thing. Regardless of whether it's in an iframe or not, if I haven't allowed some site to run scripts/use cookies/etc., it won't.

<comment><USER4> What are you using to get this granular control?

<comment><USER3> Opera (before they switched to WebKit/Blink) has per-site settings. IE has security zones (not per-site, but only a trusted/untrusted grouping.) Firefox can do it with extensions like NoScript, and I'm not familiar enough with Chrome or anything WebKit/Blink-based to know whether it can be done.

</comment></comment></comment><comment><USER5> Would it be possible to constantly scan the DOM for new iframes and add the attribute with JS? Seems like there might be a small window of opportunity though for bad things to happen, if it would even work.

</comment><comment><USER6> here is a link to better docs site the article doesnt provide them:

[https://developer.mozilla.org/en- US/docs/Web/HTML/Element/if...](https://developer.mozilla.org/en- US/docs/Web/HTML/Element/iframe)

</comment><comment><USER7> What are people thoughts on allowing (or how best to allow) users to embed iframes in rendered markdown text fields?

<comment><AUTHOR> If you apply the sandbox attribute to the iframes it should be ok. It allows fine grained control of what the iframe is allowed to do. Scripts, navigation, popups, etc. are forbidden except explicitly allowed.

<comment><USER8> I'd be wary about that.

If nothing else, what happens if someone visits the site without support for `sandbox`? You best option (not displaying it if the browser doesn't support it) breaks the site for users without JS, or that don't have support `sandbox`.

<comment><AUTHOR> Good point. But the sandbox attribute is around 90% [1] of browsers. The number of browsers which don't support it and don't run javascript may be too low to make supporting them practical, but YMMV.

[1] [http://caniuse.com/#feat=iframe-sandbox](http://caniuse.com/#feat=iframe- sandbox)

<comment><USER8> It's IE 8 and 9 that I'd be most worried about in terms of malice.

And I'd be one of those users who would be cut out by JS requirements. Just so you know, that number is not zero.</comment></comment></comment></comment></comment>


Everyone says airlines cancel more flights in winter weather...but it's not true - <AUTHOR> http://blog.flightcaster.com/everyones-talking-about-airlines-canceling-mo

<comment><USER2> You know, the funny thing about flightcaster. I was in the airport and my flight was cancelled. 2 hours later, I checked flightcaster and it said the flight was on time!

If you can't tell when a flight really is cancelled 2 hours after the fact, there's something wrong with the algorithm.

<comment><AUTHOR> Wow. I'm sorry to hear that. That is simply unacceptable. We pride ourselves on great data, but we do make mistakes (bugs, data anomolies, etc).

If you decide to give us another shot, please let us know if there's ever an issue--we'll troubleshoot it immediately. Our best feedback comes from HN readers.

We're working on ways to help report when a prediction is off. Thanks for using our product. If there's anything I personally can do to help, please dm me at @flightcaster or email firstname.lastname@example.com

<comment><USER2> I thought it would be a good chance to test out the accuracy. The airline's website had been updated, so I know the information was "out there" about the flight status. I know you are using predictive algorithms, but you may also try to get some kind of feed for actual flight status when possible. I know that kind of polling is expensive, but it's probably the only way to avoid this problem in the future.

This particular flight was canceled because something was wrong with the plane. There were guys working on it for an hour before the flight was due to leave.

Thanks for the response Jason. It's a good service, this may have been an anomaly.

<comment><USER3> It seems like in this situation Flightcaster might benefit from doing some sort of sentiment analysis on twitter and cross check that with their machine generated recs. If any twitter data exists, they could assign a weight that might be proportional to the number of tweets.

<comment><USER2> The issue with that approach is largely a performance one, judging from what I know of flightcaster. If they have to issue a search to twitter for the flight info, the user has to wait on it.

If they constantly poll, then there are thousands of flights and they have to poll them regularly to make sure they have the latest info on the flight.

IIRC, the current algorithms include historical ontime percentages and weather, but I don't remember reading about them using the realtime web or airline's websites to gather it. Of course I don't really know what I'm talking about, it's all conjecture.

</comment></comment></comment></comment></comment><comment><USER4> One would also like to ask if it's even true that everyone says this. Are there data to support that claim? :) (Yes, it's just a joke, yet... it would make nice irony.)</comment>


A Generation Lost in the Bazaar (2012) - <AUTHOR> https://queue.acm.org/detail.cfm?id=2349257&ref=fullrss <comment><USER3> This is always going to be a problem with dynamic linking. It happens with dynamic linked libraries. In order to use some function, you have to bundle and depend on a whole library. That library may have functionality you don't need, which may make it reliant on other libraries, and so on. And if two of the libraries you depend on, in turn depend on different versions of some other library, you get dependency hell.

But libraries are just one level of fractal self-similarity. Packages bundle libraries and other supporting tools, so one package depends on others, containing tools and functionality you never use. And packages suffer the same dependency hell.

Then we invent even higher abstractions to make the dependency hell go away. Maybe Docker containers. But then what happens when you need assemblies of those? Pods of Containers?

This is a problem with the dynamic linkage model of code reuse. Not that static linkage solves the problem totally, but it doesn't have the same dependency bloat, and dependency failures occur in the development phase, rather than during deployment (or worse, many months later).

So yeah, Cathedrals are more elegant, and better code.

But, so what? Cathedrals might be nice to go sightseeing at in a new city. But they took years to complete, were funded by government and rich benefactors, and are mostly empty. I'm sure God appreciates them; but they are largely irrelevant to most mortals.

I've been doing this for more than 20 years, and my old self cringes when I download a 4 megabyte package for anything, given what we used to achieve with 4Kb. But I can't deny that I can get a product out much quicker now than I used to. It might not be as elegant, or perhaps as maintainable, but the market doesn't care: I can worry about that when I get revenue. If I spend time building a cathedral, a bunch of others are going to come build a bazaar outside the door and clean up, well before I've put down the foundations.

I agree with everything he writes, but I don't see any practical alternative.

<comment><USER4> (The site appears to be down, so apologies if I've got the wrong idea here.)

 _But I can 't deny that I can get a product out much quicker now than I used to._

Ironically, I'm not sure even that is true for some of the projects I work on. The amount of time we spend dealing with dependency, build and deployment issues caused by some variation of package and repository management is crazy.

It's often true that you can get a quick and dirty prototype out quicker by throwing together the right combination of libraries, I agree. And it's certainly true that a lot of places are selling products and services where the code is of that quality. It's also true that the people using those products and services are all too often getting what they're paying for as a result, both in how well the software works and the kind of customer service they get when it breaks.

I continue to hope that at some point the pendulum will swing back the other way, probably when we reach a point where significant markets are so fed up with short-lived, poorly supported, half-broken junkware that they understand the benefits of paying for something better. For now, sadly, the "everything should be free, or at least no more than $2 on my platform's app store" mentality is so prevalent that outside of serious professional industries it's hard to make money selling software that is actually good any more.

Back on a more technical subject, dynamic libraries do have one major advantage that is sometimes overlooked in the static vs. dynamic debate: you can access code in them from different programming languages at run time. In contrast, tools for compiling and statically linking code from different languages are rare, assuming you're even talking about languages that compile and link statically in the first place. Often the best you've got is hoping that each language can generate object files using the same probably-C-based ABI, making it possible to statically link them assuming that the various run- time systems are then set up correctly by the code itself.

</comment></comment><comment><USER5> I must admit to being a bit puzzled as to what his point is.

Yeah, there are a lot of dependencies if you want to compile an entire linux distro from source. But it's just exposed because everything is right there. If you actually tried to figure out how to compile all the software on your _Windows machine_ , would it be any better?

And to say that libtool, bloated and complex as it is, came about because someone was _incompetent_ seems quite a bit insulting. It seems that confronted with a compatibility problem between different Unix-like systems, one has two choices:

(1) Coordinate changes to all Unix-like systems so the compatibility problem is removed, or

(2) Work around the problem with some sort of wrapper.

Now, in a perfect world, (1) is obviously the better alternative (but even that wouldn't help existing installations.) But the world is _not_ perfect, and my chances of accomplishing (1) are practically zero, even if it's _" just a single flag to the ld(1) command"_. Hence, anyone who actually wants to get something working on all those systems would have to do whatever it takes.

<comment><USER6> His point is someone has to stand up and say "This is how it will be done." Without that you just get tons of wasted effort.

Why do so many developers use OS X instead of Linux? One benefit of OS X is that there is one entity responsible for it, not 250. There is a person (or a few) making the decisions, proving stability and removing things that don't work. It's not perfect (recent transitions in OS X as leadership shuffled) but the different parts of OS X usually feel like part of the same whole.

As much as people 'like' the bazaar I see the same things in open source. Current init systems give you tons of choice and people keep screaming because it's being removed. But a _lot_ of people seem to like having it organized under one umbrella so that it can all coordinate properly. Doesn't matter if you don't like the choices being made (many people don't like Apple's choices) but there is _someone_ in charge.

There are other examples. Ubuntu seemed to get popular saying "This is what it will work like" as opposed to what used to be common of "Here are 6 GUIs, choose one!". Ruby (with Matz), Python (with GvR), Clojure (Rich Hickey), the Linux kernel all seem to be doing pretty well with someone nominally in charge to make hard decisions.

I think his example of build systems was perfect. No one would set out to design a system to generate a file to probe a system for 26 programs that you don't even need to choose build options for a program that only runs on a handful of nearly identical systems.

<comment><USER7> _" Ruby (with Matz), Python (with GvR), Clojure (Rich Hickey), the Linux kernel all seem to be doing pretty well with someone nominally in charge to make hard decisions."_

So many programming languages. So much confusing choice and wasted effort.

What we need is for someone to be put in charge and consolidate all those programming languages in to one language.

<comment><USER8> I think you are getting down voted because you voiced a very controversial opinion without much explanation to to back it. Still, I think there is some merit to it (although I wouldn't go as far as saying we're ready for the "one language to rule them all" yet).

The paradox of choice and duplication of effort are very real problems. Let's take web app development for example. We have PHP, Python, Ruby, Java, C#, etc. Each language has their own set of libraries/frameworks and it takes a lot of time and effort for a programmer to learn all of them. I've been developing web apps for 10 years and yet, I couldn't contribute to a web app written in Java. What if instead of having X libraries in Y languages, we had X*Y libraries for a single language or X libraries of Y higher quality for a single language?

Standardisation has lots of benefits.

The web standardised on HTTP/HTML/CSS/Javascript and it enabled the creation of a massive ecosystem of tools, libraries and pool of developers. Front-end developers can easily switch jobs and contribute to other projects. I personally dislike languages that compile to HTML/CSS/Javascript because I think standardisation trumps their benefits. C is a de facto standard in the embedded world.

In my opinion, sometimes the hammers are so similar (e.g. Python/Ruby) that we should just collectively agree to only use one.

<comment><USER9> I know a very good developer who does both Unix and Windows development. He knows both very well.

He points out that with Linux you officially have the ability to customize everything perfectly, but spend a lot of effort just deciding what your stack will be. And if you integrate 4 or 5 things together, you get a lot of redundant crap because they did things differently.

In the C# world, by contrast, Microsoft declares technology winners and everyone adopts them. Those winners may be in principle not ideal, but the fact that everyone actually uses them saves a lot of wasted duplication of effort.

<comment><USER10> That's a very idealised view of Microsoft's platform. In particular, they have a habit of periodically declaring _new_ technology winners that aren't compatible with the old ones, which then become legacy. Remember Windows Forms and Windows Presentation Foundation, both of which were Microsoft's officially-sanctioned ways of developing GUI apps with C# and both of which are now legacy APIs in maintenance-only mode?

<comment><USER4> Perhaps a better example of the Microsoft strategy would be Windows itself. For many years and several major versions, they went to extraordinary lengths to ensure backward compatibility and stability, so software that ran on Windows from the mid-1990s would still have a reasonable chance of running acceptably on Windows in the late-2000s.

We had _almost_ reached the point where, notwithstanding any commercial licensing barriers, you could either still run application software natively, or it was so old that you could host a virtual machine containing the old OS within the new one. That's a great situation to be in if you rely on the software, and it's also a very nice situation if you write software, because it basically means that once you've got software that works it works forever. A firm foundation keeps everyone safe.

It's regrettable that under Ballmer and now Nadella they seem to have been pushing hard in IMHO the wrong direction with increasingly rapid updates and more reliance on inherently unstable on-line services, instead of playing to those traditional strengths. This makes Windows just as unlikely a prospect for long term stability as anything from Apple or the Linux world these days.

Personally, all I want is a system that I can buy today to do useful work and reasonably expect to still be doing useful work more than a year or two later. It's disturbingly difficult to find software that meets that apparently simple requirement any more.

<comment><USER9> If you want backwards compatibility, you really should look at IBM.

Their mainframe family still runs most serious financial platforms around the world, and it is routine to run code written decades ago on the latest generation of hardware.

No, it is not cool. It is not sexy. It is not cheap.

But it is backwards compatible. With a vengeance.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> I have always enjoyed that essay, it reminds me of something my Dad once said to me, "Cannibal's don't realize they are cannibals." It wasn't strictly true of course but it tried to capture the essence that if you've grown up in a society where X is the norm, you don't know what living in a society where X is not the norm is like or can be like. Combine that with humans who like what they know more than what they don't know, and you find communities moving to high entropy / low energy states and staying there.

That said, there isn't anything that prevents people from having standards. Both FreeBSD and MacOS are pretty coherent UNIX type OSes. But it is important to realize that a lot of really innovative and cool stuff comes out of the amazing bubbling pot that is Linux as well. I sometimes wish it were possible to do a better mashup.

<comment><USER12> > I sometimes wish it were possible to do a better mashup.

I feel the best of both worlds is the bazaar model combined with curated software/library repositories where rules for inclusion are more rigid and opinionated. For example, most programming languages have a standard library (the cathedral) and an ecosystem of third party libraries (the bazaar). Within that ecosystem of third party libraries, we could theoretically have curated repositories of libraries which share a coherent vision. In the real world though, I haven't really seen that happening. Node.js has registry.npmjs.org (no curation), Ruby has rubygems.org (no curation), etc. In the OS world, there is Ubuntu which is more cathedral like but I feel it should be a lot more opinionated perhaps at the cost of flexibility/portability.

<comment><USER13> Well FreeBSD is more like that than Linux, which doesnt really even have s basic standard userspace.

<comment><USER14> People don't use 'Linux', they use a particular Linux Distro which _does_ tend to provide the standardisation described (more so for some, less for others).

The fact that Linux-in-general is a roiling maelstrom is irrelevant to a user using a particular distro. It _is_ relevant to developers and/or packagers though.

</comment></comment></comment></comment><comment><USER15> The article author points out several problems in the open source world.

The first is that it's too hard to converge things that have diverged. I pointed out an example in a Python library recently - the code for parsing ISO standard date/time stamps exists in at least 11 different versions, most of them with known, but different, bugs. I've had an issue open for two years to get a single usable version into the standard Python library.

Some of this is a tooling problem. Few source control systems allow sharing a file between different projects. (Microsoft SourceSafe is a rare exception.) So code reuse implies a fork. As the author points out, this sort of thing has resulted in a huge number of slightly different copies of standard functions.

Github is helping a little; enough projects now use Github that it's the repository of choice for open source, and Git supports pull requests from outsiders. On some projects, some of the time, they eventually get merged into the master. So at least there's some machinery for convergence. But a library has to be a project of its own for this to work. That's worth working on. A program which scanned Github for common code and proposed code merges would be useful.

Build tools remain a problem. "./configure" is rather dated, of course. The new approach is for each language has their own packaging/build system. These tend to be kind of mysterious, with opaque caching and dependency systems that _almost_ work. It still seems to be necessary to rebuild everything occasionally, because the dependency system isn't airtight. (It could be, if it used hashes and information about what the compiler/linker/etc actually looked at to track dependencies. Usually, though, user created makefiles or manifest files are required. We've thus progressed, in 30 years, only from "make clean; make" to "cargo update; cargo build".

The interest in shared libraries is perhaps misplaced. A shared library saves memory only when 1) there are several _different_ programs on the same machine using the same library, and 2) a significant fraction of the library code is in use. For libraries above the level of "libc", this is unlikely. Two copies of the same program on UNIX/Linux share their code space even for static libraries. Invoking a shared library not only pulls the whole thing in, it may run the initialization code for everything in the library. This is a great way to make your program start slowly. Ask yourself "is there really a win in making this a shared library?"

Shared libraries which are really big shared objects with state are, in the Linux/UNIX world, mostly a workaround for inadequate support for message passing and middleware. Linux/UNIX still sucks at programs calling programs with performance comparable to subroutine calls. (It can be done; see QNX. When done on Linux, there tend to be too many layers involved, with the overhead of inter-machine communication for a local inter-process call.)

<comment><USER16>
      > Few source control systems allow sharing a file between different projects...

You can use `svn:externals` in Subversion to achieve something like that. Is there a similar thing in git?

<comment><USER15> That's borrowing, not sharing. The project borrowed from has no idea there's someone else using their file. So they will feel free to change it without informing others.

 _" Who tells whom what to do?"_ \- Lenin

<comment><USER16> No Subversion repository has any idea how many checkouts there are. So not even the original repository has any idea by how many parties its files are being used (except you use explicit locking, maybe). Each checkout, external or not, can change a file and commit the change. So is it possible at all to tell "borrowing" from "sharing"? What SCM would do that?

Besides, "informing others" of changes is, of course, one of the central functionalities of an SCM. You will be informed about changes in files "borrowed" by others. So what's the difference to "sharing" again?

</comment></comment></comment></comment><comment><USER17> Earlier discussion, including a number of comments from the author, here:

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

<comment><USER18> What strikes me the most, while reading through that thread, is how many times I saw the phrase "I didn't read the book that defined the terms "cathedral" and "bazaar", but cathedral/bazaar is..." Or something equivalent. The author kept asking if the people commenting read the book.

<comment><USER19> The terms cathedral/bazaar do have meaning in the community beyond the specific definition in that book. Worse, without some historical hesitation, using that specific definition now, 14 years later, is to ignore the influence of that book on the larger discourse on the topic. (Compare it to the Bible: interpreting it as is without taking into account the 2000+ years of history and cultural evolution is non-sense [although popular in certain circles])

</comment></comment></comment><comment><USER20> I always understood this article as being about software design in open source.

Every project (library, application, you name it) needs to be designed, by one or more people thinking deeply about the problem space. You can't expect software design to just happen, once the code has been written, it's already too late, see you in v2. You can't expect a 100 people to do it, there will either be a lot of conflicting visions, or no vision at all. And you can't expect to do it in your 1 hour of "free coding time" a day, because it doesn't give you enough time for deep thinking about the problem.

If you try to bypass design and solve it from "another angle", you get libtool, a solution that is a hundred times more complex than the problem it solves.

Look at successful open source projects (Rails, Go, even Linux). They were all initially designed by someone, handed down to the community to improve. They still have strong minded architects leading the effort. Now compare it to those random "Let's clone X!" threads that never produce anything.

So, there's cathedral thinking even in the bazaar. And it's the only thing preventing it from eating us alive.

<comment><USER21> > If you try to bypass design and solve it from "another angle", you get > libtool, a solution that is a hundred times more complex than the problem it > solves.

Agreed. One good thing about right now is that there are less people in the conversation, so things might actually be possible. If Linux, FreeBSD, OpenBSD and SmartOS decided to have a standard way of building a shared library with another flag to ld() they could obviate the need for libtool much faster than they could have in the 90s. And if not, that's fine, we'll just build it for Linux.

</comment></comment><comment><USER22> And yet it all still works.

Technology is more complicated than even a few years ago. It can do more. It is accessible to more people (and all of their unique needs and abilities). Computers have the ability to make an almost infinite number of interconnections with other computers.

The point is that a single person can't possibly keep track of a sufficient quantity of information to direct a sufficiently complex system anymore. And with the communication and development tools available today we are able to build these complex layered solutions without always having to worry about all of the other details that we can't possibly worry about.

<comment><USER23> Well, at least until you realize that your image library has a security hole in it, or that your crypto library is so complex that it's not really possible to audit it in its current form.

<comment><USER18> The author's latest blog post says that exactly: "Quality Software Costs Money - Heartbleed Was Free" [0]

[0]: [https://queue.acm.org/detail.cfm?id=2636165](https://queue.acm.org/detail.cfm?id=2636165)

<comment><USER24> > The author's latest blog post says that exactly: "Quality Software Costs > Money - Heartbleed Was Free"

And it was transmitted across the Internet, something which literally could not exist without free (in every sense of the word) software.

Irony is an important part of your diet, kids.

<comment><USER18> > Irony is an important part of your diet, kids.

It certainly is, since the author of said article contributes heavily to freebsd. You know what else is an important part of your diet, kids? Reading and thinking before speaking.

<comment><USER24> This is simply insulting and childish.

<comment><USER18> Did I misread your comment? I took it as an insult on the author, but re- reading it I can see where it could have been just a humorous observation. Could you clarify?

</comment></comment></comment></comment></comment></comment></comment><comment><USER25> Good point, very odd way to prove / address it, using what is mostly a low level detail. I believe in the "quality happens only when someone is responsible for it" idea, however it's not really a matter of automake/autoconf, or at least this is an old thing to look at, and a detail. A more modern result of the idea that central authority is not needed in software projects is the bloatware created by the idea that software can be created like this >>> "Let's merge this Pull Request, tests passes". There are three flaws in this apparently non-brainer action:

1) "Let's merge": adding features without stress in taking software self- contained and small.

2) "This Pull Request": the idea that there is no need for a central design.

3) "If test passes": the idea that you can really provide quality code _just_ with tests and without manual code quality inspection and writing code in a clean and defensive way to start with.

So I believe in the postulate but the proof is rather strange in this post.

</comment><comment><USER26> FWIW, the 19000 lines of "configure" for Varnish also check whether stdlib.h exists. Perhaps it's still useful today to do so in order to avoid obscure compilation issues or to catch problems on misconfigured systems early on?

As an old-timer with ~30 years of programming experience, I have similar sentiments as the author about complex projects today, yet I also often feel that too much knowledge, accumulated in sometimes cumbersome form, is being thrown away and reinvented badly. There has to be a compromise somewhere and it's no surprise that projects in an old language like C, running on evolved systems like Unix, de facto standardized on Autoconf to make it a little easier for developers. Do I want to use it myself? Certainly not, I have the luxury of being able to choose a modern language that abstracts most (not all!) platform-specific issues away at compiler installation time, at the cost of having much fewer deployment options for my code.

<comment><USER27> > yet I also often feel that too much knowledge, accumulated in sometimes > cumbersome form, is being thrown away and reinvented badly.

I've only been in the game for 10 years and whenever I read about Yet Another Build System I feel like crapping my pants.

</comment></comment><comment><USER28> I didn't know about Coherent:

[https://en.wikipedia.org/wiki/Coherent_%28operating_system%2...](https://en.wikipedia.org/wiki/Coherent_%28operating_system%29) [https://en.wikipedia.org/wiki/Mark_Williams_Company](https://en.wikipedia.org/wiki/Mark_Williams_Company)

<comment><USER29> I cut my teeth on Coherent. It had the best manual.

</comment></comment><comment><USER30> I think the core issue the author seems to be getting at is bigger than just the Bazaar (Open Source).

Even when it comes to closed source commercial software development I really miss the days of code ownership. When I first started working as a programmer back in the 90's it was common for different members of the team to "own" sections of code in a larger system (obviously I don't mean "own" in the copyright sense, just in the sense of having one clear person who knows that bit of code inside and out (and probably wrote most of it). Of course we'd (preferably) still be beholden to code review and such and couldn't change things willy-nilly so as not to break the code of consumers of our code, but it was clear to all who to talk to if you needed some new functionality in that module.

The last few places I've worked for have been the exact opposite of this where everything is some form of "agile" and nobody "owns" anything and stories are assigned primarily based on scheduling availability as opposed to knowledge of a certain system. There is admittedly some management benefit to this -- easier to treat developers as cogs that can be moved around easily, etc, but my anecdotal belief is that this sort of setup results in far worse overall code quality for a number of reasons: lots of developer cache-misses when the developer is just bouncing around in a very large code base making changes to various systems day to day, lots of breadth of understanding of the system among all the developers, but very little depth of understanding of any individual component (which makes gnarly bugs really hard to find when they inevitably occur) and what should be strongly defined APIs between systems getting really leaky (if nobody 'owns' any bit of the code it is easier to hack such leaks across the code than define them well, and when your non- technical managers who interpret "agile" in their own worldview force developers to try to maintain or increase some specific "velocity" shit like this happens often).

Granted, there are some cases in which such defined ownership falls apart (the person who owns some system is a prima donna asshole and then everyone has to work around them in painful ways), but there were/are solutions to such cases, like don't hire assholes and if you do fire them.

<comment><USER31> I switched teams from one with a communal codebase to one with code ownership (within the same org).

The code ownership style has far better developer productivity.

But I think the issue is just not about team organization, but also of software architecture.

I think with code ownership the modules need to be small enough so that if the owner exits unexpectedly from the organization someone else can pick up from where the previous owner left.

With communal software that gets built and tested after each build its very easy to let the architecture slide into a structureless mud ball that works but nobody is quite sure how, especially with changes being diffused throughout the system with concurrent edits by different developers.l

</comment></comment><comment> vezzy-fnord His observations are sound, but his blaming it on the "bazaar philosophy" doesn't really follow. The problem of unused dependencies that he points out with the Firefox port is a failure in packaging, either due to clumsy work with the port itself, or an inability to properly support soft dependencies.

I barely understand the voodoo magic behind libtool myself, but as PHK says, it "tries to hide the fact that there is no standardized way to build a shared library in Unix". I'd wager dynamic linking inherently poses such quandaries that are easier solved through kludges.

Hey, it's still probably better than WinSxS.

<comment><USER6> > I barely understand the voodoo magic behind libtool myself, but as PHK says, > it "tries to hide the fact that there is no standardized way to build a > shared library in Unix". I'd wager dynamic linking inherently poses such > quandaries that are easier solved through kludges.

But that's exactly the problem. At every point we a little more complex because someone just applied a little kludge to fix things. Over a decade or two that turns into a TON of wasted effort and complexity because no one wants to spend the time to fix the original problem.

In a cathedral like Apple or Microsoft (or anywhere else) they can decide "This sucks, all effort is now into fixing X" instead of patching it over and over because they can take the long term view. In the bazaar the only longterm view is what you yourself will do. You can't be sure anyone else will help or pick up where you left off if you get half way though a big project and need help.

In the bazaar world you get things like the Linux TTY layer. It was a huge mess, I think it still is to a degree. People put in little patches because no one wanted to take on the huge responsibility to fix the whole thing (including maintain compatibility). As I remember the maintainer quit his position so he wouldn't have to keep messing with it and he didn't think he would have the support to get it fixed. But the problem is big and isn't sexy (like playing with STM, adding support for the 8193rd processor, or making a new filesystem) so it gets dragged along and slowly patched until it becomes a huge critical issue.

<comment><USER10> Dynamic linking isn't actually a problem in the open source world - you build your shared libraries with -fPIC -shared and link other code against them just like you would any other library, because their shared library systems were designed to behave sensibly from the start. Libtool was created for all the existing proprietary OSes with their own, often half-baked, support for shared libraries[1] and uncooperative, opaque corporate developers; it's as much an artifact of the cathedral as the bazaar[2]. To quote the documentation:

"Ideally, libtool would be a standard that would be implemented as series of extensions and modifications to existing library systems to make them work consistently. However, it is not an easy task to convince operating system developers to mend their evil ways, and people want to build shared libraries right now, even on buggy, broken, confused operating systems."

[1] Or worse, no shared library support at all. This is a major headache because linking against static libraries requires you to manually link all the libraries they depend on too; libtool handles this for you on systems with no shared library support or no native dependency tracking.

[2] Especially since it's a GNU tool and their development model has historically been more cathedral than bazaar anyway.

</comment></comment></comment><comment><USER32>
        > I updated my laptop. I have been running the development
        > version of FreeBSD for 18 years straight now, and
        > compiling  even my Spartan work environment from source
        > code takes a  full day, because it involves trying to
        > make sense and  architecture out of Raymond's
        > anarchistic software bazaar.

ahh, you should've tried Plan 9, phk. 130 seconds to compile all software and libraries, 6 seconds to compile a new kernel. no bazaar there...

of course, this didn't appeal to you back then, did it? ;)

<comment><USER33> Plan 9 was not free software and it is still difficult to make a practical, free Plan 9 system.

<comment><USER32> plan9 was free software in 2000 when the 3rd release was made available (and before the issues discussed in this article were encountered). this is despite RMS's objections that were parroted by clueless linux fanboys around the net.

as to practicality, plan9 was exactly as practical as phk's supposed "cathedral" unix would've been. at the very least it had 1Friggin'UI instead of many :)

but hey, thanks for the downvote. it's not like we haven't had this discussion in person with phk, our difference in opinions is well known to each other.

</comment></comment></comment><comment><USER34> There are many related problems to the one pointed out by Kamp. But I'm left asking, does the cathedral scale? Does it handle evolutionary complexity well?

I'm a believer that a much simpler/cleaner set of software tools could be created. But their wide-scale adoption would be more difficult.

</comment><comment><USER35> There are a few good quality "stalls" in every bazaar, but discovering them, and maintaining some sort of order is difficult. Every package ecosystem suffers from this.

</comment><comment><USER36> The author is very good at pointing out the problem yet offers no solution of his own. How else do you manage a mostly opensource ecosystem and not end up with different versions of everything? We don't get an answer for that. Maybe I should write an article about articles that offer no solution to problems people know exist.

<comment><USER37> I find this objection ("he doesn't offer a solution") almost always invalid. There's value in pointing out problems even if you don't know a solution. "A problem clearly stated is a problem half solved".

If you can't convince people a problem exists (and there doesn't seem to be a consensus just browsing comments here), then it doesn't seem very fruitful to start talking about solutions.

</comment></comment><comment><USER38> Ah, the good ol' days when all we needed was netcat and vi, none of this fancy graphics hoohah and kids these days don't even know how to spell!! Mind rot, I tell ya! Autocomplete!!! Bah! Use a printed dictionary, you lazy brats!! In my day a web browser supported 3 kinds of images: JPG, GIF, and BITMAP, that was all we needed! ... and you had to draw it yourself with colored pencils, we were all artists ... Now it takes 3 damn hours to recompile my whole friggin' OS and this cruft and nonsense and doohickies clogging up my disk drive ... no one knows how this stuff works anymore!!! It's all gonna fall on your head, and then you'll be sorry!

</comment><comment><USER39> "detour", to reuse the word of the last paragraph, is how things happen. Look at how we'll get our favourite programming languages in the browser: by compiling to javascript, which evolves to become a potent IR (e.g. browsers support asm.js).

Even if you look at the end result (the m4/configure/shell/fortran example) and it is indeed twisted, to honestly say it is abnormal to reach such a state is to disregard any experience developing software. Any project, even brought to life in the cathedral style, will accumulate cruft in the long run that can disappear only with effort.

</comment><comment><USER8> I'm a bit confused. Is this supposed to apply to software development in general or just package management / software repository systems? The author is describing his ideas at a high level of abstraction but I can't seem to make a concrete connection. For example, how would one design a web app in a cathedralesque way?

<comment><USER40> I am not author, but I think it was general. My interpretation of cathedral:

\- understand your whole system before you code

\- list possible data by kinds that need to be processed differently at each point in control flow

\- look for what changes together and what changes independently and adjust the code flow so you don't need to test for the same things twice

\- when requirements change - don't do workarounds and quick hacks, change the underlying mechanism

\- solve problems at the level they originated, not at the level they were detected (for example null pointer is better solved by returning empty collection than by copy pasting if (x!=null) all over the place)

\- don't treat anything like black box when you need to change something - <USER2> you never change things inside black boxes you will get a lot of nested black boxes doing the same thing over and over, just slighlty differently - this is wrong, no matter what OO theory says about hermetization

</comment></comment><comment><USER41> Unix was never much of a cathedral, was it? The original codebase took points of pride in its jank.

MULTICS on the other hand...

<comment><USER16> And we all know what a success MULTICS was ;)

</comment></comment><comment><USER42> If a better build system were as easy as Kamp seems to think, he could have written it by now with 1/3 of the effort he's spent complaining about build systems over the years. Turns out the problems really are hard, and the layers of cruft are there for a reason.

<comment><USER43> Part of the objection is Firefox has 122 dependencies, and some of those need Perl, some need Python, and some need both.

If developers are writing code (or build scripts) in the wrong languages, you can't fix that with a build system - you have to convince the people doing it to change their ways.

In a cathedral, hypothetically that could be an edict from the architect. In a bazaar, you find a soapbox to stand on and shout as loud as you can.

</comment></comment><comment><USER44> Altenative to a bazaar is not a cathedral. It's few huts on a parking lot of a shoping mall. Shoping mall that is superficially neater but becomes abandoned when economy shifts.

</comment><comment><USER33> Of course, the Linux attempt at a cathedral is systemd.

</comment><comment><USER45> Still don't get it, but I recommend looking at the link someone posted to get the view of the author from when this was posted.

</comment><comment><USER46> Definitively going to look for "The Design of Design"; Fred Brooks is a master.

Though I am relatively young - one of those clueless hacks who arrived at this industry when the dot com party was on its last legs - I can see the blight. Danced with the devil a couple of times, so to speak. It is really depressing to confirm that there's no greener pasture to be had anywhere.

"A million of replaceable moneys... building an ever collapsing tower... exploring implementation space..." [1] sounds an awful lot like my career so far.

[1] Not the author's words, but a comment in the original post.

</comment><comment><USER47> So, a really great example of this is over in Node land. I was trying to install some basic boilerplate HAPI demo scaffolding, and I watched with horror as dependencies were pulled in (as third or fourth level deps!): isarray, isstring, three different versions of underscore and lodash, and so on and so forth.

I've _never_ seen developers so lazy or just uneducated about their own language that they blantantly pull in libraries for such trivial operations. On the server even, no excuse about compatibility!

<comment><USER48> This is by design. The node community actively encourages you to break every module into the smallest possible pieces, then make a parent module which reassembles them. This is seen as good, modular design - you end up with small pieces which can be individually tested, patched, understood, documented and maintained. Some extra effort gets pushed to developers in that when you want to do something simple, you have to trawl through dozens of small libraries which will all accomplish the goal. But those small libraries should each be readable and understandable - unlike the mammoth size of most C/C++ libraries.

I asked isaacs about documentation on the way back from nodeconf this year (isaacs is the CEO of npm and former maintainer of nodejs). I asked him what he prefers when it comes to documentation of nodejs packages. He said that if your package needs anything larger than a readme, its probably too big and you should just break it up.

<comment><USER47> I'm all for libraries that do one thing and do it well. But again, that's not what I was complaining about. Consider:

[https://www.npmjs.com/package/isarray](https://www.npmjs.com/package/isarray)

Compare with:

[https://developer.mozilla.org/en- US/docs/Web/JavaScript/Refe...](https://developer.mozilla.org/en- US/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray)

And again, for browser stuff, sure--but this is a controlled runtime on the server. This shouldn't even be a question.

What I've also noticed is the tendency to use lodash and underscore in places where there are completely reasonable standard language features, like _.forEach().

Again, the Javascript language is a bit weird, and lacking perhaps in a lot of functionality that a default Ruby installation (say) might get you, but this is just silly.</comment></comment></comment>


Ask HN: Subscriptions Worth Paying For - <AUTHOR> Thinking about paywalled links shared here:
What does HN subscribe to, what do you find worth paying for?
Also what would sources would you pay for even if they were free?
Currently I get the Washington Post with an Amazon Prime discount and just reactivated Apple News+ to get the WSJ
I'm not a news junkie but interested in some higher order thoughts and trends <comment><USER2> [https://spiegel.de/](https://spiegel.de/)

The big German news magazine now offers an ad-free version for 5 Euro/month (5.50 USD). Same content, same URLs, and there's still some premium articles you can pay extra for (5 Euro I think, long-form articles of their print magazine). The ad-free version really has all tracking pixels and ads removed. It's the first month and unproven business model but I wanted to support the approach.</comment>


Ask HN: Please review mailop.com, an instant disposable email you don't even need to check - <AUTHOR> http://mailop.com/ <comment><USER2> Congrats for the launch and the interesting approach!

I run 10MinuteMail.com, which is in the same space, although with a few differentiators, so take my comments with a grain of salt:)

I worry about the lack of security (i.e. someone can easily issue a forgot password event, and grab that e-mail, and take over your account). Obviously you shouldn't use disposable accounts for things like your bank's site, but in general I think people use them for forum or site accounts that they want to use, but aren't sure won't sell their address list. The only people I can picture who 100% don't care if their account can be easily stolen are forum spammers, who unfortunately use disposable e-mail services pretty often.

I like the auto-clicking action, although many sites require you to set a new password after you click the link or login with the One Time Use initial password. Since those links are only usable once, and the site will keep auto- clicking them when the mail comes in, I think you could find yourself unable to authenticate with a large number of sites.

<comment><AUTHOR> Thanks, I don't really intend to run it as a business. Without being a forum spammer, I personally used Mailinator a lot and saw the chance to make it easier. I warned about the danger of stealing the account in the FAQ, on the front page; I hope this will be enough.

I will write some code to avoid the auto-clicking trap you mentioned, thanks! :)

<comment><USER3> If you wanted to make something out of it, you could do something like bugmenot.com.

It might be possible to right scripts to automatically create accounts at places like the new york times. So you could get people to go to your site, and they could automatically access sites. The problem with bugmenot is that people change the password on the throwaway accounts, so it is sometimes hard to find valid accounts. This way you could control the password and make sure it wasn't changed. That will get you page views, and let you put up advertising.

I like the site though, it's always nice to have another throw away email account. Especially since this one actually activates the registration for you.

</comment></comment></comment><comment><USER4> it is loading really slowly for me

you should auto-gen an email address for every new visitor, makes it easier than having to check. people don't care what the username is for a throw-away email address anyway.

after auto-gen, set a cookie so if I do have to come back for something, I don't need to remember the username and I can click a link to see the inbox (or just put the inbox on the frontpage as well)

otherwise, pretty cool! a neat hack would be a bookmarklet that auto fills-in a reg form with the email address (say some javascript that searches for an 'email' text field and inserts a new unique email).

edit: come to think of it, I would probably pay money if you did this as a service for my own domain. eg. I could point a catch-all for all my email to you, which you can use to generate throw-away emails from my domain name (in that case the emails are less likely to be blocked by services).

<comment><AUTHOR> Thanks for the suggestions, I like them and will probably implement some variation.

I hope to be able to run it off a minimal VPS account as I am doing now. The architecture is very slim (no disk access, no interprocess communication) but uses unproven libs. Still loads fast for me, though.

<comment><USER5> CPU may not be your bottleneck... Mailinator is handling up to 2 million emails an hour off a single server. Bandwidth though is an issue, 3TB a month. You pay for all those connections that spammers open.

[http://mailinator.blogspot.com/2008/11/so-our-core-duo- serve...](http://mailinator.blogspot.com/2008/11/so-our-core-duo-server-now- gets-3.html)

<comment><AUTHOR> Yes, I expect bandwidth to be the bottleneck. But it can be pretty cheap: serveraxis for example has unlimited bandwidth at 10mbps starting from $40 a month.

</comment></comment></comment></comment><comment><USER6> Cool!

However, I would be concerned about the other links that might appear in the email. For instance, click here to link your site cookies with the MSN ad network, or click here to agree that everything you submit will belong to Bigcorp.

Some (admittedly poorly designed) sites might even have "click here to cancel your registration" links. Can your link follower tell what each link means? I don't think so. But yeah, for most cases, it will work beautifully.

</comment><comment><USER7> This is incredibly dangerous. They say do not use this for "accounts you care about" but many people use the same or similar passwords and usernames across several sites. If you register for a site and they send you your password in plain text via email (many sites still do this) you may have just opened the door wide open for any number of hackers using brute force attacks (except they can assume the set of permutations will be MUCH smaller.)

It is a cool service but if you use this you need to create a substantially different username and password to really be safe. Even if your login credentials are different someone can go through the password recovery process via email, reset it, and do whatever they want. Why would I want this to happen on ANY of my accounts? Even the ones I care least about need to be more secure than that.

[EDIT] ...but maybe the people who use these services are more intelligent than the average web user, are aware of the risks, and only associate these "throw-away" email addresses with throwaway accounts.

<comment><USER5> You are aware there are lots of sites that do throwaway no-reg email right? Mailinator has been around for years and is incredibly popular.

<comment><USER2> That doesn't mean it's safe. There are disposable e-mail sites that do not allow others access to your mail (mine: 10MinuteMail.com is one of them, but there are others). Just because you want to dodge spam from sold lists, doesn't mean you should give up all your security.

</comment></comment></comment><comment><USER8> Isn't it possible that at a given time different users may access the same mailbox for some common usernames?

<comment><USER3> Definitely, that's how throw away accounts work. You don't get a personal account. The email just gets sent to a place that any one can access. Just check some common words at mailinator. A lot of those have more spam than can come from one person using it. Especially since I believe email gets deleted about every half hour to an hour.

</comment></comment><comment><USER9> Awesome idea! I like it a lot.

My concern is that if (when) your service gets popular, sites that require registration won't allow email addresses with the mailop.com domain (if they want _real_ email addresses).

Other than that... great for you!

-Artel

<comment><USER2> Many sites to block disposable e-mail addresses. Then again, many do not. In my opinion it's no different than a gmail/ymail address.

<comment><USER3> Then most sites just add more domains. Mailinator.com has at least six domains that all go to Mailinator.com

<comment><USER2> Yeah. 10MinuteMail.com rotates out domains every month or two.

The problem is that people who actually care about blocking temporary e-mail tend to stay on top of the big sites domain lists. There are even 3rd party lists you can integrate your site/forum with that block all disposable addresses.

</comment></comment></comment></comment><comment><USER10> Service looks good but the main page needs work: explanations are impossible to understand if you don't already know what the service is all about.

Good luck with the rest!

</comment><comment><USER11> I wouldn't use bold for the entire page. It makes it harder to read.

</comment><comment><USER12> Nice service you got, IMHO a good idea is to support a non-url-click email addresses, smthng like myname.nc@..., where ".nc" means "I will handle the urls by myself"

WELL DONE!

<comment><USER13> Perhaps using sub-addressing and the '+' or '-' character like GMail or qmail.

<comment><USER14> I was going to say the same thing. Alias accounts would be awesome... email@example.com email@example.com etc.. would all point to email@example.com This would be really useful if you could implement that.

edit: Also, having the mails (subject and body) display as a xml feed would be ++, some of these temp email sites offer this, but only show the subject and a link to the message which isn't part of the feed.

<comment><USER15> Actually the way existing mail servers work firstname.lastname@example.com and firstname.lastname@example.com get delivered to email@example.com (if the server was configured for "+ addressing")

</comment></comment></comment></comment><comment><USER16> I would have used a simple interface that generates an email for you (random and non repeating). You copy paste the email and next you get the link back.

</comment><comment><USER17> i like it a lot. I actually work at a web company where we have to test new registrations, and have been using mailinator for quite some time. The problem with mailinator is that if I use the email address for example email@example.com I have to copy and paste it somewhere so I can check it, but your services seems like it will be easier. thanks

</comment><comment><USER18> check you mailbox recieves confirmaion importatnly

looks like a good idea, just needs running through a spell checker

</comment><comment><USER19> will it open up any link sent to it automatically? or is it intelligent about what it opens up?

<comment><AUTHOR> It has some intelligence intended not to DOS legitimate sites: if a site sends a support link along with the confirmation link, for example, the support link won't be opened over and over again. Like Mailinator, the site has also other forms of protecting itself against spam.</comment></comment>


The Admiral of the String Theory Wars - <AUTHOR> http://nautil.us/issue/24/error/the-admiral-of-the-string-theory-wars <comment><USER2> I really enjoyed both _The Trouble With Physics_ and _Not Even Wrong_. I don't know enough about String Theory to have a legitimate opinion as to whether it's "right" or not, but I do have deep concerns about the lack of testability. And while I wouldn't go so far as to call for cutting off all funding for anything involving String Theory, I do believe that alternative approaches ( Loop Quantum Gravity, etc.) should continue to be explored and receive funding as well.

</comment><comment><USER3> The descriptions of Woit remind me of something I heard years ago: (paraphrased) If there's any debate about you being absolutely correct, you really can't get away with being an asshole.

I suspect if Woit had a more friendly attitude, was less dismissive, he'd be highly regarded for his insights rather than hated.</comment>


Using Docker to Build Firefox - <AUTHOR> http://gregoryszorc.com/blog/2013/05/19/using-docker-to-build-firefox/

<comment><USER2> A very cool usecase!

"Have a weird build failure like a segmentation fault in the compiler? Publish the Docker image and have someone take a look! No need to take the builder offline while someone SSH's into it. "

In particular this notion of using it for a build environment, and then being able to share the EXACT problem with the build with other developers strikes me as a very interesting. I can imagine many build environments to benefit from such. Any failed build (in automation) can be handed to you as a chocolate on a platter.

</comment><comment><AUTHOR> Since people continue to post about docker without much news or comment on usage. Here is a real thing being used to build Firefox.</comment>


Show HN: Simplexhc – Haskell to LLVM compiler (design phase) - <AUTHOR> https://pixel-druid.com/blog/announcing-simplexhc/ <comment><USER2> > The way GHC currently compiles is to first reduce Haskell to a Core > language, which is a minimal subset of Haskell, in some sense.

GHC Core is not a subset of Haskell, it's just a simplification of it. The same thing but explained with fewer words (constructors).

That being said, we completely agree that Spineless Tagless G-Machine is full of badassery. Just imagine being able to reduce any Haskell app to, like, 8 different instructions. Something about that fascinates me, even though I'm not quite sure what it is.

<comment><USER3> > Just imagine being able to reduce any Haskell app to, like, 8 different > instructions.

It's a universal property of all programming languages that they can be reduced to a language with just one instruction, so it isn't a surprising result.

<comment><USER4> Compiling C to assembly code that uses only one instruction, namely mov: [https://github.com/xoreaxeaxeax/movfuscator](https://github.com/xoreaxeaxeax/movfuscator)

<comment><USER5> Calling 'mov' on x86 one instruction is a bit of a fiction to begin with though.

<comment><USER3> There are other, more straight-forward, one-instruction instruction-sets, such as subtract-and-branch-if-less-than-or-equal-to-zero.

</comment></comment></comment></comment></comment><comment><USER6> How badly does the function pointer technique effect interprocedural optimization? Since LLVM would know the exact control flow it should be able to do the optimisations anyway?

That match(int) technique seems naïve. How would you handle the function arguments/application. The size of the function would also, presumably, large enough to be either very bad for one's icache or requiring more optimisation, which on the assumption that my previous paragraph is correct would make this a wasted effort?

Has this been profiled at all?

</comment><comment><USER7> Regards interprocedural optimization, an alternative is to return to the trampoline _less_ frequently. As with Cheney on the MTA.

I wonder what it would take to add a wiki to lambda-the-ultimate.

</comment><comment><USER8> As a person starting to learn Haskell I only understood the steps to Machine code and that you want to cut down the intermediate steps (to C-- step) and go directly to LLVM. If it makes Haskell better you have my best wishes. Haskell is one of those languages that gets less attention that it deserves.

</comment><comment><USER9> > Going to C-- and then from there going to LLVM loses a lot of the semantic > information that one can provide to the LLVM optimiser.

What semantic information?

<comment><USER10> Types for instance.

<comment><USER9> What type information exactly are you thinking of, that the optimizer would be able to make use of, is lost?

<comment><USER6> The only type information I can think of is invariants from type definitions and their use (e.g. this ADT contains an Integer that is never less than 5). This information can be used to (say) constant fold branches. This information would have to be reinferred by the optimiser. However, I don't think this would do anything because AFAIK LLVM can already get infer this.

This could give a speed boost: LLVM has llvm.assume with which one can annotate IR with, using this would mean that the optimizer doesn't have to infer this (and therefore save time).

</comment></comment></comment></comment><comment><USER11> Great work! Minor typo: the first code snippet has a missing right parenthesis.</comment>


This American Life: Batman - <AUTHOR> http://www.thisamericanlife.org/radio-archives/episode/544/transcript <comment><USER2> Decades ago in grad school, I was under my 1969 VW bus doing maintenance. Had a set of combination wrenches at curbside. Ten year old blind kid who lived next door came out and wanted to know in detail what I was doing, and I talked him through what I was doing to get ready to pull the engine to install a new clutch plate & throwout bearing.

I could see the nuts and bolts, and knew what wrench size I needed, but when I'd reach for it, I'd often pick the wrong one (13mm felt pretty much like 12mm, etc.). He asked me to say (only once) the wrench size each time I picked one off the curb. Thereafter, he told me what size I was about to select as soon as I touched it, making it scrape ever so slightly against the concrete. Saved me some time by telling me when I was about to pick up the wrong wrench.

I wasn't surprised, as I'd seen him on his bike in the neighborhood, doing the click echolocation described in This American Life. I was in a neurophysiology program at the time, and was totally impressed with his living demo of neuroplasticity and audio world mapping.

<comment><USER3> Took me a couple reads to get it, he was identifying the wrench size by the 'ring' the wrench made by scraping it on the concrete? Very cool.

A few years back I figured out that shoving my finger in a wrench is far more accurate than visually identifying the size of the bolt and the appropriate wrench. That and really knowing the bolt sizes on the project you're working on (but on some projects/cars this is tough).

</comment></comment><comment><USER4> "Running into a pole is a drag. But never being allowed to run into a pole is a disaster."

Wonderful quote.

<comment><USER5> The less polite version:

"A sprained ankle heals in two weeks, but being a pussy is a life sentence." \-- Adam Carolla on letting kids play sports

I think it's interesting how two very different shows made the same point in their own characteristic way.

</comment></comment><comment><USER6> Sorry if this is off-topic with respect to the content of the episode, but does anybody know what kind of software NPR uses to create these transcripts? There is a very specific structure to the layout and I'm wondering what the data entry UI looks like, if it's a commercial package, or if they rolled their own. Thanks.

<comment><USER7> I don't know for sure but the transcripts are so good and for a show like TAL I imagine that they could probably have someone do them by hand.

<comment><USER8> I don't know either, but it looks like the transcripts are initially generated from speech recognition (text dump + timing meta data?) and then hand- edited/annotated by a producer.

They'd add punctuation, sound cues, fix spelling, annotate the speakers (e.g. name + host, subject, or interviewer). Then that data's got to go somewhere...

It looks pretty labor intensive. I sure hope they have great tools!

</comment></comment></comment><comment><USER9> I am just a casual observer, but how did they narrow it down to the way the rats were touched? Couldn't it have just been the people "running" the experiments instead being more casual about their results? Maybe for a dumb rat you hit your stopwatch a second later or a second faster for a smart rat, for example.

How did they isolate the _touch_ of the experimenters?

<comment><USER10> The results are apparently discussed here:

[http://cranepsych.edublogs.org/files/2009/06/Dull_rats_brigh...](http://cranepsych.edublogs.org/files/2009/06/Dull_rats_bright_rats.pdf)

The time difference is many seconds (almost minutes).

</comment></comment><comment><AUTHOR> One of the things I was hoping I'd hear people comment on here what Miller says towards the end, that perhaps Kish's aversion to physical closeness, perhaps "loving" in general, and a desire to be independent, were mutually exclusive. While, I personally would agree there is an argument that being a helicopter parent does not help build a sense of independence in someone, I'm really curious if it really is true that a desire of closeness to others in general is really the opposite of that.

I guess it makes some sense naively (independence or apartness vs. dependence or together-ness)? But the way I think about it is that a desire to be independent needs to be tempered with a desire to socialize and be close with others. May be they are orthonormal axes in a person's "personality space," but a healthy balance of both will give a person a good norm overall. This seems opposite of what they hint at toward the end, that these two qualities may not be orthogonal but in fact, anti-parallel.

Perhaps Daniel's aversion helped him overcome the enormous odds against him, an entire culture that put that "blind" label on him and would have necessarily pulled him far into that the more "dependent" side--I mean, that was the point on the whole rest of the episode. It was needed for him given the extreme pressure he was under from this culture. Still, I hope that for many other people who do not have this extreme desire for independence that they need not be forced into it just so that the rest of us see them as equal. That certainly is not fair for them if they do not desire it.

I say all this because while I have a close love for a few close friends and family members, I usually like to be independent myself. However, I've learned as I've gotten older that sometimes you need to rely on others even when you think you won't, which isn't easy for me. A healthy balance seems better, as I've reluctantly accepted.

<comment><USER11> Kish's methods of dealing with blind kids seemed unnecessarily cold and disrespectful. Like making that kid climb to the top of high tree on the first try, when the kid refused for hours. It's like teaching to swim by throwing the kid in the swimming pool. It's possible to encourage exploration and risk at the child's own pace.

</comment></comment><comment><USER12> Further details about batman at [http://en.wikipedia.org/wiki/Daniel_Kish](http://en.wikipedia.org/wiki/Daniel_Kish)

<comment><USER13> Not really 'further' detail - there is actually more info in the podcast than his wikipedia entry.

</comment></comment><comment><USER14> As an educator the whole power of expectation thing probably was more interesting to me than things like the echolocation aspect. I mean yes, we know that students perform better when you expect more of them, but some of the aspects of how that translates into actual performance gains hadn't occurred to me before.

</comment><comment><USER15> I really enjoyed this episode (and pretty much everything This American Life does). The one fact of the podcast that got me really thinking was how a lot of the blind will naturally turn to clicking in order to help me navigate.

</comment><comment><USER16> Can we do this computationally? Dokmanic et al say yes in certain situations in their paper "Acoustic Echoes Reveal the Shape of the Room," PNAS, vol. 110, no. 30, 2013. Daniel Kish is mentioned in the paper to motivate the problem. Thaler's work is cited in the commentary by Mark Plumbley.

Here's a more accessible commentary: Mark Plumbley, "Hearing the Shape of a Room," PNAS, vol. 110, no. 30, 2013. [http://www.pnas.org/content/110/30/12162.full](http://www.pnas.org/content/110/30/12162.full)

</comment><comment><USER17> For those who want a downloadable version, youtube-dl can pull it from SoundCloud:

[https://soundcloud.com/this-american- life/544-batman](https://soundcloud.com/this-american-life/544-batman)

<comment><USER12> or just download the podcast...

<comment><USER18> TAL downloads are only available for a week. This episode has already been pulled (but will be available for streaming). They have a partnership with Audible so downloads are only available on Audible.com after the first week.

</comment></comment></comment><comment><USER19> Read about him a year or 2 ago in National Geographic ... bothered me then as now that he was referred to as "Batman". He's clearly Daredevil.</comment>


Making less than $50 on an Android app I coded for +10 months - <AUTHOR> https://www.failory.com/blog/mobile-app-failure <comment><USER2> Something to note is the Android store is a particularly poor avenue of revenue - I'm happy to pull up sources as it's been a year or two but as far as I'm aware, the Play Store profits vs. the App Store (iOS) profits are literally exponentially different.

However, the big crack in this case is certainly free->monetized. Always a great way to lose an existing user base.

<comment><USER3> Unfortunately, it is true.

As an Android dev I still hope that one day Google Play will try to clean the store of all those bad apps that lower down good developer's income.

</comment></comment><comment><USER4> In the article it was stated that using this app for portfolio fodder wasn't good, but I didn't see it addressed anywhere though.

I mean, if you have a full time job and are not starving, I would use it as a learning experience but not pour money into advertising unless the product and the monetization plan is solid enough to turn into a full time job.

<comment><USER3> It is a learning experience and I totally agree with not pouring money into advertising and even building more features unless you're see of the outcome.</comment></comment>


COVID-19 Supply Chain Update - <AUTHOR> https://www.fda.gov/news-events/press-announcements/coronavirus-covid-19-supply-chain-update <comment><USER2> "Regarding personal protective equipment—surgical gowns, gloves, masks, respirator protective devices, or other medical equipment designed to protect the wearer from injury or the spread of infection or illness—the FDA has heard reports of increased market demand and supply challenges for some of these products. However, the FDA is currently not aware of specific widespread shortages of medical devices, but we are aware of reports from CDC and other U.S. partners of increased ordering of a range of human medical products through distributors as some healthcare facilities in the U.S. are preparing for potential needs if the outbreak becomes severe."

This is very weird: my understanding is that masks are sold out at standard suppliers and have been for a while (though available at extremely high prices from resellers). This seems like it is beyond "supply challenges" and into being a "specific widespread shortage"?

<comment><USER3> I think they're still in stock at _some_ Home Depots. At least last I checked.

In any case, an N95 mask is insufficient if you don't cover eyes as well and don't use IPA70/Sporklenz or similar after touching any common surface. 10% bleach should also work but it's nastier (to skin and materials).

<comment><USER4> > IPA70/Sporklenz

OK, searching on that term brings up an impressive number of PDF data sheets.

IPA70 seems to mean Isopropyl Alcohol, 70%.

Sporklenz no idea but it conjured up images of a European Homer Simpson repping cleaning products as _Mr. Sporklenz._ (Herr Sporklenz?)

<comment><USER5> Not sure about Sporklenz but yes IPA70 is referring to an Isopropyl Alcohol solution of 70% isopropyl alcohol. Higher concentrations are also effective but above 75% you risk burn or excessive drying upon direct skin contact. FWIW, a 99% concentration will very quickly pick up atmospheric moisture and stabilize closer to 96% in all but the most dry of environments.

<comment><USER6> 50-70% IPA is actually a more effective disinfectant than 99%; the water helps it penetrate cell walls, I'm told.

<comment><USER7> The water slows down the evaporation letting it linger long enough to be useful (at least that's what I think I read). Either way, 70% is gentler on skin. 90%+ is great for cleaning oily stains and whatnot.

</comment></comment></comment></comment></comment></comment><comment><USER8> This almost read like a bot wrote it...

> A manufacturer has alerted us to a shortage of a human drug that was > recently added to the drug shortages list. The manufacturer just notified us > that this shortage is related to a site affected by coronavirus. The > shortage is due to an issue with manufacturing of an active pharmaceutical > ingredient used in the drug. It is important to note that there are other > alternatives that can be used by patients. We are working with the > manufacturer as well as other manufacturers to mitigate the shortage. We > will do everything possible to mitigate the shortage.

They don't name the manufacturer, the drug, or really much of anything.

<comment><USER9> This is called "Special English" aka "Simple English" or "Voice of America English". It is meant to be very clear and straightforward to understand to minimize the possibility of miscommunication and make it so that non-experts of all backgrounds can take away the important messages. Given how important the medicine supply chain is to lots of people's daily lives, I'm sure they didn't want this page to seem understandable only by the educated.

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

<comment><USER10> There is not enough of a drug, according to a drug maker. There aren't enough ingredients to make the drug. The missing ingredients are made at a place affected by the coronavirus.

Fortunately, there are different types of drugs that can help. We are making these other drugs available.

<comment><USER11> This is not an improvement at all. Try to read the original at a slow pace, it is very straightforward but still precise.

<comment><USER12> > an issue with manufacturing of an active pharmaceutical ingredient used in > the drug

is WAY WORSE than

> there aren't enough ingredients for the drug

<comment><USER13> If they are trying to say there aren't enough ingredients to make the drug then the second way is better. But that isn't the same as what the original sentence said.

The phrase 'issue with manufacturing of' covers a much wider range of problems than a shortage. Maybe they have tonnes of materials and they just need a mechanic to fix the machine for example. No shortages of anything except people in the right place at the right time.

</comment></comment></comment></comment></comment></comment><comment><USER14> I stumbled on a daily supply chain sub over at reddit. r/supplychain which gets a daily update from a user who pulls his data from across manufacturing, shipping, and other sources. I recommend anyone interested in supply chain detailed analysis, that's where to go.

<comment><USER15> I've been reading the updates there and have been making specific purchases as a result. For example, I read about disruption to clothing manufacturing and bought some summer shorts, pairs of boxers, and packages of socks - stuff I was expecting to buy soon anyway.

</comment></comment><comment><USER16> Really glad this was posted.

It is absolutely insane to be in the position where essential medical equipment is not going to be available in the US because of COVID19 quarantine in China.

What the absolute F are we paying US Pharma 1000% premiums for, if not in part to maintain control over supply chain.

Shameful.

</comment><comment><USER17> Someone had posted this on Reddit today. Mentioned some of the drugs made in China to be aware of.

[https://www.reddit.com/r/gout/comments/faym30/pharmaceutical...](https://www.reddit.com/r/gout/comments/faym30/pharmaceutical_supply_chain_concerns_allopurinol/)

</comment><comment><USER18> There is a good general daily thread in [https://www.reddit.com/r/supplychain/](https://www.reddit.com/r/supplychain/) that's a decent starting point each day for what's going on in the world of supply chain/logistics.

<comment><USER19> This is a little different. The FDA has an entire infrastructure setup around Supply Chain security - basically to ensure critical medicines are always available from SOMEONE. Not to spam on my comments, but see here:

[https://www.accessdata.fda.gov/scripts/drugshortages/](https://www.accessdata.fda.gov/scripts/drugshortages/)

<comment><USER20> You're message here and in your other comment is quite important.

There are quite a few people in this thread assuming the press release is all the FDA has to say, and who appear to have made little effort to test that assumption.

I guess this proves the point that the use of _Special English_ as per this comment [https://news.ycombinator.com/item?id=22445952](https://news.ycombinator.com/item?id=22445952) is well warranted.

</comment></comment></comment><comment><USER21> « We are not aware of any reports at this time of human illnesses that suggest COVID-19 can be transmitted by food or food packaging. »

Given the number of illnesses that can be transmitted by indirect contact, including cases of sick food workers contaminating a supply, I feel like they should indicate a little more caution in this section.

</comment><comment><USER22> Relying on another nation like this for our critical supplies if a national security threat that I'm surprised is even in operation like this, today.

China Rx is a very good book about this.

</comment><comment> mark-r Just make sure you're all stocked up on Forsythia.

(Oblique reference to the movie Contagion)

<comment><USER23> I was reminded of that when reading about a compound in licorice (glycyrrhizin) that seem to be effective in reducing the replication of SARS, (another coronavirus):

[https://www.ncbi.nlm.nih.gov/pubmed/12814717](https://www.ncbi.nlm.nih.gov/pubmed/12814717) [https://www.nature.com/articles/news030609-16](https://www.nature.com/articles/news030609-16) [https://en.wikipedia.org/wiki/Glycyrrhizin](https://en.wikipedia.org/wiki/Glycyrrhizin)

</comment></comment><comment><USER24> Just saw there's a community acquired case in Santa Clara county:

[https://www.mercurynews.com/2020/02/28/santa-clara-county- an...](https://www.mercurynews.com/2020/02/28/santa-clara-county-announces- new-coronavirus-case/)

</comment><comment><USER25> Making a basic mask to protect for "USA nuclear attack" was mandatory lesson in all Soviet region schools. It takes less time and skills than whining about supplies here. China has has won us by creation of total learned helplessness?

<comment><USER26> N95 masks are a pretty fine filter material and they seal pretty well while minimally obstructing breathing; I think it would be hard to equal their performance out of improvised materials, and perhaps more important, it would be impossible to know whether you had succeeded. Would you like to share the instructions you learned? Even if the result was less effective than an N95 mask, it might be useful.

</comment></comment><comment><USER27> Things conspicuously not mentioned that always drives me nuts: Medical oxygen.

<comment><USER28> The main difference between industrial and medical oxygen is that for medical oxygen the providence of the tank is tracked to make sure that it has only been used to store oxygen, and hasn't been left unused for a long period of time. With the massive need for various gasses and the cost in transporting them long distances, most large metro areas have at least one air distillation plant that produces them.

Pressure Swing Absorption oxygen generators have been getting cheaper, and will separate oxygen from air as long as they have electrical power and maintenance every few months. PSA is not suitable for all medical uses though as it typically produces 90-95% oxygen and is not directly capable of producing pure oxygen.

<comment><USER29> A quick search suggests that we produce 99% oxygen just by running it through two stages of pressure swing absorption. Is that also not good enough for hospitals? If so, what do we use for even purer oxygen.

<comment><USER27> The issue is not _making_ the oxygen. It's distributing and delivering it.

</comment></comment></comment></comment><comment><USER30> So they aren't predicting anything, are relying on manufacturers to self report, already have surprise shortages, and are monitoring and mitigating? These statutory authorities and responsibilities to assure blah blah blah, that doesn't give permission to prepare or ramp up requirements?

"Implementing critical infrastructure monitoring" is giving out an email address? Hmmm.

<comment><USER31> They're doing their job. My view is that bureaucracy has its own doublespeak for everything.

So when I see this:

> It is important to note that no law exists requiring medical device > manufacturers to notify the FDA when they become aware of a circumstance, > including discontinuation of a product, that could lead to a potential > shortage, and manufacturers are not required to respond when the FDA > requests information about potential supply chain disruption.

...in my head, I translate it to this:

> We welcome a law requiring medical device manufacturers to notify the FDA > when they become aware of a potential shortage or discontinuation, and > requiring manufacturers to respond when the FDA requests information about > potential supply chain disruption.</comment></comment>


Have cryptoassets created $0.5 trillion in social value? - <AUTHOR> http://marginalrevolution.com/marginalrevolution/2017/12/cryptoassets-created-0-5-trillion-social-value.html <comment><USER2> If you look at some of the valuations of ICOs and realize they aren't stock so your basically buying a pre-order gift card for xyz service. That's a good question.</comment>


Dell launches 2018 XPS 13 laptop (this time it's even thinner) - <AUTHOR> https://liliputing.com/2018/01/dell-launches-2018-xps-13-laptop-this-time-its-even-thinner.html <comment><USER2> I was hoping for a Ryzen version.</comment>


IdealSpot Is Hiring a Node.js Architect / Developer - <AUTHOR> https://www.idealspot.com/careers/ <comment><AUTHOR> If you or someone that you know is a quality NodeJS developer who wants to work in Austin, TX, please pass this on. We're presenting at Google Demo Day next week, and the additional traffic is really accelerating our need to fill this spot.</comment>


NASA released 8400 hi-res pics of the Apollo missions on Flickr - <AUTHOR> https://www.flickr.com/photos/projectapolloarchive/albums/with/72157659383580161 <comment><USER2> I just saw The Martian. I really loved the film, but even more awesome is that NASA and JPL cooperated together consulting on the film in the hopes that it would increase interest in further space exploration.

The PR department at NASA is really cranking up the juice... Which is great!</comment>


Classification of the Algae. In: A Century of Progress in the Natural Sciences - <AUTHOR> <comment><USER2> You forgot to put the link. Try submitting again.</comment>


Ask HN: Why do the names of so many products give no information on what it is? - <AUTHOR>

Dropbox makes me think of storage. iPhone is straight to the point as well as Evernote. Of every application you know with a large user base can you tell what the product does by it's name?<p>So why does it seem that so many companies give up such a valuable piece information into what their product does for a shorter domain name? To sound unique? If there is no connection between the name and the product how likely am I to remember the name when I try to talk about it? <comment><USER2> It might be worth pointing out that this is not a recent development. For example, take the names of text editors:

\- Obvious: Word, Notes, Writer, ed, Notepad etc.

\- Less obvious: vi, vim, Emacs, nano/pico

Or car brands:

\- 'Obvious': General Motors, BMW, Volkswagen

\- Less Obvious: Mercedes, Ford, Audi

So this is definitely not a recent phenomenon and I hence doubt that you could link it to the length of domain names.

</comment><comment><USER3> When it comes to retail, I have a self-rule about never buying from any retailer whose name makes it obvious what they sell.

"amazon", "ebay", "Tesco" don't make it obvious.

"PC world", "Phones4u", "Lawyers4u", "buycheapstuffonline" make it obvious.

I think a unique name helps build a brand over a descriptive name which to me often sounds cheap.

</comment><comment><USER4> I don't know for certain, but I get the sense that "intellectual property" concerns play into naming pretty heavily these days. That is, folks don't want to hassle with trademark dust-ups, so they use semi-random nonsense names to avoid even appearing to infringe.

</comment><comment><USER5> Twitter? Facebook? those aren't so obvious to me.</comment>


A Dongle Joke That Spiraled Way Out Of Control - <AUTHOR> http://techcrunch.com/2013/03/21/a-dongle-joke-that-spiraled-way-out-of-control/

<comment><USER2> This is a pretty good summary of the events so far. However given that Anonymous is targeting them and that Twitter has been compromised recently, it would be nice to have confirmation from multiple people. <https://news.ycombinator.com/item?id=5416908></comment>