Ask HN: What happened to Philip Guo's blog/writings? - <AUTHOR> It seems to have disappeared: https://pg.ucsd.edu/writings.htm, with a terse note that the website is no longer maintained and not to ask about them.<p>Although this page: https://pg.ucsd.edu/ is working fine, and even links to a couple of his old writings (but doesn't lead to any archive of writings). <comment><USER2> Do anyone know what happened? Even the videos from the YouTube channel are gone. His writing and talks very useful reference knowledge.</comment>


Show HN: ZoomerBackgrounds – community-sourced virtual video backgrounds - <AUTHOR> https://zoomerbackgrounds.com <comment><AUTHOR> Hi HN, author here! As students facing online instruction, we built ZoomerBackgrounds to solve firsthand the everyday problems of having subpar backgrounds and spoke with several friends working in industry about their background needs. The result is a product we really think you're really going to love. We had a lot of fun making this over the weekend and hope you all enjoy :)

For the tech stack we used react on the front end with a Node.js server + Firebase for persistent storage. This was my first time writing Javascript in about 5-6 years and it's really neat to see how the ecosystem has matured - there are even real classes now! We also used the Google Cloud Vision API for detecting inappropriate images.

On the database side, we found that Firebase Store works really well until it doesn't -- when you want to do anything that isn't basic reads/writes (e.g. SQL-like IN queries, query pagination, programmatic queries like sorting by the HN ranking algorithm ~ points/(time since post)^(1.5)) the workarounds can get complex and a little weird.

One question we had is around AdSense approval! The Google Adsense approval team rejected our website for not having enough meaningful content / not having "valuable inventory" \- it would be great to hear some insight about how to show Google we are a real website.

Happy to answer any questions here or at firstname.lastname@example.com!

<comment><USER2> I see that you have an option to not include a watermark on downloaded images, but having watermarks turned on by default (especially since these look like user uploaded images which I'm assuming you don't actually own) is quite off- putting.

<comment><AUTHOR> Thank you for pointing this out, we will fix it ASAP!

</comment></comment></comment><comment><USER3> I'm confused why some of these backgrounds are mirrored. You know that when you see your background in Zoom it's only flipped for _your_ benefit, right? It's sent to others the normal way round...

<comment><USER4> Good to know, that was never obvious to me.

</comment></comment><comment><USER5> I wonder: does anyone know of a solution which does something similar in a more software agnostic way? I imagine a software that takes a webcam manipulates the image and emulates another webcam which one could select then in every software that supports webcams.

Does such a thing exist?

<comment><USER6> Yes, you can do this with OBS. The virtual webcam feature can be added as a plugin. And chroma-keying is a built-in feature. I use a Mac, and I've been toying with this a bit over the last weeks (e.g. [https://davidbieber.com/snippets/2020-04-09-exploring- obs/](https://davidbieber.com/snippets/2020-04-09-exploring-obs/))

<comment><USER7> It's super easy...if you have a suitable chromakey backdrop and decent lighting on it. What I'd love is a plugin that replicates (or at least approximates) some of the "virtual chromakey" features of Zoom et al.

I don't currently have access to a good chromakey backdrop and it really is much easier to do it well with a bright green matte screen behind you.

It ain't important, but it would sure be nice!

