What is the problem with Pricing anyway? - <AUTHOR>

I am sick and tired of all these new SaaS sites that either omit to put their pricing on their website, or hide it as much as they can. Is it that they want you to try the product without giving you any information on how much will it cost?
I never try anything unless I have first checked it is in my budget range. Otherwise is just wasting my time. Am I the only one like this?
Come on entrepreneurs and start-ups, don't be ashamed of your prices! It is frustrating to navigate all pages of a site looking for the pricing. You start to hate the site even before getting to know the product. Example: mint.com
I am not aware of any statistic that proves that this technique makes business sense. Is there any? <comment><USER2> Why let it upset you? Those products are priced like that for a reason, namely that it makes them more money.

Missing pricing is a signal that the product is going to cost well north of $10,000 and involve a sales person flying out to your site to buy your CEO and CTO dinner. If you don't have a CEO and CTO for them to fly out and buy dinner for, you're not in their target market.

This is not something you should concern yourself with. Honestly, if the site had a page saying that it cost $164,128 for a yearly site license, how many people would you expect to hit "add to cart" and hand over their credit card details? Unless that number is ever conceivably going to be greater than zero, there is no upside to the company to put that price on the website.

</comment><comment><USER3> I run one of those nasty SaaS sites and I can confirm that it makes a lot of sense. Maybe you should start one by yourself and start asking yourself how much you should charge for your services. Here is a hint: [http://en.wikipedia.org/wiki/Price_discrimination](http://en.wikipedia.org/wiki/Price_discrimination)

<comment><USER4> Can you elaborate on your experience? How does it make sense for your company? Did you A/B test this, and if so what was the increase in conversion or average price per customer?

</comment></comment><comment><USER5> The two reasons are that it signals 'enterprise' level costs and that marketing thinks that you're more likely to sign up if you're prompted to create an account without seeing the price table.

I agree it can be annoying. However, if I am honest with myself, I know what the service probably costs and most of the time, the variations in cost don't cross the threshold of my budget. The real reason I am irritated to not see the prices is because I am hoping to see that it is free or extremely cheap. There is no reason for a business to accommodate my desire to get an unsustainable deal.

</comment><comment><USER6> Having been on both sides, one of the reasons is because your product is complicated, and you need to give a webinar/demo to them in order for them to utilize the product to its full potential.

Otherwise, if you just sign up and use it, you'll quickly stop using it after a few days because you don't know how to use it.

</comment><comment><AUTHOR> I run a SaaS as well and find that customers prefer prices upfront and complain if the pricing is hard to understand (which in turn consumes resources of the sales staff and creates friction on the customer acquisition process). However if @pricenator you state that it makes sense financially, can you tell us more about it? (Not just hints)

</comment><comment><USER7> I don't care until they ask for my credit card. At that point the pricing is a need-to-know, lol. But before then, like with the mint.com example you mentioned, I just assume it's free or freemium until they tell me otherwise.</comment>


TDD Harms Architecture (2017) - <AUTHOR> https://blog.cleancoder.com/uncle-bob/2017/03/03/TDD-Harms-Architecture.html <comment><USER2> What about some halfway point where you start with tests on your largest public interfaces instead of numerous tests and a growing list of tests?

I still believe there is some good that comes out of TDD especially on long term maintenance and future changes.</comment>


A stronger Dart for everyone - <AUTHOR> http://news.dartlang.org/2017/06/a-stronger-dart-for-everyone.html <comment><USER2> I'm on the Dart team.

The headline isn't very explicit, but I think this is pretty exciting. What this means is that we are taking the previous unsound optional type system and replacing it with a sound static type system.

Even though strong mode is sound and mandatory, the language still has much of the flexible feel it had before. The folks who designed the type system did a fantastic job on the inference engine. Having a few million lines of existing optionally-typed code that needed to gracefully migrate into strong mode certainly helped too.

<comment><USER3> Honestly, this baffles me. If I just wanted a language with a static type system, I could already have my pick of the litter, and Dart as a language doesn't really have any unique selling points outside of gradual typing.

On top of that is the problem that Dart's type system – at least as it stands right now – is pretty weak (another point against it vs. other statically languages). I feel like I'd be getting a watered-down Java/C#. That was okay so far, because gradual typing allowed you to work around the problems in the type system. But with _mandatory_ strong mode, that makes answering "why Dart?" much harder now.</comment></comment>


New Jersey police are pressing felony charges for retweeting an officer's photo - <AUTHOR> https://www.theverge.com/2020/8/6/21355999/twitter-cyber-harassment-felony-charges-police-protests-retweet <comment><USER2> The most WTF part for me is the summons and the court case identifies the police officer and he would likely to get more visibility and negative coverage than the original tweet which was retweeted by grand total of 4 people. Streisand effect anyone?

<comment><USER3> Your statement makes sense, but only if the officer actually feared for his life by being identified.

What if the purpose of the charges is retribution, not to protect the officer and his family?

</comment></comment><comment><USER4> Officer photo here: [http://archive.vn/qySKX](http://archive.vn/qySKX)

<comment><USER5> So I assume that protestors wanted him identified because 1) he was abusive, and 2) he didn't have any fully visible identifying badge number - which if there was then arguably these citizen journalists could simply make a police report via official route instead of depending on public crowdsourcing?

</comment></comment><comment><USER6> Sometimes it feels like the culture of American policing and criminal justice is so broken that we just need to start over from scratch.

<comment><USER7> Here's an explanation for non-US readers, or US readers who don't understand how police are integrated into the judicial system.

The defunding movement hasn't been well-explained in the press, but the actual core reality is that police unions need to be removed, and to remove the police unions, you have to start over with new police forces.

There's 4 problems that need to be solved first though:

1) After you start over, how do you prevent a new union forming?

2) In the USA, District Attorneys (DA's), etc. are elected. To get elected, police union support at election time is needed/helpful.

3) How do you move existing court cases ahead after you fire the arresting officers?

4) Even though police officers often have misconduct, the DA needs their testimony to be believable for cases. So the misconduct is generally suppressed from public view.

As you can see, the dependency of DA's on police officers alone makes this issue very difficult to solve, and when combined with unlimited legal aid from police unions is insurmountable.

