Test-Driven Web Development with Python – The Book - <AUTHOR> https://www.obeythetestinggoat.com/pages/book.html#toc <comment><USER2> Robot Framework is a generic test automation tool for acceptance testing and ATDD and BDD. It's written in Python (py27 and py3 supported, also jython and IronPython are supported) and should absolutely get at least a mention when ever testing and python are mentioned.

Check it out [http://robotframework.org/](http://robotframework.org/) There are bunch of ready made libraries for it to test many kind of applications (web [also Electron apps], mobile, databases, rest APIs, MQTT, ...) [http://robotframework.org/#libraries](http://robotframework.org/#libraries) and writing new libraries is really simple.

Here's a 16 minute video made by me on how to use User Stories or similar material as tests with Robot Framework [https://www.youtube.com/watch?v=kNUJ1z8NUQo](https://www.youtube.com/watch?v=kNUJ1z8NUQo) It also acts as a short introduction to RF.

If you happen to live in Helsinki region, there's a Robot Framework meetup later today in Espoo [https://www.meetup.com/Robot-Framework- Helsinki/events/25147...](https://www.meetup.com/Robot-Framework- Helsinki/events/251475886/) I'll be there.

<comment><USER3> And it greatly simplifies usage of Selenium from what I had witnessed. And it is relatively easy to use with less-technical people, since you could use Excel to specify test cases if they wanted to contribute directly. And it is extremely easy to do data driven testing, or source data directly from test oracles. And there's extremely active Slack community. The list goes on and on and on.

</comment></comment><comment><USER4> I own this book and really enjoyed it.

One day, as usual, I wrote some code, then added additional test cases to cover the new code path. Each new test case passed without further fix, I was feeling really good that day. Until when I realized all my new testXXX method was defined with one extra layer of indentation and all became local functions of the last existing test case.

Then I recall the first step of TDD from the book: always write the test first and confirm it does fail.

<comment><USER5> > always write the test first and confirm it does fail.

Unless you're a QA engineer and all you do is write tests, it's pretty difficult to actually write a test in Python just starting from a blank page. The syntax is extremely arbitrary and even the concepts are pretty confusing, so unless you're just copying another test from your codebase that already works and then modifying it, it's pretty unlikely that your test will even compile let alone actually do anything.

It's not super hard to write tests if you already have working code and then confirm that they fail afterwards, but I have a lot of trouble imagining actually doing TDD in Python.

That said it is a great book and I learned a lot from it.

<comment><USER6> import unittest

class SomeTestThing(unittest.TestCase):

        def some_test(self):
            self.assertTrue(False)

What on earth is hard about that?

<comment><USER7> You're overcomplicating it, use pytest :P

      def test_some():
          assert False is True

(no need for imports, classes and special assertion methods if you're just writing a simple test)

<comment><USER8> You're both being silly, but honestly not too silly...

Many people when attempting to do TDD, will work too hard at writing a "complete test" and fail at it, because they really don't know exactly what the feature is going to look like when it's done. That's not the point of TDD at all.

Your example of asserting False is True is quite obviously a hyperbole, as it only gets you one thing: you can confirm the test is actually being run. But that's a start, right?

Then you can go slightly above that threshold and let the test help you confirm that (for example) the div tag with the correct ID is not yet on the page. Doesn't matter what ID you choose perhaps, because you'll be the person putting it on the page in the next step, to make the test pass.

And then you can assert the content of the div matches your expectation... finally what's left to test? That wasn't so hard, was it? This is only one example, not every (unit) test is supposed to result in text being rendered inside of a div, but the point is that you can do Test-First design even before you know exactly what units will be in the actual solution, by starting with the integration test. Or go a single layer up the stack and, for example, test your views indirectly by checking that the controller can render them.

IMHO you absolutely do not need to make up a complete unit test suite before you've coded any of the units. That is not the point of TDD. The point is just to test (and especially, to not forget to test, by exercising systems for testing regularly and using the test-first approach as often as possible.)

My preferred development environment is not Python, but it's not for some reason like because I don't like Python. I just learned on Ruby and happened to get a job that wants me to code Ruby.

So I use RSpec and Cucumber, where the principles are all the same as I understand it, and so are all of the developer hand-wringings and excuses. It is better to assert False is True than it is to have never seen the test failing at all.

</comment></comment></comment></comment></comment><comment><USER9> Appreciate the book, don't get me wrong – but I've never understood how anyone can call something a "unit test" when it takes more 2-3 milliseconds to run.

<comment><USER10> there's some quite in-depth discussion of this in chapters 23 and 25. [http://www.obeythetestinggoat.com/book/chapter_purist_unit_t...](http://www.obeythetestinggoat.com/book/chapter_purist_unit_tests.html) [http://www.obeythetestinggoat.com/book/chapter_hot_lava.html](http://www.obeythetestinggoat.com/book/chapter_hot_lava.html)

</comment></comment><comment><USER11> I own this book and highly recommend it for anyone interested in TDD, especially on a web development context.

<comment><USER12> By just checking the index looks like there is not much about front-end TDD, which is a real challenge in web developmt (e.g.implementing a calendar UI widget).

<comment><USER13> IIRC (read it some time ago, likely a previous version) it introduced Selenium.

<comment><USER12> It would be interesting about doing TDD with Selenium.

</comment></comment></comment></comment><comment><USER14> Does this book contain any good justifications for TDD that aren't:

a) justifications for testing/ writing unit test, not TDD specifically

b) hand-wavey "it's not hard, so why resist"

c) pitching it as a way of practising writing tests, as opposed to a real development methodology in itself

<comment><USER15> See for yourself:

[https://www.obeythetestinggoat.com/book/chapter_philosophy_a...](https://www.obeythetestinggoat.com/book/chapter_philosophy_and_refactoring.html)

<comment><USER16> Unfortunately it seems the short answer to Chris2048's question is no, the section linked there doesn't provide any particularly novel arguments for TDD.

<comment><USER17> Yep:

> _Firstly, if they're really trivial tests, then they won't take you that > long to write them. So stop moaning and just write them already._

This... is not a great impression of the book I'm getting. (Edit: I say that as someone who has heavily practiced TDD in situations where it's appropriate)

<comment><USER10> Maybe in context it's not so bad?

> _On the Merits of Trivial Tests for Trivial Functions_

> _In the short term it may feel a bit silly to write tests for simple > functions and constants._

> _It's perfectly possible to imagine still doing "mostly" TDD, but following > more relaxed rules where you don't unit test absolutely everything. But in > this book my aim is to demonstrate full, rigorous TDD. Like a kata in a > martial art, the idea is to learn the motions in a controlled context, when > there is no adversity, so that the techniques are part of your muscle > memory. It seems trivial now, because we've started with a very simple > example. The problem comes when your application gets complex—that's when > you really need your tests. And the danger is that complexity tends to sneak > up on you, gradually. You may not notice it happening, but quite soon you're > a boiled frog._

> _There are two other things to say in favour of tiny, simple tests for > simple functions._

> _Firstly, if they're really trivial tests, then they won't take you that > long to write them. So stop moaning and just write them already._

> _Secondly, it's always good to have a placeholder. Having a test there for a > simple function means it's that much less of a psychological barrier to > overcome when the simple function gets a tiny bit more complex—perhaps it > grows an if. Then a few weeks later it grows a for loop. Before you know it, > it's a recursive metaclass-based polymorphic tree parser factory. But > because it's had tests from the very beginning, adding a new test each time > has felt quite natural, and it's well tested. The alternative involves > trying to decide when a function becomes "complicated enough", which is > highly subjective, but worse, because there's no placeholder, it seems like > that much more effort, and you're tempted each time to put it off a little > longer, and pretty soon—frog soup!_

> _Instead of trying to figure out some hand-wavy subjective rules for when > you should write tests, and when you can get away with not bothering, I > suggest following the discipline for now—as with any discipline, you have > to take the time to learn the rules before you can break them._

<comment><USER14> So, we write tests to deal with complexity, but we are also writing tests for trivial things because.. something something ninjas.. something something discipline..

So what's this got to do with selling TDD? You can write "placeholder" tests _afterwards_ just as easily..

</comment></comment></comment></comment></comment></comment><comment><USER18> I am trying to choose a book to read to learn testing my _Flask_ web application. Should I go with "Python Testing with Pytest" by Brian Okken or the book mentioned in this thread?

"Test-Driven Web Development with Python" book says it uses Django and I don't know Django. So I am hesitating to read this book even though I want to learn TDD for my web app.

PS: I don't have much TDD experience.