<comment><USER8> For Windows, Snapchat have a standalone virtual cam called Snapcamera [https://snapcamera.snapchat.com/](https://snapcamera.snapchat.com/)

There are green screen plugins for that. You could chain Snapcamera's virtual cam output into OBS and use OBS 's chromakey filter to underlay whatever other content you like. Y I u can then output OBS to another virtual cam output for use in Zoom or wherever else via the Virtualcam plugin for OBS.

It'd be really nice if someone would make a nice OpenCV virtualcam output so one could drive all this from a (relatively) simple Python script.

<comment><USER7> Oh hey, this worked fairly well. I used one of the Snap fake-greenscreen filters and fed it to OBS as you suggested. It really does highlight the limitations of fake-chromakey (edges are fuzzy/flickery) but that's to be expected without a real, properly lit backdrop.

I won't be using this in any work meetings but it could be fun for calls with friends.

</comment></comment></comment></comment></comment><comment><USER9> This has been my background for as many calls as I can do without it being unprofessional. [https://v.redd.it/84tmrvcuqbs41/DASH_480?source=fallback](https://v.redd.it/84tmrvcuqbs41/DASH_480?source=fallback)

<comment><USER10> Could you please give us a link to the original video? This looks so familiar but I can't place it.

<comment><USER11> Here you go, it's pretty wild: [https://www.youtube.com/watch?v=rvrZJ5C_Nwg](https://www.youtube.com/watch?v=rvrZJ5C_Nwg)

<comment><USER12> Is this guy serious? Listening to the lyrics has hardcore African Child vibes.... or is this just parody? [https://www.youtube.com/watch?v=H-YCZr0epts&t=84s](https://www.youtube.com/watch?v=H-YCZr0epts&t=84s)

<comment><USER13> Kirin J Callinan and Alex Cameron both like to invent characters and then write songs from the character's perspective as sincerely as possible. Sometimes the characters they are playing are just exaggerated version of themselves. They write 'serious' songs with elements irony and sometimes this means the songs fall closer to the 'parody' end of the spectrum.

I think their best attempt at this was Alex Cameron's album 'Forced Witness'[0]. Alex imagines what a Marlon Brando obsessed, porn addicted loner from the 80s would look like in 2017 with access to the internet. It manages to achieve biting satire and great song writing without devolving into simple parody.

[0] [https://www.youtube.com/watch?v=KU01Rix_l2w](https://www.youtube.com/watch?v=KU01Rix_l2w) \- The lyrics of this album are very NSFW .. read the pitchfork review if you want to know what you're getting in to: [https://pitchfork.com/reviews/albums/alex-cameron-forced- wit...](https://pitchfork.com/reviews/albums/alex-cameron-forced-witness)

</comment></comment></comment></comment></comment><comment><USER14> Here are some Archer backgrounds you could use for Zoom: [https://twitter.com/archerfxx/status/1250472698049785856?s=2...](https://twitter.com/archerfxx/status/1250472698049785856?s=20)

</comment><comment><USER15> Also: [https://unsplash.com/collections/1887152/zoom- backgrounds](https://unsplash.com/collections/1887152/zoom-backgrounds) is pretty decent

</comment><comment><USER16> I don't recommend these ones :)

[https://www.google.com/search?tbm=isch&sxsrf=ALeKk01RY08kocv...](https://www.google.com/search?tbm=isch&sxsrf=ALeKk01RY08kocvtpLMbKjtrOzoB_QJuGQ%3A1587140343993&source=hp&biw=1440&bih=788&ei=99aZXs_sOcHzkwXb3K7oCw&q=optical+illusions)

</comment><comment><USER17> [https://pixabay.com/videos/](https://pixabay.com/videos/) has some great background videos

</comment><comment><USER18> Microsoft Teams also supports custom backgrounds - adding instructions for how to use them seems like an obvious value-add

</comment><comment><USER19> There's a commercial service for this.[1] Those are backgrounds specifically intended for green screen use, and look reasonably convincing.

[1] [https://videogrowthlab.com](https://videogrowthlab.com)

</comment><comment><USER20> I'm afraid this will be quickly overrun by trolls. Hopefully you are prepared to moderate.

<comment><USER21> There's already enough questionable images up there that I don't feel comfortable sharing this with my company.

</comment></comment><comment><USER22> "This is fine" is an awesome idea. Now I'm sad we have to use Skype at work.

<comment><USER23> Using OBS and v4l2loopback I have been able to get the zoom background replacement in all messenger applications (green screen needed)

</comment></comment><comment><USER24> I've just taken to having something interesting on the wall behind me. I started with the classic, "This is a velociraptor-free workplace."

Currently I have a sign that says, "Will code for toilet paper."

</comment><comment><USER25> Very nice! I am on a phone. Are all of these backgrounds static (not animated)?

<comment><USER26> Yeah, I'm really confused. The title says video backgrounds but they all seem to be static images.

<comment><USER25> Maybe OP meant to write "virtual video _conferencing_ backgrounds."

</comment></comment></comment><comment><USER27> If folks want to use video backgrounds, there is a simple way, if your source is on youtube.

youtube-dl <video>

In many cases these days, it will yield a mp4 file that you can plug directly into Zoom. Sometimes it will download in other formats, you might need to convert.

<comment><USER28> `youtube-dl -f mp4 $url` will ensure the output is always mp4

</comment></comment><comment><USER29> Flying toasters with toast [https://www.youtube.com/watch?v=5gD- JnD1DCo](https://www.youtube.com/watch?v=5gD-JnD1DCo)

</comment><comment><USER30> I'm looking for a subtle way to give my coworkers a chuckle without being too distracting, I think it'd be funny to take a picture of my current background and then change it every day but I can't think of a decent way to do it without looking like a nut job.

<comment><USER4> Someone I know recorded a video of the normal view from their camera, and at some point they walk in, pretend to notice that they are walking in on a video conference, and slink out.

</comment></comment><comment><USER31> FYI none of those images show if you have adblockers on

<comment><USER21> They show fine for me using uBlock Origin

<comment> t-writescode uBlock, Privacy Badger, DuckDuckGo Essentials and a PiHole and can still see the images.

</comment></comment></comment><comment><USER32> There also some at [https://funnyzoombackgrounds.com/](https://funnyzoombackgrounds.com/)

</comment><comment><USER33> UI looks great and the entire product looks really well done. As a fellow student in a ton of zoom classes I'll be sure to recommend to others!

</comment><comment><USER34> Needs tags! For example, names of people and TV shows, indoor/outdoor, skyline/landscape, etc.

</comment><comment><USER4> An option to mirror the backgrounds would be very useful. Some of them are mirrored, and some of them aren't.

</comment><comment><USER35> There are a bunch of these like MeetingBackground.com and zoomvirtualbackgrounds.com

</comment><comment><USER36> I wonder what percentage of folks use video.

Where I work almost nobody turns on their camera ;)

<comment><USER16> It's 90% for us with a headcount about 2100+

<comment><USER36> I wonder if the size / formality of the company / likelihood of someone being in the meeting that you don't see often has an influence.

<comment> t-writescode My company of approx 200 mostly use face cameras, too. It's one of the steps in place to help increase connectivity during this time when we can't physically interact.

</comment></comment></comment></comment><comment><USER37> This is nice but the logo is too big.

</comment><comment><USER38> You plan on supporting videos as well?

<comment><USER39> We're definitely considering it!

</comment></comment><comment><USER40> Pack it up everyone, the casting couch wins

</comment><comment><USER41> How about improving FLOSS platforms instead?

<comment><USER42> Please don't do this here. In addition to being tedious it's against the Show HN rules: [https://news.ycombinator.com/showhn.html](https://news.ycombinator.com/showhn.html).</comment></comment>


Scientists are teaching robots how to hunt down prey - <AUTHOR> https://www.engadget.com/2016/07/05/robots-hunt-prey/ <comment><USER2> Edits:

The paper: [http://www.ini.unizh.ch/admin/extras/doc_get.php?id=61583](http://www.ini.unizh.ch/admin/extras/doc_get.php?id=61583)

Most publications from this group are typical AI research: [http://www.ini.unizh.ch/publications](http://www.ini.unizh.ch/publications)

The paper is essentially one wheeled robot following another wheeled robot implemented with convolutional neural networks. You are safe for now.

This is predator-prey behavior just like adaptive cruise control is predator- prey behavior.

\---

I see several links in the article, but they are all secondary references. Anyone have a reference to the actual "prey hunting" project.

The same skill set is needed to catch a ball or follow someone to assist (as mentioned in the article).

I am trying to figure out if this engaget article is the one hyping half- functional robots as predator machines or if the researchers themselves are promoting their work like this.

I would also like to see what the performance is like.

</comment><comment><USER3> Their was a robot in 1999 that hunted slugs and powered itself from their decomposing bodies.

[http://news.bbc.co.uk/2/hi/science/nature/503149.stm](http://news.bbc.co.uk/2/hi/science/nature/503149.stm)

<comment> lloyd-christmas Well that isn't terrifying in the slightest.

<comment><USER4> "At the base, the slugs will be transferred into a fermentation chamber where bacteria convert them into bio-gas, which is used to load a fuel cell to produce the electricity to power SlugBot's batteries for its next foray."

</comment></comment></comment><comment><USER5> Just the sort of development we'll need when we build Mechanical Hounds to track down criminals and their illegal book stashes...

<comment><USER6> The invisible hand moves in mysterious ways

</comment></comment><comment><USER7> The article could have shown you the actual robot. But instead they decided to let you imagine an indestructible titanium death cheetah.

</comment><comment><USER8> Yes, not scary at all.

[https://www.youtube.com/watch?v=_luhn7TLfWU](https://www.youtube.com/watch?v=_luhn7TLfWU)

[https://www.youtube.com/watch?v=w2itwFJCgFQ](https://www.youtube.com/watch?v=w2itwFJCgFQ)

<comment><USER9> I'd really like to see those jumps overlayed/side-by-side with actual big cat jump in a similar situation - see how far away are they from each other. (re. the first clip)

</comment></comment><comment><USER10> Ok robot, now the prey is a human. :)

<comment> at-fates-hands the war against the machines

</comment></comment><comment><USER11> How long till Cyberdyne Systems Series 800 Resistance Infiltrator Model-101, Version 2.4 ???

<comment><USER12> Already in the works, somewhere.

</comment></comment><comment><USER13> We're screwed.

(Not _really_ , at least not yet, but still...)

<comment><USER14> To be perfectly honest, we were screwed alot by one another before the nuke was invented.</comment></comment>


Automount partition in Linux: GUI style  - <AUTHOR> http://www.linuxstall.com/how-to-automount-partition-in-linux-gui-style/

<comment><USER2> Awesome application. Installed on my Linux box and it's working perfectly.

</comment><comment><USER3> It seems not to work if the fstab uses UUIDs.

</comment><comment><USER4> I have always loved pysdm -- it is _very_ handy for when you have a separate /home partition and want to remount it as /home on a new or re-installed partition (thus keeping all your files and settings) ... of course you can do it via the command line but this minimises the risk of screwing up badly.</comment>


You Shouldn't Use Offset and Limit for Your Pagination - <AUTHOR> https://medium.com/swlh/why-you-shouldnt-use-offset-and-limit-for-your-pagination-4440e421ba87 <comment> core-questions So the author suggests I use a WHERE clause like "id > X LIMIT Y".

What if the table view that I am returning data for is not sorted by the primary key? What if it is sorted by a different column, or by a set of columns in priority order? What if there's no numeric key, but rather a GUID?

<comment><USER2> I think your confusion lies in how you are supposed to give this information to the backend with a simple cursor. The cursor can be whatever you want it to be and used however you decide to do your query. Your cursor is an opaque string usually a base64 encoded string that looks like an ID, when in fact what it really is, is something that serialized to a string. Like say your data for your query can be expressed as an object well all you have to do is serialize that object to a string and by making it JSON or some other serialization format then you encode it with base 64 and viola you have a cursor. When you need to deserialize it like when the client sends you the cursor and you have to make the query something else like say it gets undecoded from base 64 and you expect it to be JSON then you could parse the JSON and have a regular object.

With that said though you shouldn't leak your implementation details to your Frontend. In other words the Frontend should just treat the cursor as an ID and receive and send back cursors unchanged.

Even though you may not be using GraphQL if you have a lot of questions about this GraphQL relay has an excellent explanation in a spec about pagination and cursoring and that page is where I learned most of what I know about Cursoring [1]. That page also includes pseudo code and detail on how you do before cursor and after cursor queries and first N or last N selections.

[1]: [https://relay.dev/graphql/connections.htm#sec- Cursor](https://relay.dev/graphql/connections.htm#sec-Cursor)</comment></comment>


How Internet sales taxes in CA could drive VigLink & others out of the state - <AUTHOR> http://www.xconomy.com/san-francisco/2011/06/07/viglink-aims-to-turn-links-into-gold-but-will-the-golden-state-force-the-company-out/

<comment><USER3> Uh, the tax is on items purchased by Cali residents from the internet, right?

As in, the vast majority of the effect will be to tax (mostly) out-of-state businesses while creating a level playing field for local retail businesses that have to pay sales tax?

Why would that drive anyone out of state? They'd have to pay the tax anyways if they're out of state and selling to California residents.

As expected, the article provided no reasoning. Ctrl-F found the word "tax" once and it was a non-sequitor about how great the company is and they're gonna leave because of this tax.

<comment><USER4> I'm Oliver Roup, the CEO of VigLink and the guy interviewed in the article.

The interstate commerce clause of the constitution and subsequent case law establishes that one state may not tax the businesses of another unless it has a physical presence ("a nexus") in it's state.

California and a number of other states are attempting to redefine nexus more broadly in an attempt to be able to force eg Amazon to collect sales tax from it's residents. Amazon has established that they would rather stop doing business with CA affiliates than (effectively) raise prices.

This should matter to you because affiliates are just the tip of the iceberg. One of the California proposals already contemplates that having subsidiaries, servers or _vendors_ in CA would establish a nexus. So let's say you're the entrepreneurs behind CloudKick (to use an already exited example from Y Combinator.) If these proposals had been law when they were looking for customers, they would have found many customers concerned that using CloudKick would obligate them to collect sales tax from their customers in California. Collecting the taxes would of course only be part of the issue - <USER2> when and how much to collect in accordance with the latest version of the law in every state would be a significant burden.

The states of course are perfectly entitled to seek new revenue, especially in times of economic distress. However we believe lawmakers should stick to strategies that work. Historically these laws have resulted in _reduced_ tax revenue and job flight. (the merchants cut ties with affiliates in those states and the affiliates either move or cease operation.) They also make investment in these kinds of business models more challenging. For a state as dependent as California on innovation, we think this is just bad public policy. (Also the Performance Marketing Association has filed suit against the state of Illinois arguing that it's affiliate tax law is unconstitutional.) The correct place for this to be taken up is at the federal level since the federal government actually does have the right to impose taxes on interstate commerce. Senator Durbin of Illinois has announced he intends to introduce legislation to address this federally in the fall.

If you're still reading and you're motivated to do something, check out <http://25000businessesatrisk.com/> for California or <http://performancemarketingassociation.com/nexus-tax> for the rest of the country.

Oliver Roup Founder / CEO, VigLink

<comment><USER3> Thanks for commenting, I clicked through to the third page eventually and saw that reasoning.

Sucks that you guys are the ones getting punished, here, the "nexus" mechanics are stupid. I'm not a California resident but I do think that if they have a sales tax, it should be across the board and include things purchased on the internet by CA residents.

<comment><USER5> California sales tax does apply to all purchases of goods by California residents. If you live in CA and purchase something which sales tax apply to, you need to pay those taxes. Since remembering to pay sales tax to the state is a pain in the ass (not to mention an easy way to cheat on your taxes), CA law requires that merchants collect the sales tax on your purchases and send it to the state.

Even pre-Internet, there was a problem with this: California law can't force businesses outside of CA to collect sales tax for CA residents. So if you bought something in another state, or from a catalog, you were suppose to report that on your income taxes and pay the appropriate CA sales tax. Of course, no one did, but it wasn't a big deal because there wasn't a lot of money in these sorts of sales.

With the Internet, more and more purchases are going to businesses that are out of state (e.g. Amazon). Since most people are habituated to having the sales tax included in purchases, they probably don't even realize they owe sales tax at all. Or if they do, they probably don't report it since no one likes to pay more taxes.

So now we come to this "nexus" problem. Currently neither Amazon nor its subsidiaries are in California, so CA laws don't apply to them and they don't have to collect sales tax for CA residents. This represents lost revenue for the state, but by changing the nexus rule to include affiliates, the state can get its sales tax laws to apply to Amazon and thus get more revenue. Amazon is resisting this because it will effectively raise their prices to CA residents (of course, CA residents were suppose to be paying that anyways).

What actually happens if the law is passed should be interesting. Amazon has said they will drop all of the CA affiliates if the law passes, just as they did in Illinois. However, New York passed a similar law and Amazon started collecting NY sales tax instead of cutting off its affiliates, presumably because the hit from having to collect sales tax was less than the money that would be lost from not having it's NY affiliates.

</comment></comment></comment></comment><comment><USER6> I wonder how such taxation policies might even loosen the appeal of Silicon Valley as _the_ center for startups.

Granted, a lot of other relatively business-unfriendly California tax structures have not (so far as one can tell - without a control group).

</comment><comment><USER7> This link keeps bouncing me to their general mobile page.

<comment><USER6> From what browser? I had no problem with either Mac-FF or Safari.</comment></comment>


100 Useful Web Tools for Writers - <AUTHOR> http://www.collegedegrees.com/blog/2008/06/11/100-useful-web-tools-for-writers/ <comment><USER2> 101\. Luminotes: A personal wiki notebook for organizing your notes and ideas.

<http://luminotes.com/>

(Probably best filed under the "Getting Organized" heading.)</comment>


[Show HN] Nanotate - Gain super speed with intuitive hotkeys - <AUTHOR>

Today I'm introducing Nanotate, the app that grants you super speed snap, annotation and uploading to imgur.
All with intuitive hotkeys.
http://alvinlai.com/nanotate/
While apps like Skitch exist, they've become bloated over time and none of them have the hotkeys that let me be as effective as I can be. Yea, I save time by minimizing the use of the mouse/trackpad, so if you're a hotkey fanatic like me, chances are you'd love Nanotate.
I've made several highly web-service specific Mac screen capture tools (Freshlog for Basecamp, Screendocs etc) over the years but they all lacked the ability to annotate.
Two weekends ago I was inspired to finally learn Quartz 2D, then spent the course of the next week drawing custom controls, authentication with imgur, implementing license key generation and Mac App Store integration.
Over time, I intend use what I've learnt with Nanotate to add annotation capabilities to my other web service-specific screen capture apps.
Today, Nanotate launches on the Mac App Store, 50% off the first week:
https://itunes.apple.com/us/app/nanotate/id601942194?mt=12
Here are some promo codes:
XYFYTTNE737M NM7YR7NEJPH9 T44LETPJ4PN3
If you missed the promo codes, you can download a free trial from:
http://alvinlai.com/nanotate/
Let me know what you think! <comment><USER2> So I have to say I really like it so far. I would add a bit of description to the iTunes store. Also, if you get around to dropbox integration that'd be cool, I could replace grabbox fully.

<comment><AUTHOR> Check out my other app Screendocs!

<http://screendocs.com/>

It lets you capture step-by-step screenshots, formats them nicely with HTML in a public Dropbox folder, where you can share a link in 1 step.

</comment></comment><comment><USER3> I have redeemed NM7YR7NEJPH9

<comment><USER2> I have redeemed T44LETPJ4PN3</comment></comment>


Is Apple TV Next Up After Apple Watch? - <AUTHOR> http://bostinno.streetwise.co/2014/12/20/after-apple-watch-in-2015-apple-tv-could-be-coming-in-2016/

<comment><USER2> It's been 'next up' for how many years now? Oh right, my Apple TV 2 came out in 2010 and has seen only a minor update (1080p vs 720p) since then. Hm...

<comment><USER3> Also seems like a weird time to be thinking about putting out a new TV, given the falling number of TV viewers [http://www.bloomberg.com/news/2014-10-30/time-warner- cable-m...](http://www.bloomberg.com/news/2014-10-30/time-warner-cable-misses- estimates-on-drop-in-tv-users.html)

<comment><USER4> The numbers are falling because viewers are switching over to broadband video services like Netflix and HBO GO. The article mentions this.

If the networks begin to take their broadband offerings more seriously, then AppleTV is in position just like the other streaming boxes.</comment></comment></comment>


Yann LeCun's comment on AlphaGo and true AI - <AUTHOR> https://www.facebook.com/yann.lecun/posts/10153426023477143 <comment><USER3> Preface: AlphaGo is an amazing achievement and does show an interesting advancement in the field.

Yet ... it really doesn't mean almost anything that people are predicting it to mean. Slashdot went so far as to say that "We know now that we don't need any big new breakthroughs to get to true AI". The field of ML/AI is in a fight where people want more science fiction than scientific reality. Science fiction is sexy, sells well, and doesn't require the specifics.

Some of the limitations preventing AlphaGo from being general:

\+ Monte Carlo tree search (MCTS) is really effective at Go but not applicable to many other domains we care about. If your problem is in terms of {state, action} pairs and you're able to run simulations to predict outcomes, great, but otherwise, not so much. Go also has the advantage of perfect information (you know the full state of the board) and deterministic simulation (you know with certainty what the state is after action A).

\+ The neural networks (NN) were bootstrapped by predicting the next moves in more matches than any individual human has ever seen, let alone played. It then played more against itself (cool!) to improve - but it didn't learn that from scratch. They're aiming to learn this step without the human database but it'll still be very different (read: inefficient) compared to the type of learning a human does.

\+ The hardware requirements were stunning (280 GPUs and 1920 CPUs for the largest variant) and were an integral part to how well AlphaGo performed - <USER2> adding hardware won't "solve" most other ML tasks. The computational power primarily helped improve MCTS which roughly equates to "more simulations gets a better solution" (though with NNs to guesstimate an end state instead of having to simulate all the way to an end state themselves)

Again, amazing, interesting, stunning, but not an indication we've reached a key AI milestone.

For a brilliant overview: [http://www.milesbrundage.com/blog-posts/alphago- and-ai-progr...](http://www.milesbrundage.com/blog-posts/alphago-and-ai- progress)

John Langford also put his opinion up at: [http://hunch.net/?p=3692542](http://hunch.net/?p=3692542)

(note: copied from my Facebook mini-rant inspired by Langford, LeCun, and discussions with ML colleagues in recent days)

<comment><USER4> I took a closer read through the AlphaGo paper today. There are some other features that make it not general.

In particular, the initial input to the neural networks is a 19×19×48 grid, and the layers of this grid include information like:

\- How many turns since a move was played

\- Number of liberties (empty adjacent points)

\- How many opponent stones would be captured

\- How many of own stones would be captured

\- Number of liberties after this move is played

\- Whether a move at this point is a successful ladder capture

\- Whether a move at this point is a successful ladder escape

\- Whether a move is legal and does not fill its own eyes

Again, before the neural nets even get involved. Some of these layers are repeated 8 times for symmetry. I would say for some of these, AlphaGo got some domain-specific help in a non-general way.

It is of course still groundbreaking academically. The architecture is a state-of-the-art deep learning setup and we learned a ton about how Go and games in general work. The interaction between supervised and reinforcement learning was interesting, especially how the latter behaved worse in practice in selecting most likely moves.

disclaim: Googler, not in anything AI.

<comment><USER5> Note, that these features are for the RollOut fast policy. The reason is that this needs to be fast, so rather than a net they have a linear policy. A linear policy in order to work it requires good feature selection, which is what this is. In some future, when we have better hardware, you can imagine removing the roll out policy and having just one.

<comment><USER6> I think you're confusing this list of attributes with a separate list used for rollouts and tree search. The ones above are definitely used for the neutral networks in the policy and value networks. See: "Extended Data Table 2: Input features for neural networks. Feature planes used by the policy network (all but last feature) and value network (all features)."

</comment></comment></comment></comment><comment><USER7> I don't know if I'd agree that unsupervised learning is the "cake" here, to paraphrase Yann LeCun. How do we know that the human brain is an unsupervised learner? The supervisor in our brains comes in the form of the dopamine feedback loop, and exactly what kinds of things it rewards aren't totally mapped out but pleasure and novelty seem to be high on the list. That counts as a "supervisor" from a machine learning point of view. It's not necessary to anthropomorphize the supervisor into some kind of external boss figure; _any_ kind of value function will do the trick.

<comment><USER8> Wouldn't that be a self-supervised learning? Yes, as the brain lears, it gets rewarded or not, but not by any external organism - rather by itself (or a part of itself). The "learning instruction manual" is in there somewhere.

So if you are able to code an AI so that it can run experiments over itself and gradually build this "learning instruction manual" eventually it will become able to do things you never though of in the first place.

<comment><USER7> I think that's what the AlphaGo team did - they trained their agent against itself, and it learned new moves not explicitly programmed in! With an evaluation function just saying ahead / not ahead.

</comment></comment></comment><comment><USER9> Ah, the joys of arguing about artificial intelligence without ever defining intelligence.

It is the perfect argument, everyone can forcefully make their points forever, and we'll be none the wiser whether this AI is 'true AI' or not.

<comment><USER10> So then the discussion is all about defining intelligence, beginning with a fuzzy conception of required qualities. It literally means ability to select, read, choose between. The discussion can be a means to judge the AIs or, for the sake of the argument, to judge and improve intelligence with AI as a heavily simplified model, which is an old hat by now.

Do you think that's irrational? Do you expect neuroscience or are you rather interested in mathematics? I thought that's how to learn in absence of external inputs, by recombination of the old inputs, ie. the fuzzy notions, to generate new ones. I'd think that's how recurrent networks work. What do you know about it (honest question)?

 _Fuzzy_ doesn't mean wrong. Underspecification, as little as I know about it, is a feature.

<comment><USER9> I remember similar arguments in the early 90s when I was doing my PhD. They got about as far then. The same arguments will be happening in another 25 years. And beyond, even when a computer is super-human in every conceivable way, there'll be arguments over whether it is 'real AI'. And nobody will define their terms then either. Ultimately the discussion will be as irrelevant then as it is now, and, then as now, it will be mostly take place between well-meaning undergrads, and non-specialist pundits.

(Philosophers of science have a discussion that _sounds_ similar, to someone just perusing the literature to bolster their position, but the discussion is rather different though also not particularly relevant, in my experience.)

> What do you know about it (honest question)?

About recurrent NNs? Not much beyond the overview kind of level. My research was in evolutionary computation, though I did some work on evolving NN topologies, and using ecological models to guide unsupervised learning.

<comment><USER10> > About recurrent NNs?

yes, obviously, as that's the topic, but also the the rest I of what I mentioned, neuroscience, maths, leaning on logic and philosophy.

> I remember similar arguments in the early 90s

That's why I mention neuroscience, the ideas are much older.

> even when a computer is super-human in every conceivable way, there'll be > arguments over whether it is 'real AI'

Of course. Just because it's superhuman, we humans wouldn't know what it is, whether it is what we think it is and if that's all there could be.

Real (from res (matter (from rehis (good as in the goods))) + ~alis (adjective suffix (from all?))) means worthy and obviously an AI is only as good as its contestants are bad. It won't be real for long before it's thrown to the trash once a better AI is found.

That'll stop when the AI can settle the argument convincingly. That's what's going on, evangelizing. And we do need that, because if not for the sake of the art itself, then as proof for the application of answers and insights other fields.

> And nobody will define their terms then either. Ultimately the discussion > will be as irrelevant then as it is now

LeCun sure went along a lot further since then, and he defines the terms in software. As I said, the discussion is just about what to make of it. Of course many come up basically empty, that's why the discussion is important, and that's why I asked _what do you know about it_. I think it's a very basic question and not easy to grow tired of. If you work that, maybe that's different and specialized to computation.

There might not be much to say about it, all the easier then to summarize in a short post. Or there's indeed more to it, then I'd appreciate a hint, to test my own understanding and learn.

I don't really know, what LeCun talks about, or the techniques you studied, so I'm saying _it_. Just for perspective. I'm just generally interested in learning and computation is just one relevant and informative angle. Maybe that's what bothers you, learning to learn, and that's why its freshman bothering with it, but learning to learn is maybe really just learning, or impossible. That's the kind of logical puzzle that's to be taken half joking. Don't beat yourself up over it.

</comment></comment></comment></comment><comment><USER11> I think we need more advances in neuroscience and, I know this will be controversial, psychology before we really know what the cake even is.

Edit:

I actually think the major AI breakthrough will come from either of those two fields, not computer science.

<comment><USER12> I disagree. In engineering we've shown great advancements not by exactly reproducing biology from cases like transportation (wheel vs legs) or flight (engine and wing vs flapping feathers). We can't even mass produce synthetic muscles and instead use a geared motor.

The growth in building increasingly sophisticated AI is faster than our efforts to reverse engineer biology. I could see that changing with improved observational techniques like optogenetics or bacteria and viruses we can "program" to explore.

Researchers are already focusing on concrete insights from cognitive science, neuroscience, etc such as one shot learning or memory that we haven't yet figured out in a cohesive machine learning framework. For the time being I'd bet on more advaces coming without significant changes in biological understanding.

<comment><USER13> I feel that your analogy does not disprove OP's claim. You would first have to prove that the analogy is actually applicable. Theoretically, one could argue that motion is substantially different from intelligence such that the analogy does not hold.

But I am with you in that engineering / CS / ... should not wait for neuroscience to make further discoveries but continue the journey.

<comment><USER12> Interesting point, but which do you think is a more reasonable prior: that intelligence is a deterministic process similar other's we've encountered or that there is something uniquely different about intelligence than other physical phenomena? I think the latter requires more assumptions so I would argue philosophically it is the one that requires the proof or more evidence :)

Regardless, my feeling is that there is a healthy dose of human hubris around intelligence. If I train a dog to go fetch me a beer from the fridge, that seems pretty smart. It learned how to understand a request, execute a complex sequence of actions for motion and planning, reason around occluded objects, understand depth and 3 dimensional space, differentiate between objects, and more without me writing a sequence of rules to follow. I'd be happy to have a robot that intelligent. Plants dont have brains or neurons yet react to sensory stimulus such as light touch or sound, communicate, and even have memory and learn. It's not at a scale to do something interesting within one plant but communities of plants are arguably the most successful organisms on the planet.

Andrew Ng likes to point to a Ferret experiment [0] where experimental neuroscientists rewired the visual inputs to the auditory cortex and the auditory cortex learned to "see" the visual signals! This suggests that there may be some amount of unified "learning" rules to the brain. Biology is never so clean but if humans have whatever this intelligence thing is that lesser organisms do not, there is another angle to look at things. We have a lot of neurons which suggests less per neuron specialization than say a C. elegans; basically large populations of neurons perform tasks that in lesser creatures single or few neurons may perform. While the trees are complex and important to understand for biology and medicine, the forest may have some high level rules.

Looking at something that appeared intelligent 50-100 years ago but seems mechanical now, we have text to speech. NETtalk was a simplified computational neuroscience model from the 80s that could synthesize human speech. Today we have far better quality techniques that came out of R&D focused on things like large high quality labeled datasets for training, better soundcards, more processing power, and algorithmic improvements. Researchers didn't continue trying to model the brain and instead threw an HMM and a couple other tricks at it. Now we're going full circle back to neural networks but they aren't using any advances from biology and certainly arent produced by computational neuroscientists like Terry Sejnowski.

It's funny because at the time of NETtalk they thought that learning to read would be an extremely hard problem because it incorporates so many components of the human brain [1]. While it certainly wasn't a trivial problem, state of the art OCR and object recognition came from similar artificial neural networks a decade later with LeNet and MNIST * . And no, ANNs != biological neuronal networks. The models of computational neuroscientists are different; for example look at [2, 3] for high level models or [4] for a tool.

Now I'm even more convinced than before that understanding the brain is great for humanity but wont be necessary for building intelligent systems that can perform tasks similar to biological ones.

[0] [http://www.nature.com/nature/journal/v404/n6780/full/404871a...](http://www.nature.com/nature/journal/v404/n6780/full/404871a0.html)

[1] [https://en.wikipedia.org/wiki/NETtalk_(artificial_neural_net...](https://en.wikipedia.org/wiki/NETtalk_\(artificial_neural_network\))

[2] [http://science.sciencemag.org/content/338/6111/1202](http://science.sciencemag.org/content/338/6111/1202)

[3] [http://ganguli-gang.stanford.edu/pdf/InvModelTheory.pdf](http://ganguli- gang.stanford.edu/pdf/InvModelTheory.pdf)

[4] [http://neuralensemble.org/docs/PyNN/index.html](http://neuralensemble.org/docs/PyNN/index.html)

* Perhaps you could argue that convolutions are loosely inspired by neuron structure, but that sort of knowledge had existed for quite some time, with inspiration arguably within Camillo Golgi's amazing neuronal physiology diagrams from the 1870s let alone the 1960-80s. It's telling that papers on CNNs have little to no neuroscience and a lot of applied math :)

<comment><USER13> I did not mean to have implied that I think there is anything magical about intelligence. Of course, it is based on physical phenomena. I am doing my PhD right now and I try to incorporate as much AI/ML into it as possible.

What I meant to say is that our ANNs are so ridiculously simplified versions of real neural networks that there might still be something to be learnt from the real brain. This shall not imply that to achieve intelligence, the solution necessarily has to mimic a biological brain.

(Thank you for your detailed response. I love to read about this stuff!)

edit: missing word

</comment></comment></comment></comment></comment><comment><USER14> Can someone more knowledgeable explain why biological systems are considered unsupervised instead of reinforcement based systems?

While it seems intuitive that most individual "intelligent" systems in animals can be seen as unsupervised, isn't life itself driven in a reinforced manner?

<comment><USER15> There is no enough reinforcement volume to learn anything complex.

If child gets external reward for every waking moment until she is 12 years old, it's just 4.2 million signals.

Reinforcement learning works for fine motor control and other tasks where the feedback loop is tight and immediate. Reinforcement and conditioning can also modulate high level cognition and behavior, but it's not the secret sauce of learning.

<comment><USER13> I could not follow your argument. Could you elaborate? (Honest question)

<comment><USER15> Reinforcement learning is learning by interacting with an environment. RL agent learns from the consequences of its actions.

Biological system don't live long enough to get enough feedback to learn complex behavior trough consequences. Animal or human must be able to generalize and categorize what they have learned correctly without external feedback teaching it how to derive the function that's doing it.

For example, if you want to learn how to tie a complex knot and learn it trough trial and error you might have try it million times if you improve your behavior mainly trough consequences of your actions. In practice you probably try only 5-10 times before you learn to do it and it involves pausing and looking at the problem. There is some kind of unsupervised model building happening that is not involving external input.

<comment><USER13> Ok, I see what you mean now.

But it seems like (or one could misunderstand you in way that) you see those concepts as mutually exclusive. I would assume a combination of reinforcement learning and unsupervised (and supervised) learning.

Rats have been trained to detect landmines and then go back to their trainers and show them the mine. This is complex behaviour that was taught using reinforcement (at least on a top level). There will be some unsupervised learning going on in the rat's brain on a lower level. But it is complex behaviour and it's been reinforcement learnt.

<comment><USER15> >see those concepts as mutually exclusive.

I certainly don't. Reinforcement or conditioning is part of it, but it's not the cake.

</comment></comment></comment></comment></comment></comment><comment><USER16> I would like future competitions between AIs and humans to have a "power budget" for training and during gameplay. For example, a chess grandmaster that has played for 20 years would have spent X amount of energy training. The AI should get an equivalent budget to train with. During gameplay, the AI would get the same 20 watts [1] that a human has. This would drive the development of more efficient hardware instead of throwing power at the problem :)

[1] [http://www.popsci.com/technology/article/2009-11/neuron- comp...](http://www.popsci.com/technology/article/2009-11/neuron-computer- chips-could-overcome-power-limitations-digital)

</comment><comment><USER17> I'm surprised he'd make such an optimistic statement. I think a better analogy would be:

We figured out how to make icing, but we still don't really know what a cake is.

<comment><USER18> We can describe Solomonoff-based agents like AIXI. None of them are fully sufficient for true general AI, but you could probably accomplish quite a bit with an AIXI-like agent.

<comment><USER19> As fas as I know, the only thing existing AIXI implementations have demonstrated, is to learn to play Pac-man at a somewhat reasonable, but not in any way stellar level.

<comment><USER18> Yes, it is not tractable. It serves as an example of a definition of an agent though.

</comment></comment></comment></comment><comment><USER20> It sounds reversed to me- shouldn't the "cherry" be supervised learning and the "icing" be reinforcement learning? At least insofar as reinforcement learning is closer to the "cake" of unsupervised learning, as there is less feedback required for a reinforcement learning system to work (a binary correctness signal rather than an n-dimensional label signal.)

It might also be argued that most "unsupervised learning" in animals can be broken down into a relatively simple unsupervised segment (e.g., an "am I eating nice food" partition function) and a more complicated reinforcement segment (e.g. a "what is the best next thing to do to obtain nice food?" function.) I'm sure someone like Yann LeCun is familiar with such arguments, though.

</comment><comment> grumpy-buffalo I wish the term "true AI" were replaced with "strong AI" or "artificial general intelligence" or some such term. We already have true AI - it's a vast, thriving industry. AlphaGo is obviously a true, legitimate, actual, real, nonfictional example of artificial intelligence, as are Google Search, the Facebook Newsfeed, Siri, the Amazon Echo, etc.

<comment><USER21> _We already have true AI - it 's a vast, thriving industry._

Or how about calling that vast, thriving industry "weak AI," or "clever algorithms," which is what they really are. The original definition of AI was what we now call strong AI, but after some lesser problems were solved without actually creating strong AI, we had to come up with some name for those.

<comment><USER22> I want to see an AI that can improve itself by developing new algorithms for arbitrary tasks. I wonder how far off we are from that now?

<comment><USER23> You know, if you're at the point where you can give a human-readable spec of the problem and the AI can make a passable attempt at it, that's basically the Turing Test -- hence why I think it deserves its status as holy grail. Something that passes would really give the impression of "there's a ghost inside here".

<comment><USER22> Rather than a ghost, I wonder if we'll ever have the average person looking at brains and thinking "there's a program inside here."

And then to reverse it, imagine that the world really is some kind of massive simulation... and that there are backups of the save()-ed :)

</comment></comment></comment></comment></comment><comment><USER24> No one is claiming that alphaGo is close to AGI. At least not anyone that understands the methods it uses. What alphaGo is, is an example of AI progress. There has been a rapid increase in progress in the field of AI. We are still a ways away from AGI, but it's now in sight. Just outside the edge of our vision. Almost surely within our lifetime, at this rate.

<comment><USER19> > We are still a ways away from AGI, but it's now in sight.

These people in 1956 also thought that AGI was in sight:

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

<comment><USER24> Not most of them, and not with any certainty. The Dartmouth conference was just the very first investigation into whether it was even possible and what it would take. Of course they didn't know when AGI would be developed. The computers they had access to were smaller than my calculator!

Now we have massive computers and 60 years of progress. And lots of real world successes of AI technology. Surely we are in a much better position to predict than people of 60 years ago!

<comment><USER19> > Not most of them, and not with any certainty.

This probably holds true also today.

</comment></comment></comment></comment><comment><USER25> If you look at how child learns, it's huge amount of supervised learning. Parents spend lots of time in do and don't and giving specific instructions on everything from how to use toilet to how to construct a correct sentence. Lots of language development, object identification, pattern matching, comprehension, math skills, motor skills, developing logic - these activities has huge amount of supervised training that runs day after day and year after year. There is sure unsupervised elements like ability to recognize phonemes in speech, tracking objects, inference despite of occlusion, ability to stand up and walk, make meaningful sounds, identify faces, construct sequence of actions to achieve goal, avoiding safety risks from past experiences and so on. However, typical child goes through unparalleled amount of supervised learning. There was an incidence of a child who got locked up in a room for over a decade and she didn't developed most of the language, speech or social skills. It seems unsupervised learning can't be all of the cake.

<comment><USER4> Interesting. I have heard the opposite of this.

Supervised learning may be how it looks from the outside, but consider that out of the >6,570,0000 waking seconds of a child's life up to age 5, there maybe only a few dozen instances of supervised adult instruction per day. Besides those, what do neurons do the remaining 99.99% of the time?

Part of the problem might be that comparing supervised and unsupervised learning 'effectiveness' is a bit apples-and-oranges. Their effect together is highly collaborative. Children have to develop abstractions on their own before you can supervise them on those abstractions. It is probably fair to say that a key part of human general intelligence is creating high-level representations of low-level stimuli. It might also be fair to say that this is what the brain is doing 100% of the time.

So if I may hand wave a little: while supervised learning can make a child better maximize objectives on those high-level representations (objectives they may be aware of through unsupervised observation), for the most part it does not fundamentally change the structure of those things in the child's brain. This makes unsupervised learning almost all of the cake to me.

My post has the caveat that children undergo a lot of other objective-based learning besides explicit instruction from adults, and all of this maps only fuzzily to supervised vs unsupervised learning in AI, which is the issue from the submitted post.

<comment><USER26> > there maybe only a few dozen instances of supervised adult instruction per > day

There might be only a few dozen instances but I think each instance has a lasting effect which makes up for this.

If you scold a child for something stupid it did then it will remember this for a long-ish time. Same for teaching him things or correcting stuff.

I guess you show the child some correct behaviour at a few instances and this is then used internally as a guideline for selflearning.

<comment><USER4> That is a great point. Talking about supervised vs unsupervised vs reinforcement learning is most straightforward with tasks like language learning, audio processing, image processing, and playing discrete games. It is possible to see broad similarities between deep learning approaches and human cognition for several of these tasks. But when you start getting into tasks like the formation of narrative identity, things get very complicated.

Maybe one major difference between playing a game and forming a personality is that these early important interactions don't just adjust wirings in the cerebral cortex, the part of the brain most responsible for general intelligence. It goes straight to our emotional memory bank in the limbic system, which is _all about_ learning an incredibly important objective function: to survive. But very high level features formed by unsupervised learning can do this, not just reptilian predator detection routines. Being scolded or corrected can have a powerful effect on future motivation. Suffice to say, artificial intelligences don't currently worry about this.

</comment></comment></comment></comment><comment><USER27> Is anyone working on an embodied AI? Even a simulated body might help. Ultimately intelligence is only useful insofar as it guides the body's motion. We often tend to minimize the physical act of say, writing down a theorem or actually applying paint to the canvas, but there are certain actions like playing a musical instrument that certainly blur the distinction between "physical" and "mental". Indeed, even 'purely mental' things like having an "intuition" about physics is certainly guided by one's embodied experience.

<comment><USER28> You might look at the work of Rodney Brooks. There was a wonderful documentary called "Fast, Cheap, and Out of Control", and I'm pretty sure it was in there that he explains his notion that true intelligence is embodied. That was years ago and I haven't kept up with the field, but perhaps it's a useful starting point for you.

<comment><USER27> Cool, thanks. I think the idea is also important to Zoltan Torey, who believed that "consciousness" is essentially a simulation of a kind of arm in our mind. ("The Conscious Mind"). But I've never heard of anyone attempting to train an AI within a simulated world. The nice thing about doing that is that aren't limited by physics of robotics. I suspect that for basic intelligence stuff, relatively lo-fidelity simulation would be sufficient. (Although there are some very important moral issues presented by such a program!)

<comment><USER28> > But I've never heard of anyone attempting to train an AI within a simulated > world.

Ah, then you might want to follow the trail from SHRLDU:

[http://hci.stanford.edu/winograd/shrdlu/](http://hci.stanford.edu/winograd/shrdlu/)

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

<comment><USER27> Thanks for the link! That's pretty close to what I mean; but I was thinking more like an embodied AI living in a simulated world. So, for example, you might start from a Counter-Strike bot, input to the bot would be it's 'camera', and output would be it's position and actions.

</comment></comment></comment></comment></comment><comment><USER29> What we need next are more systems which can predict "what is likely to happen if this is done". Google's automatic driving systems actually do that. Google tries hard to predict the possible and likely actions of other road users. This is the beginning of "common sense".

</comment><comment><USER30> > As I've said in previous statements: most of human and animal learning is > unsupervised learning.

I don't think that's true. When baby is learning to use muscles of its hands to wave them around there's no teacher to tell it what should its goal be. But physics and pain teaches it fairly efficiently which moves are bad idea.

It has built in face detection engine and the orienting and attempting to move and reach towards it is clear goal. Reward circuit in the brain do the supervision.

<comment><USER31> The difference between supervised and unsupervised is that the inputs are paired with known outputs for supervised. In unsupervised the agent has (initially) no knowledge of what the outputs will be, given the inputs.

The baby does not know (initially) that something will cause pain, or the extremities of its joints. It must learn this over time and experience. The baby must also learn how to use the built in components, as it has no idea what outputs will occur given the inputs.

As you allude to, there are built in mechanisms/configurations in the brain which provide various forms of feedback, as well as built in behaviours and responses. If there was no basic structure to the brain, I think it would be almost impossible for an unsupervised agent to develop and learn to the complexity and level of a human brain. These basic behaviours significantly speed the initial development process up.

<comment><USER30> > The difference between supervised and unsupervised is that the inputs are > paired with known outputs for supervised. In unsupervised the agent has > (initially) no knowledge of what the outputs will be, given the inputs.

I'd still call learning to move, supervised (or reinforced) then. You're feeding the world some input (muscle contractions), and the world immediately gives you the output in terms of pain. You are using it to adjust your internal function. After a while you have pretty good function that maps you muscle contractions to whether it valid move or not and you can generalize it to when your position is different and get to some other stuff like trying which moves can alter what you see and feel (apart from your hands that you already know).

> If there was no basic structure to the brain, I think it would be almost > impossible for an unsupervised agent to develop and learn to the complexity > and level of a human brain.

I agree that there's some stuff built in, but I think it's surprisingly little of it. How little I think we can see when we learn about people blind from birth or with deformities. They still learn to operate their bodies as well as it's physically possible.

Whatever person can relearn after physical brain damage I think can't be built-in. I think the structure we see in the brain is result of built-ins + various structural optimizations that make some stuff faster (or more energy efficient) than if the structure was different.

For me the real trick in neural networks is to find out how exactly natural neurons learn because it's not back-propagation and it's important. Do we know that? In detail? How scratching yourself on the face as a baby translates to chemical changes in synapses of neurons that fired recently?

</comment></comment></comment><comment><USER32> If artificial intelligence is the cake, true AI is the ability to argue about whether cake is a useful analogy.

<comment><USER33> The ability to argue, or the capacity to reason that argument? If the AI can convincingly argue that the analogy is apt, without actually reasoning or "thinking", does that make it the holy grail? I'd suggest that self awareness, and the ability to reason, would be true AI, and not just a glorified Turing test in the form of an effective ability to pose an argument.

</comment></comment><comment> Sergej-Shegurin (1) Adversarial learning is unsupervised and works great. Most of language modeling is unsupervised (you predict next word, but it's not real supervision because it's self-supervision). There're many works in computer vision which are unsupervised and still give more or less reasonable performance. See f.e. [http://arxiv.org/pdf/1511.05045v2.pdf](http://arxiv.org/pdf/1511.05045v2.pdf) for unsupervised learning in action recognition, also [http://arxiv.org/pdf/1511.06434v2.pdf](http://arxiv.org/pdf/1511.06434v2.pdf) and [http://www.arxiv-sanity.com/search?q=unsupervised](http://www.arxiv- sanity.com/search?q=unsupervised)

(2) ImageNet supervision gives you much information to solve other computer vision tasks. So perhaps we don't need to learn everything in unsupervised manner, we might learn most features relevant for most tasks using several supervision tasks. It is kind of cheating but very reasonable one.

Moreover,

(3) We observe now just fantastic decrease of perplexity (btw, it's all unsupervised = self-supervised). It's quite probable that in the very near future neural chat bots write reasonable stories, answer intelligibly with common sense, discuss things. All of this would be just a mere consequence of low enough perplexity. If neural net says smth inconsistent it means that it gives too much probability to some inappropriate words i.e, it's perplexity isn't optimized yet.

(4) It's quite probable that it would open a finish line for human-level AI. AI would be able to learn from textbooks, scientific articles, video lectures. Btw, [http://arxiv.org/pdf/1602.03218.pdf](http://arxiv.org/pdf/1602.03218.pdf) gives a potential to synthesize IBM Watson with deep learning. May be, the finish line to human level AI has been opened already.

</comment><comment><USER34> There's also a huge issue around problem-posing and degrees of freedom, that doesn't necessarily get better as your AI tools improve. Go has a fairly large state space, but limited potential moves per turn, well-defined decision points, limited time constraints, and only one well-defined victory condition. The complexity is minuscule compared to even something relatively well- structured like "maximize risk-adjusted return via stock trades".

</comment><comment><USER35> Can someone elaborate the difference between reinforcement learning and unsupervised learning? It seems that I mistakenly think that human learns through reinforcement learning, that we learn by the feedback from the outside world. I mean without feedback from aldult can a baby even learn how to walk?

<comment><USER36> Not an expert, but my understanding is that humans can learn many things through reinforcement learning, but most of our intelligent decisions are a result of unsupervised learning.

For instance, if the stove element was red hot and you touched it, you'd receive a feeling of pain. Reinforcement learning would suggest that you shouldn't do this again, and you might learn to not touch stove elements when they are red hot anymore.

However, a human is likely to additionally realize that touching a red hot marshmallow stick would burn them as well. And at the same time, a human can also tell that a red ball is safe to touch. This sort of behaviour (internally labeling things and deciding _what_ it is that made the stove element dangerous so you can apply that to other things) would be unsupervised learning.

<comment><USER37> Interesting, so it's the ability to generalize attributes selectively? That sounds like it would make for the difference between the specialized deep learning we have and a more general intelligence.

Could that be accomplished if NN problems are broken into features, and those features are individually tested against new information? Though you'd need a layer for feature selection, and it still lacks the ability to pick features without training.

<comment><USER36> > Interesting, so it's the ability to generalize attributes selectively?

In technical terms it is the ability to generate its own features and classifications for making decisions, where in supervised learning a human provides the features and classifications.

> Could that be accomplished if NN problems are broken into features, and > those features are individually tested against new information?

If I understood your example correctly, that would be an example of supervised learning, as you pointed out it lacks the ability to pick features without being told what they are. There are types of unsupervised learning that exist and work quite well, for example cluster analysis [1].

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

</comment></comment></comment></comment><comment><USER38> The statement that he's critiquing does reflect the wider-spread, overly simplistic view of AI. Contrary to hype, recent events represent only partial development/peeling of the top layer from the AI onion, which has more known unknowns and unknown unknowns than known knowns.

</comment><comment><USER39> Totally agree, it's a bit like when some physicists were convinced that there wouldn't be other great breakthroughs after Maxwell's theory of electromagnetics. Maybe Yann LeCun is the Einstein of Machine Learning? haha

</comment><comment><USER40> It seems that AI does well when the problem and the performance metrics are well defined: chess, Go, various scheduling problems, pattern recognition, etc. At the very least we can track, quantitatively, how far off we are from a satisfactory solution, and we know we can only ever get closer.

"True", or general-purpose AI, is harder to pin down, and thus harder to define well. I'd argue that the moment we have define it formally (and thus provided the relevant performance metrics) is the moment we have reduced it to a specialized AI problem.

<comment><USER24> The Turing test is one such measure that is unbeatable by specialized AIs. Language understanding in general requires some degree of intelligence.

I don't think the Turing test should be an actual goal of AI researchers. Turing just proposed it as a hypothetical example.

</comment></comment><comment><USER41> It seems to me one of the higher hurdles for creating a general purpose intelligence, is human empathy. Without it you are left with creating a nearly infinite-length rules engine.

When you ask your AI maid to vacuum your house, you would prefer it not to plow through closet door to grab the vacuum, rip your battery out of your car and hardwire to the vacuum, and then proceed to clean your carpets. If you don't want to create a list of rules for every conceivable situation, the AI will need to have some understanding human emotions and desires.

<comment><USER42> I'm not sure why you connect that behaviour to empathy. There are two simple rules here that apply to almost every possible situation, as well as the one you presented. They aren't even connected to human emotions. That's pure economy.

1\. Minimise work (plugging into socket has lower cost / effort than what you described)

2\. Minimise irreversible changes (or cost of reversing them)

There are so many people with low empathy who are useful, I don't think this is an issue until someone needs a personal companion rather than general purpose AI.

<comment><USER41> These rules cannot be applied in every situation. Then you back to writing a bunch of rules. If you told a general AI to take care of a puppy for a few days, it would end up putting a diaper on it and keeping it in a crate 24 hours a day. That would be the least amount of work to take care of the puppy, and minimize the chance of the puppy hurting itself or damaging anything else.

<comment><USER42> This is close to what happens when you leave your pet at a cheap pet hotel though. General purpose humans do it the same way.

</comment></comment></comment></comment><comment><USER43> We keep trying to engineer AI rather than reverse engineering it. The thing with living organisms is that the neural network underlying the intelligence of living organisms is a product of evolutionary design of an organism situated in the real physical world with laws of physics and space and time. This is where the bootstrapping comes in. Unsupervised learning is built on top of this. Trying to sidestep this could prove difficult to get to General AI.

</comment><comment><USER44> To be fair AlphaGo never decided Go was a fun and worthy challenge; Lee Sedol, however, did.

</comment><comment><USER45> Click bait titles aside it's an amazing achievement.

</comment><comment><USER46> A beautifully concise statement of an incredibly common misconception as to the current state of the field.

</comment><comment><USER47> I have Facebook blocked for the next week (because, you know, productivity). Can someone post LeCun's comment here?

<comment><USER48> Statement from a Slashdot post about the AlphaGo victory: "We know now that we don't need any big new breakthroughs to get to true AI" That is completely, utterly, ridiculously wrong. As I've said in previous statements: most of human and animal learning is unsupervised learning. If intelligence was a cake, unsupervised learning would be the cake, supervised learning would be the icing on the cake, and reinforcement learning would be the cherry on the cake. We know how to make the icing and the cherry, but we don't know how to make the cake. We need to solve the unsupervised learning problem before we can even think of getting to true AI. And that's just an obstacle we know about. What about all the ones we don't know about?

</comment></comment><comment><USER49> Like, duh.

</comment><comment><USER50> True life has no rules

</comment><comment><USER51> The cake is a lie. Obviously :)

<comment><USER52> reddit is over there ->

</comment></comment><comment><USER53> Stop looking at the red dot. Take a step back and look around you. "True" AI is here and it's been here for some time. You're communicating with it right now.

It's just that we find it so hard to comprehend it's form of "intelligence", because we're expecting true AI to be a super-smart super-rational humanoid being from sci-fi novels.

But what would a super-smart super rational being worth 1 billion minds look/feel like to one human being ? How would you communicate with it ?

Many people childishly believe that "we" have control over "it". You don't. We don't.

The more we get used to it being inside our minds, the harder it becomes to shut it down without provoking total chaos in our society. Even with the chaos, there is no one person (or group) who can shut it down.

But "we" make the machines ! Well... yes, a little bit..

Would we be able to build this advanced hardware without computers ? Doesn't this look like machines reproducing themselves with a little bit of help from "us" ?

Think about the human beings from the Internet's perspective - what are we for it ? Nodes in a graph. In brain terms - we are neurons, while "it" is the brain.

But it's not self-aware ! What does that even mean ?

Finally, consider that AlphaGo would have been impossible without the Internet and the hardware of today.

And that "true" AI that everybody expects somewhere on the horizon will also be impossible without the technology that we have today.

If so, then what we have _right now_ is the incipient version of what we'll have tomorrow - that "true" AI won't come out of thin air, it will _evolve_ out of what we have right now.

Just another way of saying the same thing - it's here.

Is this good or bad ? Well, that's a totally different discussion.

</comment><comment><USER54> Once an AI algorithm (even just one for Go) realizes that it can hijack the bank accounts of all the world's other 9 dan players in order to demand an analysis of its planned move, and figures out how to do that, _then_ we've made the cake.

N.B. the genericity of the deepmind stuff that is the basis of AlphaGo makes this seem not entirely far-fetched.

Yum, cake.</comment>


Giving corporations free money doesn't work - <AUTHOR> https://theoutline.com/post/8502/stop-giving-companies-free-money <comment><USER2> TL;DR - Business tax incentives are not structured appropriately causing unequal distribution skewing towards bigger corporations with very minal returns in jobs/benefits to locals and few states paying businesses out of its citizen money.

Mentions threat/schemes by companies to move their businesses elsewhere to leverage tax incentives.

Link to the actual paper: [https://economics.princeton.edu/2020/01/06/new- data-on-state...](https://economics.princeton.edu/2020/01/06/new-data-on- state-and-local-business-tax-incentives-across-the-u-s/?mod=article_inline)</comment>


What You Learn in Your 40s - <AUTHOR> http://nytimes.com/2014/03/01/opinion/sunday/what-you-learn-in-your-40s.html

<comment><USER2> It's all contextual. There are many people in their 20s, 30s, or 40s that won't be learning these things, and instead they'll be learning other things. To think that these things are universal smacks of a certain type of cultural privilege. What about the unmarried, the underemployed, those living in extreme poverty, etc. These stories come around every year, it's fill in the blank journalism. Terrible stuff.

</comment><comment><AUTHOR> Regardless your age, there's some good points. Some I wished I had discovered 10 years earlier.</comment>


Ask HN: What are some great public trello boards that you use? - <AUTHOR> Hi!
What are some of the public trello boards that people are using? <comment><USER2> [https://trello.com/b/rbpEfMld/data- science](https://trello.com/b/rbpEfMld/data-science) for data science</comment>


Writing code that works on first go - <AUTHOR> http://chestergrant.posterous.com/writing-that-works-on-first-go

<comment><USER2> I instinctively distrust code that works first time. I advocate error-driven development.

<comment><USER3> That's basically synonymous to generic test driven development, unless you have some magical way of finding errors in code without running some sort of test on it? (Which includes tests like static analysis, valgrind, etc.)

The author's common mistakes scare me for being common. Not that I consider myself a great coder, but come on...

On a personal note, code I write in C++ (especially C++, which I've done a lot of at school) and frequently code I write in Java (which I do a lot of in my day-job) rarely 'works' the first time (though 'work' in this sense is more 'compiles'; runtime is usually pretty good except in C++ with its segfaults that require whipping out gdb and hoping it's not a template error). On the other hand, if I'm using a language I more naturally think in like Python, it's rare that stuff _doesn't_ Just Work at runtime. And when it doesn't work, it's usually because of something I hadn't thought of in the design (and wouldn't even be in any hypothetical pseudo-code written beforehand), and easy to fix. Ahh Python...

</comment></comment><comment><USER4> 1\. an ide/language with really good static analysis 2\. aggressively minimize codebase complexity

done. when my code doesn't work the first time, and i'm writing in a static- typed language, it's usually due to high accidental complexity in my code or code i interface, requiring me to keep too much context in my head, causing logical problems and problem states to be non-obvious.

stupid errors like writing an if statement wrong, is sophomoric. "most common errors" really means avoiding mutable state & leaky abstractions[1]. i do think the OP gets this, it just doesn't come across too clearly.

[1] nostrademons of HN, "how to become an expert swegr" <http://news.ycombinator.com/item?id=185153>

<comment><USER5> I'd say the devil is in the "aggressively minimize codebase complexity" detail

If you can give reproducible instructions about how to do that, I'd say to hear them.

<comment><USER4> agreed, but that's the point: "use 1==foo and keep methods small" is totally missing the point.

I'm not sure I can state it more clearly than "understand accidental complexity, aggressively reduce it".

</comment></comment></comment><comment><USER6> Should generate some debates, depending on if you're from the static/dynamic typing, IDE vs. wetware, TDD or not, etc camps.

3\. If you use IDE's or vim/textmate/emacs and a decent language plugin, you'll argue the IDE should match braces and insert skeletal control structures.

5\. Self-contained function, so no side effects, isn't that part of the definition of functional purity in them "academic languages" (heh)?

6\. How do you define edge and corner cases? Is there something like QuickCheck for your dev environment?

</comment><comment><USER7> I think it would be great if there was a way to easily capture my "most common error categories".

Years ago I got bit a couple of times by assignment instead of comparison errors (i.e. if(x = 1) instead of if(x == 1))

I noticed a pattern and made a conscious to always put the variable last in comparisons, so for years I have written if(1==x) so that the compile would fail if I wrote if(1=x).

Having a way to see my most common errors would give the opportunity to look for similar error-proofing measures.

<comment><USER8> I have seen this practice refered to as "Yoda conditionals" but never knew the reason for it. Although it reads wrongly (to me), I can now see the logic.

A lot of the code I write is JavaScript in Aptana, which has a real-time JSLint checker that warns against assignments in conditionals.

<comment><USER7> I have never heard it called "Yoda conditionals" before. That is awesome.

</comment></comment></comment><comment><USER9> I'm far more interested in code that works when it ships than code that works the first time it's run.

Code that works the first time it's run is magical, and therein lies the problem: Magic code is untested and unproven code. It offers a false sense of security, which is why it fills experienced developers with a sense of dread.

Until you prove that code's correctness (such as with tests), it is almost certain that it has nasty bugs in it that your initial successful run haven't uncovered. So what does having it work the first time give you? Bragging rights, maybe, but nothing of any real value to shipping code.

<comment><USER10> Beg to differ. Code that "works" the first time it is run is no different from code that "works" after several debugging cycles. You still have to prove (or test, in a pinch) that it works in either case.

<comment><USER9> My point is that code that "works" the first time is at best a false optimization.

It takes more time to prove the code than it does to write the code, and it generally takes more time to design the code than it takes to prove it.

Syntax errors are caught by the compiler, and are very quick to fix. Semantic errors are usually caught by compiler warnings (provided you turn them on) and by static analyzers, and are also quick and easy to fix. Anything more insidious will not be uncovered by code that "works" the first time it's run, so you really haven't saved yourself anything.

<comment><USER10> The point of the article, as I see it, is that you should strive for clear and correct writing, from the outset. Claiming that this goal is somehow detrimental to code quality strikes me as absurd.

Fixing syntax errors will do nothing for the logic errors. I find it more plausible that fixing syntax errors coming from sloppy writing will rather cost you time and energy that would be better spent on making the logic right.

</comment></comment></comment></comment><comment><USER11> Non-IDE Python programmer comments, please?

<comment><USER12> I mainly use vim. I have pyflakes run occasionally and on save, and some commands for running unit tests.

<comment><USER3> I also use vim, and enjoy this plugin: <http://www.vim.org/scripts/script.php?script_id=850></comment></comment></comment>


Flying Lotus: from beatmaker to cultural visionary - <AUTHOR> https://www.huckmag.com/shorthand_story/interview-2019-new-album-flying-lotus/ <comment><USER2> Flying Lotus and Angelo Badalamenti ftw</comment>


IBM Acquires UStream, Forms New Cloud Video Unit - <AUTHOR> http://techcrunch.com/2016/01/21/ibm-confirms-acquisition-of-ustream-forms-new-cloud-video-unit/ <comment><USER3> This aquisition is not a great exit for UStream, that was valued at $150M in 2010, but an exit none the less. I doubt the founders or employees would see as much of the $130M as they would have hoped, due to a massive $62M VC investment being in place... but still likely a much better outcome then if the company would have had to slowly wind down. (The investment structure of UStream is a bit complicated, but this article summarizes well why the amount is likely very close to this number [https://gigaom.com/2011/12/09/ustream- softbank-funding-colla...](https://gigaom.com/2011/12/09/ustream-softbank- funding-collapse/)).

In 2011 the company rebooted itself to a B2B direction - <USER2> [http://www.businessinsider.com/this-once-red-hot-startup- had...](http://www.businessinsider.com/this-once-red-hot-startup-had-its- funding-pulled-because-of-its-xxx-ceo-2012-1?IR=T). This direction has only been a modest success. For a bootstrapped company it would have been completely fine to go on like that indefinitely, but for a VC investment heavy one, this - or any other - sale must have been in the making since the hopes of an IPO have clearly disappeared.

One thing the article doesn't mention is that this aquisition makes a lot of sense for IBM. They get access to a lot of businesses who host their internal video streaming on UStream, like Facebook (company update videos all running on it). Also the main UStream engineering office is in Budapest, Hungary, where there is a large IBM office as well, so that will make integration smoother.

UStream employees who joined to disrupt the startup consumer video space a couple years back - welcome to IBM. I hope you've gotten some handsome payouts or golden handcuffs - and congratulations.

</comment><comment><USER4> It just seems like IBM is always 5-10 years behind where they should be.

<comment><USER5> > It just seems like IBM is always 5-10 years behind where they should be.

What do you think they should be doing that's modern, cool and not 5-10 years behind?

Unikernels? X-for-Y services ( Uber for dogs )?

<comment><USER6> IBM should have built AWS before Amazon did.

<comment><USER7> And they still would have lost to Amazon as they would have priced it such that no one except the government and extra large companies could pay the bill.

</comment></comment></comment></comment><comment><USER8> Ustream is the first place I worked, exciting to see this news

<comment><USER9> Not sure though layoffs may come after IBM acquisitions.

<comment><USER10> That depends on how strong the business is -- blekko didn't lay off any engineers when we were purchased by IBM Watson. We did lay off marketing/biz dev folks related to the business we were no longer in. It all made good sense.

</comment></comment></comment><comment><USER11> SpaceX broadcasts on UStream were not viewable on Firefox/Flash on Fedora. A known problem, tech support said too bad, use Chrome. I get it, it was not high on their list. What are the odds of it now? (Only a cursory look, it didn't appear they supported anything other than Flash)</comment>


Who's About To Get Fired From Google? - <AUTHOR> http://www.techcrunch.com/2008/05/20/whos-about-to-get-fired-from-google/ <comment><USER2> The comments about Google changing the name of the service and just letting the old domain go are dumb. No one would do that, especially not Google.

I wonder if Google's domains are consolidated? If not, that would be a rather large job keeping them all in order.</comment>


Ask HN: What authentication methods do you prefer? - <AUTHOR>

I work for a startup called Getaround, where we currently require Facebook for login. We're looking at alternative options, since many users are uncomfortable with using Facebook as their authentication method. Assuming that an actual website account system is out of the question, what auth methods do you prefer? OpenID? Twitter? Google Accounts? <comment><USER2> I use FB, Google accounts but only on sites I trust. If I don't trust the site and there is no classic u/p system then I leave

<comment><USER3> Why would you sign up on untrusted sites?

<comment><USER4> There's a difference between "I trust this website with access to my primary online identity" (Google/Facebook) and "I trust this website with a made-up username, one-off password and throwaway email address".

<comment><USER5> <3 mailinator

</comment></comment></comment></comment><comment><USER6> Why _not_ just use username/password? It sucks in well-known ways and quantities, and usually less than the alternatives.

Just be sure to store the passwords properly (bcrypt or somesuch).

</comment><comment><USER7> I generate random passwords for every site, I don't like SSO provided by Facebook, Twitter and Google etc, its insecure and places the trust in a single companies hands.

If you don't allow me to register normally (i.e. without a single signon mechanism) I likely won't register.</comment>