Canada, which operates quite differently than the US (DA's are appointed), also has a problem with police unions stonewalling investigations. The officers involved just remain silent and lawyer up, the same as the US.

</comment></comment><comment><USER8> Clown world

</comment><comment><USER9> That person needs to learn not to speak without a lawyer:

"The purpose of this tweet was to find out the officer's information, to hold him accountable."

That can be construed as vigilantism.

<comment><USER10> Holding police accountable is not vigilantism.

The right to photograph cops at work in the US is well established. Cops don't like that, but they lose in court on that.[1]

[1] [https://www.aclu.org/know-your-rights/protesters- rights/#i-w...](https://www.aclu.org/know-your-rights/protesters- rights/#i-want-to-take-pictures-or-shoot-video-at-a-protest)

<comment><USER11> Proving your right in court can cost you everything.

<comment><USER3> Ah yes, the "guilty until proven innocent" framework. I don't know about New Jersey, but the rest of the USA doesn't do it that way for criminal law.

That said, I completely agree that defending yourself against a criminal charge in the USA is far too expensive.

<comment><USER12> > I don't know about New Jersey, but the rest of the USA doesn't do it that > way for criminal law.

Do you not read the newspaper? People plea out to drug possession when there is video evidence of police planting it, because they can't afford bail and will lose their job and home if they spend 3 months in jail fighting the charge.

<comment><USER3> I agree with you that there's a huge gap between the intended legal system and the actual legal system, but even those officers who plant evidence will give at least lip service to the "innocent until proven guilty" framework.

<comment><USER11> Do you have experience in the US court as a defendant? Tort or criminal

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> Doxxing is bad, and that's exactly what this person was trying to do. Just because it wasn't successful, doesn't mean it wasn't harassment.

Additionally, that article makes it very unclear what, if anything, the officer did to warrant being identified. He performed his duties, while wearing a face mask (which everyone is encouraged to do now) which had a pattern some people don't like.

<comment><USER14> Can you explain why asking to identify a police officer performing official duties should be illegal?

<comment><USER13> "If anyone knows who this bitch is throw his info under this tweet" \- this is not trying to identify an officer. This was a tweet that was designed to inflame people.

They could have taken the picture to their local police station and made a complaint. They could have sent it to a newspaper. They could have tweeted "This officer is unidentified at a rally." They didn't.</comment></comment></comment>


Python 3 is killing Python - <AUTHOR> https://medium.com/@deliciousrobots/5d2ad703365d/ <comment><USER3> I don't think people are used to backwards compatibility breaks in languages. Though in some ways, that means you have a different language.

In reality, Python 3 is to Python 2 what Ruby is to Python 2 - different. They aren't the same language, you could have named Python 3 Anaconda (just because Cobra is already taken, I know it is a prepackaged library bundle for Python already) and its function would be clearer.

But you also can't tell people writing free software "no, you have to stop doing what you want, and do what _I_ want" unless you are willing to negotiate how much that will cost you. And maybe they wouldn't do it for any price. You could get other developers to extend it on your doll as well.

But the developers of Python collectively said "unicode is important enough to make a backwards incompatible leap". They are never painless. OpenGL is a great example, with how the version 3 line was rife with attempts to depreciate the fixed function legacy cruft, and even today few developers properly differentiate compatibility and core profiles. _That_ is a major version break too.

But if you don't like it, you can make your own. The fact there _isn 't_ a major popular python2 extension project trying to backport functionality unofficially that has gained traction should say what the popular consensus on python 3 is.

If you need python2 libraries, use python2. There is really no shame in doing it. Even when the official project depreciates the maintenance of 2.7 _someone_ will pick it up, because there will be for decades, at least, and probably for eternity, python 2 software running somewhere and the maintainers think keeping python 2 working is less effort than porting their stack to 3.

<comment><USER4> The problem is not only Unicode.

If it only where for unicode, the problem would not so big. But they seemed not to bother at all about backwards compatibility at all in the first Py3 version. Later, they did try to change some things, that unnecessarily(!!) blocked adoption, but many projects already decided to ignore Py3.

I guess, you don't mean what you said in the last paragraph? Was it just a joke?

Unless you can replace __all __libraries that exist only as Python 2 version, you can not move -- you can use zero Python 3. That is a huge problem to real projects -- of course, if you only have some University (educational) - projects, all is fine and you can play around as you like.

Also there is the problem, that it is not trivial to have Python2+3 on the same installation. Most Linux distros still run with Py2.

<comment><USER5> > Also there is the problem, that it is not trivial to have Python2+3 on the > same installation. Most Linux distros still run with Py2. >

Actually, it's trivial nowadays with projects like pyenv. You can even have different python versions in a per-project-directory basis.

Check out the installation guide ([https://github.com/yyuu/pyenv#installation](https://github.com/yyuu/pyenv#installation)) and a commands reference ([https://github.com/yyuu/pyenv/blob/master/COMMANDS.md](https://github.com/yyuu/pyenv/blob/master/COMMANDS.md))

There's also an extension that provides virtualenv integration - [https://github.com/yyuu/pyenv-virtualenv](https://github.com/yyuu/pyenv- virtualenv)

<comment><USER4> Thanks, that looks interesting. I will note it for the time, I have the problem.

<comment><USER6> This is the same problem addressed by the ancient, universally known tool named virtualenv. How are you delivering pronouncements about the unsuitability of Python 3 when you don't have solid knowledge of how things are done in Python?

<comment><USER4> I did not "deliver pronouncements about the unsuitability of Python 3". I did only say, that it is not trivial to have both versions on one installation.

And who are you, something like the "Python purity police"?

I will ask you something, that you did not work with till now -- and when you give a wrong or incomplete answer, I will also say "how dare you"!

</comment></comment></comment></comment></comment></comment><comment><USER7> Within the few industries I've had a peek at (not hip startups or web companies) this doesn't appear to be that big of a problem. Companies that rely on Python 2 code in the background seem to be sticking with Python 2 without any noticeable penalty or incentive to change. And places that have their core business wrapped up in python seem to be gradually making the transition OK. It's not without cost but you do what you have to do...

This sort of thing isn't uncommon... I see old perl installs behind production software, ancient versions of RedHat, Oracle, etc. and I deal with mostly technology centric companies so that's likely just the tip of the iceberg. Old software doesn't really go away.

</comment><comment><USER8> I learned Python in 2004 (circa Python 2.3) and since developed several years mainly in Python, but somewhere along this path I lost almost all my excitment and joy for this language. I used to dream in Python, now I find it cumbersome and to me Python 3 was an unnecessary pain and I also know some people are afraid to say it explicitly because you want to look as someone who remain on top of your game by being able to cope with new things, but knowing how to deal with Python 2/3 doesn't mean it was a good move. I'm now just happy to not have to develop in Python anymore.

<comment><USER9> What did you move to?

<comment><USER10> Not the same guy, but I moved to Haskell. Not due to Python 3, but because I've realized that to get the awesome features Python has, I don't have to give up the safety and performance I thought I had to.

</comment></comment></comment><comment><USER11> yadda yadda. i'm happily developing in 3.4 and the improved exceptions alone make it worth it. the pain is pretty much limited to 3rd party libraries (getting better every day, though not nearly fast enough, true) and people not understanding bytes vs text (incidentally, mostly native english speakers.)

<comment><USER12> Agreed, Python 3 is in almost all aspects better and I really prefer 3 over 2. Most of the bigger 3rd libraries are already ported, at least all the ones I care about.

Numpy seems to be the biggest issue for most, but I guess it must be in some special area, I never found a need for it doing web development.

The unicode support removes so many of our problems, although I can understand the issues strings vs. bytes that a some people run into.

<comment><USER13> So what is this strings vs bytes thing all about?

<comment><USER12> I think Armin Ronacher has the best overview: [http://lucumr.pocoo.org/2014/1/5/unicode- in-2-and-3/](http://lucumr.pocoo.org/2014/1/5/unicode-in-2-and-3/)

But it's basicly Python three killing of the byte-string and ignoring the fact that in some cases it actually makes sense to work with string that are specifically not unicode, rather than resorting to have a bytes type instead.

<comment><USER6> I don't see how it is coherent to ask for a string that is not unicode, and not bytes. What is it?

<comment><USER14> A string encoded in some non-unicode encoding.

Not everything in the world is unicode (or unicode compatible the way, say, US-ASCII is.)

</comment></comment></comment></comment></comment></comment><comment><USER15> I've never really understood these claims that Python 3 only offers minor improvements over Python 2. Some of the improvements in Python 3 are quite significant: the example that comes to my mind first and foremost is that strings are now Unicode by default. These days you should really be using UTF-8 as your default encoding right across the board (the only exception being when you have to interact with legacy systems), and any language that doesn't make it so is quite frankly a deal-breaker as far as I'm concerned.

<comment><USER16> Python 2 has unicode literals and utf-8 available if you declare them at the top of your file. You don't need Python 3 for that.

<comment><USER15> Yes, but it's not the default and it does require special considerations. This means that code written by inexperienced developers (or even more experienced developers who aren't familiar with the ins and outs of Unicode and internationalisation etc) will be more likely to behave incorrectly when presented with anything in a foreign language.

<comment><USER17> If they have difficulty grasping those concepts, then they shouldn't be working with them. They should rather stick to plain ascii/latin-1 and leave the fancy things to people that know what they're doing. Python3 in this case wouldn't be a silver bullet to make them magically work with unicode better.

<comment><USER15> _Nobody_ should be sticking to plain ascii/latin-1, and certainly not inexperienced developers. The only valid reason for using anything other than UTF-8 these days is that you are interacting with a legacy system that doesn't support it.

Unicode isn't a "fancy thing" that is best left to "people that know what they're doing." It's the difference between displaying a name such as Siån correctly and as a bunch of hieroglyphics.

Besides, even for experienced developers who know what they're doing, if you're imposing any form of ceremony or special considerations around using Unicode, you're increasing the risk of bugs and mistakes.

That's why I say Unicode should be made the default. It's legacy encodings such as Latin-1 that should be treated on a need-to-know basis.

</comment></comment></comment></comment></comment><comment><USER18> I think the problem of Python 3 is, that it is too close to Python 2. Learning Python for the first time is really fun, compared to other languages. There is almost always a interesting technique that does exactly what you need and usually great tutorials. But switching from Python 2 to Python 3 is quite frustrating, it is just different enough that one can not rely on intuition, but it is similar enough to lure one into using intuition. With the added frustration that all the errors would just not be there in Python 2. So assuming that I will not get payed to become a Python 3 expert, I will just write Python 2 and pick up another language at some time in the future.

<comment><USER19> Mostly, what you need to become a "Python 3 expert" is learning the Python 2 __future__ module. Use it for a while, then the switch will be seamless, intuition-wise.

</comment></comment><comment><USER20> In my experience, the lack of support by common libraries is not nearly as bad as the author claims:

[http://python3wos.appspot.com/](http://python3wos.appspot.com/)

<comment><USER21> All my libraries run on Python 3 but I would recommend nobody to use them on that Python version if they can also use them on 2.x. They have better unicode support on 2.x and there are more 2.x users thus less bugs in 2.x specific code. Aside from that, the ecosystem for other libraries is bigger.

<comment><USER20> The point you raise regarding the impact userbase-size has on the library is very important in the Python2/3 split. It's similar to the divide that multi- architecture releases have to deal with, where less common platforms are more likely to have long-lived bugs just because the userbase is smaller and less likely to find and identify them.

If, as the author of an impressive collection of Python libraries, you had to make a rough estimate of when your Python 3 userbase will reach critical mass, such that they have a reasonable shot at finding those bugs and getting them fixed, how far into the future do you think we're looking?

<comment><USER21> Last time I was looking less than 5% of my users which was two months ago (up from 3% two years ago or so) used Python 3 at least going by download stats. But Python 3 support takes way more than 50% of my time :-/

</comment></comment></comment></comment><comment> dj-wonk Re: "There are other solutions, but reviving Python 2 is so obviously the correct thing to do, that other solutions are not worth mentioning."

I don't even know how to respond to such "logic".

</comment><comment><USER22> I completely agree. Since the release of Python 3, I've attempted to get familiar with Python and I always have this dilemma.

Which version do I learn first?

On a first, ignorant, glance learning Python 3 makes sense because it's the way of the future. Although, the more you learn, you slowly figure out that they're not that different; but, they're communities and supporting libraries are in two separate camps. It's like there's a cold war mentality of people who can't or won't port/migrate to 3 and the Python 3 crowd that looks upon the former with disgust and disdain. There's clearly a huge divide and it's uncomfortable and confusing for new folks to learn and get involved.

Now we're about 6 years since the first Python 3 release and I've never gotten involved with Python beyond a few days of tinkering. I've moved on, and based on my experience, people who are newcomers to programming are walking right by without a second thought. This coupled with the developers that are jumping ship, isn't good news for Python. They need a course change, and they need to make it quickly.

Just my $0.02.

</comment><comment><USER23> Forking Python 2 would be a terrible idea. Especially since 2.7 keeps on being supported anyway.

Python 3 is the way to go in the long run.

</comment><comment><USER24> Even without python 3, it has become an increasingly complicated ecosystem. I run python 2.x on windows for scientific uses and find incompatibility to be a common problem. I need separate 32 bit and 64 bit versions which use different dlls that may or may not be in several possible locations and use incompatible libraries. Trying to run pypy or python 3 would be just to complicated.

Python is not a single ecosystem any more. We need separate distributions that can be self contained.

<comment><USER25> I've been told the Anaconda distribution ([https://store.continuum.io/cshop/anaconda/](https://store.continuum.io/cshop/anaconda/)) of Python can ease some of the pain there. The fact that I have to direct you to a "store" to download it does give me pause, however, even if the distribution is actually free.

<comment><USER26> The link to the "non-store" download page which we tell everyone about is: [http://continuum.io/downloads](http://continuum.io/downloads).

Yes, we are a company and do sell things, but our commitment to open source is backed by many, many years of significant contributions to the community. We give as much away as we can, and sell to those who need more.

While you certainly buy more from us, Anaconda itself will always be free as long as we can continue to make it.

<comment><USER25> Thank you for that. And thank you for your contributions. My point about the store was more aesthetic. If you are ideological about the openness of your tool chain (and I start edging that way the closer things get to science), then the "exit through the gift shop" is mildly off-putting. I say mildly, because it still doesn't prevent me from recommending it over other alternatives. I also understand that your paid products add value (and in the case of MKL, aren't yours to open-sourcify anyway).

The non-store link definitely feels more open-sourcey. I'll be sure to send people that way. Again, I didn't want to imply that you all were bad open source stewards.

</comment></comment></comment></comment><comment><USER27> This seems a bit overdramatic. Yes, the attempt to do a version number hijack by a influential set of developers is annoying but there is no reason that it can't be just ignored. Python 2.7 doesn't need new features. It is still wildly useful without them. It is perhaps even more useful without them...

You can't deprecate a computer language. Such a thing exists independently of implementations.

</comment><comment><USER28> I feel the pain :(

The problem is that there is a misconception that python libraries needs to be "maintained" and if they are not maintained they should not be used. However, many long-tail libraries really do not need to be "maintained": the code is well tested, works, and it has no security implications. Some of these libraries are just clever algorithms or re-engineering of some obscure protocol or format.

I guess this is one more reason that java is still the safest choice :( Sad.

</comment><comment><USER29> Decent read - it further helped me appreciate the position from which Python 2 devs require certain non-trivial, non-ported libs are coming.

That said, as a mostly Python 3 developer, PEP 404, to which he links, provides much insight and justification for ending at 2.7. In brief, the changes all seem to me to be efforts to make Python more 'Pythonic' (i.e. TOOWTDI).

PEP 404 2 -> 3 reasoning: [http://legacy.python.org/dev/peps/pep-0404/#and- now-for-some...](http://legacy.python.org/dev/peps/pep-0404/#and-now-for- something-completely-different)

TOOWTDI: [https://wiki.python.org/moin/TOOWTDI](https://wiki.python.org/moin/TOOWTDI)

</comment><comment><USER30> I'm curious what the lesson here is. A lot of the changes in Python 3, such as the byte format of strings, seem to be a good thing--just something that breaks compatibility.

Is the lesson never to bother fixing a major flaw in your software/language after it has been widely used/available?

<comment><USER31> There are two precedents to look at: Java and Perl.

Perl grew from merely useful to your-favorite-whiz-bang by being a decent language and growing a large collection of third-party modules. Then Larry Wall decided Perl5 wasn't fun anymore (also because of wart accumulation) and declared Perl6 to be The Future(tm). Years later, we have some remaining stuff that's running in Perl5, and also some enthusiasts that use Rakudo and Parrot in an attempt to reach the Shangri-La of Perl 6. But, in many important respects, Perl is an ex-parrot and Parrot won't change that all that much.

Now for Java. Java started out as a slow and ugly cousin of C++ that ran alot slower and gave you the worst of having a bad compiler and a stupid bytecode interpreter. As Java gained traction, Sun and others (e.g. IBM, Apache) proceeded to fix all the warts in a backward-compatible way. Java 1.2 finally had decent collections. Java 1.5 adopted Philip Wadler's proposal for generics through type erasure. Newer Java releases added some sorely-missing utility functions that you'd take for granted in other languages, such as converting between an array and an ArrayList, or splitting a string.

Somewhere in-between, we got servlets, JSP, JDBC, Hibernate, JAXB, a fast compiler. It's not so bad, even though the language still bugs me sometimes.

What's in store for Python? Similarly to Perl, and differently to Java, Python2 has byte-strings, and just when people where coming to grips that there are some things for which str is a good fit and others where you want to use unicode, you got the "unicode as default" in Python3. A conservative approach would be to extend the language and libraries so that it becomes natural to use unicode objects in the places where you're dealing with text, and keep the functionality that bytestrings have around so that the old code is still working. Python3 did not choose the conservative approach - <USER2> the goal was to do all the compatibility-breaking things that were needed, upfront.

Despite that fact, there is hope that Python will not undergo the Parrot-to- ex-Parrot transition that Perl underwent. The Python core is already there, and many important libraries - including the numpy/Cython etc. toolsuite, and different web frameworks, are actively trying to find the remaining issues.

So, as a summary: A lot of the changes in Python 3, such as renaming the old strings into bytestrings and removing a lot of their functionality, are well- intentioned but have considerable problems. It definitely gets harder to fix major flaws in a language that is widely used, and blackmailing the users by declaring the "not as fun" old version of your language dead should not be done lightly if you don't want to become the next Perl.

<comment><USER32> _Perl is an ex-parrot and Parrot won 't change that all that much._

It's worse than that. Rakudo developers declared Parrot deprecated (in favor of a new VM which had yet to be written). That, of course, drove off all of the Parrot developers--see the decline in commits in March 2011:

[https://www.ohloh.net/p/parrot/commits/summary](https://www.ohloh.net/p/parrot/commits/summary)

If Rakudo ever reaches a point of stable equilibrium where it's reasonable to think about creating libraries for it, P6 still faces an adoption cycle that's more difficult than that of Python 3. There's no plan for P6 to replace Perl (partly to avoid that adoption pain, for one, and partly because P6 has taken so long, there wouldn't be any Perl users remaining unless P6 had publicly changed its strategy).

Python's transition hasn't been quick or easy, but it's gone much, much better than the P6 fiasco.

<comment><USER33> I won't comment on Parrot, because I know nothing of Parrot or Perl 6 internals. But from what I hear and read on the internet, the new VM, Moar VM is doing pretty good as a parrot replacement.

 _P6 still faces an adoption cycle that 's more difficult than that of Python 3._

I don't see how, especially when p5 developers are saying they will continue to support p5 long after p6 is released. And p6 is such a far drift from p5 that you can almost call it a new language. And no one if their right frame of mind will re write all p5 software in p6.

So it will be p6 for any new projects and p5 supported all along.

 _There 's no plan for P6 to replace Perl (partly to avoid that adoption pain, for one, and partly because P6 has taken so long, there wouldn't be any Perl users remaining unless P6 had publicly changed its strategy)._

From what I read(Again, I have no personal contributions or sources and I rely on what I read or hear on the internet) in [http://jnthn.net/papers/2014-fosdem- perl6-today.pdf](http://jnthn.net/papers/2014-fosdem-perl6-today.pdf) [pdf] rakudo is very close to spec completeness. And bulk of the effort currently is implementing last bits of spec and improving the speed.

 _Python 's transition hasn't been quick or easy, but it's gone much, much better than the P6 fiasco._

Python is hardly comparable with Perl 6. They just changed a print statement and iterators in Python 3. Perl 6 is a very different story completely altogether.

<comment><USER34> __TL;DR __Imo, for at least the next year, the P6 project needs to encourage contribution by folk who enjoy creating an entire system and discourage use by folk who just want to get stuff done.

\----

I've loosely followed P6 since 2000; daily read the log of the central hub of P6 activity -- the IRC channel #perl6 -- for the last 3 years; and summarized it daily for the last 2 years.

I am concerned about folk getting the wrong impression about Rakudo's readiness for general use by mainstream programmers that just want to get stuff done.

I started using the following disclaimer a year ago and I think it still sets expectations appropriately:

Perl 6 is not remotely as usable and useful as Perl 5; it has dozens of users, not millions; it is 100-1000x slower than Perl 5 for a lot of stuff; the P6 documentation is immature and incomplete; the spec has not reached 6.0.0; the Rakudo compiler has not fully implemented what's already in the spec; most of the concurrency and parallel implementation has only just begun; P6 can not currently use CPAN modules; Perl 6 has syntax and semantics that are not backwards compatible with Perl 5; Perl 6 culture is -Ofun which some think is incompatible with getting things done; some folk think that Perl 6 code looks like line noise... In summary, there are infinitely many things wrong with P6.

\----

> From what I read ... rakudo is very close to spec completeness ... > implementing last bits of spec and improving the speed

Ignore implementation (Rakudo) for a moment.

The _spec_ isn't complete.

There's very recent talk of producing "a list of big ticket items remaining" for "hitting 6.0" and "a tri-color marking of the spec" showing "Implemented in Rakudo, not implemented but we agree we really should for 6.0, deferred to 6.*".

<comment><USER33> I think only some one far detached from reality would expect, a Perl 5 like ecosystem ready on the day of Perl 6.0.0 release. And most people don't need many Perl 6 esoteric features either. So I guess your "a list of big ticket items remaining" hopefully won't be "a big list of ticket items remaining".

Besides I was of an opinion even after the 6.0.0 release the spec won't be complete. Spec will never be complete. Spec is a backwards compatible changing piece of document which the implementation tries to catch up with. The stable releases of the implementation are production releases.

Lastly you could just say. Esoteric features a, b, c, d are left for next 6.* releases. While release a 6.0.0 release is cut after with whatever you decide from that list earlier. The world is in no hurry to use the esoteric features anyway.

Either way, I wish you guys all the very best. And hope to soon see a closure soon on this.

<comment><USER34> > I think only some one far detached from reality would expect, a Perl 5 like > ecosystem ready on the day of Perl 6.0.0 release.

I think it's still plausible that someone (it'll have to be one or more serious P5 guts hackers) will soon start implementing something like diakopter's plan for P5+XS interop. (That's the plan for having P6 code calling P5 code and back again, including XS modules on CPAN.) If that works out well, a 6.0 release could be viewed as including all of the P5 ecosystem or, conversely, as an experimental part of P5.

But perhaps I'm far detached from reality.

I certainly wouldn't expect the project to wait for such interop. If 6.0 has to ship without support for P5+XS modules, so be it.

> So I guess your "a list of big ticket items remaining" hopefully won't be "a > big list of ticket items remaining". > Besides I was of an opinion even > after the 6.0.0 release the spec won't be complete.

It sounds like the plan is to mark particular bits (paragraphs?) as either 6.0 or post 6.0 and associated spectests will determine whether or not Rakudo is compliant.

For more of the discussion see [http://irclog.perlgeek.de/perl6/2014-05-23#i_8767026](http://irclog.perlgeek.de/perl6/2014-05-23#i_8767026)

> Esoteric features a, b, c, d are left for next 6.* releases.

I don't know about the esoteric aspect being the decider, but yes, I'm assuming the basic idea will be to defer as much as is reasonable.

> Either way, I wish you guys all the very best. And hope to soon see a > closure soon on this.

        { "this" }

Maybe not what you're after?

Seriously, while I hope for a 6.0 spec this year I think there's about zero chance of a 6.0 Rakudo this year. And unless a few dozen more contributors turn up maybe not in 2015 either.

<comment><USER33> Thanks, for the link.

But you are talking of another 2+ years. That's a lot of time in software.

<comment><USER34> Sure.

I wish it could be quicker and I hope it will.

In the meantime I contribute as best I can.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER4> I remember, when Py3 first came out, everything was incompatible -- unnecessary incompatibilities like the u" notation for Unicode string literals that was dropped. Unnecessary incompatibilities in the C-extension-module implementation layer. And so on. The list of incompatibilities was just huge.

Later several of them where dropped, like the string literal trouble ... But than the trouble was already done. Many extension modules where not lifted to the new version, since the overhead was to big.

I think, many more projects would have adopted Py3, if more extension modules would support it.

The huge library of extension modules was always the strength of Python. Now we have many projects still running on Py2, because Py3 did ignore this strength.

</comment><comment><USER35> The author didn't really give any concrete examples. What kinds of major Python libraries still need to be ported over to Python3?

<comment><USER36> The author is talking about long tail libraries, not major ones. The thousands of libs on PyPi that are still on 2.x

<comment><USER20> Except most of the more obscure libraries I find are either abandoned projects or were written to support the author's needs and don't fit the generic use case.

To note, that's not a Python-specific issue: it's the nature of any language ecosystem where modules can be made by anyone, and I'm not even sure it's a bad thing: I've learned a lot, even from libraries that I didn't end up using for whatever reason.

I think it's dangerous to imagine Python or any language as something where all the libraries you need always exist, and thus any time you have to write your own libraries it's a failure. Embrace the library ecosystem: you're going to eventually find something that isn't covered, which is when you write a library and participate.

Disclaimer: I know open sourcing code isn't always possible, and that time/project constraints can impact how much backend code a developer can write. But if we dismiss Python 3 just because some of the more obscure libraries aren't ported, I wonder how we ever picked up Python 2 originally.

<comment><USER36> I am not dismissing Python3 outright and neither is the OP. But rewriting millions of lines of code to satisfy an artificially imposed requirement is probably not a good idea even if the libraries are "abandoned"

Python3 ranks high on the list of engineering failures. Python3 itself is fine, Python3 the deployment and migration is a disaster.

<comment><USER20> The abandoned libraries I find end up needed to be mostly rewritten, even if I were to use them on Python 2.

</comment></comment></comment></comment></comment><comment><USER37> Maybe there are thousands of unported stuff but frankly, how much of that is useful/ready for production use (production=paid software with bug translating to losses) ? I'm perfectly fine with Pyside, SQLAlchemy, ReportLab and a bunch of few other things. I don't need the n-th lib with half baked, unicode broken, poor error handling, non portable, Disney-tested stuff. So, if only 10% of the libs have moved and those are the production quality stuff, then fine. What a useless article.

<comment><USER38> Have to agree here.

Most of the libraries I'd actually trust for more than a one off script are already ported or have plans for porting.

I wouldn't trust a lot of the unported libraries in a serious Python 2 project, anyway.

</comment></comment><comment><USER39> Python (2) is heavily used in the finance industry, a industry that still uses cobol and fortran, they will never move on to python3

<comment><USER40> > they will never move on to python3

Sure they'll move on to python3, in the same way they moved on to C++, Scala, and VHDL.

Perhaps they will never abandon Python 2, like they haven't abandoned Cobol and Fortran. However, that doesn't mean they won't move on to Python 3.

</comment></comment><comment><USER41> Sounds like Perl 6, all busy stifling Perl 5. (Which has sort of shaken itself out of somnambulance with a similar technique.)

<comment><USER42> Python 3 is doing a lot better than Perl 6.

<comment><USER36> Even if Python 3 emerges as this great thing, it could still stunt the Python ecosystem. Python (the thing) is distinct from Python programming, there are plenty of amazing languages that no one uses.

</comment></comment></comment><comment><USER43> This was a horrible article. With plenty of jumping to conclusions. I agree that Python 3 divided the community., but this article grossly over- exaggerates.

</comment><comment><USER44> Basically the author's argument boils down to "if you have a long list of dependencies, some of them will not be available in Python 3 and therefore your program will be hard to port." That is true, but it also reflects an all too pervasive problem in modern open source software development - an over reliance on third party dependencies - "dependency hell." We've all seen a gem file or requirements.txt that is absolutely absurd. People need to stop relying on little libraries created by some random dude 3 years ago and never updated for their production code.

<comment><USER45> And how do you feel about forking and maintaining those libraries? I think the 'little' here means 'arcane'. If the code serves a solid purpose, and you understand it enough to maintain it, it should be better than writing it yourself.

</comment></comment><comment><USER46> I had both versions installed(arch linux). I wanted to remove one of them long time ago, but there are lots of dependencies on python2 in arch (gdb mercurial etc.).

python3 do break many of 3rd-party scripts I am using, so I make /bin/python symlinks to python2. Each python3 update will break these scripts and I needed to symlink python again. So, finally, I removed python3 completely.

These 3d-party python codes are well maintained, but the authors seems not to bother to port them to python3 if python2 is still available.

</comment><comment><USER47> People forget that doing backward breaking changes take a while. Python 3 was released at the end of 2008, 2 years _after_ Java 6. How many systems you know still run on Java 5?

<comment><USER16> Java 6 did not break backward compatibility (code written for Java 5 generally runs fine on Java 6).

<comment><USER48> Code written for Java 2 runs fine on Java 8, with extremely limited exceptions. Java, just as Windows, is used too much in enteprise apps to lose backward compatibility.

</comment></comment></comment><comment><USER49> I began my python coding in both 2 and 3. I eventually dropped 2 and stayed with 3, because I didn't need any of the "still haven't made it to 3" libraries for what I was doing.

Part of me feels like I'm living in the future, waiting around for everyone else to get over it. I then have to remind myself about the nature of change over large groups of people, and wonder what else I could be missing.

</comment><comment><USER50> Over the years I have noticed that lots of software's newer version are worst then previous versions.... luckily with open source software like Python, developers can keep updating/forking older versions. I wish that I could still be using gmail beta for example.

</comment><comment><USER51> It's true that Python 2 and 3 are entire different languages.They have the same basics but once you dig a little,they are very different.

As hard as it is for people like me who use 2.X a lot,Python secured its survival with 3.I wish the transition would have been smoother though.

</comment><comment><USER52> minor benefits: hardly. unicode alone is a big deal. problem with 3d party libraries: sure, for now. good solution suggested: no, not really.

</comment><comment><USER53> I find the conclusion, that there should be a Python 2.8 which maintains backwards compatibility and which adopts some of the newer 3.x language features, to be misguided and uninformed.

What the author of this article is suggesting is precisely what Python 2.7 is. Python 2.6 was the last 2.x release that brought new features to the language. 2.7 is only about back porting 3.x language features as a "temporary" stop gap measure until 3.x reaches maturity, both as a language and through 3rd party library support.

It is precisely this kind of thinking that is going to "kill Python," not the language itself.

</comment><comment><USER54> Python 2 will still be there, why spend energy back-porting stuff when you could just keep using python2 or improve python3 or even porting to python3 (it's actually not that hard).

</comment><comment><USER55> How about checking out the wall formerly known as shame.

[http://python3wos.appspot.com/](http://python3wos.appspot.com/)

</comment><comment><USER56> Python 3 simply suffers from a very serious image problem that was caused by the objectively terrible launch of the first couple of versions.

</comment><comment><USER57> I loved python and honestly when I started hearing that there should be a "pythonic way of doing things" my bullshit alert ringed as this was pretty much against the freedom that made the language appealing in first place. It started going downhill from there and I am affraid there is no coming back.

</comment><comment><USER58> Strange that no comment I've read here so far mentions marketing. Of course it's mostly marketing. It's a human problem, not a technical one. Think about how many bad programming decisions were shipped by the big IT industry just with a beautiful presentation?

</comment><comment><USER59> The best would be to have Kickstarter to port the remaining major libraries to Python3. Python3 is obviously much better than Python2 and helps in writing cleaner and better code. Progress is made looking towards the future and by continuous improvements.

<comment><USER6> Let's define "major".

<comment><USER59> Good point. It could be the libraries which are used by a lot of people like boto. There could be many more.

</comment></comment></comment><comment><USER60> I am not very familiar with pyc, but IMHO, if pycs compiled from both versions are compatible, the migration process should not be that painful. Syntax can change, but given stable ABI, librariescan be shared without pain. Why has no one done that?

</comment><comment><USER61> OT: Did Medium make some changes recently? The scrolling performance is _dreadful_.

</comment><comment><USER62> I take issue with the assumption that everything was perfectly compatible before the jump to 3.

I kept running into random incompatibility issues even within 2, like Pai Mei (a reverse engineering tool) only working on 2.4.

</comment><comment><USER63> While author seems to believe all gloom and doom, look at this graph [http://py3readiness.org/](http://py3readiness.org/)

Python 3 support is getting better everyday.

</comment><comment><USER64> Python 3 is not killing Python just competes for resources. Python 2 will be around until 2019 and a lot of things can happen in 5 years.

<comment><USER65> IMHO Python 2 is one of the big, important languages of computing history with a large enough user and code base which makes them go nowhere, no matter what a committee decides. I would put Cobol, C, Perl, Java, Fortran in the same league. Like 'em or not - they are here to stay.

<comment><USER66> And they've all had incompatible changes over the years. There's C89 code that won't compile under C99, a good amount of Perl4 code won't compile under Perl5, let alone 6, Fortran 66 code that won't compile under more modern versions of fortran, etc. This myth that this is a python thing is complete hogwash if you look at the history of programming languages.

<comment><USER67> But a C99 program can link against a C89 library, right?

<comment><USER65> Maybe, maybe not.

Could be that the header file is not compatible with C99 either. This seems to me rather likely. Also it might be that the ABI changed in a way that the C89. This depends on platform and tool chain.

There is a large amount of code which is compatible. It is easy though to get an example which isn't.

</comment></comment></comment></comment></comment><comment><USER19> What popular third party libraries don't have a port and don't have one planned for the next 5 years python 2 will be around?

</comment><comment><USER68> Python 3 isn't killing python. If you're one of the guys who isn't going to jump ship, siyonora. In a few years your python skills are going to be legacy only. Django, Pyramid, SQLAlchemy, all support it... it's time for web developers to switch.

So what if an obscure library on PyPI doesn't? Port it already. Or don't use it? The other day I removed a 'module' from my project by substituting 1-2 lines for "import lxml" and etree.fromstring(xml) instead...

<comment><USER21> > In a few years your python skills are going to be legacy only.

If the trend continues then in a few years your python skills are going to be legacy only and you will program Go or something.

</comment></comment><comment><USER69> What is that photo from wikipedia? Anyone know that theme?

<comment><USER69> Ah, screenshot in firefox command line, google search, and here is the answer:

[http://www.wikiart.org/en/gustave-dore/the-inferno- canto-13-...](http://www.wikiart.org/en/gustave-dore/the-inferno-canto-13-1)

</comment></comment><comment><USER70> Since when was python 2 "deprecated"? I chuckled.

<comment><USER71> Well, if you go to python.org and ask "Should I use Python 2 or 3?" the prominent answer is:

Short version: Python 2.x is legacy, Python 3.x is the present and future of the language

That's very close to what deprecated means.

<comment><USER72> If "deprecated" allows a very long period of time before actual end-of-life, yes; Python 2.7's current scheduled EOL date is 2020:

[http://legacy.python.org/dev/peps/pep-0373/](http://legacy.python.org/dev/peps/pep-0373/)

<comment><USER73> Yes, it does. If something is deprecated, that just means people are advised not to depend on it, usually because it's going away. [https://en.wikipedia.org/wiki/Deprecation](https://en.wikipedia.org/wiki/Deprecation) It doesn't mean that it has already gone away.

</comment></comment></comment></comment><comment><USER74> I doubt the lazy people who haven't moved to python3 will ever do a decent port of python 2. Python3 has been out for over six years now, with warning before that.

I'd much rather bet on the python developers who are shipping software. All major python libraries have been ported to python 3, many of them for years. There's 4799 packages registered on pypi as supporting python 3.

Python is becoming less popular? The author provided no evidence at all. Downloads of python3 from python.org are higher than python 2, and have been for a while now. Job websites show python having more postings than 2 years ago.

Not much has changed in python 3? What rubbish. You just have to look at the thousands of commits, and change lists. Python 3.4 has generic functions to do single dispatch matching on type. You can statically type check python now (see pysonar2, pylint, and pycharm for example). Not only as pypy made a major breakthrough with performant STM based concurrency(no threads), but threading has been improved in python 3 too. There is the new asyncio library for really elegant async, which go along with great generator improvements(yield from). We have CFFI for simpler FFI. Lambdas are kept simple for readability, as functions are preferred.

I'm just going to stop here... many of his statements are just insane. Like this one: "You might as well ask someone to port their entire codebase to Ruby". Um, yeah... porting a codebase to python 3 from python 2 would take more time than porting it to an entire other language. What complete nonsense!

Edit: the post isn't from Microsoft, so fixing it so it isn't misleading. There was a link to a Microsoft person on the top right of the page, which seemed to indicate he was the author. Instead it was just someone promoting the page. Oops/sorry!

<comment><USER16> I'm the author. I've never worked at Microsoft (where did you get that?). I'm a Linux guy.

The "lazy people" you refer to is 98% of the Python community.

Python 3 didn't "gain" static type checking. You can (and I do) run pylint against Python 2 code which is just static analysis, not full type checking. The situation here has not changed between Python 2 and 3.

Python is glue code. You write a small piece of Python to tie together external libraries. Moving a smallish piece of Python code from Python 2 to Python 3 often means porting several 3rd party libraries. If you were to move to Ruby, all you'd need to rewrite is your own code, as there are likely already 3rd party libraries which need no porting.

<comment><USER20> Do you have examples for these critical 3rd party libraries that haven't yet been ported?

As I noted elsewhere in this thread, the list gets shorter every day:

[http://python3wos.appspot.com/](http://python3wos.appspot.com/)

<comment><USER75> If you are running multiple automated eCommerce companies that have their core system written in Python 2 like I do, you'd find that boto/mws and python- excel aren't available for Python 3 (python-excel's porting to Py3 stopped in 2011), which would prevent you from spawning new businesses on Amazon or handling (unfortunately standard) MS Office interchange files quickly.

I actually made the decision to run on Python 2 due to unavailability of these libraries for Python 3 about a year ago (I didn't really care about Python before as I primarily used C++/Java/Asm/GLSL/C#/Haskell in the past) - I was deeply shocked by what Py3 did to its own community and still have that weird feeling that Python is slowly killing itself. I didn't want to write my own Amazon and MS Office wrappers in Python 3 anyway and from all platforms available Py2 seemed to have the least amount of troubles (though I had to write some Py3 code for handling advanced TLS properly).

<comment><USER76> yup. I think this is the reason so much eCommerce software is Java (& I'm sure there is a bunch of C# but that's not my thing). Java moves like a glacier but damn is it ever stable, and for those who wish to be "cutting edge" there is everything-under-the-sun on the JVM -- Clojure, Scala, Jython, JRuby, slimmer- by-the-minute Java APIs. And the community is just working their lil buns off trying to modernize this stuff while maintaining interop / backwards compatibility.

I think the flack Java gets is for not modernizing fast enough, but I think in a way that makes you stop and smell the roses (the roses being many years' worth of badass JVM features and massive flexibility/reliability in software development).

But Ruby & Python (I am an ex-Ruby guy) take this cutting edge thing wayyy too far & end up with a community of people who can't trust them anymore cuz they all had their damn feet shot off. Sometimes I see the rates for Ruby guys & wonder if they're high cuz its so productive or just cuz its very niche & the stack is shite. On principal, it's hard for me to imagine going back down that road after experiencing the JVM (plus, I'd like to get away from web one day...).

EDIT: Funny thing I just realized actually -- all the Ruby rates I've seen tend to be exactly on par with a lot of FUBAR niche near-extinct Java technologies. The only people I've seen do better than both these camps are down & dirty Linux/Oracle/Java guys. Maybe my view is skewed but I always feel like the rock-solid langs will live on & eventually "modernize" (though lets be real, modernize is kindof a BS term for slim API & lots of MVC tutorials). These other techs are at the mercy of market trends.

<comment><USER77> Java is simply becoming the next C. For a reason, in my opinion, since the languages share quite a few traits both on the language level and the ecosystem level. Both are fast. Both have a rock solid execution system which sometimes feels backwards compatible to the first punch card made of rock (gcc vs JVM). Both of them have huge communities having significant infrastructural services and other huge code bases developed in them (linux kernel, application servers, databases in both teams). The big improvement of java would be a higher programmer safety.

And to be fair, neither language is the prettiest, shiniest and fanciest for it's time, but they get the darned job done.

<comment><USER76> you (& bitL as well) make some fair points but I actually (maybe because I'm newer to Java?) have quite a different experience with it. The XML setup seems minimal now (sure it's all there but most stuff is now handled with reasonable default configs & annotations).

Take Jax-Rs is a good example. Once you understand it you're just like "Ohhhhh this is the same way Rails/whatever framework handles json requests but I can add in all this non-linear logic without forcing it to play nicely within a presumptuous design pattern". Adding many data sources & logic flows is easy.

Bottom line is that I feel like Java can never really be the next C because fundamentally its much safer and becoming way more human readable. It toes the line well -- you can code minimal stuff similar to the scripting languages, or you can drop years of work/research into optimization for high-transaction algorithms knowing that the platform won't abandon you.

(By the way, I am personally hoping for Clojure or node.js to take over the front-end of the stack & then just using Java to do any heavy lifting that is left over)

</comment></comment></comment></comment></comment></comment></comment><comment><USER78> The author should realize that it's better for Python 3 to kill Python 2, before Go, Ruby or some other platform kills Python.

If you don't cannibalize yourself from time to time, someone else will eat you. Fact of life.

Or in simpler words. Stop bitching, and port that library to Python 3.

</comment><comment><USER79> Apparently the only measure of a programming language's worth is how many libraries it has.

Alright, boys. Pack it in. We're all going back to C89. Don't try anything new, because you'll never catch up.

<comment><USER16> "One of the great strengths of Python 2 is the long tail of 3rd party libraries" does not imply it is the "only measure"

<comment><USER79> The _only_ point made in this entire article is that Python 3 is "killing Python" because a lot of Python 2's libraries haven't been ported.

Your quoted statement might not imply what I said, but this article damn sure does.

</comment></comment></comment><comment> dj-wonk Re: "One of the great strengths of Python 2 is the long tail of 3rd party libraries to do, well, just about anything. Python 3 doesn't have this." Sure, this isn't ideal, but this is open source... if you use a library, step up and port it over. How hard is it?

<comment><USER13> Yes, honest question. I've never written a line of python. How hard is it to port 2 -> 3?

<comment><USER80> It's not so much that it's hard, but it's a lot of work, without tangible benefits. On top of that, it's desirable to have a code base that is compatible with both 2 and 3, which requires awkward workarounds.</comment></comment></comment>


SpaceX to Launch Private Astronauts in 2015 - <AUTHOR> http://www.spacesafetymagazine.com/2013/01/11/spacex-launch-astronauts-2016/

<comment><USER2> Check out this trolling: the final sentence of the article says "AXE astronauts may even beat their SpaceX counterparts to microgravity" (in an XCOR Lynx rocketplane). As in Axe body spray. Uh huh.

This is trolling because

a) that's a _suborbital_ spaceplane (which the mention, but don't emphasize), which is obviously a much lower bar

b) the Lynx Mk I hasn't even started flight tests yet, as far as I can tell from their press releases

c) really, if they want to talk about suborbital space tourism (which is what the Lynx is), isn't Virgin Galactic the market leader here? probably?

d) you really think that if SpaceX wants to do crewed orbits by 2015, they won't be booking time on a Vomit Comet long before then (and thus logging microgravity time)? seriously?

<comment><USER3> Hehe, yeah. By that standard astronaut Mike Melvill already beat those SpaceX astronauts by more than 10 years...

</comment></comment><comment><USER4> I'm still stuck thinking that 2015 is 10-15 years away.

But 2 to 3 years from now? Damn that is ambitious.

<comment><USER5> 2-3 years seems to be SpaceX's preferred timeline (and they've hit most of them so far)

<comment><USER4> Yeah, that seems to be the case. Manned flight is a _massive_ step forward though. It's not just a matter of making sure everything they have today works well enough if people are on board, they still have critical systems that they still have to develop first! They still need to finish, _then_ test and certify those second generation draco thrusters that would be used as the launch-abort system for instance.

The craziest part is that I think they can actually do it.

<comment><USER3> superdracos have been in testing for a while: <http://www.youtube.com/watch?v=PUUnYgo1-lI>

<comment><USER4> Not actually in a Dragon capsule to my knowledge, though I admit I don't know how different that would be.

</comment></comment></comment></comment></comment><comment><USER6> I think it goes to show the incredible depth of engineering in the U.S. to go from start in 2002 to humans in 2015, 13 years, with all new tools, designs, engineering and manufacture with so few people and such little monetary investment. It's astonishing...

<comment><USER7> They're creating plenty, no doubt, but Musk talks admiringly of Apollo and how valuable the experimentation and open designs of that era have been for SpaceX. It allowed them to focus on a much smaller design space.

Unfortunately, I can't find a good source for it (I remember reading an interview with Musk where he talked about it). I think everyone recognizes that they are standing on the shoulders of giants and says so frequently.

Interestingly, the Soyuz and Apollo programs, although their missions were similar, differed significantly in engineering culture. I heard a story about the Soyuz-NASA collaboration that lead up to the Apollo-Soyuz Test Project ([http://en.wikipedia.org/wiki/Apollo%E2%80%93Soyuz_Test_Proje...](http://en.wikipedia.org/wiki/Apollo%E2%80%93Soyuz_Test_Project)): NASA engineers met with Soyuz engineers and asked for engineering specifications, but the Soyuz engineers couldn't give them (or maybe they just weren't very detailed) because most things were in people's heads rather than documented. The Russians were iterative and practical, and had very robust systems, but they were not nearly as formal as the NASA blokes.

In the end, I wonder if that lack of careful documentation on Soyuz' part diminished its long-term helpfulness? Or did they later record their designs more carefully? I would be curious to know. Apollo documents are apparently available for aspiring rocket builders. Hurray for openness in publicly funded research.

<comment><USER8> Or maybe they just needed an excuse for not giving those specs.

</comment></comment></comment><comment><USER9> Being a big fan of SpaceX/Elon Musk and having the deepest respect to Buzz Aldrin, the video still reminds me of 'Tom Corbett, Space Cadet': [http://archive.org/details/tomCorbettSpaceCadet- RunawayRocke...](http://archive.org/details/tomCorbettSpaceCadet- RunawayRocket1954)

All the best to LSA, though.

</comment><comment><USER10> > The idea is for NASA's commercial partners to demonstrate the safety and > operability of the new craft on their own employees before the agency risks > its astronauts.

The keywords here seem to be 'risks ITS astronauts'. With all the money they (rightly) have spend on human safety in an outer space environment they now assume somebody else will do it for them? This confuses me to no end.

So it's like getting test drivers for space vehicles now. Oh my, times sure have changed...

</comment><comment><USER11> What is the target market? Would most of the customers likely be governments?

<comment><USER12> Their current work is under contract to NASA; they're one of three private companies developing spacecraft for possible future use in ferrying astronauts to the International Space Station. (The other two are Boeing and the Sierra Nevada corporation, a defense contractor.)

Other possible markets would include space tourism and research trips to private space stations, along the lines of what Bigelow Aerospace is trying to develop.

As to governments other than the US, SpaceX could probably sell launch services, but it would be a lot harder for them to sell the rockets (or, probably, spacecraft) to foreign governments. A lot of that technology comes under fairly tight arms trading regulations (for good reason; any launch vehicle can be transformed into an ICBM by reprogramming the guidance system).

</comment></comment><comment><USER13> I assume SpaceX is hiring Austronauts that are former NASA employees.

How many years down the road will it be before we need to start privately training Astronauts for SpaceX?

</comment><comment><USER14> Yeah, no. Elon Musk should instead focus on fixing the Peaks that will make the Almighty Industrial Revolution look like a blip on the easel of the history of history. Space travel, cars and the Internet has no future beyond the next 10~ years. Possibly shorter if the financial paradigm falls sooner.

* Peak oil, gas, coal, phosphorous, rare earth metals, uranium, copper, iron und su weiter.

Sorry Elon!

<comment><USER15> You do realize that most of the things on your list can be found in much more abundance in space, right? So getting us there is the first step.

<comment><USER14> No, because even if we got more of those (and fossil fuels, the most crucial component of our "prosperous" Western societies aren't available from the skies) we wouldn't solve the most conspicuous problem: growth. Billions will die in this century, world pop will plummet to ~ 0.5 billion and the Internet, cars and all such trivialities will vanish.

The first step? Stopping the senseless notion we will ever get off this rock and implement a "reduce, reuse, recycle and do without" paradigm akin to world war 2 rationing, will be the first step.

<comment><USER15> >fossil fuels

Elon Musk is working on that. He also owns Solar City and Tesla Motors.

>growth

Colonizing space can solve that. Plenty more room and resources.

>senseless notion we will ever get off this rock

It's looking less and less senseless every day, in part due to Musk and his team.

<comment><USER14> Batteries can't be an alternative because: 1) They need fossil fuels and finite minerals/metals to be manufactured and transported 2) The EROEI is way less

The earth had plenty of room and resources before we "decided" (we didn't, we're humans, like yeast we try to consume everything in our path until the overshoot is apparent and we collapse) that 7-9 billion people and American 1000 gallon a year per capita lifestyles were viable. Haha, what folly.</comment></comment></comment></comment></comment>


Making structural sense with CSS selectors - <AUTHOR> http://exchange.causes.com/2011/08/causes-tech-making-structural-sense-with-css-selectors/

<comment><USER2> Nit: these are not selectors. They are declarations:

<http://www.w3.org/TR/CSS2/syndata.html#declaration></comment>


Why posts made from TOR network don't get attention (do well) in HN? - <AUTHOR>

<comment><USER2> spamfilter kills them

<comment><AUTHOR> shouldn't the spam filter be looking at content and not the IP from where it is posted ?

<comment><USER2> Why shouldn't the spam filter look at the IP if that is a good indicator for spam?

(you obviously have to decide if the benefits of blocking outweigh the downsides, but I guess HN did that)

<comment><AUTHOR> Since IP filter will rule out many sensitive contents that is said about corporation, government, I'm fairly certain it can be ruled out as a good indicator of spam. If it is a spam, is it that hard to just look at the content, I think not!

<comment><USER3> Strongly anti- (or pro) corporation and government posts will be dinged by the filters. I forget the exact names for them, they exist to reduce arguments.</comment></comment></comment></comment></comment>


Small Rule Change That Could Give the U.S. Government Sweeping New Warrant Power - <AUTHOR> http://googlepublicpolicy.blogspot.com/2015/02/a-small-rule-change-that-could-give-us.html <comment><USER2> _Google Opposes Proposal to Ease Warrants for Computer Searches_ [http://blogs.wsj.com/digits/2015/02/19/google-opposes- propos...](http://blogs.wsj.com/digits/2015/02/19/google-opposes-proposal-to- ease-warrants-for-computer-searches/)</comment>


Find password for any GMail Account - <AUTHOR> https://www.odesk.com/jobs/Find-password-for-any-GMail-Account_~013aa9570198da907b NSA, this job is for you <comment><USER2> _facepalm_

I suspect this guy doesn't understand how this works.

</comment><comment><USER3> So beautiful. Reminds me of when I was 13 years old.</comment>


Soft launching my RSS Reader, what do you think? - <AUTHOR> http://monoclereader.com/ <comment><USER2> First impression: Looks interesting.

However:

You create a product that can gather a lot of information about me - what I look at every day, for how long, what data I subscribe to etc.

Yet you don't even bother with a privacy policy. It boggles my mind.

That's a no-go.

And if you add your privacy policy I won't use your product unless this data about me is not sold.

Personally I would prefer something that runs on my desktop and not in the cloud. I could still pay a yearly fee to receive software updates.

<comment><AUTHOR> You're right. I have posponed writing the privacy policy for a while but I guess the time has come.

I use Firebase Realtime Database as a backend and that's it, there's no other stuff done with the data from my side.

Edit: actually, there's Google and email auth, both handled with Firebase Auth.</comment></comment>


It may be possible to build a DNA-based detector of dark matter - <AUTHOR> https://medium.com/starts-with-a-bang/dark-matter-can-give-you-cancer-and-that-may-be-a-good-thing-cc6890be42bf

<comment><USER2> I believe they're actually trying this as well.</comment>


You don't need to know me - <AUTHOR> http://blog.samuellevy.com/post/43-you-dont-need-to-know-me.html

<comment><USER2> I made an account just to comment that yeh, being forced to make accounts for shit you dont want sucks.

not sure about the paypal thing, though - they want lots of info for that.

<comment><AUTHOR> I can still check-out with paypal without an account. It just deals directly with my credit-card details, and leaves it at that.</comment></comment>


Ask HN: How dependent are you on Google products? - <AUTHOR> When assessing how dependent I am on Google products, I found out from banking to buying online, My complete online presence will be paralyzed this includes documents stored in Drive, contacts in phone to name a few. Not only I will lose access to Google but also to other platforms where I have used the email. I think all the sites should provide an option to have an alternate email that doesn't belong to Google. With the fear of google suspending my account anytime. This is a worst-case scenario. Fellow HN Users How are you dealing with this problem? <comment><USER2> Not at all, as in I don't even have a Google account. If Google were to disappear the loss of YouTube and search (for when DuckDuckGo fails) would be inconvenient but not a major problem.

E-mail used to be on Office 365 which is a paid product and doesn't seem (yet) to be contaminated by advertising, though I've now switched to FastMail as the Office UI became too bloated.

Cloud storage used to be on OneDrive but now switched to iCloud which is decent. I heard FastMail provides WebDAV access to their storage (sharing the quota from your mail account) so I might try that.

Phone-wise I use an iPhone so absolutely no impact of Google banning me (not that there's anything to ban to begin with, I don't even have an account!). For Maps I use Apple Maps which is good enough where I live, though I'd be curious to know about good, non-advertising-supported alternatives.

I feel like the biggest problem to getting away from Google is if you have your e-mail on there and don't have your own domain. If so I suggest getting a domain immediately and starting to use the new address (setting up an e-mail forward from your Gmail to your own domain). Assuming you're past that, the rest is easy. As a bonus, moving away from Google services and not using them day to day reduces the risk of your account being banned by accident so your e-mail forward keeps working forever.

<comment><USER3> sent from Chrome

<comment><USER2> Safari :)

</comment></comment></comment><comment><USER4> I ditched Google completely a year ago:

\- DuckDuckGo is not as good, but it gets the job done

\- Exporting my contacts to a file was easy

\- Converting all of my accounts over to use my new email address was a pain, but not as much as you might think. And Proton Mail offers a pretty good cross-platform user experience.

\- Apple Maps, for all the flak it takes, is really quite good most of the time

\- YouTube is the only Google app I keep on my phone, because there truly is no alternative, but I don't sign in to it

<comment><USER5> There is a free alternative to the YouTube app:

[https://f-droid.org/en/packages/org.schabi.newpipe/](https://f-droid.org/en/packages/org.schabi.newpipe/)

</comment></comment><comment><USER6> I'm a paid Google One subscriber and use a legacy free GSuite for most mail. I own the domain used for GSuite.

I used to use Dropbox, but the constant up sell annoyed me enough that I switched.

I don't worry at all, and I'm always puzzled by the navel gazing about Google that has become so common.

</comment><comment><USER7> I sometimes use Google for searching (although not always; I use more than one in order to find more) but that's all. I have no Google account and use no other Google services (although I do use some of Google's open source software, such as the V8 JavaScript engine). I have about:blank set as my home page and not Google. I use self-hosted email, with Heirloom-mailx as the mail user agent and Exim4 as the server (both running on the same computer).

</comment><comment><USER8> I am quite dependent on Google. I would like to be less dependent, but it's hard to justify to myself the effort of switching.

\- I use them for my personal email. I would like to switch, and I have devoted some minor research toward that goal. I use my email for archiving, so it is important. I do have backups. The greatest loss would be the many accounts tied to the @gmail.com address.

\- YouTube is one of my favourite sources of entertainment.

\- APIs I depend on for certain projects. Particularly the Google Maps APIs.

\- I often use their search. I have used DuckDuckGo on and off, switching multiple times over the years, but I prefer Google's results in general. I could live without it, though.

\- I use Google Maps for navigation and general POI searching. Is there a good alternative?

\- I use an Android smartphone. I use FOSS apps from F-Droid as much as possible and disable most Google features, such as the "assistant". This phone is "obsolete" now, but I would probably buy the same one if it stopped working. It is good and cheap, and I am used to it.

</comment><comment><USER9> I use Google's products because they're good (Search, Youtube, Maps, Docs, Chrome up until last week's update). If my account disappeared tomorrow, I would lose a few non-essential files on my google drive and that's about it. Not using Android makes things easier because it means that my contacts and payment methods aren't associated with my google account.

The whole movement of trying to _completely_ de-google yourself and being in fear of account suspension seems absolutely paranoid. Use the services that you like, mix up your email/storage/etc. providers if you prefer - no need to completely silo yourself off one company.

</comment><comment><USER10> I have settings-adjusted Google account solely to buy games for the kids (family library).

Email with Migadu and self-hosted beyond that.

Calendar and contacts with EteSync.

Search with DuckDuckGo.

Browsing with FireFox. I keep Chromium around to overcome the odd poorly- written web site.

Documents moved to LibreOffice.

Maps via Google Maps, but of minimal importance.

Chromecast on its own firewalled SSID and VLAN for streaming Netflix to a TV.

Voice assistants via Amazon Echos.

[https://takeout.google.com/](https://takeout.google.com/) was useful for extracting data.

Unfortunately wife and kids use GMail, Contacts and Calendar.

</comment><comment><USER11> Zero. I don't have a Google account and only very rarely need to consult google.com when searching for something. On my iphone i have the disconnect app installed and configured it to block access to all web properties owned by Google. If I could block Google the same way on my Windows pc i would.

I do however depend on angular and grpc in some of the apps i have. Both made by Google.

Besides that i have little with Google to do and dont feel thst i am missing out in any way.

It is definitely possible, with little or no inconvenience, to eradicate Google from you life.

</comment><comment><USER12> I've stopped using Google products for the most part. I still have a Gmail account, but I don't use it for much. I self-host email and "cloud" storage.

Definitely still use YouTube and Google Maps. Neither of which has a competent alternative. Nothing except Google Maps works in my country.

I have an Android phone, but I don't have much use for smartphones so I could live without it.

</comment><comment><USER13> I guess I'm somewhat dependent on them. I don't use many Google products, but the two I do use (Gmail and YouTube) have a large enough effect on my life that I'd be in real trouble if I lost my account.

</comment><comment><USER14> I use iCloud mail and gmail and google scholar. If google went away it would be annoying to transfer over banking info, but possible. Google maps is really good here though.

</comment><comment><USER15> Android phone. Contacts. Gmail. Less so, calendar. And search.

</comment><comment><USER16> [https://bloom.sh](https://bloom.sh)</comment>


Ask HN: Are you satisfied with insights you discover using analytics platforms? - <AUTHOR> I assume that HN users who work/own a company are very data-driven. There are amazing analytics and BI platforms out there that want to help businesses understand their data. I have a serious crush over Domo :) My question to everyone here is: Are you satisfied with whatever platform you're using? Does it actually help you discover meaningful insights about your business every day/week?
I've had experience using Mixpanel and a lot more platforms, and mostly they are used as an SQL replacement.
It feels like there's still a huge gap between what you can understand from your data, and what existing platforms help you discover.
What do you think? <comment><USER2> I personally started collecting and analyzing data about my projects only 3 months ago. Google analytics really helped me with one of my Android apps. It helped me discover where my users come from, the parts of my app they were most engaged with and also helped me fixed many issues I never experienced myself. Although these numbers can really help understand how people uses your product, they are still numbers and cannot express a user's feeling about a product at 100%

<comment><AUTHOR> Thanks for the reply. What's your background? Do you consider yourself analytical?

My feeling is Google Analytics is really not for most people, it's quite unfriendly. What do you think?

<comment><USER2> Sorry it took me so long to reply (Hacker News does not offer notifications and I was busy with school)

I am an Android Developer. I can say that I am analytical (In the sense of thinking logically). I agree that the interface of Google Analytics is a little bit messy (and don't get me started on the mobile app) and it took me a while to start understanding how it works.

Based on my experience with Google Analytics I think that the most important thing when it comes to analyzing data is not to know what every piece of data means but it is about knowing how to interpret the specific piece of data you need. Therefore I think that Although Google Analytics can be difficult at first, knowing exactly what piece of data you need and how to analyze and interpret this data is the key to use it properly</comment></comment></comment>