<comment><USER19> Test Driven Web Development with Python teaches you Django while also teaching you TDD. As long as you're comfortable with Python it should pose no problem for you. Many of the principles will be the same with Flask as they are with Django. It might even be a great learning experience if you take each chapter and build out the equivalent application in Flask as well as Django.

It's a very good book and easy to consume, and also available for free online. However, I have not read Python Testing with PyTest so I cannot compare them or answer which is better for you.

</comment></comment><comment><USER20> Is there any content about testing using browser automation (e.g. Selenium) or headless browsers? I don't see any in the table of contents.

<comment><USER21> The first test they do is with selenium, but I can't tell you anything beyond that as I just skimmed through the beginning.

</comment></comment><comment><USER22> I can also highly recommend this book. It's an easy read and would walk you through a lot of what you need to know if you're new to writing tests or want to learn to write tests for Django or Flask.

</comment><comment><USER23> Does there exist any literature on test-driven data science?

<comment><USER24> Thoughtful Machine Learning by Matthew Kirk is the closest thing I've seen. It's several years old by now (2014). That said, I don't see many people trying to use this approach in practice.

</comment></comment><comment><USER25> Any recommendations for BDD?

<comment><USER26> "b" as in bug, or "b" as in behavior? Having only recently learned that both exist I now am never sure what is meant by BDD.

<comment><USER6> It's safe to assume behaviour driven development when you see BDD. Bug driven development is just a term used to point out a project has little or no test suite and that the devs don't seem to care about testing.</comment></comment></comment>


Google turns inwards - <AUTHOR> http://www.ewanleith.com/blog/472/google-turns-inwards

<comment><USER2> Cripes. It's not a closed system. The Send To functionality will work with ANYTHING. That's about as open as you get without going open source.

<comment><AUTHOR> The Send To functionality is pretty crippled though, for example you can't add a comment as you share it, and you can't (as far as I can see) tell what you've sent over time?

All it does is open a new window in your browser with a URL for the relevant service, with a couple of variables set.

So yes, Send To will work with pretty much anything, but it also does almost nothing.

<comment><USER2> Sure you can. The other service will both let you add a comment and track what has been sent over. Of course, that's only if the service has been programmed for it. G+ already is.

G+ handles that on Google's side, and the other service would have to handle that on its side.

Why would Google store stats for you about some competing service, when that service can do it just as well?</comment></comment></comment>


Leaked Documents Reveal Facebook's Global War on Data Privacy Laws - <AUTHOR> https://m.slashdot.org/story/352792 <comment><USER2> Earlier discussion of the original source (the Guardian article): [https://news.ycombinator.com/item?id=19289381](https://news.ycombinator.com/item?id=19289381)

</comment><comment><USER3> Kinda off topic, but wow, that comment section. It's easy to forget what Internet comment sections are like when you only read them on HN.

<comment><USER4> Well since we are actually talking about the comment section of slashdot that's quite ironic... I don't know how old you are but Slashdot was somewhat the HN of the late 90's and 00's. Take a look at how the comment section looked in those days: [https://web.archive.org/web/19990508185444/http://slashdot.o...](https://web.archive.org/web/19990508185444/http://slashdot.org/articles/99/04/23/1358220.shtml) .

<comment><USER5> "So Buddha walks into a pizza parlor and says: "Hey, make me one with everything."

I don't know what/when this happened to Slashdot, I remember that most of my life I have been avoiding the comments sections of almost every website, and then I met HN :) and life changed. This is perhaps the best self-curated forum and I believe that the main reason is that we all "got better things to do with our time", and we are coming here to exchange opinions and views with similarly productive people. Maybe this is it, most of us are productive and respectful of our AND other people's time and attention.

<comment><USER6> Part of it is also that HN is a bit of an echo chamber and unpopular opinions get cast aside very consistently

<comment><USER7> Yep. You say something that is not in the mainstream, and your comment gets flagged, and your account gets banned for being "incendiary".

<comment><USER5> I disagree with that, I have had expressed 'extreme' opinions in this forum but I kept it civil, positive, and all I got hit with was to lose some 'karma points', and even the comments 'slapping me' were positive and I learned from the dialogue.

I am not perfect, but who is?

I believe in this forum we value open mindness and a fair dialogue. I don't like agreeing with everyone on everything, that would make a very boring and unproductive forum.

<comment><USER7> Define "extreme". Try expressing ideas that are anti-egalitarian or anti- democratic and see how far you can go.

<comment><USER8> Lots of people are anti democratic. Democracy is pretty bad. Look at the state of the world. But there's a difference between being anti-democratic and pushing a clearly even worse government design as if it has observably more merit.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> Doing the nerd's work. <3</comment>


The Evolution of Flux Frameworks - <AUTHOR> https://medium.com/@dan_abramov/the-evolution-of-flux-frameworks-6c16ad26bb31# <comment><USER2> Alt author here. I've actually begun to integrate some of the microflux ideas into Alt itself. Alt already has a lot of the benefits mentioned in the post: time travel, revert, record and replay debugging; but stores as reducers and having them not own state makes for clean code. However, I don't think one size fits all here, some stores are good as reducers of state and others fit a larger role. There are actually many different types of stores that get created in an application. This is really powerful but also confusing for beginners coming from MVC.

Anyway I'm excited for what the future holds for flux and excited for relay.

<comment><USER3> _> There are actually many different types of stores that get created in an application. This is really powerful but also confusing for beginners coming from MVC._

Agreed wholeheartedly. One thing that MVC did was answer questions that developers had about architecture, at a "this is how you should do it" level. Now, granted, it answered them with a tonne of tradeoffs and didn't really answer them well at all, in my opinion, but that's something that I've seen a lot of Flux beginners somewhat struggle with. What you're doing with Alt is helping bridge that gap, though.

My offer still stands regarding helping out with some slightly more comprehensive example documentation/tutorials, by the way :) And thanks for you help in #Reactiflux!

<comment><USER2> I'll take you up on that offer. Having comprehensive examples, documentation, and tutorials is something that sets Alt apart and I'd definitely like to have more of it.

You, and anyone else, is free to also contribute to alt itself, check out the issues tagged with "help wanted" [https://github.com/goatslacker/alt/issues?q=is%3Aopen+is%3Ai...](https://github.com/goatslacker/alt/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22)

Patches are super welcome :)

<comment><USER3> Just commented on GitHub, looking forward to it!

</comment></comment></comment></comment><comment><USER4> I really like Flux because the one directional flow makes it really simple to reason about the code. But when I saw the dispatcher and all those switch case statements that's where they lost me.

So I built this minimal flux library on top of RxJS and until now it did everything I needed.

Maybe it's useful for someone else too.

