Scala: Consider syntax with significant indentation - <AUTHOR> https://github.com/lampepfl/dotty/issues/2491 <comment><USER2> Having just moved to my first Scala team, I would really really not like this to be in the language. Given 5 ways to do something, a large organization is going do something all 5 ways.

Scala is a fun language, but consistency is _not_ one of its ecosystem's strengths.

Grain of salt: again, I'm new to Scala, but I'd hate to think of it as a language that can only be good once you're Stockholm'd.

<comment><USER3> There should be a styleguide that is enforced by CI tools, regardless of language, so that's not an issue.

However, special cases in the syntax increase the complexity and I would always argue against that.

<comment><USER2> Yeah, and there's certainly style tools in place at some level (formatting, implicit types, etc). But I don't know if I agree that there should be global language rules about what defines sematic style across an org with 20+ relatively independent teams.

And that says nothing about third party libs that one can't control. Again, I am new to the ecosystem, but with languages like C#, it seems that the comparatively fewer language constructs streamline API patterns.

<comment><USER3> I don't know about how your organization works, but any one development team with a shared codebase should enforce coding styles. This means indentation but also how common constructs are used. Especially if someone external might work on the code. Some standards are just necessary to achieve uniformly looking code. But some might prevent bugs (For example mandatory curly braces after ifs). It's also just a simple Tool to prevent friction and create a sense of shared code ownership.

External libraries are usually black boxes and you don't work on the code so I don't understand the argument.

</comment></comment></comment></comment><comment><USER4> In a previous project I spent a lot of time thinking about significant indentation ([http://akkartik.name/post/wart](http://akkartik.name/post/wart)), so I'm glad to see it getting more mind-share. However, the end comments are absolutely insane. Here's a counter-proposal: if you want optional end delimiters, _make them not look like comments_. Then the relevant examples in OP would look like this:

      def f =
        def g =
          ...
          (long code sequence)
          ...
      end f  // optional

      while
        println("z")
        true
      do
        println("x")
        println("y")
      end while  // optional

      package p with
        object o with
          class C extends Object
                     with Serializable with
            val x = new C with
                def y = 3

            val result =
              if x == x then
                println("yes")
                true
              else
                println("no")
                false
          end C  // optional
        end o  // you guessed it: optional

_Edit_ : somebody already brought this up in the comments on Github: [https://github.com/lampepfl/dotty/issues/2491#issuecomment-3...](https://github.com/lampepfl/dotty/issues/2491#issuecomment-302930123)

</comment><comment><USER5> Folks commenting on the willingness to make breaking changes in 'Scala' should note that this is Dotty, an upcoming very eventual breaking replacement for Scala (think Python 3 or perhaps even Perl 6 but less radical than the latter).

For now, to quote the authors, it's a: 'Research platform for new language concepts and compiler technologies for Scala'

So this is exactly the right place to test this sort of concept.

<comment><USER6> Yes, but they're unusually willing to make significant breaking changes in point releases as well — how many times now (including, IIRC, one or more ongoing efforts) have they rewritten the collections API? Yes, that's a standard library change, not a language change, but still.

And this is a _huge_ breaking change: if they make it you won't be able to convert your Scala 2.1X code to Dotty/Scala 3 by simply fixing all the compiler errors; you'll either need a foolproof automated conversion tool or to hand-audit your entire codebase.

<comment><USER5> Well they last rewrote the collections API in Scala 2.8 (I think), which was in 2010. If they redo it in 2.13 that'll have been about 8 years. That's certainly not C++ levels of backwards compatibility, but it's hardly frequent.

They do make some other breaking changes in 2.xx releases (which come out about every 1.5 - 2 years!), but I wouldn't really call them point releases, given that the 2.x hasn't changed in over a decade - that's like saying Python shouldn't make breaking changes in Python 2.6 -> 2.7. They don't generally make breaking changes in actual point releases (2.XX.yy).

Also, they're building an automated conversion tool ([https://www.scala- lang.org/blog/2016/10/24/scalafix.html](https://www.scala- lang.org/blog/2016/10/24/scalafix.html)) for Dotty. As I said, compare this to Python 3. The Scala -> Dotty rewriter should be able to be more complete than 2to3 was however, mostly because they're not fixing many ambiguities like 2to3 was with encoding. Their rewriter is also based on a full sophisticated framework that can parse or unparse multiple versions of Scala, including Dotty, in one build.

Hopefully being able to rewrite a much, much higher percentage of code and the backporting of changes into Scala 2.13+ will make Dotty adoption happen faster (than Python 3) when it comes.

<comment><USER7> What kind of version number scheme does Scala use where breakage is allowed in point releases?

<comment><USER8> Epoch.major.minor

</comment></comment></comment></comment></comment><comment><USER9> I use Scala as my primary development language since 2010. My first reaction to this change was "well, this is the end of it" \-- as I can't read or write anything in Python because of that.

But I looked more carefully and the proposal is more balanced. It looks more like Haskell than Python -- and Haskell's syntax is one of the best ever invented, in my opinion (too bad I am not yet that smart to casually emit production-grade Haskell code).

So, I'm fine with that.

</comment><comment><USER10> Lovely thread to read, these guys are so analytical, well mannered and mutually respectful. Each comment is well thought, constructive, detailed, clear and down to the point. But most of all they are proof reading before submitting. I don't do it all the times.

</comment><comment><USER11> I spent two or three years heavily using Scala. During that time, I more than once got to the point where I literally couldn't casually read code I'd written less than a week before.

This seems like yet another great way to make that worse.

</comment><comment><USER12> 1\. If you're going to make indentation significant, implement it in a way that makes tab/space confusion impossible. Python 2.7 does this. The check for indent ambiguity between two strings is:

\- Remove the common leading whitespace of both strings.

\- The remaining parts of both strings must be all tabs, all spaces, or empty.

This is the least restrictive rule which catches all indent ambiguities.

2\. Indent-based syntax is great for imperative languages, but not so good for functional languages with very long expressions. It's not clear how to indent stuff like "a.b(x).c(y).d.e(z)", where a-e x-z may be long expressions. In LISP, the all-parenthesis syntax was so simple, and so hard for humans to parse without help, that indentation was nailed into EMACS and everybody did it that way. The indentation wasn't significant, but it was standardized.

Here's word wrap in Rust:

        s.lines()
                .map(|bline| UnicodeSegmentation::graphemes(bline, true)    // yields vec of graphemes (&str)
                    .collect::<Vec<&str>>())
                .map(|line| wordwrapline(&line, maxline, maxword))
                .collect::<Vec<String>>()
        .join("\n")

Note that the first "collect" is one level deeper in parentheses than the second one. How would you do that with indentation only?

<comment><USER13> You can get rid of the second map using itertools, which has join for iterators, incidentally.

I feel like you can get rid of the inner one too but forget the right combinator.

<comment><USER12> Off topic - If only that worked.

        use self::itertools::join;
        use self::itertools::Itertools;
        ....
        s.lines()
            .map(|bline| UnicodeSegmentation::graphemes(bline, true)
                .collect::<Vec<&str>>())
            .join(|line| wordwrapline(&line, maxline, maxword),"\n")

error[E0061]: this function takes 1 parameter but 2 parameters were supplied.

Rust is picking the wrong version of "join". There's one in Iter with one parameter and one in Itertools with two parameters. Haven't figured out how to get the one from Itertools yet. The obvious syntax, ".Itertools::join(...)" gets "error: expected `<`, found `join`".

Without either function overloading or member function qualification, how do you do this?

<comment><USER13>
        use self::itertools::join;

This is the free function version; leave it out. I haven't tried this myself, but I'd bet that's what's going on; [https://docs.rs/itertools/0.5.6/itertools/trait.Itertools.ht...](https://docs.rs/itertools/0.5.6/itertools/trait.Itertools.html#method.join) is different from [https://docs.rs/itertools/0.5.6/itertools/fn.join.html](https://docs.rs/itertools/0.5.6/itertools/fn.join.html), though.

</comment></comment></comment></comment><comment><USER14> One advantage of significant whitespace is that it may enable a very concise (G)ADT notation:

        enum Tree[T]
          Branch(t: Tree[T])
          Leaf(t: T)

Compare that with preset day Scala:

        sealed trait Tree[T]
        case class Branch(t: Tree[T]) extends Tree[T]
        case class Leaf(t: T) extends Tree[T]

In general with this proposal the `case` keyword could be implied in _any_ pattern matching block. That alone would be a big win wrt to reducing keyword noise, something the MLs have enjoyed for decades.

<comment><USER15> You wouldn't need significant whitespace to do this; any block syntax would work. The following, for instance, would still drastically reduce the noise:

        enum Tree[T] {
          Branch(t: Tree[T])
          Leaf(t: T)
        }

The main benefit here involves using a block instead of "extends", and using "enum" instead of the odd use of a class hierarchy.

<comment><USER16> Indeed, there is already a proposal for an enum syntax in dotty that looks almost exactly like that:

        enum Tree[T] {
          case Branch(t: Tree[T])
          case Leaf(t: T)
        }

[https://github.com/lampepfl/dotty/issues/1970](https://github.com/lampepfl/dotty/issues/1970)

</comment></comment></comment><comment><USER6> I have to say I don't know of any other language where the maintainers have such a cavalier attitude towards making breaking changes. It makes the common analogy between Scala and C++ a bit ironic.

Not that that's necessarily a _bad_ thing; it's good to have some popular languages that follow a less conservative approach, if only to get some real- world experience with different strategies for dealing with the tradeoffs between keeping a language modern and maintaining backwards compatibility with legacy code.

</comment><comment><USER17> I thought Scala was supposed to be following a route where the amount of "stuff" they include is getting reduced?

The language is idiosyncratic and multiparadigm enough as it is, I'd say.

</comment><comment><USER18> Reminds me of the difference between JavaScript and CoffeeScript.

CoffeeScript attempts to become more concise by removing delimiters and making things more implicit. I don't think that actually adds much value.

In a sense, it was the equivalent of trying to simplify traffic by removing lane delimiters and street signaling. You could somehow imagine they're there, but it's better if you can see them.

<comment><USER19> This is a relatively small change to how blocks are defined syntactically in a language that already brings quite a bit to the table over Java.. You say reminds, which is fair, but I'd say it's also quite different.

I'm a huge proponent of TypeScript and critic of using CoffeeScript in 2017, so while you may not(but may!) agree that TypeScript brings significant value over raw ES6+ I definitely relate with CofeeScript not bringing enough value to the table to warrant such a divergence in syntax. I will say though that pre-ES6+ it really tidied up a few things like classes, this binding, etc.

I've argued for and successfully migrated CoffeeScript projects to TypeScript, but I'll be the first to admit it is "ugly" compared to CoffeeScript. F# is a pretty elegant language IMHO, and it's success using significant white space is cited early in the post. If we can have all the added VALUE of Scala AND a tidier, potentially optional syntax then why not?

<comment><USER18> "Tidy" is very relative. We could go back to the traffic lanes example and say that streets would be tidier without lines drawn on them. But those lines look better than crashed cars and dead people. Minimalism is about removing redundant stuff, those delimiters aren't redundant unless made redundant through whitespace. I do not think whitespace is the way to go.

</comment></comment></comment><comment><USER20> The one significant effect of indentation-based syntax is that it makes copy- pasting code from places like books or Stack Overflow somewhat harder and error prone. I've been hit by this few times when learning Python, I can imagine it would cause some frustration for Scala users too.

<comment><USER21> Here's my straw-man proposal:

Allow both indentation-based and bracket-based syntax. Have a tool like scalafmt/goformat that freely converts between the two on a per-file and per- project basis.

When you're writing your own code, use the indentation-based syntax. You can paste in bracket-based code anywhere, hit the auto-format key on your IDE or run the commandline formatter and everything becomes nice and indentation- based.

When you're writing books, libraries, example projects, SO posts, use the bracket-based syntax. That way people who read your book/library source/example/SO post can freely copy and paste into their own projects.

This has minimal impact on bracket-based syntax diehards; everything they read and write stays the same. They won't even _see_ the new syntax if they don't want to.

</comment></comment><comment><USER22> I'm working on a text editor that automatically formats the code, it will have trouble with significant whitespace if the code is valid both with and without white-space, and even compiles, and even runs with or without, although with a possible hidden bug. I've never worked with a language with significant whitespace so I'm wondering, does it create bugs!? In my experience, bad formatting can cause bugs, or is annoying, eg. syntax errors like "missing bracket" and you got no idea where it's missing, which is why my editor does the indentation automatically and enforce it (you can't change it).

<comment><USER23> Well, significant whitespace will play the role of braces, right? You can't have your editor "fix" the braces, either -- the author has to put them in. In the same way, you can't have your editor "fix" the indentation -- the author has to put it in.

But with braces, you can do consistency checks, such as that they are properly nested. In a similar way, you can do consistency checks with indentation. For example:

        line 1
            line 2
          line 3

The third line is wrong, the transition from line 1 to line 2 introduced an indentation step, and the third line is neither left nor right.

<comment><USER22> I find adding braces much easier then managing white space though. For example commenting out code, adding branches, removing branches etc.

</comment></comment></comment><comment><USER24> A non-backwards compatible syntax would lower the barrier to all breaking changes.

Language spec [1], replacing the standard library [2], etc.

[1] Disallow implicit conversions between unrelated types [https://github.com/lampepfl/dotty/pull/2060](https://github.com/lampepfl/dotty/pull/2060)

[2] Remove parallel collections from scala-library [https://github.com/scala/scala/pull/5603](https://github.com/scala/scala/pull/5603)

</comment><comment><USER25> This is a big change to make to an existing language. Even if you really, really, really like indentation-based syntax, I doubt that the benefit of the new syntax would match the cost of change.

</comment><comment><USER26> The benefit being...? Making it more complex?

</comment><comment><USER27> I love scala, but scala already has some of the more confusing syntactic decisions, not sure if this is gonna help.

</comment><comment><USER28> What does the literature say?

Is it known (as in quantitatively) if significant indentation is a good thing, or a bad thing?

<comment><USER6> I think it's a bit of a bikeshed-type issue.

Subjectively, languages with significant indentation (Python, F#, Nim, Coffeescript, Haskell, etc) are often thought to have nicer-looking syntax.

<comment><USER28> If I had the patience I would try and measure something about the productivity of those languages vs. opensource projects (not at all sure what) and control a lot of things and do lots of stats and then write it all up and then realize that no one else cares.

</comment></comment></comment><comment><USER29> The key flaw with indentation comes when you try to use it with printing. If your function extends across a page-break, such as in a book or a printout, it is not possible to resolve the indentation by eye.

</comment><comment><USER30> Just no.

</comment><comment><USER31> Sigh. Why are the people with the worst ideas most vocal about it?

If you like significant invisible characters, use Python. No need to introduce this into other languages.

<comment><USER32> except if you want type checking at compilation time

<comment><USER33> [http://mypy-lang.org/](http://mypy-lang.org/)</comment></comment></comment>


Facebook ban: "Now I can't even prove I'm the real Kevin Mitnick." - <AUTHOR> http://news.cnet.com/8301-1009_3-10197393-83.html

<comment><USER2> Quote:

Asked for comment, Facebook spokesman Barry Schnitt said: "We are very aggressive in fostering and enforcing our real name culture and sometimes we make mistakes. But it's rare, and it's been fixed."

Anecdotes are no evidence. But this person's friends (a lowly ~40ish) are probably split in two between real name and fake. Extending to 'friends of friends' I'd estimate my network on that level consists of 65-70% fake names. This includes

\- The fancy one: Let's write down the real name in 'cool' symbols/different alphabets that kind of look similar

\- The gamers/nerds/pseudonym fans, using a handle. Maybe combined with parts of their name (totally bogus example: 'Spidey Pete' for 'Peter Somethingboring').

\- Weird ideas of pseudo-privacy by writing your name in a way that is totally false and fake but _can_ be recognized when read out loud

\- Totally idiotic joke names. Think Bart calls Moe's Tavern [1]

\- Random, plausible looking names where I _know_ that the person behind made it up and just uses this account to stalk people

Yeah. Seems not working, Facebook. And I predict that it cannot work, ever.

1: [https://en.wikiquote.org/wiki/List_of_Simpsons_Prank_Calls#....](https://en.wikiquote.org/wiki/List_of_Simpsons_Prank_Calls#.22Blood_Feud.22_.5B7F22.5D)

</comment><comment><USER3> What's interesting about this? And why is it interesting 2 years after it happened?</comment>


How to Eat According to the Primal Blueprint - <AUTHOR> http://www.marksdailyapple.com/definitive-guide-to-the-primal-eating-plan/

<comment><AUTHOR> I've done the "Hacker's Diet" that posits that a calorie is a calorie, and what we eat is not important. I've done the conventional wisdom Low Fat diet. I've done a very low calorie high protein diet. All diets can work, at least in the short term. However, nothing I have done has been as effective and satisfying as eating "Primal". It's very similar to "The Paleo Diet" (see <http://thepaleodiet.com/> ) with a more enlightened understanding of the role Saturated Fats play.

Another introductory link: [http://www.marksdailyapple.com/definitive-guide- primal-bluep...](http://www.marksdailyapple.com/definitive-guide-primal- blueprint/)

An index into most of the content: <http://www.marksdailyapple.com/primal- blueprint-101/>

FAQ, and comparisons to other diets: [http://www.marksdailyapple.com/the- book/references/questions...](http://www.marksdailyapple.com/the- book/references/questions-and-answers/)

<comment><USER2> > _nothing I have done has been as effective and satisfying as eating > "Primal"_

I have a lot of opinions on this topic so I find it difficult to form a non- lengthy reply... but wanted to briefly chime in that I agree. Effective and satisfying.

</comment></comment><comment><USER3> I've been eating mostly "primal" for a year; im down one pant size, im able to better focus at work, and a lot of other nice things, just by erradicating carbs. Also, its the only "diet" that makes sense to me.</comment>


YC AI - <AUTHOR> https://blog.ycombinator.com/yc-ai <comment><USER2> If you're the kind of person that's interested in taking up this challenge, but you currently have the coding skills without the deep learning skills, we built something that can equip you with most of the current best practices in deep learning in <2 months: [http://course.fast.ai/](http://course.fast.ai/) . It doesn't assume anything beyond high school math, but it doesn't dumb anything down (key mathematical tools are introduced when required, using a "code first" approach).

We don't charge anything for the course and there are no ads - it's a key part of our mission so we give it to everyone for no charge: [http://www.fast.ai/about/](http://www.fast.ai/about/)

And yes, it does work. We have graduates who are now in the last round of applications for the Google Brain Residency, who are moving into deep learning PhDs, who have got jobs as deep learning practitioners in the bay area, etc: [http://course.fast.ai/testimonials.html](http://course.fast.ai/testimonials.html) . Any time you get stuck, there's an extremely active community forum with lots of folks who will do their best to help you out: [http://forums.fast.ai/](http://forums.fast.ai/) .

(Sorry for the blatantly self-promotional post, but if you're reading this thread you're probably exactly the kind of person we're trying to help.)

<comment><USER3> The course is excellent, and thank you for making it and offering it for free - but a word of caution for those considering following it: Along the way you will incur not-insignificant costs for Amazon EC2 GPU instances, and, even if your instance is shut down, SSD EBS storage costs.

Edit: To be clear, I'm not suggesting it's not worth it, just highlighting that theres's more than a time commitment to budget for.

<comment><USER4> Like how much? If you are going to get into deep learning for real seems like it might be worth building a multi-GPU workstation?

<comment><USER5> Don't buy equipment before you have demonstrated a real need for it.

This applies across basically all of life, and it's so frustrating to see people ignoring it, because what ends up happening is they use a string of 'gonnas' to justify buying stuff they don't need. Gonna get fit - buy $1500 worth of gym gear. Gonna learn electronics - buy oscilloscope, power supplies, tons of components. Gonna get your motorcycle license - buy brand new bike and stick it in the garage.

If you have a desktop computer, you're good to start. When you've done enough that your available CPU/GPU is limiting you _on your own projects_ (not on something you pulled off github) then you can look at upgrading.

/rant

<comment><USER6> >Gonna learn electronics - buy oscilloscope

A fairly accomplished electronic engineer told me that they'd never once solved a problem using an oscilloscope, but that it helped to keep them occupied while they were mulling over what might have gone wrong. (That's presumably why the better ones have so many knobs and dials to play with, like one of those children's toys.)

<comment><USER5> I've certainly solved problems with a storage scope before, but not for a long time, and they were mostly software problems rather than hardware problems (ie. using it as a poor man's logic analyzer to infer what's going on with the code via a couple of spare IO pins). I really kinda want one though.

</comment></comment></comment></comment></comment></comment><comment><USER7> As someone who's capable of implementing and understanding many of the most fashionable tools in AI, I don't know what to do with the current economy. I think there is far too much attention being paid to the pie-in-the-sky research, and even though wealthy investors think the things that they don't understand and I do are capable of accomplishing things that they think can be accomplished and I don't, the problem is that they want to pay people like me to chase their dream. And while I do love money, I also love the idea of living a meaningful and fulfilling existence by pursing technologies that will advance mankind.

Can other people who've actually seen real promise in their AI research chime in and help convince me that we are actually on the precipice of something meaningful? Not just more classification problems and leveraging the use of more advanced hardware to do more complicated tasks.

<comment><USER8> I don't think we are on the precipice of general AI, perhaps we are not even close.

But we don't need fully general AI to have a huge transformative impact on society and the economy. Think about the full spectrum of jobs that exist in the modern world: doctor, teacher, construction worker, truck driver, chef, waiter, hair dresser, and so on. How many of those jobs actually require the full power of human intelligence? In my view, almost none. Maybe the intelligence required is still more general than what a computer can do, but probably a determined research effort could be enough to make up the gap for any specific task (say, to cut someone's hair, you need to have good visual understanding of the shape of the head, and very good scissor-manipulation skills, and a good UI so that the customer can select a style. It hardly seems like an insurmountable technical challenge).

<comment><USER9> > I don't think we are on the precipice of general AI, perhaps we are not even > close.

In all probability, I want to agree with you.

However, deep learning unnerves me. Seriously, how many people who evolved the deep-learning-trained models actually understand how those models work? But the models produce good-to-great results.

So there could be a small chance that general AI could randomly and spontaneously come into existence. Either we are too close to general AI or infinitely far from it. We can't tell it because we are not sure if intelligence is a evolved goal oriented function or an engineered substance. Being an atheist, I believe the first part - and thats what deep-learning based AI looks like.

<comment><USER10> A major difference here is that humans don't have user defined stimuli.

Human intelligence evolved because of the need to survive which evolved because of the need for genetic replication. Our need to survive lead to a nervous system which created the need for a central management platform (the brain).

People do understand the deep-learning models they create. They're based on a user defined limit for error which is the mathematical distance between what is and what is not.

I think that until we have an algorithm that can rewrite itself optimizing for existence (bug-less-ness and a continuous power supply?), we won't even scratch the surface of general AI.

</comment></comment></comment></comment><comment><USER11> > We want to level the playing field for startups to ensure that innovation > doesn't get locked up in large companies like Google or Facebook.

AI and ML are exciting because they promise to help us evolve systems and machines quickly to perform more accurately.

This requires access to a constant flow of large, proprietary datasets.

Providing cheap access to datacenters and compute power is a great first step for leveling the playing field for startups.

I'll be interested to see how YC tackles the (IMO) more important problem of providing access to the data needed to train models.

I think IBM has taken an extremely wise first step by acquiring the data assets of The Weather Company. This will give its Watson IoT portfolio a leg up on other companies that need to rely on a patchwork of public and private data sources when factoring something as integral as the weather into algorithms and logic engines.

Perhaps YC can consider something similar, pooling investors and VCs together to acquire/partner with providers of essential data.

<comment><USER12> > We want to level the playing field for startups to ensure that innovation > doesn't get locked up in large companies like Google or Facebook.

It's not just the data. It's also acquisition: Facebook and Google are figuring very large in the exit path of a lot of these companies.

Which means that after one or more years the stated goal here could be nixed. You'd almost have to close that route before this statement is meaningful.

<comment><USER13> The two companies are like two giant vacuum cleaners sucking competition out of the technology industry.

Taken in isolation, the two trends (data acquisition and talent acquisition) are already disturbing. Combine the two, and you have to wonder how dumb we actually are to allow things like Facebook's acquisition of WhatsApp.

</comment></comment></comment><comment><USER14> >> RFS: Robot Factories.

From all the places where AI could help, why focus on that field, the place where the most vulnerable employees are found, the hundreds of millions from china, Bangladesh, etc - who have little chance of having a meaningful Social safety net ?

>> job re-training, which will be a big part of the shift.

I don't believe that this is realistic, even in the west. Why ? because the internet, who is obsessed about this subject, and doesn't lack imagination, can't even supply a decent list of what jobs will the future offer that could employ the masses who's jobs will be automated.

<comment><USER15> While it's true that there have been, are, and will continue to be a loss of manufacturing jobs as a result of automation, robotics, and AI, we also need to consider the other side of the economic spectrum, and look historically to see what has happened when these kinds of shifts come.

For example, I'm sitting next to someone who is working on robotic apple- pickers. The amount of cost from buying apples is about 75% represented by labor. So yes, there would be job loss, but what if apples start to cost 25% of what they currently do? What if we extrapolate that across all fields?

What if we could do this with everything we need - food, consumer goods, housing, etc? It's a shift as big as the industrial revolution and moving away from an agricultural society from a consumer perspective. In short: Life would get much better and cheaper for all of us and _fast_.

But then there's unemployment. What will the masses do? Well, what did the masses that used to be farmers do when we moved from 50% of the United States being farmers to the current levels of ~2%?

The answer historically has been that entirely new types of employment are created, and the pain is remarkably short-lived considering the size of the shift and the decrease in costs, and the Luddites look silly in retrospect. It's usually hard to see looking forward, but somehow it's always worked out.

I'm not sure what the entire picture looks like; I do think that we will need massive re-education as a society, and we're completely unprepared for that. In the past we've replaced unskilled labor with new unskilled roles, and I don't see those roles hanging around anymore. (I moved to San Francisco from a very rural town, and I get stressed whenever I think of the economic future of that small town. Until there's risk-free education available at will that area is economically doomed.

But I don't think the proper response is to slow innovation because of pending job loss. If the AI shift will be as big of a deal as the Knternet, imagine how much better it makes the lives of everyone - is that really something we should actively fight against? I'd argue history suggests we shouldn't.

<comment><USER16> _Well, what did the masses that used to be farmers do when we moved from 50% of the United States being farmers to the current levels of ~2%?_

Didn't that work in the opposite way, though? New opportunities appeared that pulled (sometimes forced) people away from farming; it wasn't like there was a bunch of unemployed ex-farmers who suddenly started finding new jobs.

<comment><USER17> Which time period in history? In the 1830s, you'd get younger sons or daughters of a farming family who would move away to the city to earn extra spending money for their family and find a measure of independence; oftentimes the eldest son would inherit the farm, so there was no place there for the other children.

In the 1930s, the farms were themselves collapsing. Mechanized agriculture created both a huge oversupply of produce (which drove down prices) and also ruined the ecology of the plains, which eventually led to the dust bowl. Farmers absolutely were forced off their land: that's where we got Okies, Hobos, the Great Migration, _Grapes of Wrath_ , and all those other subcultures of migrant workers from.

</comment></comment></comment></comment><comment><USER18> I've wanted to break into robotics from machine learning for a long time, but I haven't found a good entry point for the problem. It seems like a rather large vertical cliff I have no way of scaling.

One of the handholds I'd need is a physics engine which which models a robotic arm down to the finest levels of motor control and feedback. I am not a mechanical engineer, and I do not know where to begin with a problem like that. I don't imagine this is hard to build using existing physics engines, but it wouldn't work out the box. It requires some deep domain knowledge of things like friction, tensile strength, and so on. A system like this would spur progress in robotics immensely.

<comment><USER19> Why do you think you need a physics engine (outside of simulation/testing)? Don't humans get by pretty well with only an intuitive one?

<comment><USER18> it is for simulation, as you say - but this is a critical for employing reinforcement learning. The internal (inverse) model will of course, be based on a simplified system, like a DNN

<comment><USER20> Maybe or maybe you could just model what the workers already do, predict what they should do, and dynamically provide feedback, simulation, etc.

<comment><USER18> im not quite sure what you're suggesting. there needs to be a source of ground truth to inform the robot if what is being done is right. And actually having a physical robot arm for this would be way too slow

<comment><USER20> Right, the ground truth is the existing human labor - and yes, run sims at scale makes sense, but if you don't build and model using the real world you'll rapidly get a solution that only shows the sims errors in modeling the world. All the best robots I've seen run sims, but very narrowly and with a well defined problem to refine via a well designed model.

Offer stands to help you, but given the deadline for the next batch is days away, you would need to let me know as soon as possible via a comment, then I'd contact you via email.

<comment><USER18> shoot me an email with your background etc. I'm not aiming for this batch actively but i wouldn't mind a chat. Google my name to get my website an email. it should be the first result

</comment></comment></comment></comment></comment></comment></comment><comment><USER21> How exactly does this "democratize" AI? Doesn't this only potentially prop up another AI company with the hope that YC will be backing it (and thus profit from its success)?

<comment><USER22> It just seems like "democratize" is one of those new startup buzzwords. But yes, it seems like really what they want to do is bring it to market, and by democratize, they mean have everyone buy it.

<comment><USER23> Yep, No one was taking "disrupt" serious anymore, so they needed a new word to strip from its meaning.

<comment><USER24> Did you mean 'disrupt'? Hadn't heard of "disturb" before used in startup lingo.

<comment><USER25> I like it.

"How This Startup Is Disturbing The Equipment Financing Market"

"A startup is disturbing the consulting industry"

"16 Startups Poised to Disturb the Education Market"

</comment></comment></comment></comment></comment><comment><USER26> Slightly off topic but had 2 questions.

The last part reminded me of google training a bunch of robot arms [1]. Haven't seen much being done with it, does anyone know if anything is being done with the data?

We don't really know how much of each resources it takes to grow something. How much oxygen does 1 tomato plant take? I think growing in space would require one to investigate such questions in more detail. Ever since I came across ML and DL, I wondered if there was a way to train a deepFarmer. Something that understands relations between minerals nutrients and the fruiting body. Sometimes you want to grow stuff that might have less of certain stuff but you want more off it. Eg: low calorie high volume foods. Or you might want high protein food. If an "AI" could figure out how to maximize vitamin C for example in tomato for a population that needs more of that vs it learns to make the tomato more water rich for some other reason. AI is interesting.

[1] [https://research.googleblog.com/2016/03/deep-learning-for- ro...](https://research.googleblog.com/2016/03/deep-learning-for-robots- learning-from.html) Edit: Forgot link

<comment><USER27> I've spoken to a few people who are interested in applying machine learning to hydroponic farming with the aim of creating vertical farms.

If you could isolate the different rooms sufficiently, you could run machine learning to optimise yield (or Vitamin C).

I have doubts as to the commercial viability of this, as farming is pretty low margin, so the overhead requirements for the capital expenditures would require pretty substantial gains in efficiency, which I think just don't exist.

<comment><USER28> I have at least one serious potential investor ready for anyone attempting this (vertical farming automation).

Also, I am interested to cooperate on creating reliable contracted urban demand without the need for retail packaging - [http://infinite- food.com/](http://infinite-food.com/) \- currently relocating to Shenzhen.

If automated urban vertical farming happens it will probably happen in China because dense/cheap/economies of scale/rising food prices/rapid urbanization/transition toward smaller households/cultural preference for fresh and less processed foods/less regulatory issues.

<comment><USER29> Why vertical farming specifically? No doubt vertical farming will form part of the solution to feeding urban populations in the coming decades, but the area covered by open-air "horizontal" farming is _immense_. We just can't do construction on that scale, not to mention the incredible environmental impacts. Growing things with LEDs seems pretty wasteful when we have a great big star shining down on us all day. Vertical farming will bring fresh food to high-density populations for sure, it just isn't going to change the face of farming across the planet.

Although it's a much more difficult problem to solve being an uncontrolled environment, my company is working on this automation but for traditional farms ([http://touch.farm](http://touch.farm)). The first step is gathering rich data from different crops/climates, which is why we're starting by designing the cheapest and most usable ag sensors we can. If we can make sensor tech accessible to a wide range of farmers, we'll gain a rich enough dataset to start applying ML (and farmers and the environment win in the process).

tl;dr: vertical farming is great, but what we really need is innovation/investment in traditional farming.

<comment><USER28> _Why vertical farming specifically?_

Ethnic Chinese investor, China focused. China has removed a lot of arable land recently for urban development, people are urbanizing at the fastest pace in human history, and food prices are rising quite rapidly.

Your comments are logical for the US and your project sounds interesting. From what I understand EU agriculture is a sort of middle-ground, with smaller- scale automation.

<comment><USER26> Also depends on crop types. Makes sense to do large fields for corn, for example. But being able to grow herbs etc locally where it's consumed, inside cities makes way more sense. This in turn frees up resources tied to growing and transporting such stuff to cities.

There are pros and cons to both but I think you can get richer data for vertically initially to train systems than move on to larger scale horizontal farms. Tough this doesn't mean there are low hanging fruits their either.

<comment><USER29> That's a good point - the choice of crop will have a large bearing. I don't know if low margin crops like grains could provide an adequate ROI given electricity costs etc, let alone the outlay required to build structures over huge areas.

In my understanding vertical farming is usually a hydrocultural practice (doesn't use soil). That works well for a lot of horticulture, but not so much for broadacre crops.

</comment></comment></comment></comment></comment></comment></comment><comment><USER30> > Some think the excitement around Artificial Intelligence is overhyped. They > might be right. But if they're wrong, we're on the precipice of something > really big. We can't afford to ignore what might be the biggest > technological leap since the Internet.

1\. We need to work on big things whether or not they're overhyped and whether or not we're on some precipice.

2\. Those who think what marketers call AI is overhyped (myself among them) don't think that it isn't something really big. Even though we haven made very little progress since the algorithms that power most modern machine learning were invented fifty years ago, there is no doubt that machine learning has become quite effective in practice in recent years due to advances in hardware, and heuristics accumulated over the past decades. It is certainly big; we just don't think it has anything to do with intelligence.

3\. Are there any machine learning experts who think we are on the precipice of artificial intelligence? If so, do they think we can overcome our lack of theory or do they think that a workable theory is imminent?

</comment><comment><USER31> I think this is one of the few RFS that I would drop everything for.

The factory environment has to be one of the most frustrating as a software developer. So much low hanging fruit that you really have to develop too much if you are not following the typical industrial idioms. (Throw ladder logic at it, keep at it till it barely works, then run it till the wheels fall off.)

Even just something as simple as reporting on a 30K$ PLC driven machine is painful. You can't buy a 10K HMI with Wonderware (a still painful piece of software) so you just ignore it. In my particular case I developed a simple reporting system on a RPI.

These industrial systems are usually not capable of even SQL or MQTT. You have to strap on an extra piece of hardware and a ton more money for licensing.

Even deployment is painful. You can't just push new code because you have no way to mock your industrial systems. Even if you could you will need to live edit your code into the PLC or you will wipe its current state of recipes and other user data. Because your PLC wasn't able to use standard SWE tools to get that data. God help you if you need to roll back.

So I am applying to this. Everything is broken. Where do you even start? Fix the platform, fix the robots, fix the job setup, fix the people.

<comment><USER32> What?

<comment><USER31> Exactly. These systems are pretty foreign to most people. It has completely different vernacular, idioms and tradition.

It is very different than say backend development.

</comment></comment></comment><comment><USER33> I asked this last time but got no response.

1\. Is there a firewall between the information companies applying give you and the rest of the OpenAI effort?

2\. What's to prevent a partner from seeing a good thing and passing the info along to a potential competitor already funded inside the program?

Overall it seems that this may be used to give OpenAI a strategic competitive advantage by using ingress application data for market analysis/research/positioning/signaling/etc.

</comment><comment><USER34> I really hope the bit about "free machine-powered psychologists" is satire, but given YC's unironic techno utopianism fear that it is not.

Reading "Computer Power and Human Reason" by Joseph Weizenbaum (published over 40 years ago!) should remind people that attempting to build a "machine- powered psychologist", even if it's something that can be done, is not something that should be done.

<comment><USER12> Even if you say it isn't people will still interpret it as they wish:

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

Was against the creators insistence taken as the real deal.

</comment></comment><comment><USER35> Perhaps due to the article starting with discussing how AI might be overhyped, but I'm very much not blown away by this post.

Reinforcement learning for self improving robots is one of their called out areas? I've never found companies focused on tech or research problems first to be all that successful. In terms of a research projects it's not very interesting or socially beneficial compared to self driving cars or robotics applications in medicine.

It all leaves me wondering what YC's strategy is here. Maybe it's easier to establish a fund in AI, get smart people to apply, or that their expected future returns are higher?

</comment><comment><USER36> This seems neat.

Are there any other future verticals which you would consider domain specific perks for?

Also, what exactly constitutes an AI startup? If you utilize a ML library to handle a small feature of your product, are you an AI startup?

</comment><comment><USER37> > Some think the excitement around Artificial Intelligence is overhyped. They > might be right. But if they're wrong, we're on the precipice of something > really big.

I mean, even if it is overhyped, I think there's a lot to be excited about. Weak AI is still an amazing breakthrough for automation. The trick is to not try to do too much at a time. We do ourselves a disservice by not considering how amazingly efficient humans _augmented by ML_ can be. The research for AI doing everything just isn't there yet, and that's OK.

</comment><comment><USER38> Ahhh this is the moment I've been waiting for. Hype has officially hit stratospheric proportions.

Time to add the words "deep" or "learn" to your startup name and reap in the dough!

<comment><USER39> It's only hype if it doesn't work. Beating humans at games which were previously thought only humans could play.

Speech recognition, image recognition, translation have all made leaps in last 5 years.

Sure it's silicon Valley and a lot of companies will scam themselves in but I absolutely believe there will be another Google coming out soon or has already been born who will capitalize on AI.

<comment><USER40> Another Google as in a startup specifically using AI to improve search?

Is Google really going to miss improving search with AI with all their billions and brains?

<comment><USER41> Parent probably meant another company that goes from $0 to megacorp before your newborn child graduates college. Not a search company.

</comment></comment></comment></comment><comment><USER42> At some point, making food/housing/healthcare cheaper seems like a more achievable goal than finding work for people (who are in theory competing with AI).

</comment><comment><USER43> I'm not surprised that the general public is worried about AI but I would expect many others to worry about data. Exaggerating a bit: mathematics and AI skills is something any talented person can get individually, but gathering useful personal data on a large scale requires a huge infrastructure. So if we want to "democratize" then I'm wondering why not democratize access to data.

</comment><comment><USER44> _" We think the increased efficiency from AI will net out positive for the world, but we're mindful of fears of job loss. As such we're also looking to fund companies focused on job re-training, which will be a big part of the shift."_

I find a lot of wishful thinking, denial and cognitive dissonance in this sentiment, which is found everywhere.

"Computers will eliminate these jobs, but humans will always have more to do."

Um...

If computers can learn at an accelerated pace, what makes you think that by the time you learn that next thing, it won't already be eliminated (or shortly afterwards) by a fleet of computers that use global knowledge? Do you really think that Uber driver - turned - newbie architect is going to be in demand vs the existing architects with their new AI helpers?

It's not black and white, but the AVERAGE demand for human labor is going down, not because EVERY human job will be eliminated but because automation allows LESS people to do the job.

So wages drop. On average.

The only real solutions are either unconditional basic income, or single payer free healthcare / food / recreation.

</comment><comment><USER45> My goal is also to democratize AI, in particular AI research. I believe that every developer should have at their disposal the same kind of tooling and, even more important, the same ability to intersect their data with the world's data. Engineers at Facebook, Google, Microsoft and so on can test their models or even enrich them by using the Facebook, Google or Bing dataset. Independent entrepreneurs cannot do the same thing with the same ease. If we want to reach general AI any time soon, indie entrepreneurs must be let in to play.

My strategy is to build a service, free for non-profits to use, that would solve the problem of "if I only had the same data Google engineers had, this product would be perfect". Here is how it would work.

1\. Go to my webpage and register a site you want me to index for you. The site URL you enter may already have been registered by another user, but to be sure the data is in my index, register it again. I will now continue to index this site every 24 hours for as long as I live. You need higher frequency indexing? Sure, no problem. You will owe me for the additional cost.

2\. Download a client of choice from the website, we have them in c#, java, python, R ect. The client will let you query your own private data as well as the data in the cloud (the data I'm now generating and refreshing every 24 hours). The query language will also let you join or intersect between the two datasets. In fact, due to the nature of RPC you can use your local data and all of the data I'm generating and refreshing, as if it was your data.

3\. In the end, I will be indexing such a large part of the internet that there will not be much use for Google anymore, or ads. That's the vision.

I'm not American and can't see how I'm a good fit for the YC program this summer. However I will be needing funds for cloud machines pretty soon and so far I've found noone at OpenAI to contact. Is there anyone from OpenAI reading this? This should be right up your alley. Care to speak?

<comment><USER46> I have a question about your site - "Google engineers" have a lot more data than just "Google's index of the web", they have street view data, data from people doing captchas (including the new street sign ones), click data for how people use their products (gmail, maps), maybe android autocorrect data, speech recognition etc - how would you provide access to those?

<comment><USER45> I wouldn't provide access to most of those data because I don't have the means to and I wouldn't want to either. My businss strategy is to build "strong NLP" without having to treat users as bags-of-valuable-data that I can sniff. But to integrate with a open map service would absolutely fall within the scope of my offering.

The research we would do in my team would be cutting-edge. But we would never even attempt to achieve what Google is achieving when they sniff their Android users. Why would we be cutting-edge? I don't know, but that would be our aim. Here's an example of what we would be doing in the NLP domain:

"Give me the latest sales numbers."

parse:

Give=exec latest=DateTime.Now-x sales=sp_daily_sales

exec:

exec sp_daily_sales '2017-03-23'

</comment></comment></comment><comment><USER47> If you find it hard to sell AI based solutions, just call it automation rather than AI. It is a term that people react to differently.

It's like the term "technology". Spoons, chairs, bricks are technology. The modern usage of the word technology is what people used to call "high technology".

</comment><comment><USER48> I'm interested in this per my earlier discussion on machine learning in radiology (see: [https://news.ycombinator.com/item?id=13571847](https://news.ycombinator.com/item?id=13571847)). It's disappointing that you have to be in the Bay Area to participate. I'm just starting residency and don't have the time to drop everything and enroll in an incubator. I think I'm one of the few people with a master's degree in computer science and (soon) to have a medical degree. I can handle the technical and medical sides of a radiology informatics / machine learning business, but I'd need someone to manage the business, marketing and sales sides.

</comment><comment><USER49> > If the experiment works out, we'll expand what we offer to include things > like access to proprietary datasets and computing infrastructure.

Datasets, that's the most important point in Machine Learning and exactly what Google has been collecting for the past decades.

I wanted to start a project about dermatological images but how would I get that information? Then decided to start an agricultural project but then again, how to get a million images to identify a thousand species? Birds? Legal documents? Human faces? Fashion? Speech? Translation? Everything needs a huge collection of datasets.

The tools are there, that's the easiest part.

</comment><comment><USER50> Perhaps it's an idea for YC to start a "job agency for AIs".

On the "demand" side, client-companies can offer problems to be solved by AI.

On the "offer" side, startups can provide algorithms solving specific problems.

YC can be a mediator, running the algorithms, and keeping the data of client- companies safe from anybody else (including the AI startups).

Here's an example of such an agency: [http://www.aigency.co/about/](http://www.aigency.co/about/)

</comment><comment><USER51> The post is clear that A.I. startups in this vertical will be given special resources, but not clear if there will be more startups selected specificially for this?

</comment><comment><USER52> I see ML and AI raising on the market quite fast. How does this work? How many ML engineers are out there? If, broadly speaking, we have shortage of software engineers, what is the demand for ML engineers? It is not something you learn overnight as a dev or mathematician, so where are there coming from?

<comment> bra-ket coursera

</comment></comment><comment><USER53> So how to correctly "mention this post in your application." just insert the URL ? "[https://blog.ycombinator.com/yc-ai/"](https://blog.ycombinator.com/yc- ai/")

</comment><comment><USER54> Seeing as how sam altman has invested in an AI startup (vicarious.com), which is pursuing robotics applications, why would he/YC want to fund competitors for RFS ?

<comment><USER55> Democratize all the things.

Democracy is dead. Long live AI Democracy.

</comment></comment><comment><USER56> Would YC be interested in funding a deep learning chip startup?

</comment><comment><USER57> Is YC still interested in Solo Founders?

</comment><comment><USER58> I'm excited to see what new ways companies will find to call a bunch of if- statements "AI".

<comment><USER59> Curious, what would qualify as AI under your definitions?

<comment><USER58> The joke I was trying to make is that a lot of startups are doing the same things as always but calling it "AI." A chatbot using NLP technology from the early 2000s is suddenly "AI."

There are plenty of actually innovative products in the AI space.

<comment><USER59> Curious again, what are the innovative products in AI right now?

<comment><USER58> Major verticals that come to mind in terms of progress are healthcare imaging and research and self-driving cars.

</comment></comment></comment></comment></comment><comment><USER60> At Risk of being downvoted to oblivion and out of a very well-meant interest: what if you'd replace AI with Chinese traditional medicine in the post above? Why would AI be more viable than that?

(Note: I am very skeptical towards CTM and quackery. But also towards AI and ML in general. Any pointers would be great. Why is this the new industry to look out for, for example?)

<comment><USER61> Also at risk of being downvoted:

If I had general_ai.exe or worlds_best_nlp.py, what should I do with it? It isn't even clear to me how they would be useful.

<comment><USER62> Why do you expect people will be trying to build a general_ai.exe? Vertical applications of machine learning and light-AI are what most private comapnies that are getting traction are doing today, while big-cos and universities (and things like OpenAI!) are funding the research that could lead to more generalizable AI.

<comment><USER61> People certainly talk about general_ai.exe.

Often I imagine I had a technology such as general artificial intelligence or world-class NLP. Perhaps I lack imagination, but I have not yet thought of an exciting application. These are tools, much like Perl scripts, and it is not clear to me which will displace more jobs during my life.

<comment><USER62> Not serious people in any near-term way. Even bullish AI folks think general AI is MINIMUM of 10, more likely 50-100 years away.</comment></comment></comment></comment></comment>


Microsoft set to axe 27 languages in iOS Outlook - <AUTHOR> https://www.theregister.co.uk/2020/05/22/outlook_ios_language_axe/ <comment><AUTHOR> > Affected users have been given until the end of June to switch to a > supported language in order to continue using the Outlook for iOS app. > Sadly, the change will have to happen at the device level, rather than in > the app itself, which may cause issues for apps more accommodating than > Microsoft's mobile email client.</comment>


YouTube ads of 100 top brands fund climate misinformation - <AUTHOR> https://www.theguardian.com/technology/2020/jan/16/youtube-ads-of-100-top-brands-fund-climate-misinformation-study <comment><USER2> Alternate title:

"YouTube ads of 100 top brands fund climate information over misinformation at a 4:1 ratio".</comment>


Ask HN: What web language for server side scripting? - <AUTHOR>

I know this gets asked a lot, but some input on our specific situation would be appreciated, considering we don't have: a) experience with one of the languages already or b) bit of an app already coded.
For a dynamic web-based solution, what language would you recommend?
Some Criteria: 1) The languages we are thinking about are php, python, perl, ruby we are open to other suggestions, don't have enough experience in any of them to make a difference. 2) We value speed of execution most. 3) We are going to use postgres for a database. 4) Webhost compatibility is not an issue. <comment><USER2> You're going to have to define what sort of speed you need for #2. If you're talking about basic CRUD, then all of the languages you've specified will work just fine. If you're doing a lot of scientific work, then you might want to look at Python, along with NumPy / SciPy. If it's a small core of calculations that you know you'll have to execute over and over again, then all of the above are fine if you're happy to interop with C.

So... whatcha building?

<comment><USER3> I, personally, prefer Ruby because it thinks the same way I do (if that makes sense). So that's what I'd pick. But Python would do you just as well, if you like the way it reads, etc. better. They key, I think, is to not be too worried about speed up front. Get your thing working in Python, say, and then do testing (another comment mentioned this) and rewrite what's slowest in C. I guess I'm warning against premature optimization.

<comment><USER4> (Co-founder) well we are/aren't trying to prematurely optimize. It's more like 4 great languages to choose (depending on option) and we don't really know enough to pick and learn one. So we're polling to find out if there is really something that we should with a few requirements. Like we care more about how fast the code runs than the speed of coding.But generally not to the excess of writing in C (etc).

<comment><USER2> In my opinion, Python, Ruby or Perl are all good choices. You can get things done quickly in PHP, but I would recommend staying away from it as a first language.

Honestly, if you care about speed as much as you say you do, you should be looking into Java. (Or Lisp, if you're not worried about hiring any time soon).

</comment></comment></comment></comment><comment><USER5> I myself am a strong proponent of Java. There are enough tools out there that take much of the tediousness of all the common functionality (basic CRUD, form handling, workflow, etc).

The real strength of Java presents itself after you've moved to production; I almost always am able to hand somebody an .ear or .war file and completely offload deployment/operations to somebody else.

As a plug for EJBs (a lot of the negativity around EJBs are carryoversr from EJB 2.1 and earlier), EJB-based application can be easily scaled by putting a request into operations for an additional app server and administratively changing the number of "processors" (session beans). App server failover and recovery is also fairly transparent as well.

Just my $0.02..

</comment><comment><USER6> Python, of course.

#2. Python usually wins: [http://www.alrond.com/en/2007/jan/25/performance- test-of-6-l...](http://www.alrond.com/en/2007/jan/25/performance-test- of-6-leading-frameworks/)

#3. Django was written with Postgres in mind.

<comment><USER6> And Python can be easily extended with C or even Assembly.

Here's the story of the guy who successfully optimized web app bottlenecks in C: <http://fi.am/entry/the-limits-of-django-the-answers/>

</comment></comment><comment><USER7> If speed of execution is a key requirement, beyond C++ and some good programmers, your main options are Java and C#.

I use Java with Struts on Tomcat for a couple of projects and it's served me well.

<comment><USER8> I was thinking that too, but perhaps he means 'execution' in the more generic sense of creating a product quickly?

In any case, even with a slow scripting language like Ruby, if the speed of the language is a concern, perhaps that part of the application should just be farmed out to a library in C (or a separate process in whatever language). Need more info, though.

</comment></comment><comment><USER9> If speed really is key i'd say Perl, otherwise I would just stick to PHP. Ruby and Python are nice for writing code really fast in but Perl / PHP execute much faster.

<comment><USER10> Are you sure about PHP being faster than python?

Unscientific as it could be, this test shows speeds comparable or better for python:

[http://shootout.alioth.debian.org/gp4/benchmark.php?test=all...](http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=python&lang2=php)

[lines going right are better for python, the ones going left are better for php]

I don't mean to bring this as proof of any sort, but also according to my own experience python scripts outperform php ones.

<comment><USER9> i think that i didn't think that thought all the way through. sorry about that

</comment></comment></comment><comment><USER11> We use Ruby on Rails for the web app, and our sys admin scripts are written in Ruby as well, as they can easily integrate with our DB via our Rails setup.

</comment><comment><USER12> If you want speed, why not Common Lisp? Nice, high-level, a pleasure to work in, fast and compiled out of the box, with the ability to optimize the hell out of specific critical parts of your code (using, e.g., optional type declarations, speed and safety settings, inlining declarations, etc.). Hunchentoot is a nice web server, Postmodern is a nice library for working with Postgres.

</comment><comment><USER13> Python, reasons follow:

1) Django 2) App Engine 3) Highly expressive

<comment><USER14> Or Pylons @ pylonshq.com is a better alternative to Django for most projects.

</comment></comment><comment><USER8> Ruby on Rails or Django.

</comment><comment><USER15> python</comment>


Sell More than Just Information - <AUTHOR> http://planscope.io/blog/sell-more-than-just-information/

<comment><USER2> This post is spot on, IMO. I bought Brennan's book, and chose the middle tier, because I knew that while I could certainly apply the concepts from just the book to my site and write the copy myself, I knew that the likelihood of that happening in the next year would be somewhere around 30%. It's easily worth an extra $80 for me to have pre-written copy I can tweak to my situation. Not just because it will be faster, but because it will _get done sooner_. There's an opportunity cost to not improving my consulting website for X days, and it's WAY more than $80.

<comment><USER3> Exactly. There's an opportunity cost with everything we do. Personally, I'm a "grind it out" kind of guy. Yesterday I stayed at the office, late into the night, trying to solve a problem myself. I got home (at like 8pm) and my wife said: "Why didn't you just ask your co-worker for help?" The next morning, I went to the expert (my co-worker) and he solved my problem in 5 minutes.

There are times when paying an expert, or buying the "kit", is just worth it. I could have been home at 5pm, spending time with my wife and kids. Instead, I was at the office, banging my head up against the wall, not really getting anywhere.

</comment></comment><comment><USER4> Its important to note that just because the middle tier isn't bringing in much revenue does not necessarily mean its useless. For many products, the sole job of the middle tier is to make the top tier look more attractive.

<comment><USER2> Great point. It's also quite possible that without the middle tier, a lot of those buyers would have just bought the cheapest option, simply because they have an aversion to buying the Most Expensive Thing (for whatever reason). Assuming all the middle-tier buyers would have otherwise bought the cheapest option, that means an extra ~$3,000 in Brennan's case, just since launching.</comment></comment>


Woman from China Carrying Malware Arrested After Entering Mar-a-Lago - <AUTHOR> https://www.nytimes.com/2019/04/02/us/mar-a-lago-zhang-chinese-secret-service.html <comment><USER2> > She was allowed to enter by Secret Service agents stationed outside the > resort after the Mar-a-Lago security manager on duty verified that her last > name matched the surname of a member of the club,

Zhang is the third most common last name _in the world_ (source: [https://www.quora.com/Whats-the-most-common-last-name-on- Ear...](https://www.quora.com/Whats-the-most-common-last-name-on-Earth)).

Definitely a bit lax on the part of security/Secret Service to just do a last name check... I wouldn't be surprised if Chinese intelligence have exploited similar holes before.

<comment><USER3> To be fair to the secret service, trump has put them on a terrible situation making them have to secure that place instead of using camp david like everyone else.

<comment><USER4> I live less than a mile from Mar-a-lago, and I drive by it all the time. It seems insane to do anything high-security there.

<comment><USER5> Why is that?

<comment><USER6> Because the President is already provided with a "weekend" place to go called Camp David that is secure (it is a US military base), guarded by both USSS and US Marines, is located close to DC (thus only requiring helicopters instead of AF1), has a golf course and other recreational facilities.

It has been good enough for every President since FDR. Trump uses Mar-a-lago as a money making exercise, raising the membership fees after becoming President and charging the USSS and other government security services for the facilities they use to guard him.

It's (yet another) rort.

<comment><USER7> Never heard rort before! TIL.

</comment></comment></comment></comment></comment></comment><comment><USER8> The 4 cell phones thing and her sketchy story is suspicious. But anyone could have malware on a USB stick. Especially from China.

That said this sounds way too sloppy for state espionage. Maybe it's private? Or they are recruiting way too many people and let some bad ones in.

<comment><USER9> Too sloppy for state espionage? In my experience, the level of competence in government varied widely. This is entirely plausible as state espionage.

<comment><USER10> Yup. Moreover, most "state espionage" and the like is really just a _state- sponsored_ variation of garden-variety opportunistic/criminal activity that would otherwise be quite ordinary. This is something that most people might not generally realize, because there's so much focus on _high-profile_ espionage. But that's rare and not at all the common case.

</comment></comment></comment><comment><USER11> Reading the article I was immediately concerned the cellphones and/or malware were used as probable cause for her arrest. Four cellphones is definitely excessive but not illegal (at one point I had three for work + a personal) and malware on a USB stick could happen to _anyone_. From the complaint[1] it looks like she's being charged for knowingly making false statements to gain access to a restricted area and (thankfully) not for having the phones/malware.

[1] [https://www.scribd.com/document/404159332/USA-v-Zhang- Compla...](https://www.scribd.com/document/404159332/USA-v-Zhang-Complaint)

<comment><USER12> Why did you have 3 cellphones for work? That seems excesive to me. I can understand 1 for work, one for personal - I had this situation for quite a while myself.

I'd prefer to only carry 1 phone, but I won't 'byod' to a company that reserves the right to remotely wipe my personal phone.

<comment><USER11> It absolutely was excessive. I had a US work phone and two international work phones because I dealt with foreign regulators who needed to be able to contact me at a "local" phone number. I'm not sure I ever managed to have all four charged at the same time.

And I learned about BYOD the hard way. I do a bit of freelance legal journalism on the side and at one point I had a Reuters email address even though I wasn't an employee and I had it set up on my personal iPhone. One day I was getting off the subway and the entire phone went blank. A complete factory reset. Reuters had accidentally wiped the _personal_ cellphones of everyone who had set up the company email on an iPhone. I remember one guy saying he lost the video of his daughter's first footsteps. This was before companies had controls around BYOD but I will certainly never allow a company to have any access to my device again.

<comment><USER12> Yeah, your example of someone losing their kid's first steps video is the sort of reason I keep my stuff separate. Either give me a phone, or dont expect an off hours response.

If BYOD just meant they can remotely remove my Outlook account and any local cache, sure, I'd be fine with that. Wipe my entire phone? Go take a shit in the woods and wipe with a ponderosa pine cone.

</comment></comment></comment></comment><comment><USER13> Comparing this to myself, I often carry two cell phones, I assume my USB drives are not infected, but have no idea if they are and if they are I wouldn't be able to tell based on what I understand of infections that live in the firmware, and when I was much younger, in my teens and early 20s, I definitely snuck into quite a few nice swimming pools at hotels and clubs, along with every one of my peers! I also snuck into a major party presidential convention once because why not, and it was educational and interesting and democratic to do so anyway.

I don't have two passports, but I've heard a lot of people do.

So this all sounds dodgy when they report on it like that, but there's also a chance she's just someone going for a swim. In which case though trespassing charges and false statements charges are still legit.

Of course there's more to the case than this, she changed her story multiple times and eventually said that a person unknown to her had asked her to fly from Shanghai to Florida in order to speak to Trump. I think it would be a waste of time to try to get to the bottom of what she was up to, best way to handle this is get a quick conviction and permanently deport her back.

<comment><USER14> Going for a swim without a swimsuit?

<comment><USER13> For her case that fits into the general bit where she changed her story a bunch of times. (Assuming that's the case, she alleges she never said she was there to go swimming.)

In my own case as a teen, not having a swimsuit never stopped me. I definitely never had a towel since hotels provide that, it's one of the advantages of hotels vs random people's backyard pools where they definitely knew you weren't supposed to be there. Even when questioned by hotel staff (which seldom happened) saying I was with the Smiths often passed the test if I was a guest or not. Another tactic was to take the elevator up, then down and out to the pool. Never approach the pool directly from off-property.

Mar-a-Lago would obviously be considerably harder to sneak into since the staff there knows who the members are even if the Secret Service doesn't.

</comment></comment></comment><comment><USER15> It is inconceivable that the Secret Service permitted the leak of this level of detail to the press. That she was carrying malware makes this an espionage- class event. The intelligence community must be fuming mad that these details weren't sealed.

</comment><comment><USER16> The NYT article either leaves out that the woman was carrying Republic of China passports, or is erroneously conflating RoC and PRC.

<comment><USER17> it says "passaports". Do people from RoC must now have a PRC passport too after the recent occupation? I have no idea how passports work for people under the Taiwan political mess.

<comment><USER18> > after the recent occupation

???

Taiwan citizens can get two flavors of PRC passport-equivalents for travel to the PRC:

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

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

PRC nationals going to Taiwan need an almost-visa, but can use their PRC passport:

[https://en.wikipedia.org/wiki/Exit_%26_Entry_Permit](https://en.wikipedia.org/wiki/Exit_%26_Entry_Permit)

</comment></comment></comment><comment><USER19> > She was allowed to enter by Secret Service agents stationed outside the > resort after the Mar-a-Lago security manager on duty verified that her last > name matched the surname of a member of the club, according to a complaint > filed in federal district court in South Florida.

I mean, Zhang is a pretty common surname, so if that's the only checking they did this sounds pretty inadequate…

</comment><comment><USER20> Why again did we decide that it's okay for our President to spend every weekend at his private, unsecured, for-profit clubs? The Secret Service has already said they can't and won't keep a log of all guests to Mar-a-Lago. Can you imagine the number of bugs/listening devices that are already there?

Dozens of foreign nationals already work there on H2B visas[1], they have open-air national security crisis response meetings in front of random Palm Beach socialites[2], he's personally profiting off of the club's increased membership fees[3] and Secret Service expenses[4], existing members included several people with criminal backgrounds and most recently the proprietor of the 'massage parlors' that ensnared Robert Kraft[5] and she was already caught selling access[6] and illegally bundling contributions[7] -- This seems like a security risk approaching the level of all the Russian weirdness.

[1] - [https://www.washingtonpost.com/politics/trumps-mar-a-lago- cl...](https://www.washingtonpost.com/politics/trumps-mar-a-lago-club-in- florida-seeks-to-hire-40-foreign- workers/2018/07/05/5ef094b8-8099-11e8-bb6b-c1cb691f1402_story.html)

[2] - [https://twitter.com/i/moments/831212884675981313?lang=en](https://twitter.com/i/moments/831212884675981313?lang=en)

[3] - [https://www.thedailybeast.com/mar-a-lago-membership-fee- doub...](https://www.thedailybeast.com/mar-a-lago-membership-fee-doubles-to- dollar200k)

[4] - [https://thehill.com/homenews/administration/405407-trumps- go...](https://thehill.com/homenews/administration/405407-trumps-golf-cart- rentals-cost-taxpayers-more-than-300k-report)

[5] - [https://www.washingtonpost.com/politics/former-spa-owner- and...](https://www.washingtonpost.com/politics/former-spa-owner-and-frequent- mar-a-lago-guest-sparks-concerns-about-porous-environment-at-presidents- club/2019/03/14/19c955a6-442e-11e9-aaf8-4512a6fe3439_story.html)

[6] - [https://www.motherjones.com/politics/2019/03/a-florida- massa...](https://www.motherjones.com/politics/2019/03/a-florida-massage- parlor-owner-has-been-selling-chinese-execs-access-to-trump-at-mar-a-lago/)

[7] - [https://www.motherjones.com/politics/2019/03/a-florida- massa...](https://www.motherjones.com/politics/2019/03/a-florida-massage- parlor-owner-has-been-selling-chinese-execs-access-to-trump-at-mar-a-lago/)

<comment><USER21> > _Why again did we decide that it 's okay for our President to spend every > weekend at his private, unsecured, for-profit clubs?_

We elected him. Presidents get this purview. If this pisses you off, register to vote, volunteer for campaigns and join your local political club.

<comment><USER20> My point is more -- Why this President?

It would never been acceptable at any point in prior history. Jimmy Carter famously had to sell his family's peanut farm to avoid any perception of a conflict of interest. In the same election that Trump won, it was a huge campaign issue that people seeking influence donated to The Clinton Foundation -- a Foundation that the Clinton's did not, and could not financially benefit from. Yet it's okay that unelected Mar-a-Lago members that are currently putting money in the President's pocket can run a hundred billion dollar government organization from the shadows and steer its funds?[1]

What changed in the American psyche? Why did we collectively assent to let this President break all of the norms that constrained previous administrations?

[1] - [https://www.politico.com/story/2018/11/26/mar-a-lago- trump-i...](https://www.politico.com/story/2018/11/26/mar-a-lago-trump- investigation-va-contracts-1015803)

<comment><USER22> Jimmy Carter did not "sell his family's peanut farm."

His mother and brother managed it. In fact, ol' Billy Carter got in a bunch of trouble using it as a sort of slush fund when he was hanging out with the Libyans.... but, I suspect that is long before your time....

Nobody sells off nothing merely to take a 4-year gig. At most, they simply let other family members take over the business.

<comment><USER20> You're right, I had the history wrong -- he put the ownership into blind trust from which his brother was embezzling. In either case, _a peanut farm_ was important enough to avoid impropriety but somehow all these businesses actively putting money into the President's pocket are kosher?

What would people have said if all of the sudden the Iranians started buying tons of peanuts exclusively from Carter's farm?

<comment><USER22> You did have the history wrong.

What's more interesting is WHY you believed 'fake news' about Jimmy Carter selling off his family farm.

I can't think of ANY President who 'sold off' anything. Kennedy certainly didn't.

Neither Bush did. (Indeed, you may wish to compare the frequency of Trump at Mar-a-lago vs. Bush Sr. at Kennebunkport...)

Reagan had Rancho del Cielo -- his several hundred acre ranch at which he spent so much time that it was referred to as the "Western Whitehouse."

Obama went from $0 to a multimillionaire.

The Clintons went from a $0 to several hundred million. (As far as the Clintons... well, if you think the Clinton's didn't benefit from the Clinton Foundation, I guess you've drunk the Kool-Aid... You oughta take some time to see how many millions of dollars in speaking fees, travel, and accommodations the Foundation paid to the three Clintons.)

The Bush's were already incredibly wealthy, but probably quadrupled their net worth through their semi-private 'Carlyle Group' investment fund.

Your animosity towards Trump leads you to attack the one area where he's head and shoulders above the others: he's going to leave office with a lower net worth.

<comment><USER20> There are all the obvious corruption problems with post-Presidential activities, and obviously it's a huge source of corrupting influence. The Clintons became obscenely wealthy -- but that had nothing to do with their Foundation (speaking as an expert in nonprofit finance).

My only animosity is toward public corruption. The Bushes visiting Kennebunkport was obviously different because _other people couldn 't pay to access the president at Kennebunkport._ The Saudis bought _500 rooms_ at a hotel that the President personally owns immediately after the inauguration. That's completely different in scale, kind, and timing in terms of the 'normal' corruption and I'm flabbergasted that it doesn't register as such.

Phrased another way:

What's the method to illicitly influence the Bushes at Kennebunkport? How about the method to influence the Obamas after they've left office? You could absolutely make a case about influencing the Clintons since Hillary obviously wanted to run for President. The story to illicitly influence the current President is very straightforward and keeps happening in the open. Regardless of what happened in the past, shouldn't we try to stop it when it's happening now?

</comment></comment></comment></comment></comment></comment></comment><comment><USER17> so, in summary for the article: journalists found that her story checks out. and it's related to an event organized by a prostitution entrepreneur who claims to have access to Trump, and the secret service filled in a report saying they have no idea of such event?

<comment><USER23> I think the human trafficking angle is most likely. Someone was trying to introduce her to this Ms. Yang to get her in to her business, but wasn't aware that the event was cancelled.

</comment></comment><comment><USER24> This will turn out to have been a mentally ill person. I seriously doubt a real intelligence operative would show up for work with multiple passports, a pile of cell phones and a cover story that hinges upon a non-existent event being scheduled.

<comment><USER25> You can't just go around calling everyone mentally ill because you don't like the idea that this person really was a spy.

There are lots of people who want to spy, not just the CPC. If it helps you sleep at night, blame a company spy from TenCent instead.</comment></comment>


The Hiring Post (2015) - <AUTHOR> https://sockpuppet.org/blog/2015/03/06/the-hiring-post/ <comment><USER2> Previous discussion: [https://news.ycombinator.com/item?id=18161623](https://news.ycombinator.com/item?id=18161623)

<comment><AUTHOR> From nearly two years ago. If anyone wants to add to the discussion they can't do it there, but certainly if someone wants to see what was said last time and possibly then add their own thoughts, they'd have to do it here.</comment></comment>


Some doubts about GPL, licensing and the BQ Aquaris E4.5 Ubuntu Edition phone - <AUTHOR> http://mer-project.blogspot.com/2015/03/some-doubts-about-gpl-licensing-and-bq.html

<comment><USER2> This appears to actually be an issue with the kernel, which I believe is the same as the kernel in the Android version of the device. Therefore, unless I'm missing something, the title is misleading - this is actually an issue with Mediatek's Linux kernel modifications, which applies to Android, Ubuntu, and anyone else who tries to make a Linux-based phone with Mediatek hardware using Mediatek's official kernel patches.

</comment><comment><USER3> Here's a statement from Canonical[1]; they're assessing the situation and plan to release sources next week.

[1] [https://lists.launchpad.net/ubuntu- phone/msg11543.html](https://lists.launchpad.net/ubuntu-phone/msg11543.html)

PS: disclosure: I work for Canonical, albeit not on phones

</comment><comment><USER4> This is surely more of a Mediatek/BQ issue than an Ubuntu one. Regardless, Canonical are supposed to be on the side of software Freedom, and it's on their shoulders to make Mediatek sort this out.

<comment><USER5> I was reading recently about the struggles of Fairphone to open up their hardware so that other operating systems could be installed - Sailfish, Ubuntu, Firefox etc. The impression which emerged was that the people placing hardware orders had really quite limited power to affect this kind of behaviour, unless they are a really large player. What do you think Ubuntu can do?

</comment></comment><comment><USER6> Mediatek is known for being "gongkai" with respect to licensing etc., as do the majority of Asian companies. A good explanation of that ecosystem is here:

[http://www.bunniestudios.com/blog/?p=4297](http://www.bunniestudios.com/blog/?p=4297)

You can find datasheets, schematics, and various other bits of info on their chipsets in various Chinese sites, but if you ask MTK they'll never officially give them to you.

<comment><USER7> That's fine when it's your own stuff. Here they are pirating the Linux source code, however.

</comment></comment><comment><USER8> This is the reason you won't buy an Ubuntu phone? Really?

Wouldn't be high on my priority list, let alone a "normal" user.

</comment><comment><USER9> The author of Mer is unhappy with Ubuntu and this looks more like an attack than a constructive post.

MediaTek is now contributing directly to the Linux kernel. Those header files are from 2010. It's just an issue of updating them.

<comment><USER10> So where the proper ones can be found?

</comment></comment><comment><USER11> Well that's sad, Ubuntu phone was the only good thing. Android is boring.

</comment><comment><USER12> That is a truly awful blog layout. So much whitespace, and what appears to be around a 40 character line limit. I see the point is made once the license is pasted in a few times, but still frustrating.

For all that, the post has a valid question about how an open phone can have such messages in its source code.

<comment><USER12> I'm sorry.

"What a truly poor design". Perhaps awful was too mean.</comment></comment>


New Adam Curtis Documentary: HyperNormalisation - <AUTHOR> http://www.bbc.co.uk/mediacentre/latestnews/2016/adam-curtis-hypernormalisation <comment><USER2> International mirror.

[https://thoughtmaybe.com/hypernormalisation/?lang=en](https://thoughtmaybe.com/hypernormalisation/?lang=en)

And here [1] is a review of this great film, which also touches upon that Adam Curtis is more like a storyteller than a documentarian or journalist. I think it's better if you approach his work as artistic and thought-provoking essays.

[1] [https://www.list.co.uk/article/85421-tv-review- hypernormalis...](https://www.list.co.uk/article/85421-tv-review- hypernormalisation-by-adam-curtis-bbc-iplayer/)</comment>


Show HN: Planapple - a simple tool for researching and planning trips - <AUTHOR> http://www.planapple.com/?ssc=hn

<comment><AUTHOR> Hi HN! Long time reader, first time poster, looking for feedback on a new product I'm working on.

The app grew out of a prototype I built to help my wife and I plan trips. Basically it let us collect ideas from around the web, talk about them, see them on a map, and take them with us on the road.

On the tech side of things, it's built on Django (originally with Pinax), with a JS based single-page-app style front end. We rolled our own JS client side arch, but many of the ideas there are similar in spirit to Backbone (which I discovered later). Node.js helps the app do real-time updates, and we've got a Sencha-based HTML5 mobile client that re-uses a lot of the 'model sync-ing' code from the main app, and runs reasonably well on iOS and Android.

Am happy to talk shop on our experience w/ the above, and would love to know what people think of the product. Thanks!</comment>


SwipeGood (YC W11) Is Now Elastic, A Sales-As-A-Service Platform For Startups - <AUTHOR> http://techcrunch.com/2012/06/28/swipegood-is-now-elastic-sales-as-a-service/

<comment><USER2> I'm working on something similar, but for customers. It's called customers-as- a-service. Basically, it provides on-demand paying customers for products that have none. It's quite simple and only charges a 10% premium on your base price.

<comment><AUTHOR> Love it! Lol ;)

</comment></comment><comment><USER3> Interesting concept, I have a couple questions:

* If you couldn't hire a strong sales team, what makes the team you just hired any good? * How do you handle things like company culture? For sales-oriented businesses, the salesperson is the first contact, and the face of the business to the customer, do you try to integrate anything? are you white-label or upfront that you're outsourced sales? * What about sales engineering? Sales can be technical, how is that handled?

I think that qualified lead-generation is slightly more interesting to me than getting sales. Warm leads would be fantastic.

<comment><AUTHOR> All our sales reps are highly technical and just amazing startup hustlers. A lot of our success is also due to technology. Ping Steli at ElasticSales dot com and he'll give you the details.

</comment></comment><comment><USER4> A few questions:

* Conflicts of interest: how do I know my Product X is given fair treatment if you have another client with a similar Product X'. Say they have a higher price and your cut would be larger if you sell theirs, not mine.

* if you collapse, I stop using your service or leave for another sales team, do I get to keep the contacts?

* what measures do you have in place to prevent staff selling my contacts to my competitors or leaving with the client list?

<comment><USER5> Right now we solve conflict of interests by not working with competitive customers in the exact same space. There are long term solutions for this. Regarding contacts - yes you keep all of them :) We use contracts and processes that make it tough for our sales reps to steal any of your data. But beyond security we pay a lot of attention on who we hire in the first place :)

</comment></comment><comment><USER6> Good job, hunny bunny! Lya Mom

<comment><USER7> #win

</comment></comment><comment><USER8> I'm curious about the pricing. Do you pick the companies you work with? Is pricing purely performance based? Do you take the risk for products that just don't sell?

What about dynamic commission? E.g. I tell you my product costs X/month and if you manage to sell it for more you keep the difference. If you manage to sell it with a set-up fee, you get to keep that as well.

<comment><USER5> Good questions :)

1) Yes we pick the companies we work with :) 2) No. But it has a strong performance component so we only really make money when we perform 3) Not often 4) Potentially :)

<comment><USER9> Oh, hai :)

So what's the criteria for #1? In broad strokes.

<comment><AUTHOR> A great product that is already generating revenue. A market that we can address. A sales cycle that is reasonable. Ping Steli at ElasticSales dot con for more info!

<comment><USER10> I think it should be dot com - dot con sounds fishy !

</comment></comment></comment></comment></comment><comment><USER11> > _The headcount growth has been purely from Elastic's own reinvested > revenues._

> _Elastic has started to field interest from venture capital firms looking to > provide funding, Efti says, but for now the company is focusing on the > business._

Good for them. It's refreshing to see a company grow organically with their own reinvestment.

<comment><USER12> I'm sure there's even a name for it, and pretty soon a whole movement could develop around this amazing approach, complete with evangelists, books, e-books, courses, conferences.

</comment></comment><comment><USER13> Error on loading the elasticsales.com homepage:

        GET https://ad.retargeter.com/seg?add=346584&t=2 The certificate for this server is invalid. You might be connecting to a server that is pretending to be "ad.retargeter.com" which could put your confidential information at risk.

<comment><USER14> thanks, fixed

<comment><USER15> I'm still getting it.

<comment><AUTHOR> What does this output?

curl --silent <https://elasticsales.com> | grep retargeter

<comment><USER16> anthony ... be nice to our visitors.... aaron, what you should really do is complain to email@example.com for not supporting HTTPS.

<comment><USER13> I'm not a Retargeter user. Why would I complain?

</comment></comment></comment></comment></comment></comment><comment><USER17> Their website has a giant "Learn More" button that links to a contact form? Really? The "What We Do" page has three bullet points about how it works, but they really need to add more details on the actual service. There's more content on the "Work Here" page then the rest of the site combined.

<comment><USER5> That's a fair point. To be honest right now we have more demand than we can handle so we haven't really optimized the website for that. It's more of a recruiting tool for hires :) Definitely plan to improve on it though!

</comment></comment><comment><USER18> Chrome says the SSL cert has expired... Should probably pay attention to these things if you're going for HN first page.

Edit: I meant for the SwipeGood website - not sure if you don't care about that anymore.

</comment><comment> thomas-st a link for the lazy: <https://elasticsales.com/>

</comment><comment><USER19> I'm in the enterprise software business and there are already a lot of available options for enterprise resellers. The typical reason they fail is essentially dilution (lack of product knowledge or lack of incentive to sell your product vs another). It will be interesting to see how (or if) they manage to solve that. Does anyone from the company want to chime in (to a potential customer if you have a good answer?)

<comment><USER5> Sure :) We're not resellers. You can use dedicated sales resources on Elastic that exclusively sell your product and we have a track record at succeeding at this. Ping me at steli at elasticsales.com and we can chat more!

</comment></comment><comment><USER20> The concept is interesting, no doubt about it. More and more activities are outsourced (your hosting, your WP site, your customer service, your landing page optimization, etc, etc). When it comes to selling, mostly B2B as they mention, I believe there are long funnels in order to get new customers to pay the bills. Let's see how the concept evolves. Good luck!

</comment><comment><USER21> Hi Elastic, welcome to the sales business. We're working on a sales process standardization system, which we assume will be a component of your business going forward, so it will be interesting to track your progress. We probably won't be getting anywhere near the sales-team-as-a-service area. Best of luck! Edit: removed a baseless assumption.

</comment><comment><USER22> to do sales, you need to really know the product...I don't imagine an off the shelf sales guy will be all that effective.

And I'd imagine cost is also an issue. With your own sales team you can just hire people to work on commission...and here you not only have to hire a sales team...but also include a healthy profit margin for Elastic.

<comment><USER5> Companies use our service for the same reason companies use Amazon's AWS (even competitors like Netflix). If sales is not your core competency you probably want to work with us :)

</comment></comment><comment><USER23> Good Luck! Waiting to see more of this... Cheers from Germany.

</comment><comment><USER24> Good job guys! How did you guys get such a good domain name? Importantly, how much did you pay?

<comment><AUTHOR> We got lucky and it was available:) Thx!

</comment></comment><comment><USER25> Congratulations - sounds like a great move :)

</comment><comment><USER26> Awesome!</comment>


Ask HN: Why aren't there more symbols on keyboards? - <AUTHOR> I can understand that !@#$%^&*... are useful in their own context. But there are hundreds, if not thousands, of other meaningful symbols, too. Yet, we don't see any key allocated to one of these symbols on PC/Mac keyboards. Why is that? <comment><USER2> There are keyboards designed for foreign languages including Russian, Arabic, Japanese, Hebrew, etc. that have keys for the required characters. There are also custom key tops you can buy, stickers for the top and front of keys, flexible plastic overlays, and most OSs have key remapping software.

Ages ago, I worked at a very large PC company, and we had a shelf of more than twenty different keyboards we tested with.

</comment><comment><USER3> Same reason two button mice are standard, it's the balance point between simplicity and capability. An argument could be made for there being a lack of a standard but then I'd expect there to be more keyboards trying to satisfy a market need with extra nonstandard labeling. So the bottom line is a lack of demand.

</comment><comment><USER4> Historical reasons. Keyboards were invented long before computers, for teletypes, with 5-bit codes, or Morse codes.

</comment><comment><USER4> That said, some national variants have more special characters; for example, French AZERTY gives easy access to § ° € £ €, etc</comment>


NSA surveillance hurting tech firms' busines - <AUTHOR> http://www.usatoday.com/story/tech/2014/02/27/nsa-resistant-products-obama-tech-companies-encryption-overseas/5290553/ <comment><USER2> (2014)</comment>