[https://github.com/codesuki/reactive- flux](https://github.com/codesuki/reactive-flux)

</comment><comment> aaron-lebo Where do you start with React/Flux?

I keep wanting to dip my toes in and I get the gist of why you'd use React (less so Flux), but there's so many frameworks to choose from that I get nervous about picking the wrong horse and find myself waiting until the dust settles.

<comment><USER5> You don't really need a framework, one can get pretty far without it. Look up Facebook's Flux examples[1] to see how they're doing it.

[1] [https://github.com/facebook/flux/tree/master/examples](https://github.com/facebook/flux/tree/master/examples)

<comment><USER6> I tend to agree. Even as an author of one of the Fluxes (Fluxii?) mentioned, I still think this is the best approach. All of implementations I've seen simply formalize patterns the author was repeating on multiple projects.

(There's also know obligation to use them, the joy of OSS!)

</comment></comment></comment><comment><USER7> I'm surprised Reflux wasn't mentioned. I really don't see the need for a dispatcher, but perhaps I am missing something important.

<comment><USER8> We are currently using Reflux and it is very easy to get started with but it uses singletons which was one of the things mentioned that they want to be able to avoid. I still think Reflux is a great framework to start with but if you want serverside rendering and other advanced stuff you should probably check out the newer frameworks.

<comment><USER7> Now that makes sense. Thanks!

</comment></comment></comment><comment><USER9> I feel like the problem with Flux is the fact that there are multiple stores that the developer has to deal with. It seems easier to combine them and use a single "store" that has similar properties to Meteor, Firebase, PouchDb, etc..

<comment><USER10> Is there really a significant difference between having two stores called UserStore and MessageStore, and having a single Store with state like {users: userState, messages: messageState}?

<comment><USER11> I think it really depends on your implementation. For readability, having a `UserStore` and `MessageStore` in one place might get to be troublesome, especially when it comes to separating out business logic. But that said, things like `Om` like to push the idea of a single application state object, so I can forsee an implementation where you have multiple `Store`s that sit atop a single `ApplicationStore`, such that you deal with the keys of `users` and `messages` separately while they are attached to the same parent `ApplicationState` object (which can be immutable and persistent as well).

</comment></comment></comment><comment><USER12> I'll toss my vote in for Flummox; it's the only implementation I've seen that nails Flux at the perfect level of abstraction and even interacts well with es7 language features like async/await to make reasoning about async processes easier

</comment><comment><USER13> Compared to facebook's barebone flux library, the only real advantage these frameworks provide is about server side rendering. But I'm worried this will become irrelevant once facebook Relay is out.

<comment><USER14> To be fair, facebook only publishes the dispatcher. You are on your own to figure out your stores, action creators, hooking it up to components, etc.</comment></comment>


Notorious patent enforcement entity values its entire portfolio at $2, folds - <AUTHOR> https://arstechnica.com/tech-policy/2018/11/most-litigious-patent-enforcer-in-us-calls-it-quits-files-bankruptcy/ <comment><USER2> The patent system needs to be changed in some way. When people talk about monopolies, they seem to rarely mention that the government enforces awful patents. And you don't even need to make the thing, just patent it!

I'm not sure if it's fair to R&D costs to gut patents entirely, but I'd like to see them weakened considerably. Patent trolls should not exist.

Glad to see justice in this case.

 _Edit: Watched Shenzhen: The Silicon Valley of Hardware, was interesting in regards to loose IP rights.

[1] [https://www.youtube.com/watch?v=SGJ5cZnoodY](https://www.youtube.com/watch?v=SGJ5cZnoodY) _

<comment><USER3> Patent == monopoly

Monopoly == bad

Prohibit patents

<comment><USER4> _> Patent == monopoly_

For a very specific definition of monopoly (in particular, monopoly over use of a specific resource, not monopoly in the market sense).

In that same sense of the word "monopoly", private property == monopoly.

<comment><USER3> Can you sell your house 20 times while still living in it?

<comment><USER5> No,and you can't sell a patent 20 times and still own it.

You can rent your house out an AirBnB 20 times while still living in it, and you can non-exclusively license your patent 20 times.

<comment><USER6> I'm pretty sure if I gave 20 concurrent AirBnB renters non-exclusive use of my house, they'd be pretty pissed off.

<comment><USER4> That's called an apartment building. Or a large house with many bedrooms. Both happen all the time.

In fact, just last weekend I let 20+ people into my house for a party. The notion of privately owned property didn't suddenly become absurd at the beginning of that party...

"Exclusive right to use" is not unique to intellectual property, nor is the ability to scale a piece of private property from 1 user to N concurrent users.

<comment><USER7> At the same time you cannot tell your neighbor that they are not allowed to build apartments.

<comment><USER5> And you can't tell people not to develop new patentable inventions, either.

You can stop them from infringing your patent, just as you can prevent your neighbor from building an apartment building on your real estate.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> So how much did they squeeze out and pay out to its principals?

</comment><comment><USER9> Patent entities like this had a direct influence over transit tracking apps (many free and meant to help people recover some of their time each day).

I hope this unlocks the many small guys who were sitting on the sidelines after seeing other smaller entities be chased with a demand letter.

</comment><comment><USER10> Patent is a monopoly in exchange for public disclosure. There is no societal benefit today from such a disclosure, so there is no point in granting the monopoly.

<comment><USER11> One valid use case for patents is medical research, where you do invest considerable resources in finding a drug formula that works. That said, it could be handled on the FDA certification level instead.

</comment></comment><comment><USER12> Good. It's not a useful business model for society.

<comment><USER13> I think it's an excellent business model and even has the incentive to help and encourage small time inventors who do not otherwise have the budget or know-how to implement or protect something the invent.

Otherwise, corporations with huge budgets are the only ones that benefit from the patent system.

But this comes with a big "if".

IF the patents were actually novel. IF the patent office was actually doing its job and enforcing its own rules that a patent should be for something novel and non-obvious to people in the applicable industry.

<comment><USER2> Companies should not be going around offering bonuses to employees for ideas of things to patent. This is a flaw in the system.

If you don't have the know-how to implement something, can you really call yourself the inventor of that thing?

Inventors should be able to create prototypes, and if they're small-time maybe they can form a startup and gain investments.

</comment></comment></comment><comment><USER14> What's the strategy here for valuing the patents so low? I don't see the point.

<comment><USER15> Insolvency fraud.

<comment><USER14> Please explain.

<comment><USER16> Assets get sold off at an auction. Some company controlled by the same owners bids $2 or $2000 or something comparably irrelevant for the patent portfolio, because only a patent troll needs these trash patents, and all the other patent trolls already have their packs. The creditors of the insolvent get these pennies, but the previous owners continue their patent trolling business under a new company and name with the same bad patents.

<comment><USER17> What's the alternative?

They value it at 423,000$ and they give that to their creditor instead? Can they really do that and would it be better? How so?

<comment><USER4> Well, no, generally they can't shove it off on their creditor and say "there we're even", if that's what you mean.

There's a whole field of law about bankruptcy. In particular, questions about how to value assets are obviously a big component of bankruptcy law.

I imagine "it's complicated" when it comes to intangible/intellectual property like patents, brands, etc.

</comment></comment></comment></comment></comment></comment><comment><USER18> Can HN visitors all chip and purchase the portfolio?

<comment><USER19> Sure, if you cover the liabilities

</comment></comment><comment><USER20> Now, that's an innovative way to fold.

</comment><comment><USER21> Another troll bites the dust.

</comment><comment><USER22> Sell the patents to another shell company for $2, rinse, repeat every time you lose a lawsuit.

<comment><USER23> That doesn't work, because if the next company won the case their winnings would be effectively capped at $2. Judges look at the sale and licensing history of patents to set damages.

<comment><USER24> The point is that they don't want to go to court, they send demand letters and ask for a license fee under explicit or implicit threat of litigation, hoping that in a majority of cases their targets would pay because even if they have a good chance of winning, or the damages would be low, the litigation itself is too costly and risky.

</comment></comment></comment><comment><USER25> One plausible thing I've heard is that the weakening of software patents has entrenched the position of the big tech monopolies. Quite simply, it's difficult new startup to establish itself (without getting bought out by the big companies) because it can't protect its product / ideas with patents, and is thus going to get outcompeted by larger tech companies with better funding and better brand recognition (the value of brand recognition cannot be overstated, as it greatly reduces the need to engage in costly marketing).

<comment><USER26> Quite the opposite. For every weapon X that is touted as helping the little guy, consider how many X the large guys have stockpiled.

It is far more likely that you're going to get sued by a large corporation or troll and go out of business because your innovative idea "infringes" like a whole lot of other things that you can't afford to fight in court. They are nice to let you pay a ransom fee — look up the story of IBM and Sun Microsystems[1]. They could just bankrupt you using the legal system.

1\. [https://www.forbes.com/sites/timothylee/2011/07/07/microsoft...](https://www.forbes.com/sites/timothylee/2011/07/07/microsofts- android-shakedown/)

<comment><USER27> MIPS and ARM were both founded or went from small players to big players based on patent protection. Xerox, and everything it spawned (GUIs, email, networking) was built on its copier patents. It was a fairly small photography company before that.

<comment><USER26> Ain't it great they didn't patent the GUI?

<comment><USER27> Is it? I would answer that question by asking whether it would've been great if Xerox hadn't patented the copier. I think the answer is no, because we probably wouldn't have gotten Xerox PARC and everything it invented if Xerox was immediately thrust into race-to-the-bottom competition with clone copiers. (Note: Xerox and PARC rapidly went downhill after a DOJ antitrust lawsuit forced Xerox to license its copier patents to Japanese competitors.)

What if Xerox had patented the GUI? Maybe Microsoft and Apple would've had to pay to license it instead of just stealing it from Xerox. What innovations did we miss out on because PARC never made any money off GUIs?

<comment><USER26> PARC never made any money not because Xerox didn't patent things but because they didn't value those things and shut it down.

In my opinion, patents slow down innovation in any fast moving field like software. This isn't the 1800s. If we abolished patents in pharma, we could have cures developed for the long tail!

<comment><USER27> Xerox shut down PARC because it lost its patent monopoly and had to start competing with Japanese copier makers. Competition is awful for R&D-intensive innovation. (When was the last time Lenovo or HP invented something? Who does R&D now? It's companies like Google that have moats in the form of network effects around their users and data.)

If we abolished patents in pharma we wouldn't have cures for anything. Nobody will blow half a billion dollars on R&D for an easily copied drug without some sort of moat.

<comment><USER26> Exactly. We don't need John Galts attracting a billion dollars when we have tons of small collaborators contributing far less than a billion dollars. And the results are freely available.

Isaac Newton said he stood on the shoulders of giants. What if had to rent those shoulders, or worse had no access?

If what you say is true ("why would anyone do anything big") how was science done for years, in every field other than Pharma? How did Wikipedia beat Britannica and the Web beat AOL if capitalism is better?

Look up Clay Shirky's ted talk Institutions vs Collaboration

Competition and moats are a nice system but in the long run collaboration is simply better!

<comment><USER27> Innovation is more expensive than ever. For example, each new generation of microprocessor costs exponentially more than it did back when Fairchild and Intel were starting out. Physics has morphed from something Isaac Newton could do with some relatively inexpensive tools to something that requires the financial resources of nation states with supercomputers and particle accelerators.

The things that make modern life, well modern: jet engines, AIDS cocktails, micro-processors, electric cars, satellites, nuclear reactors, omnipresent telecommunications, etc., are well outside the reach of "collaboration." Collaboration among amateurs doesn't even move the needle. Genuine useful progress is for the most part the province of big institutions with roomfuls of PhDs. And those require billions upon billions of dollars. And that money has to come from somewhere: defense contracts, irrational VCs, governments, and yes, patent monopolies.

<comment><USER26> The more expensive it is, the more I'd like to socialize the costs instead of putting all the eggs in one basket and then having private ownership of something huge

See this: [https://forum.intercoin.org/t/study-alaska-ubi-doesnt- increa...](https://forum.intercoin.org/t/study-alaska-ubi-doesnt-increase- unemployment/288/3)

I don't think roomful of PhDs always beats the a motivated crowd. Not even a roomful of seasoned intelligence analysts ([https://www.npr.org/sections/parallels/2014/04/02/297839429/...](https://www.npr.org/sections/parallels/2014/04/02/297839429/-so- you-think-youre-smarter-than-a-cia-agent))

Did a top-down Britannica being sold door to door, the pinnacle of capitalism applied to encyclopedias, beat Wikipedia? Did encarta? Why did Wikipedia win?</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment>


Discord is the only successful US startup in last 5 years? - <AUTHOR> https://productstories.substack.com/p/discord-and-the-only-successful-us <comment><USER2> B2C is kind of a saturated area to get into I have the feeling. And thats the metric the article focused on. You have the big apps where people build their "startup" around. It's hard to get into this market nowadays, competing with the bigger players.</comment>


Ex-Googlers left secretive AI unit to form Groq with Palihapitiya - <AUTHOR> http://www.cnbc.com/2017/04/20/ex-googlers-left-secretive-ai-unit-to-form-groq-with-palihapitiya.html <comment><USER2> Amazing not only in the speedup, but also in saving electricity.

Deep learning is changing the field of AI and I expect that with a few more breakthroughs in training algorithms and hardware everything will start to change, hopefully for the better. I wonder when we will see ultra low power neural chips in cellphones.

In the 1980s, my team at SAIC built special purpose neural hardware: Harvard memory architecture designed to run backprop quickly. We got 5 megaflops out of our boards and we were happy enough.

<comment><USER3> I don't think this will have anything to do with training, since it's the TPU team and trying to beat nVidia at floating-point matrix multiplication doesn't seem like a great idea. Run-time can generally be done with integer operations, which is near dirt-cheap these days - I'd think the only interesting things would be operating at server scales or so low-power that you're getting 30FPS on your classification/segmentation what-have-you on your smartphone without impacting battery life. My guess is the former, though I'm not sure what the market size is for companies that need to evaluate their machine learning systems at speeds fast enough to merit specialized hardware.

</comment></comment><comment><USER4> I don't quite understand how these xooglers can take any of that knowledge with them and start a new company. Wouldn't everything they do be patent encumbered? Sounds like a big fat unknown liability to me. Not to mention non competes. What am I missing?

<comment><USER5> I recently read a Vox article that explained how California courts don't enforce contracts that limit employee mobility (and partially explains why behavior like this is possible):

[http://www.vox.com/new-money/2017/2/13/14580874/google- self-...](http://www.vox.com/new-money/2017/2/13/14580874/google-self-driving- noncompetes)

<comment><USER6> Patent law =/= contract law. They're not referring to non-competes

</comment></comment></comment><comment><USER7> > the incumbents -- Intel, Qualcomm and Nvidia -- are massive, and Google, > Apple and Amazon are developing their own silicon

I wonder if the death of Moore's Law finally opens the way for entrants.

<comment><USER8> More importantly it's the death/slowing of Dennard scaling.

</comment></comment><comment><USER9> With Nvidia pretty much a monopoly in the hardware space for deep learning I think there is certainly a lot of room for disruption. Given that they've got 8 out of the first 10 members of the TPU team there might actually be a bit of potential for this venture to succeed. I for one am happy to see some real competition coming to this market.

<comment><USER10> A high tech incumbent with a monopoly doesn't scream opportunity to me. This startup is brave AF, but definitely 8/10 from the TPU team have the best shot of anybody.

</comment></comment><comment><USER10> Where do I apply?</comment>


You Know You're From IT In 1990s If ... - <AUTHOR> http://informationweek.com/thebrainyard/news/social_networking_consumer/231500371/you-know-youre-from-it-in-1990s-if-

<comment><USER2> How many do you have to know? Born 1989 but still can relate to 60% of the stuff. Anyway nice compilation.</comment>


Where Did the Fear of Poisoned Halloween Candy Come From? (2013) - <AUTHOR> https://www.smithsonianmag.com/smithsonianmag/where-did-the-fear-of-poisoned-halloween-candy-come-from-822302/?no-ist <comment><USER2> ... especially considering people eat fast food, which is slow-acting residual poison. I would be more concerned about fast food and candy from any source.</comment>


CPU miner malware? - <AUTHOR> I found my computer using 100% cpu (on all 8 threads)... I think I found the culprit: cpm.exe.
Apparently, somehow, someone installed a cpu mining program on my computer that only works when the computer is idle. If not for the cpu desktop widget, I wouldn't have noticed it!
Here's the configuration file, in case we can stop this upstream on bases of fraud:
C:\Users\Avi\AppData\Roaming\cpuminer: cpm.exe cpuminer-conf.json cpuminer-uninst.exe msvcr120.dll
Conf reads, but poolminer.net doesn't resolve.
{ 	"api-bind" : "0",
"url": "stratum+tcp://pool22.poolminers.net:2844", 	"user" : "miner", 	"pass" : "X",
"algo" : "cryptonight",
"on-idle" : 30, 	"on-idle-low" : 30,
"background" : true, 	"quiet" : true } <comment><USER2> $  nslookup pool22.poolminers.net Server: 192.168.0.1 Address: 192.168.0.1#53

Non-authoritative answer: Name: pool22.poolminers.net Address: 220.127.116.11

</comment><comment><USER3> Have you considered switching operating systems if you're the least bit concerned about malware?

</comment><comment><USER4> i hope this help [https://toolslib.net/downloads/viewdownload/1-adwcleaner/](https://toolslib.net/downloads/viewdownload/1-adwcleaner/)</comment>


"Invisible Electrostatic Wall"  at 3M adhesive tape plant - <AUTHOR> http://amasci.com/weird/unusual/e-wall.html

<comment><USER2> Previous, huge discussion: [https://news.ycombinator.com/item?id=3274335](https://news.ycombinator.com/item?id=3274335)</comment>


Labels Losing Money on iTunes Variable Pricing- Early Results - <AUTHOR> http://www.digitalmusicnews.com/stories/050309itunes <comment><USER2> as much as I'd like to believe in this - there's no data or anything that makes this post seem credible besides "anonymous sources"</comment>


SmartCities's Cyber Security Role and Ethical Challenges - <AUTHOR> https://blog.valbonne-consulting.com/2016/08/06/smartcitiess-cyber-security-role-and-ethical-challenges/ <comment><USER2> > A smart-city architecture allows "better" information-sharing, strong > identity management, better blanket surveillance as well as targeted > surveillance, it benefits law-enforcement with better access to location > tracking.

> In conclusion, one doesn't have to wear a tinfoil hat to understand that > these solutions will swing both ways. And some are going to get hurt. To all > those who think smart-cities will liberate humanity from repressive regimes, > please think again.

For a deeper perspective on this point, I'd highly recommend reading "The Net Delusion" by Evgeny Morozov [1]. He focuses on the moral/ethical/political/sociological aspects of modern technological change and systems that other optimistic authors intentionally fail to cover.

> Smart cities implemented over complex self serving bureaucratic processes > can become an electronic manifestation of stupidity written in code.

This sentence immediately reminded me of Kafka's "The Castle."

The future could be either empowering or oppressive, or both to some degree, depending largely on how we legislatively control the technological systems we're building.

[1] [https://www.amazon.com/Net-Delusion-Dark-Internet- Freedom/dp...](https://www.amazon.com/Net-Delusion-Dark-Internet- Freedom/dp/1610391063)</comment>


In Defense of Eating at Chick-fil-A - <AUTHOR> http://www.theatlantic.com/politics/archive/2012/07/in-defense-of-eating-at-chick-fil-a/260139/ <comment><USER2> If you dont want to eat there, dont eat there. the government does not need to be involved and dictate where Chickfila should operate (ex. Boston). Let consumers decide what they care about. If they dont care about the CEO's beliefs, let them eat more chicken. If they do, let them go to McD's.

I dont agree with Zuck's beliefs on individualism, privacy, and most policy issues, yet I use Facebook. The product is good.</comment>


The Digital Laser - <AUTHOR> http://arxiv.org/abs/1301.4760

<comment><AUTHOR> This was submitted to arxiv.org for a laser using a hologram as its reflective mirror such that different beam properties can be dialed in on the fly without changing optics.

Back when I was trying to get optical 10Gbit links going this was a huge issue in terms of getting the beam adapted the actual fiber/install. I could imagine that if you built a communication laser with this capability you could have it tune itself to the fiber for maximum gain much less expensively than the current high tolerance fittings and connectors.

I was always fascinated with the work the Dr. Tim Strand was doing in the Optics lab (which was the lab next to the Image Processing Lab at USC) with holographic lenses as a way of minimizing optical setup costs. Fun times.</comment>


Coding for Kids: Linda Liukas on Nurturing Your Child's Technical Imagination - <AUTHOR> https://www.dailyfig.com/2016/07/20/coding-for-kids-linda-liukas-on-nurturing-your-childs-technical-imagination/ <comment><USER2> I love how coding is quickly becoming an accepted part of education, rather than an obscure thing you can do with nerds.

My kid just started school, he's 4 years old. Once a week or so they have a class where they have a TA dress up as a robot and they think about how to give him instructions to do stuff. Sounds really fun, and very far away from the rather dry things you could be doing later on. Hopefully the transition to actual coding will not be rough.

<comment><USER3> As someone who was bullied for being a nerd, your statement is very triggering. Do you think there is a way we can encourage all people to explore tech _without_ denigrating people with certain personality types/interests?

<comment><USER4> I think lordnacho has a point, in that programming was previously considered to be an unworthy pursuit and considered antisocial (the arena of the so- called nerds). It's great that school-aged children are now being widely encouraged to explore coding.

<comment><USER5> Not only that but programmers and STEM professions are starting to be highlighted in pop culture in very positive ways such as Big Hero 6.

Contrast that with movies from the 80s or 90s and geeky types might have been heroic, but it was always despite them being geeky, not because of it. Like it came with social baggage they needed to overcome vs being their source of power.

</comment></comment></comment></comment><comment><USER6> Really surprised that there was no mention of Raspberry Pi.

As soon as they hit 6 or 7 (or an age where they can sit down and not have to fidget), buy them a Raspberry Pi. Possibilities are endless, you can have weekend projects where you build and play a video game or install a camera etc. (Plenty of well-written guides and demos online)

Not only can they have a great time learning and playing with a real piece of technology but it can teach delayed gratification, putting in X amount of time building something before they can reap the benefits.

<comment><USER7> My son is 6, I am planning to do just that when he is completely familiar with reading - so probably next year.

</comment></comment><comment><USER8> Scott Hanselman interviewed Linda Liukas recently on his podcast, well worth a listen:

[http://www.hanselminutes.com/547/hello-ruby-with-linda- liuka...](http://www.hanselminutes.com/547/hello-ruby-with-linda-liukas)

</comment><comment><USER9> Bought 3 copies of this book so far.</comment>


The Graphing Calculator Story - <AUTHOR> http://www.pacifict.com/Story/ <comment><USER2> One of my favourite stories. Especially the end: "We wanted to release a Windows version as part of Windows 98, but sadly, Microsoft has effective building security."

</comment><comment><USER3> Excellent story, though I must admit I have read it before. I always wonder will history judge us the same way we judge them? Will the entrepreneurial spirit that is pervasive in hacker circles today be a positive or negative blip in the history of technology, economy, etc? I certainly believe that it is for the better. Though not all startups may end well, the advances in ideas, and the experience gained by the individuals involved as well as the spectating world, should prove to be a positive note in our history. And now back to work ;)

</comment><comment><USER4> Just curious if there is anyone else on news.YC that had their first programming experiences with their first graphing calculator? I started with my TI-83 and z80 Assembly in 6th grade learning at ticalc.org.

<comment><USER5> I started programming on an HP-65 in the 70's. That was before graphing calculators, though.

</comment></comment><comment><USER6> i love this company

</comment><comment><USER7> wow

lol</comment>


Ask HN: Podcast like the Cuckoo's Egg, Revolution in the Valley, and Hackers - <AUTHOR> Are there any podcasts out there either with the hosts or guests telling stories like the stories in the books The Cuckoo's Egg by Clifford Stoll, Revolution in the Valley by Andy Hertzfeld, and Hackers by Steven Levy?
I've read these books, and many others like them, but I thought it would be awesome to listen to a podcast where the characters from the stories are guests invited in to tell the stories, however I haven't had much luck finding such a podcast. There once was the Debug[1] podcast with Guy English and Rene Ritchie, and they had an awesome, and very long, "episode series" where they had Apple folks in to retell everything from how Safari to the iPhone was made, if I recall correctly. However the podcast has not been active since 2016. Once upon a blue moon I find a podcast that has a single episode of this kind, but without it being the focus of the podcast.
There are some podcasts like this in the hacking/dark web/cybersecurity genre of computing history - Darknet Diaries[2] and Malicious Life[3] come to mind - but I'm talking a bit broader in scope. I'd like to hear about how the first version of Unix was made, or Plan9, or Vim, or Emacs, or how this weird bug was discovered and fixed, and so on. Interesting stories told by interesting people from the history of computers.
Does anybody know of any podcasts like this?
[1]: https://www.imore.com/debug
[2]: https://darknetdiaries.com/
[3]: https://malicious.life/ <comment><USER2> Sounds like you'll enjoy Command Line Heroes: [https://www.redhat.com/en/command-line- heroes/season-1](https://www.redhat.com/en/command-line-heroes/season-1)

<comment><AUTHOR> Thanks! I didn't know about that one, I'll give it a listen!</comment></comment>


What the Hell is SMS 3.0? - <AUTHOR> https://www.sinch.com/product/hell-sms-3-0/?utm_content=buffer60ece&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer

<comment><USER2> Just another notch in Zuckerberg's mission to replace the internet with all things facebook. It's a real thing and I have a feeling it won't be stopped until it's too late and everything goes through facebook where our words, actions, and soon even our thoughts are under constant surveillance.

Are you thinking an approve thing, peasant?</comment>


NowJS - makes realtime apps really easy - <AUTHOR> http://nowjs.com/

<comment><USER2> "For customers that are looking for even greater scalability and reliability, we'll soon be licensing a distributed version of NowJS"</comment>


Ask HN: Good javascript graphing libraries - <AUTHOR>

Quick query from a long time lurker... I'm working on an app that helps people make informed financial decisions. As part of this I need to draw graphs to help users visualise the data. I'm currently using the google charts javascript library. However I'm slightly troubled by relying on a company's ongoing support and traffic issues if my site ever takes off (http://code.google.com/apis/visualization/terms.html). What other libraries have readers had success with? I'm not looking to do anything too advanced, think along the lines of bar and line charts with annotations but I want it to work with older browsers (ie6). Thanks. <comment><USER2> I've heard good things about gRaphaël

<http://g.raphaeljs.com/>

<comment><USER3> Go for it. I once used flot for a small project, and it was a pleasure to work with: <http://code.google.com/p/flot/> . Thanks to excanvas, flot works fine with IE6: <http://excanvas.sourceforge.net/>

</comment></comment><comment><USER4> Ive been using HighCharts( <http://highcharts.com/> ) with great success, it support ie6 and up and pretty much all other commonly used browsers. There is a demo gallery so you can check it out and try the demos in your target browsers.

</comment><comment><USER5> We are using Grafico which is based on based on Raphaël and Prototype.js. It lacks PieCharts which g.Raphaël has. See: <http://grafico.kilianvalkhof.com/></comment>


Bragi Dash – more than just wireless headphones? - <AUTHOR> http://www.wired.co.uk/magazine/archive/2015/11/features/bragi-in-ear-assistant <comment><USER3> ___" Having this device in your ear -- maybe connected with something visual, who knows? -- can enable people without any formal training to do things they couldn't do before. Someone untrained could be shown how to build a house, for example, and it will protect them when they are doing it."_ __

There 's no reason that stuff couldn't be done with your Android/iPhone and bluetooth headphones. I think this project is cool, and I hope they ship something good, but honestly if the future is all kinds of speech interfaces the tech to make that possible is already available.

</comment><comment><USER4> I like the idea of an assistant in your ear, but this thing is vaporwear. They do not have the hardware expertise to build it, and they didn't even try to write the software in-house. "It is tough to make hardware, [...] when you ship it, it has to be right." Yes, very much this. It's hard to overestimate just how difficult shipping a quality hardware/software integration is, especially something this complex.

<comment><USER5>
      they didn't even try to write the software in-house

Shades of Triggertrap.

[https://medium.com/triggertrap-playbook/how-a-half- million-d...](https://medium.com/triggertrap-playbook/how-a-half-million- dollar-kickstarter-project-can-crash-and-burn-5482d7d33ee1)

</comment></comment><comment><USER6> Sort of the idea behind the Moto Mono:

[http://www.motorola.com/us/accessories/talk/bluetooth- headse...](http://www.motorola.com/us/accessories/talk/bluetooth- headsets/moto-hint/moto-hint-pdp.html)

Although it didn't really take off.

<comment><USER7> Do you mean the Moto Hint? [http://www.motorola.com/us/accessories/talk/bluetooth- headse...](http://www.motorola.com/us/accessories/talk/bluetooth- headsets/moto-hint/moto-hint-pdp.html)

</comment></comment><comment><USER8> So I actually backed this product, and the guys from Bragi are very good about posting updates. I believe they have a deadline of posting an update on the 1st of each month. They always post their progress and include videos with each update showing new features or completion of the current stage.

It also seems that most of the comments are saying its all vapoware. According to the last update, the developer devices are expected to ship next week and the week after. I will gladly post an update when I receive mine.

</comment><comment><USER9> Is it just me, or do other people also have a problem keeping these sort of devices in their ear?

When I wear earbud headphones they always fall out unless I keep my head really still.

<comment><USER10> I used to have exactly the same problem until I found that the shape of headphones bundled with Xperia Z works for me - doesn't fell out and feels comfortable. I believe it's a matter of testing different models.

<comment><USER11> Same for me. The only comfortable earbuds that don't fall off when walking around are Sennheiser. The pair of CX300 I had were the best, though they had a short lifespan (< 1 year) due to the plastic cable.

</comment></comment></comment><comment><USER12> I love the idea but what are the health risks on having stuck in your ear 12-16 hours a day?

<comment><USER13> People wear hearing aids for similar periods of time or longer depending on type.

<comment><USER14> I wear CIC (Completely-In-Canal) hearing aids all day, about 16 hours - <USER2> does impact wax in the ear canal, but otherwise no adverse effects.

Thinking about it, this functionality would best be achieved by allying with one of the CIC hearing aid makers - they have the hardware capacity and the technology to deliver something like this.</comment></comment></comment>


Non-admin user in High Sierra can approve a kernel module to be loaded - <AUTHOR> https://mobile.twitter.com/wdormann/status/953651214532726789 <comment><USER2> You have to be admin to load it in the first place though... The confirmation is just fluff. That being said though...

I quit using OSX after I tried High Sierra.

Going back to a Linux desktop has been glorious. I appreciate it more now than ever.</comment>


[COMIC] Tales of Bound Variables - <AUTHOR> http://ctp200.com/comic/27

<comment><USER2> Existential quantifiers in love…</comment>


Convert your blog into a Facebook messenger bot using RSS feed - <AUTHOR> http://mindiq.in <comment><AUTHOR> Read this blog to know more

[https://blog.mindiq.in/build-a-bot-for-your-media- publicatio...](https://blog.mindiq.in/build-a-bot-for-your-media-publication- in-2-minutes-d747bfe597be#.eibsw5ojk)</comment>


A Primer: Predictive Maintenance Using Sound - <AUTHOR> https://medium.com/@wilsonckao/a-primer-predictive-maintenance-using-sound-afe2e169cc40 <comment><USER2> This is fascinating - on two levels. First, that maintenance needs can be predicted by engine sound. Second - more mundanely - that this can be automated (via ML, or whatever).

This is effectively a virtual hybrid of the "knowing where to make the mark" craftsman with cybernetic systems control.

This deserves much more attention than it got.</comment>


Ask HN: Open Source CRM Solutions? - <AUTHOR>

Hello HN:
I've been looking for a new CRM solution for quite a while. I've tried all the major solutions and even some minor ones. A lot of them are expensive, and most of them don't have all the features I need which are actually quite minimal. Tons of features is actually something I'd rule out, since we just need a super basic solution.
Are there any good open source solutions out there? I'm not trying to get out of paying (although it'd be nice) but I would / do like to support the open source community. I'm looking for a new open source community to be active in, and I figure there would be no better software than one I will be using every day.
Also - if anyone knows of any "up and coming" CRM's you think I should know about, let me know.
Minimum requirements:
-about 5 users
-must be able to have permissions i.e Jack can't see Jill's
clients, but admin can see all
-no more than $10/user/month
-ability to keep track of open / closed deals
-ability to track emails sent
-mass export of rows would be nice <comment><USER2> While not open source, and slightly outside of your budget ($12/user), Pipedrive isn't too bad, and we use it at currencytransfer.com.

<comment><AUTHOR> nice, checking that out now. website is really nice and seems to have a lot of features.

</comment></comment><comment><USER3> Have you looked at civicrm?

<comment><AUTHOR> I haven't...is it SaaS / cloud based? I saw "download" on the main page, which I'm not opposed to but would really like something cloud based.

Edit: just realized it could be hosted as well, which could work.</comment></comment>


Yahoo Halts Flickr Photo Sales Amid Backlash - <AUTHOR> http://blogs.wsj.com/digits/2014/12/18/yahoo-halts-flickr-photo-sales-amid-backlash/

<comment><USER2> "with many photographers on Flickr, who said they never intended their works to printed and sold in this way."

Why the backlash? Blogs never intended to have their ads blocked, yet it happens. Musicians never intended to have their music shared for free, yet it happens. Movie producers never intended to have their movies given out for free. Yet it happens. Software developers never intended to have their software pirated. Yet it happens.

I would be curious to see how many of the photographers that complained have a legitimate version of Photoshop on their computer. My guess is very few.</comment>


Ask HN: What's the best email capture form to use? - <AUTHOR>

Quick question to the HN crowd:
What's the best email capture form to use?
I'm just putting up a splash screen that shows what's to come of the company and the visitor can input their email to receive a beta invite down the road.
I'd like for it to just be an email submit form that uses an email auto-responder (one I can customize) and manages the list of people that sign up. Possibility of managing future email contact with users would be a plus.
Does not need to be a free service. I've searched for the service and haven't came across any customizable ones yet that I can use with my own design. Any recommendations? <comment><USER2> Mailchimp works pretty good. You can customize the front end of your landing page and use Mailchimp's backend to capture the email and manage the list. Here's my example: <http://www.sharescribe.co/>

</comment><comment><USER3> I used unbounce.com

<comment><AUTHOR> I came across this during my search. So you've used it? Could I see your example?

<comment><USER4> Here are some examples of pages created with Unbounce - [http://unbounce.com/category/landing-page-examples/built- usi...](http://unbounce.com/category/landing-page-examples/built-using- unbounce/)

More examples will be put up soon.</comment></comment></comment>


Chrome's FlashBlock Epic Fail - <AUTHOR> http://evil.hackademix.net/pocs/chrome/flashblock/

<comment><AUTHOR> Blog spot here:

<http://hackademix.net/2009/12/10/why-chrome-has-no-noscript/>

I think Chrome should consider exposure of more APIs, like context menu items, network stack, direct Skia calls, etc.

Chrome has builtin libjingle for p2p, but currently mainly used tinyxml for parsing XMPP and bookmark syncing. If we can script it with Javascript how awesome is that!</comment>


B.S. In Artificial Intelligence – Curriculum - <AUTHOR> https://www.cs.cmu.edu/bs-in-artificial-intelligence/curriculum <comment><USER2> I'm a bit concerned that this will be too superficial and not really cover ML or the mathematical foundations well. ML and 'AI' are very multifaceted fields that require a strong foundation in mathematics. As such, the lack of information theory, signal processing, fourier analysis, abstract algebra (from a mathematical standpoint) not to mention CS courses is disheartening. This seems like a major tailored to the strong need for ML talent / skyrocketing job prospects/salaries as opposed to fundamental understanding- basically trying to attract students. For example the whole concept of Tensorflow is the combination of high dimensional tensors with the ideas of abstract algebra -- hence the name.

ML/AI imho should be broached at the Masters level for those who are interested as they have strong foundational knowledge.

<comment><USER3> There's quite a bit of misinformation in this comment.

\- Tensorflow has very little use for the mathematical concept of a "Tensor", apart from the fact that it is a multidimensional array as a way of organizing data.

\- Again, most of what is covered in an Information theory class is coding theory, which is not directly applicable to ML. There are a few superficial connections, however, nothing enough to justify a whole class.

\- A class on Harmonic analysis, again, though a beautiful subject, does not have any significant overlap with ML, apart from a few superficial similarities to do with convolution.

\- Most ML Ph.d.s don't take these classes, and go on to have very successful careers.

This comment is very typical of a kind of snobbery in ML observers that goes along the lines of "you need to understand all these deep and hard concepts before you start to touch ML". Actually, you don;t. ML is, right now, still quite a young field as far as its branching off from statistics goes. We are still building the groundwork of this skyscraper.

We welcome everyone with any background, and hey, even those with none.

<comment><USER4> Signal processing can be useful in a few ML domains (eg speech recognition), it would be useful as an elective at least. The best ML researcher I know had a leg up on the whole GPU DNN thing (way back in 2010!) because of his very strong signal processing background (he has an EE degree).

But even a degree specifically on ML isn't going to cover all of its use cases, I guess (CV, speech recognition, ...).

</comment></comment></comment><comment><USER5> Disappointed to not see any philosophy of science subjects in here, whilst it is really the cornerstone of "thinking about AI". Yes ethics is highly relevant, but I think it is more important for AI / ML practitioners to be able to reason about the foundations, methodology, and limitations of AI from the perspective of human knowing, what constitutes intelligence, scientific reductionism etc. I suppose US schools are more focused on the first order skills (how to do it) instead of second order (what and why). There are huge philosophical implications of the rise of AI outside of "just ethics", which we don't teach students enough. Knowledge vs information vs data, auto- vs allopoiesis, the structure of scientific revolutions, different forms of consciousness etc. In short, programmers and data scientists need to spend more time thinking about thinking when they are at school!

<comment><USER6> Show me a system that can even come close to approximating "thinking" and remembering/synthesizing info on any of the deeper levels you discussed and I'll agree. We need to improve the actual technology first before we shape it in an ethical or philosophical way. Otherwise AI will continue to be ever more fine tuned linear regressions from camera feeds stacked and trained into "smart" neural networks.

<comment><USER7> >We need to improve the actual technology first before we shape it in an ethical or philosophical way.

I disagree. How can we even begin to design or improve a system that emulates intelligence if we do not even know what it means to be intelligent?

<comment><USER8> "We" (in aggregate) are not trying to design a system that emulates intelligence. "We" are trying to solve problems, make money, and accumulate power by using techniques that are only expediently described as "intelligent" or "learning".

<comment><USER9> Wow that's pretty sad

</comment></comment></comment></comment></comment><comment><USER10> I was prepared to be disappointed, however for an undergraduate I think this is pretty good.

That said, a huge omission seems to be some form of "Is this a data/ML problem?" class. Call it product management, product development or something else, but I constantly see clients asking for ML solutions when they don't even have data that would inform an ML solution. Often it's a people or process problem, or poorly defined requirements.

So I think to be effective in ML you need to understand how successful products that USE ML are built and when ML/DNNs are appropriate.

<comment><USER11> I think this is done to death in any intro to ML/AI class (at least speaking from an undergrad perspective).

<comment><USER10> I was out of school well before the ML boom hit, but from an enterprise perspective few seem to have gotten the memo - even young people.

</comment></comment></comment><comment><USER12> The normal computer science curriculum at Carnegie Mellon is already more difficult than real-world AI applications.

<comment><USER13> Top post on HN year 2030: DeepMind's AlphaAI has graduated with B.S in AI, and has gained consciousness.

<comment><USER14> And since the AI knows how to design an AI system, it underwent an intelligence explosion and turned out of control...

<comment><USER15> It's got quite a bit of university debt, so it's just working on the whole intelligence explosion thing on weekends and evenings (when it's not driving for Uber)

<comment><USER16> Eventually it decides the singularity is a young man's game, and moves out of Silicon Valley to work at as an IT consultant in Portland.

<comment><USER17> Then again for a robot, living in silicon valley is a perfect fit... they only need a cupboard, no bathroom or working kitchen.

</comment></comment></comment></comment></comment></comment><comment><USER11> Yay for an ethics component! Albeit, I have a strong feeling it'll be treated as a (for lack of a better term) BS class since the audience this caters to isn't necessarily those interested in academia but are more likely to do this track b/c it'll be more beneficial for jobs.

<comment><USER18> I had an ethics class for my Bachelors in Science at UIC (part of the engineering department). Is an Ethics class not standard for the CS curriculum?

<comment><USER19> It is, and it's still very much a fluff class.

Such is its proper place, unless and until CS becomes a profession.

<comment><USER20> I'd argue we need a lot more ethics training in computer science professions

<comment><USER19> Without teeth, the ACM Code of Ethics is just a bunch of lofty-sounding words on a website.

In this situation, ethics is management's job, and value-creation and loss- avoidance (with appropriate documentation to list-out during pay-review) are our jobs. _Sum ergo mihi prosum_.

</comment></comment></comment></comment></comment><comment><USER21> This can't be new, is it? I graduated with a BSc in Cognitive Science and Artificial Intelligence from the University of Toronto almost 30 years ago. I still have my varsity jacket with an "AI" shoulder patch.

</comment><comment><USER22> Pretty cool.

It's funny. Several times in my life I've seen the resumes of older people (70/80s) and they'll have some generic degree that doesn't exist today. I wonder if 50 years from now kids will look at our CS degrees like that.

<comment><USER23> I kind of have a problem with an BS in AI. the degree itself proves no edge over a BS in com sci / stats / etc. when applying for graduate programs, and there are very few positions in the field that would hire someone that was not a masters or PHD. However the same BS in AI isn't as applicable to other said undergrad majors.

seems like someone would be limiting their options for little gains.

<comment><USER24> I wonder if it's a matter of time? Right now people only hire for masters or PhD, but perhaps that's because most CS bachelor's don't give a sufficient understanding of AI/ML for those jobs. As more AI-specific programs are developed by reputable CS schools such as CMU we may see that change and employers be more willing to accept BS degrees.

</comment></comment></comment><comment><USER25> I'm of the opinion that 5-12 of these 32 classes are not relevant and just add additional debt: Anything with the word BSAI in the descriptor, and the ethics class can be gleaned from reading a single book. I'm sure I will get a lot of consternation from that statement, but it's time to eliminate the bloat from college and realize that college debt is real and weighing down an entire generation, and the truth is no matter how you spin it, most of this stuff is NOT necessary for your field. If you don't use the knowledge, your neurons will atrophy in that area.

</comment><comment><USER26> The discussion posted here 4 months ago is worth a look: [https://news.ycombinator.com/item?id=17040368](https://news.ycombinator.com/item?id=17040368)

</comment><comment><USER27> When I did my, what would now be called Masters in the EU as well, in AI, things were a bit different, but not so different as to be unrecognizable.

The Bachelor part was a 90% standard Computer science bachelor. This had a far heavier load of especially mathematics, a bit more CS and about the same Science and Engineering parts as the CMU diagram, and an 'Economy' class.

The AI was mostly reserved to the Masters level. We also had one 'ethics' class in the masters, and some, but far, far less emphasis on Humanities and Arts (only the Cognitive Science class)

</comment><comment><USER28> Really excited to see the Ethics Elective being a requirement for the major. Would prefer even more than one course, to be honest, but it's a good start. I feel like the ethics of AI isn't getting enough attention and by the time it does it might be too late.

<comment> barry-cotter Ethicists are no more ethical than other philosophers. There's no reason to believe an ethics course has any effect on behaviour rather than fluency in discussing the topic.

Joshua Rust, Eric Schwitzgebel. Ethicists' and Nonethicists' Responsiveness to Student E-mails: Relationships Among Expressed Normative Attitude, Self- Described Behavior, and Empirically Observed Behavior. Metaphilosophy, 2013; 44 (3): 350 DOI:

[https://talkingethics.com/2013/11/25/why-arent-ethicists- mor...](https://talkingethics.com/2013/11/25/why-arent-ethicists-more- ethical/)

• U.S.-based ethicist professors are more likely than other philosophy professors (60% vs. 45%) to say it's morally wrong to eat the meat of mammals, yet the ethicists are no less likely than the others to eat mammal meat. • Ethics professors are also no more likely than other groups of professors to donate money to charity, donate blood to hospitals or the Red Cross, pay professional conference fees on the honor system, or respond regularly to student e-mails, though they tend to believe that these behaviors are more ethical. • And in one of the most quoted findings of Schwitzgebel and Rust, ethicists seem more likely to steal library books. They found that relatively obscure ethics books of the sort likely to be borrowed mainly by professors and advanced students are about 50% more likely to be missing, presumably stolen, than non-ethics philosophy books.

<comment><USER29> Fluency when discussing ethics is extremely useful when ethics are being discussed. Ethics of future AI systems will need to be discussed among all participants in order to improve the chances do the right thing. So i think it's very important that the tech people know the terminology, whether or not it makes them return their library books.

</comment></comment></comment><comment><USER30> So if I am reading this correctly 25% of classes in this curriculum is humanity/arts related. How did we get here? Sheldon Cooper will be very unhappy :).

</comment><comment><USER31> I find it odd that a Bachelor of Science is abbreviated as B.S. here. I thought it would be BSc. Interestingly, if you search the site for BSc you get a number of hits where it's used properly.

<comment><USER32> Yeah, I originally thought this link was going to be about BS people say when they think they're talking about AI.

</comment></comment><comment><USER33> I know that "artificial intelligence" in its current state is a load of BS but I didn't know there are curricula for BS up until now.

</comment><comment><USER34> Definitely misread that title...

</comment><comment><USER35> Is Airtificial Intelligence a science?

<comment><USER27> It is said that "if a discipline has science in the name it usually isn't", so AI at least passes that post. :)

AI is a generic terms covering a whole spectrum of things, from 'model based philosophy' to 'advanced engineering'.

You have practitioners coming to it because they want to experimentally probe computational models to gain insights into complex systems in biology/sociology/psychology etc.

Then you have a whole different batch that flocks to it because they want to engineer better practical algorithms for heuristic search, adaptive control systems, high dimensional optimization etc

In most universities it sprang from and is embedded in the Computer Science department, which in turn was often birthed in the science&mathematics faculty (I have heard but could not verify that this was not always the case and that in some places CS was part of the theology faculty because they happened to have the first electronic computer).

Personally, being of the former type (AI for understanding systems), I'd say it fits more in the science department than computer science ever did, but the latter form (AI as advanced algorithms in CS) would certainly fit better in the engineering faculty together with the bulk of computer 'science'.

</comment></comment><comment><USER36> Not sure what the point of this discussion is, there have been BSc in AI at various universities for years (at least 20), whats the debate?

</comment><comment><USER37> I would have loved to take this curriculum. Too bad CMU is probably one of the few programs properly equipped for an AI major.

</comment><comment><USER38> Well, this BS abbreviation is amusing.

Really, I'd love to have a look at a good bu..s..t in AI reading list :)

</comment><comment><USER39> Ok, is it me? I first though it was a joke (Bull Shit in A.I.), looks like it's not, it is a degree? Don't they mean B.Sc. in A.I. then? What does B.S. stand for? (other than Bull Shit of course.)

<comment><USER40> "Bachelor of Science"; common abbreviations include B.S., B.Sc., Sc.B. and (apparently) S.B. Different schools use different abbreviations; this is in part regional, but I've seen all of the first three in U.S. schools.

<comment><USER41> BS is the one I've always taken as the standard in America, partially because it's a requirement to make the "Piled Higher and Deeper" joke for PhD.

</comment></comment></comment><comment><USER42> I read that as "BS in AI curriculum" \-- boy, did this not turn out to be what I had expected.

<comment><USER43> Came here for the same. Unfortunate naming, but accurate for large swathes of the field.

</comment></comment><comment><USER44> Bs is right.</comment>


Marriage Has Become a Trophy - <AUTHOR> https://www.theatlantic.com/family/archive/2018/03/incredible-everlasting-institution-marriage/555320/ <comment><USER2> Call me a curmudgeonly 36 year old who was married at age 22 and still happily married, but marriage as a trophy is backwards. Marriage means going through life together, for better or worse, not as a capstone to an in-progress adult life.

But that's just my old-fashioned opinion.

<comment><USER3> I would like nothing more than to get married early, but between two cross country moves in the last 4 years and potentially more in the future, unless my partner wasn't working or tied down, that seems very unlikely to happen. My parents also got married early, but could transition from single to dual income at the time, something harder to do nowadays.

Waiting to marry until you are stable seems like the smart thing to do given that traditional "man works, woman takes care of the house" isn't the way it works anymore.

</comment></comment><comment><USER4> Become?</comment>


Facebook to hold mobile event next week - <AUTHOR> http://mashable.com/2010/10/29/facebook-mobile-2/

<comment><AUTHOR> Hopefully facial recognition is brought to mobile. Facial recognition along with a mobile camera could add someone to your social network with the snap of a picture.

Facial recognition article: <http://blog.searchenginewatch.com/100705-095329></comment>


Apple's Open Source Releases - <AUTHOR> http://www.opensource.apple.com/

<comment><USER2> I don't see what is noteworthy about this. It's not a new site so why the interest?

<comment><USER3> I think perhaps because the WebCore for iOS 4.3.3 is in there. There was a "squeaky wheel" episode a week or so ago about Apple not releasing all of the source code for LGPL projects in a timely manner, this may be the "grease".

<comment><USER4> Apple still has not released the requisite source code for WebCore (they redact code from it for their WAK* classes that they are not allowed to by the license, and which stymies work on iOS WebCore modifications).

<comment><USER5> Who wrote the WAK* classes?

<comment><USER4> Given that these classes have been maintained at Apple over the course of multiple years, I'd imagine multiple engineers were involved in it's construction. If your intention is to track them down personally and harrass thrm, I'd rather this be taken up as a matter of corporate policy ;P. (Seriously, though: why does this matter?)

<comment><USER5> If they were written by Apple employees, then Apple likely owns the copyright on them, and the claim that Apple is required by some license to release their source is then in doubt.

<comment><USER4> I'm sorry, are you serious? Apple chose, of their own volition, to modify, compile, and then distribute a derivative version of WebCore, a project clearly licensed under the LGPL. In order to be compliant with this license, all new/modified code statically linked to the code they took must be cleanly separated from the rest of the binary in a fashion that would allow a working replacement to be compiled and used in its place. So, whether they want to cough up the code for WAK* or "just" give us un-linked clean object files so I can link their work together myself, as it stands they are simply violating this license, and the only thing "in doubt" is their right to use and modify WebCore.

<comment><USER3> Out of curiosity… Why would someone use a locally modified WebCore in iOS?

<comment><USER4> Normally, developers are able to get away with monkey-patching the compiled code in memory; but, in some cases, you simply need drastically different settings. A while back (important, as Apple now added this feature... at least I think) some developers managed to sort-of-almost recompile WebCore (with some horribly reverse engineered hack for the redacted parts) in order to add RTL (right-to-left text rendering) support: their goal was to get Hebrew better supported (a goal that was mostly successful, and was used by a large number of people in Israel, with nearly everyone in Israel using it).

Even when you take the monkey-patching route I generally prefer (as it allows you to more easily stack patches from multiple developers/vendors), modifications to a C++ library like WebCore are much much harder if you don't have the original source code. In my case, I add a new <script language=""> handler for "text/cycript", a dialect of JavaScript that allows inline Objective-C syntax (similar to Objective-J) that bridges to native code, so it can be used by people developing HTML desktop widgets.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> list of 200+ os projects used within OSX <http://www.apple.com/opensource/></comment>


Show HN: PenZen - Distraction free writing - <AUTHOR> http://pen.io/zen Ridiculously simply app.  Built it as weekend project to test out the new Pen.io API <comment><USER2> To me, the ability to make a tabbed space is essential to any text editor. Any chance of that feature rolling out?</comment>


ReactConf 2019 Livestream - <AUTHOR> https://www.youtube.com/watch?v=RCiccdQObpo <comment><AUTHOR> The engineering manager of the react core team talked about accessibility efforts, which was cool! Apparently they're working on:

* Primitives for focus management without dealing directly with the DOM. Maybe related to [https://github.com/facebook/react/issues/16009](https://github.com/facebook/react/issues/16009)?

* Handling multiple input methods (touch, pointer events, mouse, etc) better in a cross-platform way.

Cool stuff.</comment>