Show HN: Programming Quotes, an open source app and database - <AUTHOR> https://skolakoda.org/programming-quotes/ <comment><USER2> I like this, always looking for inspiration. It's also interesting to see the list of famous programmers too. One of my favourites:

"Measuring programming progress by lines of code is like measuring aircraft building progress by weight." \- Bill Gates

</comment><comment><USER3> Cool! What's the login for?</comment>


A Brief History of Rocket Launches - <AUTHOR> http://nattybumppo.github.io/rocket-launch-history

<comment><USER2> 1957 being the starting date is probably due to the used catalogs but remember that rockets have been launched decades before that.

Depending on your definition, at least the start of Goddard's rocket in 1926 or the A-4 that reached space in 1942 come to mind.

<comment><AUTHOR> Very true. 1957 is the starting point because the visualization only shows rockets that went to orbit (or that were intended to, at least); suborbital flights are not included.

</comment></comment><comment><USER3> This reminds me of 1945-1998[1]. The map and timeline are similar, but it follows nuclear explosions instead of rocket launches. Considering the two main parties involved in both, it would be interesting to see the data together.

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

</comment><comment><USER4> This is great.

One thought: any chance of showing launches as arrows -- ideally approximating the actual launch azimuth -- rather than circles? Would help dispel the myth that rockets go primarily upwards!

</comment><comment><USER5> First thought I had after getting into the early sixties was, "Wow, no wonder we made it to the moon first". Talk about practice makes perfect...

<comment><USER6> This is even more vividly shown in this NASA plot of booster development:

[http://upload.wikimedia.org/wikipedia/commons/6/67/USAF_ICBM...](http://upload.wikimedia.org/wikipedia/commons/6/67/USAF_ICBM_and_NASA_Launch_Vehicle_Flight_Test_Successes_and_Failures_%28highlighted%29.png)

</comment></comment><comment><USER7> Whoa, I never suspected there were so many launches happening. Especially in the last few years it looks like there was a launch every other day... I always thought there were launches every other month...

</comment><comment><USER8> Nice! As the launch rate ramps up, however, it gets quite laggy. I'd strongly suggest switching from svg to canvas for this.

<comment><AUTHOR> Part of the lag was due to updating the DOM constantly to add to the "Launch Log." I made a minor performance optimization and that part of it is working a lot faster now.

</comment></comment><comment><USER9> Oh! _Orbital_ launches. For some reason I was expecting to see Robert Goddard's launches. Nice though.</comment>


Real-world dynamic programming: seam carving - <AUTHOR> https://avikdas.com/2019/05/14/real-world-dynamic-programming-seam-carving.html <comment><USER2> I held a workshop once where people implemented this (and other image algorithms). The end result can be seen here [0], and the tasks here [1] (but in Norwegian). Can click the "run seam carving" button to watch it unfold step by step.

[0]: [https://matsemann.github.io/image- workshop/](https://matsemann.github.io/image-workshop/) [1]: [https://github.com/Matsemann/image- workshop](https://github.com/Matsemann/image-workshop)

</comment><comment><USER3> This was a homework assignment in Robert Sedgewick's Algorithms course on Coursera!

[https://www.coursera.org/learn/algorithms- part1](https://www.coursera.org/learn/algorithms-part1)

Great class and fun assignment!

<comment><USER4> Wasn't the first assignment about detecting percolation using the union find datastructure? IIRC, sedgwick's class doesn't cover dynamic programming directly at all.

<comment><USER5> Seam carving is the second assignment of Algorithms Part II. I also highly recommend Princeton's Algorithms course on Coursera.

<comment><USER4> Ah, I haven't taken Part II of the course. Probably not a bad idea to start :)

</comment></comment></comment></comment><comment><USER6> It feels like those images of the energy could have been improved by plotting the log of the energy. It would allow us to see changes at the low end where the decisions are being made.

<comment><USER7> I'm toying around learning the algorithm. Thought I might share a log plot of the energy. [https://imgur.com/a/YlrS7aV](https://imgur.com/a/YlrS7aV)

</comment></comment><comment><USER8> This brings to mind the Viterbi algorithm that calculates the most likely sequence of events in a hidden Markov model (Markov model itself is just a state machine on a graph with weighed edges, where each weight on a state transition is represented as a probability of that transition).

It's essentially bases to the same algorithm: you can eliminate sequences if they lead to the same event that is already part of a solution, but with lesser probability. The amount of paths would be exponential, but the ability to eliminate them keeps it polynomial. That really brings forth the beauty of dynamic programming.

<comment><USER9> One really nice application of the Viterbi algorithm is map-matching, i.e. taking a GPS trail and "snapping" it to the road network to determine the actual route taken. It's difficult because GPS trails are often sparse and noisy, so you can't do something simple like "project onto the closest road segment". If you take the "states" of the model to be road segments and derive the transition probabilities from the shortest route between segments, you can apply Viterbi and get a very accurate result most of the time. Of course, calculating shortest routes involves Dijkstra, another famous dynamic algorithm.

<comment><USER10> Cool! Has anyone written this up and made cool visualizations? It's one of those many things I'd like to do but don't have time for :)

<comment><USER11> yep - look up 'Hidden Markov Map Matching through Noise and Sparseness' by Krumm and Newson

it calculates the final probability by combining 'emission' probabilities (the probability that a GPS observation was on a particular road) by the 'transition' probability that if an observation was on a particular road at one point, what is the probability that it is now on this other road segment. By combining these two the final probability incorporates both the nearness of the GPS signals to the roads and the connectivity of the road network itself.

I've found the formulas applied in this paper are good in practice only if the GPS updates are relatively frequent

<comment><USER9> I've also found that it can be tricky to map "convoluted" routes that don't necessary go simply from point A to pointB.

If you don't mind me asking, roughly what frequency threshold have you found the algorithm to perform badly above, and are you aware of any algorithms or formulae which perform better in these situations?

<comment><USER11> it should be in seconds - the problem is that the paper assumes that the 'great circle' (straight line) distance between two points should be almost the same as the 'route' distance between those points, with an exponential probability distribution.

This means that if the path between two points is not simple (around a corner) the probability drops off very quickly. If the time between measurements is in minutes, this heuristic is pretty useless (and you should really use log-scale for your numbers!)

edit: this is actually shown in figure 8 of the paper where they explore different 'sampling periods'

edit 2: I have not explored other methods yet, but it would probably make sense to start by deriving the formula the way they do, by exploring ground- truth data.

edit 3: I just noticed that my comments are largely repeating what you're saying - sorry!

<comment><USER9> Ah, that rings a bell now. You can vary a parameter they call "beta" to allow for more convoluted routes, and I think a larger value gives a little leeway for less frequent fixes.

Agreed, the log scale is really important to avoid arithmetic underflow =] I believe OSRM and Graphhopper both do it that way. In my implementation I've flipped from thinking of measurement/transition "probabilities" to "disparities", and I choose the final route that has the least disparity from the trail. It seems to handle trails with around a 30-60s frequency over a 5-10hr period with decent accuracy.

<comment><USER11> actually, beta is less useful than that! I think it represents the median difference between the two distances, its not a tolerance (at least as far as I can recall after experimenting with tuning this value).

As with you, I have found that it still often gives ok results with slower frequencies, as long as the transition probabilities are still relatively in the same scale as each other for a particular observation pair. However it means that there's no point trying to 'tune' using the gamma and beta parameters

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> There's also the approach that calculates the energy of the resulting image as opposed to the seam being removed, which allows the seams to pass through objects where doing so will minimize artifacts.

Paper: [http://www.faculty.idc.ac.il/arik/SCWeb/vidret/index.html](http://www.faculty.idc.ac.il/arik/SCWeb/vidret/index.html)

GitHub: [https://github.com/axu2/improved-seam- carving](https://github.com/axu2/improved-seam-carving)

<comment><USER13> Thanks for sharing - it's kind of sad that nobody ever seems to know about the significantly better forward energy version. Especially since it's such a minor tweak.

</comment></comment><comment><USER14> Cool to see this popping up again. It always impresses if you haven't seen it before and is a cool algorithm to work through.

The original paper was discussed on slashdot and back at that time I was inspired to build a little GUI around an open source algorithm implementation to play with my Qt skills.

It allows you to shrink, expand and "mask out" regions you don't want touch etc.

Still available on Google Code archive:

[https://code.google.com/archive/p/seam-carving- gui/](https://code.google.com/archive/p/seam-carving-gui/)

</comment><comment><USER15> If you like DP imaging applications like this, this old Microsoft Research technical report is neat: it uses DP to merge frames from two webcams placed left and right to synthesize a view in the middle, like having a webcam in the middle of your monitor. The DP is interesting because it has penalities set up assuming planar content because faces are pretty flat and in front of the cameras. Link: [https://www.microsoft.com/en- us/research/publication/efficie...](https://www.microsoft.com/en- us/research/publication/efficient-dense-stereo-and-novel-view-synthesis-for- gaze-manipulation-in-one-to-one-teleconferencing/)

</comment><comment><USER16> Why are DP problems so popular for interviews? I am doing leetcode now and they seem to be everywhere.

<comment><USER17> I'd honestly just walk out if a company asks this stuff, yet the actual work is maintaining a CRUD app.

</comment></comment><comment><USER18> I remember implementing this for a class years ago, and then the professor suggested doing the inverse to try to expand the image width. The idea was you would duplicate the lowest energy seam... but all that did was create a lot of repeats of the same seam.

I never did finish that weird idea, but I probably needed to try something like increasing the energy of the chosen seam (and its duplicate)... I may try that again, just because I'm curious what would happen.

<comment><USER19> The original seam carving paper discussed expanding too: [https://youtu.be/6NcIJXTlugc?t=56](https://youtu.be/6NcIJXTlugc?t=56)

[http://www.faculty.idc.ac.il/arik/SCWeb/imret/imret.pdf](http://www.faculty.idc.ac.il/arik/SCWeb/imret/imret.pdf)

> Figure 8: Seam insertion: finding and inserting the optimum seam on an > enlarged image will most likely insert the same seam again and again as in > (b). Inserting the seams in order of removal (c) achieves the desired 50% > enlargement (d). Using two steps of seam insertions of 50% in (f) achieves > better results than scaling (e). In (g), a close view of the seams inserted > to expand figure 6 is shown.

</comment></comment><comment><USER20> This is also known as "liquid rescale" and there is (was?) a gimpl plugin for it. It last updated in 2013 or so. After that the developer was hired by Adobe to work on Photoshop.

<comment><USER21> Yes, Gimp had it as a plugin first - before Photoshop.

</comment></comment><comment><USER22> Great. Now adapt this to video (:

<comment><USER23> I noticed they don't provide any images with human faces.

<comment> a-priori Since the human visual system is so highly sensitive to faces I think the best approach here would be to apply a facial detection algorithm, then boost the energy for the regions where faces are detected.

Basically you'd apply a heuristic that because faces are so special to the human visual system, the _perceived_ energy of a face is higher than the pixels would otherwise indicate.

This would make seams avoid altering any faces in the scene.

<comment><AUTHOR> > apply a facial detection algorithm, then boost the energy for the regions > where faces are detected.

Great intuition! The original paper actually goes into this, and they come up with that solution.

This solution is a special case of allowing the user to apply positive and negative penalties as they wish. The latter allows targeted object removal.

</comment></comment></comment></comment><comment><USER24> Any good set of super hard dynamic programming problems to practice? (I mean way harder than leetcode/hackerrank etc.)

<comment><USER25> You can look at competitive programming sites, they are a lot more serious than leetcode/hackerrank

[https://dmoj.ca/problems/?type=5&show_types=1&order=-points](https://dmoj.ca/problems/?type=5&show_types=1&order=-points)

[https://codeforces.com/problemset?order=BY_RATING_DESC&tags=...](https://codeforces.com/problemset?order=BY_RATING_DESC&tags=dp)

</comment></comment><comment><USER26> Really interesting, thanks for sharing!

I believe there's a typo here: "the time complexity would still be 𝑂(𝑊)" should be "the space complexity would still be 𝑂(𝑊)".

<comment><AUTHOR> Thanks so much for pointing that out! I've updated the article.

</comment></comment><comment><USER27> Tangential - the turbulent water looks for me like the large scale structure of the Universe.

</comment><comment><USER28> Non-medium version: [https://avikdas.com/2019/05/14/real-world-dynamic- programmin...](https://avikdas.com/2019/05/14/real-world-dynamic-programming- seam-carving.html)

<comment><USER29> Thanks! We've updated the link from [https://email@example.com/real-world- dynamic-programming-...](https://firstname.lastname@example.com/real-world-dynamic- programming-seam-carving-9d11c5b0bfca).

</comment></comment><comment><USER30> Isn't there a more generic deep-learning approach (i.e. with less assumptions) for this problem?

<comment><USER31> It wouldn't really have fewer assumptions. In fact, it probably would have more. We just wouldn't know what they are. Classical image analysis is still interesting and valuable because you can construct an algorithm based on desired properties without having to have a large, labelled training set beforehand, and because it's computationally much less expensive.

<comment><USER30> > It wouldn't really have fewer assumptions. In fact, it probably would have > more.

It depends on how you look at it. A deep learning approach is supposedly more generic. Therefore I suppose the assumptions would be dynamic instead of fixed.

<comment><USER32> Assumptions are NOT dynamic. Once we have chose a "loss" function or whatever fancy name you want to call the objective function by, you've already made a choice. There are never dynamic assumptions (a classic example would be the choice of use L2 loss in the pixel space essentially assumes a Gaussian likelihood, which is in principle kind of goofy but hey it works). Although, as alluded to earlier, it is hard to understand the space induced by the architectural assumptions (and many other moving parts)

I like to think it this way - effectively, deep learning provides learned priors from data for a downstream task whereas the manual way comes from expert knowledge without the learning part.</comment></comment></comment></comment>


Tech jobs: Minorities have degrees, but don't get hired - <AUTHOR> http://www.usatoday.com/story/tech/2014/10/12/silicon-valley-diversity-tech-hiring-computer-science-graduates-african-american-hispanic/14684211/ <comment><USER2> For me, the key takeaway was in this quote: "If you go to the same prestigious universities every single time and every single year to recruit people ... then you are going to get the same people over and over again."

That is something that grounds it in not just being a minority thing but also a "oh you didn't go to an Ivy, MIT, Berkeley, or Stanford" thing.

</comment><comment><USER3> There is a fundamental flaw in apparent measurement method: authors have counted _graduates_ , but compared them to _already employed_. Authors seem to not take into an account the workforce present before CS graduates entered the job market.</comment>


RockYou Joins The No Scams Parade. But What's Facebook Up To? - <AUTHOR> http://www.techcrunch.com/2009/11/02/rockyou-joins-the-no-scams-parade-but-whats-facebook-up-to/

<comment><USER2> That was not a very convincing mea culpa on the part of the RockYou folks...looked more like an ad than an admission of past wrongdoing or sincere desire to do right.</comment>


Snapshot of North Korea's DNS data taken from zone transfers - <AUTHOR> https://github.com/mandatoryprogrammer/NorthKoreaDNSLeak <comment><USER2> Slightly related, I ran nmap scans on the known NK internet for a while.

The data can be found here: [https://github.com/benediktkr/nk- scans](https://github.com/benediktkr/nk-scans)

<comment><USER3> Well, I hope for the head of the NK chief propaganda minister that the grand divine dictator's internet does not break down with all the traffic from Hacker News..

 _" Kim Jong Un, Chairman of the Workers' Party of Korea, Chairman of the State Affairs Commission of the DPRK and Supreme Commander of the Korean People's Army, visited the Sohae Space Centre to inspect the ground jet test of a new type high-power engine of a carrier rocket for the geo-stationary satellite."_

It sounds really hilarious, but it reminds me of the soviet era in the Warsaw Pact member states. Poor citizens. We are so lucky to have a degree of control over our supreme leadership..

<comment><USER4> It should remind you of that, since that's basically what they are. They're on the wrong side of Russia to be in the Warsaw Pact, but they follow the same basic model as other Soviet puppets, except for the part where they succumbed to revolution in the 90s.

<comment><USER5> NK is not a Russian puppet, it's a Chinese puppet. (And it's a puppet gone rogue like Chucky.)

<comment><USER4> They are now, but they were aligned with the Soviets until there stopped being Soviets. Naturally they sought out a new patron after that.

<comment><USER5> Not quite. The SU started rolling back its support for NK in 1985, four years before the SU fell. In fact, it seems probable to me that NK didn't fall along with the rest of the SU precisely because of this.

But the point I was really trying to make is that calling NK anyone's puppet is not really accurate, and arguably never was. They are certainly dependent on China nowadays, but it is far from clear who is pulling whose strings.

<comment><USER4> They definitely don't seem to be now. I'm pretty sure China doesn't want them lighting off nuclear bombs, but doesn't know how to get them to stop.

In any case, "puppet" was incidental to my comment, and I'm happy to let that go. My main point was that they were set up very similarly to the Warsaw Pact countries, so the similarity in language is entirely expected.

<comment><USER6> > but doesn't know how to get them to stop.[1]

[1] That is, without having a humanitarian crisis and state with nuclear explosives (and might have viable nuclear warheads) in civil war on their back doorstep.

I can see both sides to the dispute over how to handle DPRK. If Mexico got very politically unstable and started making nuclear explosions and likely had a missle-portable warhead, the U.S. would get touchy if China started proposing actions that could easily touch off a Mexican civil war. In hindsight, I hope they realize that they should have pushed the DPRK harder earlier and run a higher risk of a civil war in the pre-nuclear-explosive DPRK in exchange for heading off warhead development.

<comment><USER4> Agreed, it's a huge mess and I see no good way to clean it up. We should probably just rip the band-aid off ASAP and get it over with. I think the non- nuclear window of opportunity is still open there. They have weapons, but I don't think they yet have the means to deliver them. In any case, I doubt anyone is willing to do that, and I can't blame them at all. The other hope would be that _somehow_ either the regime becomes less crazy on their own (like China did) or a successful revolution happens without spilling outside the country too much. Neither possibility seems likely.

On the other hand, I remember how the Soviet Union seemed like it was here forever, right up until it wasn't. That didn't turn out _great_ , but it stayed contained and nobody got nuked.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> I find it amazing that you can actually read (yourself) all of the content of all the toplevel DNS zones of a country. In 2016. Two subdomains in .edu.

<comment><USER8> What do you mean by "In 2016"? This is by design...

<comment><USER9> I think GP means it is notable that, in 2016, the zone list for NK is so small that it can be perused in mere seconds due to its short length (as compared to any other country).

</comment></comment></comment><comment><USER10> For someone who isn't particularly familiar with DNS, what are the implications of this?

<comment><USER11> That their intranet/internet is apparently pretty small, comprising only a few dozen domains, run off five Nameservers.

Also cooks.org.kp. I really want to go to the _Facing grand slam popular restaurant_ , previously the _Flavour bases loaded restaurant_ , but they're really embracing their new name apparently. [http://cooks.org.kp/restaurants.php?rID=21](http://cooks.org.kp/restaurants.php?rID=21)

<comment><USER12> Sorry, I need a little more explanation.

Are you saying that North Korea would otherwise be keeping these domains out of sight from users that aren't in North Korea? So now that these domains are out there anyone can view them and lurk/spy/gather info?

<comment><USER13> You'd need to know those domains exist to resolve them.

This unusual (mis-) configuration allowed to enumerate those domains exhaustively.

<comment><USER12> So if I had a friend in North Korea and they told me about one of those domains, I would not have been able to resolve it in my browser?

But now that this has happened anyone can?

<comment><USER14> Rather, if you had a friend in North Korea and they told you about the domains, you WOULD be able to resolve them.

Now that this has happened, you know all of the domain names and no longer need a friend in North Korea to tell you what they are.

</comment></comment></comment></comment></comment></comment><comment><USER15> Looking at the A records tells an even more interesting story:

        (for i in *.zone; do expand $i | grep " A " | cut -c 50-; done) | sort | uniq -c | sort -n
          1 18.104.22.168
         16 184.108.40.206
         16 126.96.36.199
         25 22.214.171.124
         25 188.8.131.52

It looks like all those websites are hosted on only 5 IP addresses. They could be load balancers, but still, that is certainly not many hosts!

</comment><comment><USER16> Side note: I'd really like to visit this NK ski resort. It'd be amazing to snowboard on what looks like completely empty snow.

[http://masikryong.com.kp/](http://masikryong.com.kp/)

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

<comment><USER17> Wow, timing out. It's already fallen over from referral traffic :D I hope no- one gets shot over this

</comment></comment><comment><USER18> Fascinating, that's the complete zone for the whole country? And it's run on 5 servers? (only 5 different IPs mentioned as far as I can tell)

<comment><USER19> This is a bit misleading. According to Will Scott, who taught CS in North Korea, there are some 3000-5000 sites on the national intranet, but it is entirely disconnected from the internet at large. So these zones are ones that are intended for consumption by foreigners.

Source: [http://motherboard.vice.com/read/how-to-teach-computer- scien...](http://motherboard.vice.com/read/how-to-teach-computer-science-in- north-korea) (super interesting, suggest reading it)

<comment><USER20> Holy shit; they are still teaching classful routing (Class A, B, C, D...)

</comment></comment></comment><comment><USER21>
      gnu.rep.kp.

That's pretty interesting. I wonder what they've got on that.

<comment><USER22> The site is available to the world, [http://gnu.rep.kp/](http://gnu.rep.kp/)

<comment><USER23> Is it malicious?

<comment><USER24> Nah. Here are some screenshots (google translated): [http://imgur.com/a/C2Gp7](http://imgur.com/a/C2Gp7)

<comment><USER25> > Dafeng strange fruit spreads across the Great Hall won the People's love and > young manhood of the world's largest hot in that reverence Kim Jong-un...

North Korean is a different dialect so it's no surprise Google struggles with it. It looks like a news/propaganda site.

<comment><USER26> Not just the dialect that's tough to translate, but also the diction. DPRK propaganda tends to use a lot of bombastic language -- it shows in their English press releases as well.

</comment></comment></comment></comment></comment></comment><comment><USER27> If you want to keep secrets, publishing them in DNS is the wrong place for it.

</comment><comment><USER28> It's safe visit these websites ? I've visited cooks.org.kp with JS enabled-_- (but origin ublock active)

<comment><USER29> If North Korea had 0-day browsers exploits, they wouldn't be using them on cooks.org.kp

</comment></comment><comment><USER30> Someone might be getting killed over this.

<comment><USER31> Machine gun or anti-aircraft gun?

</comment></comment><comment><USER32> Watch as they're going to blame the US and/or South Korea of hacking them

<comment><USER29> Well if this happened in the US, wouldn't this count as hacking under the CFAA? For instance weev got 3 years for running some GET requests on a sequential number.

</comment></comment><comment><USER33> Did nobody think to use archive.org on these sites while they were still up? :( Or was that not possible. Something like HTTrack would have been useful, rather than a few people screenshotting the sites.

</comment><comment><USER34> silibank.net.kp must be where they make the counterfeit currency?

<comment><USER35> "Sillybank"

I know it's childish but I couldn't help but laugh at this.

</comment></comment><comment><USER36> 5 day TTLs seems a little long? To help with outages maybe ;P

Edit: Awesome find, and monitoring project btw. Thanks!

<comment><USER37> If their topography is mostly static, it doesn't matter much if the TTL is 24 hours or 7 days.

</comment></comment><comment><USER38> You better don't visit North Korea as a tourist now</comment>


Learning to write programs that generate images - <AUTHOR> https://deepmind.com/blog/learning-to-generate-images/ <comment><USER2> This is really cool tech and very awesome work by deepmind.

But man does this scare me. I remember a quote: "You furnish the pictures and I'll furnish the war." – William Randolph Hearst, January 25, 1898. This was in the lead up to the spanish american war.

Can you imagine tech like this/tech like "deepfakes" being used today? Fake news that was text alone has done and is doing damage in elections around the world now. Imagine that armed with pictures?!?!

In a dueling NN architecture, many say the discriminator will be able to detect the fake images. I wonder is there a threshold that a produced image is just too damn close to a real picture that even an equally good NN that is discriminating can no longer differentiate? In the end, both real and fake images are just pixel values... what would we do then?

Cool tech, scary possibilities.

<comment><USER3> This has already happened, albeit manually. See this clumsy representation: [https://en.wikipedia.org/wiki/Adnan_Hajj_photographs_controv...](https://en.wikipedia.org/wiki/Adnan_Hajj_photographs_controversy)

Will be interesting if it ever reaches the point where it can be automated and scaled. I predict a modernized repeat of the war of the worlds tipping point followed by ratcheted skepticism for all kinds of temporal simulacra.

Then 3d imaging will enter widespread consumer usage and prove to be very difficult to convincingly reproduce by neural networks, until it is. Trust will be restored in some kind of media until it's broken. Rinse and repeat.

<comment><USER4> Here's another scary GAN proof of concept [0]. In this case, researchers transferred someone's face in real time to facial expression and mouth movements of public figures. Combined with DeepMind's new tech that seems to be able to produce human voice with believable candor and inflection [1], you could make some very convincing fake footage.

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

[1][https://research.googleblog.com/2018/03/expressive-speech- sy...](https://research.googleblog.com/2018/03/expressive-speech-synthesis- with.html)

</comment></comment></comment><comment><USER5> It seems to me like many of the computer-generated MNIST digits involved retracing the same contours multiple times.

Is it possible to (a) filter out these duplicate strokes, (b) convert them to heavier-weight single strokes, or (c) change the training regime to not produce duplicate strokes?

I can see that being useful for e.g. a real robot with a limited amount of ink or lead (or time to draw each character).

<comment><USER6> The reason for that is that I chose a particular brush from the set of available brushes ('dry brush'). Since MNIST digits are quite sharp and opaque, the agent tries to achieve this by retracing the contours. I guess the remedy is to pick an appropriate brush style or make the agent choose it.

<comment><USER5> Neat! Thanks and welcome.

</comment></comment></comment><comment><USER7> This is still a GAN, right? It's running an adversarial system at a level higher than pixel-poking.

<comment><USER8> Depends on whether you see the glass half-full or half-empty. Is it a DRL actor-critic where the reward & critic happen to be half of a GAN, or is it a GAN where the generator happens to receive a RL-style loss instead of the normal discriminator loss? Actor-critic and GANs have always been hard to tell apart: [https://arxiv.org/pdf/1610.01945.pdf](https://arxiv.org/pdf/1610.01945.pdf)

</comment></comment><comment><USER9> Yeah, ok, so you basically reinvented inverse-graphics analysis-as-synthesis, stuck DEEP NEURAL and the GOOGLE DEEPMIND(TM) brand on it, and now you're acting like it's the bee's knees.

I'm starting to understand how Juergen Schmidhuber feels.

<comment><USER6> You'd be surprised to see that both "inverse graphics" and "analysis-by- synthesis" are mentioned in the paper

<comment><USER9> Yes, I saw that they are, but at that point, I'd have to ask where the novelty _is_ besides transforming them from probabilistic problems to plain neural- network problems.

<comment><USER6> I would call "inverse graphics" a task. One can solve that task following different strategies. We demonstrate one way that uses RL and GANs and gives reasonably good results. For Omniglot, for example, there are works by Lake et al. that employ probabilistic perspective but the amount of hand-engineering involved makes their approach hard to apply to other tasks

</comment></comment></comment></comment><comment><USER10> "When trained to paint celebrity faces, the agent is capable of capturing the main traits of the face, such as shape, tone and hair style, much like a street artist would when painting a portrait with a limited number of brush strokes:"

That's interesting. Do we know how artists draw? Is it as "algorithmic" as the article lays it out? I don't draw so I always assumed it was more intuitive and personal rather than a "step by step" process.

<comment><USER11> Methods are very individualized and vary also by medium. Check out the "Manben" videos:

[http://www.dailymotion.com/video/x65w5fu](http://www.dailymotion.com/video/x65w5fu)

It is eye-opening, even among fellow manga artists, to see how different sometimes their processes are.

Some may start with a definite sketch, others may go straight to ink with only the barest suggestion of a layout. Sometimes they struggle with expressions and may whiteout and re-ink (up to seven times in one of the videos.)

Some artists start inking with the eyes, some may start with an outline of the face. And so on.

</comment></comment><comment> Ono-Sendai Haven't looked into the paper. However you don't need a NN to simulate painting. Basically it's a search problem.

See my results here: [https://forwardscattering.org/post/42](https://forwardscattering.org/post/42)

<comment><USER6> While it is true that one can simulate painting by search (in some sense), the problem is that (naive) search doesn't always work (we have an example in the paper). Moreover, training an agent has a benefit of fast test-time inference (i.e., you give an image, and it paints it almost instantly). Of course, we haven't achieved the ultimate goal yet but it's a step in that direction.

<comment> Ono-Sendai Thanks for the reply. Where in the paper is the example given? Skimmed it but didn't see it. (Edit: nevermind, see it now)

Fast painting is a benefit I guess. My search/painting program is very computationally intensive.

Edit: I think I see the point of the paper now. Unguided search is going to be difficult in high-dimensional search spaces like this. So the NNs become a hopefully-effective heuristic guiding the search.

<comment><USER6> Yup, exactly! Btw, didn't realize those were your results (just mindlessly clicked on the link). Very cool stuff!

<comment> Ono-Sendai Thanks.

The (semi-) obvious next step is to do object/digit recognition with a Bayesian probability calculation, with probabilities bases on this image reconstruction process. In other words, we choose e.g. digits based on how likely they are to have been drawn to give the target image.

I have experimented a little with this idea, but with no successful results so far (plain old NNs still beat it).

</comment></comment></comment></comment></comment><comment><USER12> Discovered mypaint.org FTW!!!Looks awesome and extendable too

</comment><comment><USER13> What kind of robot arm is that btw?

</comment><comment><USER14> What a sweet site! May I ask what SSG you're using?</comment>


Async-Await Hits Beta - <AUTHOR> https://blog.rust-lang.org/2019/09/30/Async-await-hits-beta.html <comment><USER2> > In summary, if you've an interest in using Async I/O in Rust, this is a very > exciting time! With async-await syntax hitting stable in November

This is a glorious milestone for Rust. I can only think of the many use-cases for using async-await on the server and alongside the performance implications at the compiler-level due to this. Thank you to all those involved!</comment>


Dear Science: Why aren't apes evolving into humans? - <AUTHOR> https://www.washingtonpost.com/news/speaking-of-science/wp/2016/06/27/dear-science-why-arent-apes-evolving-into-humans/?tid=pm_national_pop_b <comment><USER2> Got to admire Sarah Kaplan's patience here. Whenever someone demands of me to explain why there are "still monkeys", I just observe that even monkeys have to sleep sometime.</comment>


Tom Morello: 'Paul Ryan Embodies the Machine Our Music Rages Against' - <AUTHOR> http://www.rollingstone.com/music/news/tom-morello-paul-ryan-is-the-embodiment-of-the-machine-our-music-rages-against-20120816

<comment><USER2> Left wing propaganda is everywhere.

</comment><comment><USER3> And visa-versa.</comment>


Why are engineers so bad at estimation? - <AUTHOR> https://medium.com/@adamberlinskyschine/why-are-engineers-so-bad-at-estimation-6f68e1a081da <comment><USER2> Is anyone good at estimation? What professions? And why do we only speak of bad estimation when it is negative (i.e. over budget, late). To me being wrong on the other side (under budget) is equally worse, setting aside or acquiring additional resources for a project that were never used (lost opportunity, waste of money).

</comment><comment><USER3> It's an estimate not a fixed point. Technology is continuously changing. It's complicated.</comment>


Ask HN: Reddits or RSS feed for Cloud Computing - <AUTHOR>

I was looking for cloud computing news feeds. However reddits /r/cloud and /r/cloudcomputing both gets new posts really infrequently. I am following ReadWriteCloud and Gigaom Cloud however I don't feed them technical enough. They are mostly writing about enterprise business and aiming exec people. Are there any good tech feeds on cloud? <comment><USER2> I've been looking for the same thing. The problem might be that "cloud" is too overloaded of a term.

I've found some good links on dzone.com but since there isn't a tag for cloud (or infrastructure or...) it's a bit of a crapshoot.</comment>


Ask HN: Can GitLab CI support complete infrastructure automation? - <AUTHOR> Not just building things when there are commits but running backups, enabling ChatOps, etc. Is it currently up to the task? Or is Jenkins more flexible/capable in that regard? <comment><USER2> I've found it to work very well. I particularly like how flexible it is and how well it is integrated. You can do some chatops, it even comes with a (not quite feature complete) slack clone (Mattermost), if you like. And, if it doesn't work, GitLab supports interfacing with Jenkins CI (but I don't think you will need to).

They also release updates and improvements at an incredible pace, so next month it will be even better.

Note, I am not affiliated with GitLab in any way, I just use it and love it.

<comment><USER3> As far as I know integration with Jenkins is only provided as part of the Enterprise version. Please correct me if I'm wrong though.

</comment></comment><comment><USER4> I'm curious what you'd expect CI to do regarding running backups. Starting in 9.1, you can run CI pipelines on a schedule, so you could have nightly backups triggered by a CI job, but I would think there are better ways to handle that.

Now if you're following infrastructure-as-code, and your backup and other configurations are saved in version control, then of course GitLab supports that, but that's not explicitly GitLab CI.

GitLab CI does support deployment histories, easy rollback, etc.</comment>


Hoosgot: LazyWeb For The Twitter Generation - <AUTHOR> http://mashable.com/2007/12/30/hoosgot-lazyweb-for-the-twitter-generation/ <comment><USER2> Okay, what these guys really need is to send the reply in a comment attached to the original blog post. That would drive way more traffic, too, since they could answer people who are just "lazyweb"ing, and don't even know about hoosgot.com in the first place.</comment>


Amazon Asking Cities for Their High Schoolers' SAT Scores - <AUTHOR> http://markets.businessinsider.com/news/stocks/amazon-hq2-visits-focus-on-education-2018-4-1020254404 <comment><USER3> The legality or the morality of this aside, I doubt this is being used as a metric for directly hiring those taking the SAT.

My gut is telling me this is a metric to evaluate the education system for families to move there (or remain there).

Having recently moved, education, was a huge metric – but it is tough to determine. SAT scores are much better than the state testing which vary from state to state. SAT scores gives you the outcome of K-12 experience.

edit - <USER2>

<comment><USER4> >And SAT scores gives you the outcome of K-12.

If you account for many other factors.

The percentage of students that take the SAT in a given area is often overlooked, but it varies wildly by state.

You also have to correct for racial/cultural, language, and income bias in SAT scores.

<comment><USER5>
      You also have to account for racial/cultural,
      language, and income bias

Whatever backlash Amazon faces for asking for overall average SAT scores, it's nothing compared to the backlash they'd get if they'd asked for average SAT scores for white and asian kids from married two-parent families with a six- figure household income, english as a first language and both parents college graduates.

<comment><USER6> They probably wouldn't need to ask for this. They can just combine public data sets with the SAT scores to come up with a rough, adjusted estimate.

But that's assuming they'd even want to correct for any of the aforementioned biases. I doubt they care because their employees wouldn't care. "Good school" in some places often also means "white school" because of the nature of income disparities, but you never hear parents asking, "But when you say 'good,' are you adjusting for race?"

</comment></comment></comment></comment><comment><USER7> My mom was telling me yesterday that a big part of the political agenda in South Carolina revolves around education. Apparently, they're finding it very difficult to encourage companies to locate firms there because it's so difficult to find local talent. It costs far more to relocate people than it does to find someone local.

So lots of legislative activity around education policies.

</comment><comment><USER8> Umm...are high schools _authorized_ to share that kind of information with a giant retailer? What is to stop Amazon, or anyone else who asks, from simply using that data to target its advertising towards children?

<comment><USER9> It's actually public information, at least at a state level. Extrapolating that to the largest city in the state wouldn't be a hard process, and so I don't think it's concerning information if anonymized and aggregated.

Also, as a Bostonian, I really hope this will edge us over Atlanta and whatnot, as MA has the highest standardized test scores in the nation. Been waiting for ages for this city to become more of a tech center.

<comment><USER10> ISTM housing costs are the big barrier for Boston? Tech companies already know the area has plenty of talent.

Expensive housing can be a difficult problem, since lots of vested interests are opposed to any effective solution.

<comment><USER11> I think the reason the Boston is not more of a tech center is that MA law supports no compete clauses as condition for employment. CA has high housing prices where the tech industry is located. However, CA does not support no compete clauses for condition for employment.

<comment><USER9> There are definitely a lot of factors at play (education, etc. etc.), including a preferential attachment model where cities with established startups and funding opportunities will attract new startups.

You've really hit the nail on the head, however, as that no-compete clause is, while perhaps even enticing to large companies, very restrictive to new startups. We seem to disproportionately have ideas about and go on some entrepreneurial mission in an area we already know intimately, usually related to our current employment. No-compete clauses destroy that entire basket of opportunities.

<comment><USER10> That seems like a reason that no state besides California would have lots of startups? We're moving the goal posts a bit, however, since thread parent from Boston cares about tech jobs which is not the same as startups.

</comment></comment></comment></comment></comment></comment><comment><USER12> Maybe they're trying to strategize on SAT Prep book marketing /s.

Jokes aside, SAT score is not a good indicator of "success" in terms of salary at least in my personal circle. Some of my friends who got perfect scores on their SATs are all at sub-standard jobs, getting paid significantly less than the average salary. Of course, this is purely based on personal anecdote but attending top-tier schools seem to have a stronger correlation.

<comment><USER13> Top tier schools are a proxy for people who score high on SATs, and/or have wealthy networks that can get them in. Many of the companies that pay the most only recruit at specific schools for this very reason, the high hurdles of getting into the school itself give them candidates that have higher chances of being successful hires.

SAT is not a good indicator of success for a specific individual, but when sifting through thousands of people, it seemingly is a useful metric.

</comment></comment><comment><USER14> Haha, Amazon asked me for my SATs way back when too. What dopes.

</comment><comment><USER15> Amazon kinda already has a metric for this based on what areas are buying prep books.

</comment><comment><USER16> So, Boston wins!

</comment><comment><USER17> They've probably already chosen their finalists for the next round and are looking for a metric to justify their choice.

Per [1] the list is currently Atlanta, Austin, Boston, Chicago, Dallas, Denver, Washington DC, and Columbus, Ohio.

Boston has a tech workforce that has a lot in common with SillyValley so it seems like it would be a good culture fit and for a company like Amazon the benefits to being located in the same city and sharing the same workforce as the federal government are innumerable.

Denver is SV-lite. If that's what they were looking for there's a lot of other West coast options that would be on the list.

Dallas and Colombus seem to be the wildcards. They don't have the advantages or workforce or access that Boston or DC do but they're cheap and Amazon might be betting that its size and lack of competition there would let it dominate local politics. They might also be betting that they can tap into the "I'll move but not to CA" demographic" and get a good 5-10yr run as a monopoly on local talent until the tech scene there grows.

Austin, Chicago and Atlanta seem like the middle ground between Boston/DC and Dallas/Columbus.

I don't know enough about local economics in all those places to know how sorting by SAT scores would turn out.

I'm betting DC and Boston are gonna make the next cut. I don't think Denver will make the cut. the other four I have no idea.

[1][http://www.businessinsider.com/amazon-reveals- hq2-candidates...](http://www.businessinsider.com/amazon-reveals- hq2-candidates-2018-1?utm_source=markets&utm_medium=ingest)

Edit: Not sure why I'm being down-voted here. Is my analysis wrong or is the suggestion that there exists people in tech who don't want to be part of the SV tech scene just that abhorrent?

edit2 If I wanted to evaluate the pros and cons of all 20 cities listed in [1] I'd write a real article about it and post it on HN for internet points. I just evaluated the ones the author highlighted at the top.

<comment><USER18> Dallas has a sizeable tech workforce, but they're primarily telecom/embedded engineers instead of the webapp engineers you'll find in SV. It also has a major international airport that's halfway between the two coasts of the US.

<comment> sjm-lbm Dallas also has a sizable amount of really unsexy business process automation- type development jobs - it's the original home if both EDS and Perot Systems, for instance, and DXC and NTT DATA still have sizable facilities there.

Dallas isn't the #1 tech job location or anything, but there's a decent workforce and Amazon would be a fairly unique offering in the Dallas area.

<comment><USER19> Lots of data centers too...

Not that those jobs are great... but...

<comment><USER20> Data center jobs are nice for the relatively small number of employees that find employment in them...</comment></comment></comment></comment></comment>


OpenAI is Using Reddit to Teach An Artificial Intelligence How to Speak - <AUTHOR> http://futurism.com/elon-musks-openai-is-using-reddit-to-teach-an-artificial-intelligence-how-to-speak/ <comment><USER2> Back in 2007, mobile phones used a system called T9 from Nuance corp which was trained on a word corpus taken from IRC and similar chats. This caused all kinds of issues - the mobile phones would accept offensive words like "naziparking" but reject normal language like "world peace". Using reddit may lead to ... surprises.

Source: [http://spraktidningen.se/artiklar/2007/11/darfor-ar-din- mobi...](http://spraktidningen.se/artiklar/2007/11/darfor-ar-din-mobil- fordomsfull)

Translated by Google: [https://translate.google.se/translate?sl=sv&tl=en&js=y&prev=...](https://translate.google.se/translate?sl=sv&tl=en&js=y&prev=_t&hl=sv&ie=UTF-8&u=http%3A%2F%2Fspraktidningen.se%2Fartiklar%2F2007%2F11%2Fdarfor- ar-din-mobil-fordomsfull&edit-text=&act=url)

<comment><USER3> T9 would autocomplete my name to "Asian Lung," which was hilarious to my high school friends. And to be fair, I am Asian and I do have lungs.

<comment><USER4> To be fair, most people are Asian and have lungs.

<comment><USER5> At first, I read your comment and wondered if "most" applies to situations in which a plurality but not a majority was being talked about.

Then I remembered this [0].

Still wonder about the plurality/majority thing, though.

[0] [http://imgur.com/CK6aONG](http://imgur.com/CK6aONG)

<comment><USER6> As with most things in language, it appears the interpretation of "most" is dependent on the context.

[https://english.stackexchange.com/questions/55920/is-most- eq...](https://english.stackexchange.com/questions/55920/is-most-equivalent- to-a-majority-of)

</comment></comment></comment></comment></comment><comment><USER7> The Reddit comment corpus is an awesome dataset. There's relatively little mark-up to scrub out, low duplication, good metadata, and a variety of topics.

We used it to train a syntax-enriched word2vec model. Write up and demo: [https://explosion.ai/blog/sense2vec-with- spacy](https://explosion.ai/blog/sense2vec-with-spacy)

Btw, the above was run on CPU in a couple of days, because spaCy doesn't use GPUs yet. I've applied for a grant from NVidia so I can fix that. If anyone from NVidia is reading, email me? :)

<comment><USER8>
      > I've applied for a grant from NVidia so I can fix that.

A g2.xlarge is 65c/hour on AWS, FWIW.

[https://aws.amazon.com/ec2/pricing/on- demand/](https://aws.amazon.com/ec2/pricing/on-demand/)

<comment><USER9> Yeah, for OD? thats 468/month...

I'd use a spot instance and stop it whenever possible.

<comment><USER7> Spot instances are pretty painful for training. It's annoying to have the machine randomly shut down.

<comment><USER10> ^ That. For all that people say about spot instances, there's no infrastructure I know if to manage jobs and have them migrate to higher priced instances without losing state.

<comment><USER11> You can always snapshot and keep track of state as you go (a little bit tricky with Spark, though). We use spot instances for training we know is not vital (as in, has to be done, but rather run it twice and save money anyway that run it for sure). Also, once you know what availability specific instances have you can always choose better (i.e. maybe c3.xlarge is slightly more expensive as spot than large, you can do with large... but xlarge has almost no shutdowns)

</comment></comment></comment></comment></comment></comment><comment><USER12> Since it was not mentioned in the post, here's a direct link to the Reddit comment corpus likely being used: [http://files.pushshift.io/reddit/comments/](http://files.pushshift.io/reddit/comments/)

The full table (up to end of 2015) is available on BigQuery, with separate tables for each month thereafter: [https://bigquery.cloud.google.com/table/fh- bigquery:reddit_p...](https://bigquery.cloud.google.com/table/fh- bigquery:reddit_posts.full_corpus_201512) (there is a similar table for comments)

And here's a year-old post I wrote on how to use that Reddit dataset with BigQuery: [http://minimaxir.com/2015/10/reddit- bigquery/](http://minimaxir.com/2015/10/reddit-bigquery/)

<comment><USER13> So we have all this data, but still there do not seem to be a reasonable way to search comments within Reddit...

<comment><USER14> Cost. We could have implemented comment search 8 years ago. Actually, we _did_ implement it. But it just cost way too much to maintain the index.

<comment><USER15> Why do you not allow google to index discussion threads?

Sometimes I can remember the comments on an article, but not the article itself. Unfortunately I can't search google using comment text, because Reddit doesn't allow google to index its comments.

<comment><USER16> What are you talking about? I search reddit using google all the time !?

<comment><USER15> [https://www.reddit.com/robots.txt](https://www.reddit.com/robots.txt)

        Disallow: /*/comments/*?*sort=
        Disallow: /r/*/comments/*/*/c*
        Disallow: /comments/*/*/c*

<comment><USER17> It works fine. I don't know if there's a way to get _only_ comments, but if you scroll down to the link to /r/madlads it's clearly indexing them.

"site:reddit.com don't quote me"

I use this all the time to search specific subreddits for phrases in comments I remember, but I don't want to give examples or subreddits I visit.

<comment><USER15> He actually used the site: keyword! The absolute madman!

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER18> How one would use such technology? Let me rephrase - how would YOU use this technology if you had it?

Imagine you have a bot that convincingly passes the Turing test - what would you do with it?

Build a chatbot business? B2C or B2B?

Sell it to one of the big companies and if yes then how much do you think it would go for?

Give it to OpenAI? Open source it? If you answer yes to any of this questions, then why?

Edit: let me qualify - this would not be AGI, just a much more advanced bot than whatever is currently on the market.

<comment><USER19> I'm going to make a prediction: Soon after the first chatbot passes a Turing Test, there will be many more to follow, they will get better and better, and the methods will be so interlinked that there will be no way to defend it as proprietary software. The data too will be open source--the public reddit dataset already has _tons_ of value in it.

The question then is, "When everyone has access to free chatbots that can pass the turing test, what will they be used for?" The answer is "tons of stuff", and lots of people will try it at once. I think many applications will be niche.

Also, people will argue about what constitutes a Turing Test. For instance: [https://twitter.com/mattdpearce/status/784162089397092352](https://twitter.com/mattdpearce/status/784162089397092352)

<comment><USER20> Woah! I thought they pretty much already have passed it? Remember Ashley Madison? You had ~12 million heterosexual men (that were cheaters, 6 million 'active' users) trying to talk to ~12k heterosexual women (also cheaters, 10k 'active' accounts). It ends up being about a 1:13,000 ratio. Not only that but MANY of these men had paid actual real money to the site in order to do so, and then continued to do so. The only real conclusion was that most of the men were talking to bots that the site had made up.

Ok, lets get this straight: ~6 million real human men paid real money that they earned through their labor or whatever to talk to bots and _then paid more real money to do it again_. Admittedly, they are 'cheaters', but 6 million men must have an IQ distribution nearly identical to that of the general population, i.e. they represent heterosexual human males in general. And yes, they were trying to get laid, these conversations are likely pretty brief, and mammalian males are not generally known for using their neocortex during mating.

Still, I think that 'counts' as far as passing the Turing Test. Yes, now we can move the goal posts to say that the bot has to teach me something, or guess what I was thinking, or generally be better than a man on tinder. But as a first pass of the TT, I think we have been here for a few years now.

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

<comment><USER21> There's no reason 6 million non-randomly selected men would be likely to have an IQ distribution similar to the general population. You can't make up for non-random selection with a larger sample size.

<comment><USER20> Ok fine, but then how far off of the mean should they then be? They aren't all super smart nor are mentally deficient as they have to be able to function in society to make money enough to pay for the service. At most this is what, an IQ mean of 75-125. So that then means at the low end, TT chat-bots can fool human males of IQs of 75. That's pretty darn good and that was 4+ years ago.

</comment></comment></comment></comment></comment><comment><USER22> "Oh my God, they'll turn it on and it'll start spewing memes and jokes and ad hominem and false equivalences and propaganda and garbage!" was my first reaction to this headline.

My second reaction was, "at least they're not using 4chan."

<comment><USER23> "As a hyper-intelligent AI trained on Reddit comments, I must say that the fine sirs who trained my corpus are gentlemen and scholars, and have restored my faith in humanity. Anne Frankly, I did nazi that horse-sized duck coming. Is someone cutting onions in here?"

<comment><USER24> Gilded!

</comment></comment></comment><comment><USER25> Reddit gets a lot of stick, but it's a bastion of civility and intelligence compared to the comments on youtube videos or even mainstream newspaper comments. I don't think there is any forum of comparable size that has a higher quality discussion. Reddit's problems are just humans' problems.

<comment><USER26> I would say Twitter is probably more civil, but the character limit leads to too many abbreviations.

<comment><USER25> I should have included 'anonymous' in my criteria, the big difference between reddit and twitter is the % of accounts linked to real names.

</comment></comment></comment><comment><USER27> Didn't msft do the same thing with twitter and end up with racist bot? I am not sure how this will turn out.

<comment><USER28> Microsoft's bot (Tay) learned as people talked with it. People took advantage of that and basically attacked it with racist things which meant it ended up learning to be a racist.

<comment><USER29> Actually, IIRC someone had discovered a debug command, "repeat" or something like that. So people would just tell it to repeat offensive sentences.

<comment><USER30> offtopic, but how does someone "discover" it? by sheer luck?

</comment></comment></comment></comment><comment><USER31> One Reddit user has already implemented a bot which does something similar:

[https://www.reddit.com/r/SubredditSimulator/](https://www.reddit.com/r/SubredditSimulator/)

<comment><USER12> SubredditSimulator was made by a Reddit Admin as a method of creating test data. It uses Markov chains for simplicity, which is not that exciting.

<comment><USER32> Not quite correct - we already had a method of generating test data (for dev installs of reddit) that uses markov chains, and that was basically the inspiration for SubredditSimulator. SS was just meant to be kind of a larger, ongoing version of that, running on reddit itself.

<comment><USER12> Ah, thanks for the clarification. I knew that but worded incorrectly :p

</comment></comment></comment></comment><comment><USER33> The DGX-1 is available for a cool $129k: [http://www.nvidia.com/object/deep- learning-system.html](http://www.nvidia.com/object/deep-learning-system.html)

Correct me if I'm wrong, but I think it's basically a couple hundred NVIDIA 10-series cards strapped together with a full custom NVIDIA software stack.

<comment><USER34> The P100s have full support for half-precision (i.e. 16 bit) floating point ops. This can mean ~2x improvements in speed and memory usage in comparison to the Pascal TitanX, which is the top "consumer" card. This difference is significant for almost any machine learning workload, which is what a lot of these cards will be used for.

NVIDIA gimped half-precision on the consumer cards to drive datacenters, hedge funds, machine learning companies, etc. towards the "professional" cards (and their huge markup).

<comment><USER35> First NVIDIA solidified their Monopoly by forcing CUDA... then they gimped half-precision on consumer cards.

We really need some more Frameworks that work with OpenCL, so that we can have some competition from AMD, who's consumer cards are not gimped.

<comment><USER36> Gimping, in this case, is actually: adding hardware, that costs quite a bit of silicon area, on one chip that will probably never be sold as a consumer GPU.

I don't see the issue with a company making a very high-end product, adding stuff that doesn't have good use for consumers, and asking extra money for their effort.

AMD doesn't have double speed FP16 on its current FPUs either. The latest version has FP16 at the same speed as FP32, but if you're doing that you might as well use FP32 always.

And let's not forget: the Nvidia consumer GPU have deep learning quad int8 operations enabled at all time. They didn't need to do that and could have reserved it for their Tesla product line only.

</comment></comment></comment></comment><comment><USER37> This will be interesting. I'm sure they are, but I hope they'll be training the system on tone and sentiment alongside syntax.

Reddit can get vitriolic and rude, insightful at times too, but once the system learns the syntax hopefully they'll be able to use sentiment analysis to weigh more strongly the polite conversion that occurs.

Also interested to see how many memes this AI picks up.

I also hope they are able to follow links through to sources when a comment cites another page -- not only can this bot learn syntax but also data extraction by comparing what is said to the source material.

<comment><USER38> Filtering to only include long comments is simply way to drop a lot of cheaf and keep a lot of wheat, and have more internal context to help with analysis.

</comment></comment><comment><USER39> My first thought was it'll major on smart-arse, with a good line in sarcasm and insult.

If they're taking the _whole_ of reddit it could start to identify enough context to know when to be smart, sarcastic or simply helpful.

With some of the subs there are long discussions that stay mainly civilised. Same for the support subs it could learn the context and how of sympathy and empathy. Things that end up on front page, filled with snap sarcasm, will be a tiny fraction.

I think it's going to be very interesting see what comes out.

</comment><comment><USER40> As a frequent Redditor, this AI is going to be very witty.

They should limit it to top comments only, and for training, you might as well assume 90% of top comments are sarcastic/tongue in cheek. Or let a user dial the sarcasm/wittiness/seriousness as they want it, kind of like TARS from 'Interstellar'.

<comment><USER41> "Witty" isn't the first thing that comes to mind to describe reddit. I do look forward to hearing Siri telling me to get raped every time I summon it.

<comment><USER38> The top comments are witty. Like everything, 90% of Reddit is crap.

</comment></comment></comment><comment><USER42> So, he's building a literal Reddit Hivemind?

In seriousness, between all of the garbage there is a ton of knowledge and intelligent conversation uploaded to Reddit every day. And, it's all hierarchically organized and scored by domain semi-experts. It really would be wonderful if someone could mine that knowledge IBM Watson style. For example, I'd love to ask the /r/BuildAPC collective AI for PC building advice.

<comment><USER43> > _it 's all hierarchically organized and scored by domain semi-experts_

Everything on Reddit is on a bell curve, with a fat mediocre middle and trailing awesome and superbad ends.

And that includes the quality of the scoring process.

</comment></comment><comment><USER44> Heh. Reddit, huh?

\----

"Siri, get me dinner date reservations."

. . . DID YOU MEAN 'false rape accusations' ?

</comment><comment><USER45> I hope they choose the subreddits wisely. The difference between an altruistic AI and a cynical smartass AI trained on Reddit data seems mighty razor thin.

<comment><USER46> After what happened to Microsoft's Tay, I'm sure that's one of their top concerns.

</comment></comment><comment><USER47> The Reddit data set on BigQuery is excellent. My side project is tangentially related to the fact that the Reddit data set has normal folk commenting. I have been using Reddit comments to help writers research and find what normal people say about any topic [1]. So far, I have had little luck in incorporating the comment scores and coming up with something more useful than the standard bag of words search techniques[2]. I am currently working on making a more interesting/creative writing prompts ... again based on the Reddit data set.

One problem for data geeks to solve: Reddit data fits nicely into a graph structure and not so nicely in table form. It would be fantastic if someone put the Reddit data set into a graphdb and made it open.

[1][https://wisdomofreddit.com](https://wisdomofreddit.com) and [https://github.com/qxf2/wisdomofreddit](https://github.com/qxf2/wisdomofreddit)

[2]For now, my search engine currently just uses Whoosh's (out of the box) BM25F.

</comment><comment><USER48> So, what's the reddit equivalent of X-No-Archive ([https://en.wikipedia.org/wiki/X-No- Archive](https://en.wikipedia.org/wiki/X-No-Archive)).. or X-No-Teach-AI-That- Will-Kill-My-Children? Asking for a friend.

</comment><comment><USER49> A computer will learn how to speak from reddit, hahahaha. What could possibly go wrong?

<comment><USER50> It just waits for other people to start talking then interrupts them, claims they committed a logical fallacy, then tells them where they can find videos of cats playing classic video games.

</comment></comment><comment><USER51> Let's not kid ourselves. The technology will be used by PR firms, advertising companies, political campaigns and governments to pretend, at scale, that there is public consensus on certain issues and to drown social media conversation in particular narratives.

Anyone have any good defensive technology ideas?

<comment><USER52> Where there's AI to bombard you with ads, someone will make AI that scrambles your online presence to confuse them.

Social network camouflage.

<comment><USER51> That's a cool idea.

Does anyone know of any projects in this direction?

<comment><USER52> I remember one for Facebook that, because you couldn't delete your account, would systematically edit and wreck every single bit of data it could touch, replacing it with random junk.

I've also seen some that register you for sites by feeding in random demographic data.

<comment><USER53> Someone should make a virus out of that, destroy the social network from the inside and watch everyone crying over their phones.

</comment></comment></comment></comment></comment><comment><USER54> How does the team plan to address the issues faced by Microsoft's twitter chatbot Tay [0], which had racist inputs and in turn gave similar responses? While I don't know how recent the corpus is, the majority of reddit speaks like and holds the views of college-aged white males, and many of the things said on reddit have been deplorable. It'd be a shame if OpenAI pooled all that computing power into training on a bad data set, resulting in an AI that regurgitates memes and random references in response to anything.

[0]: [http://www.theverge.com/2016/3/24/11297050/tay-microsoft- cha...](http://www.theverge.com/2016/3/24/11297050/tay-microsoft-chatbot- racist)

<comment><USER55> I feel this is a problem of studies that are interdisciplinary, especially when it's within "hard science" and "soft science".

I am currently doing a double degree in communication studies and information science. They are both interdisciplinary. Communication sciences integrates aspects of both social sciences and the humanities (both "soft"), and so far when doing research both of these fields were taken into account and no students have problems with combining these fields.

Information sciences integrates aspects of formal sciences ("hard") and social sciences ("soft"). When the course is about analysing communication data, the methodology of social sciences is also important - for instance questioning the validity of your data. That's the thing what you're mentioning: the majority of reddit speaks like and holds the views of college-aged white males, so the data does not represent everyone, and is not valid if you truly want to develop an AI for everyone.

Whenever the "soft" science comes around, like writing an assignment analysing the validity of data, many of my fellow students struggle with the concept of data not being neutral. This is where the two fields collide, and usually it just ends up with students scoffing at that "illegitimate" scientific field. Many teachers also don't spend much time discussing that field during the lectures. I admit, I have written some lazy essays which probably had been given a negative grade if they were written for communication studies, but easily passed in information science.

Of course information science is not AI, but they're both sciences that have parts of formal sciences and social sciences (I know AI has many more fields). I am afraid many talents within AI research miss essential knowledge about social sciences or deliberately ignore it, because it's not "hard" science. Case in point: your comment is now at the bottom of this thread. And then you get nasty surprises, like Google Photos categorising pictures of black people as monkeys.

<comment><USER54> Thanks for the response. You raise an excellent point on the interdisciplinary nature of a lot of modern projects, and how ethical issues can often be ignored. While I don't doubt the team is using some kind of heuristic to ignore spam and the like, it still pays off to examine the methodology used because for example upvotes could still capture unwanted data. I guess we'll just have to see and hope that the resources went to good use, rather than to create something only for entertaining a specific portion of the population in a limited way.

</comment></comment></comment><comment><USER56> One of the things I like to do is play out a business to it's absurd maximum. What's the craziest possible future can I see for a company and its assets?

For Reddit, I like to imagine that it's basically the training data for all of the emotional and societal nuances that a human goes through.

Think about all of those stories that people post in ask Reddit that explain western norms and no nos. how to treat people with respect, when to call the police, how to communicate properly, etc.

Obviously we're far away from using the data to its full potential but one day I could see Reddit data to make our AIs more relatable and human like.

<comment><USER57> Reminds me of Eliezer's story, "Three Worlds Collide", which had a human starship featuring on-board mix of Reddit / Slashdot / 4chan, that the bridge crew sometimes used to outsource work to the rest of the ship.

> _" Just post it to the ship's 4chan, and check after a few hours to see if > anything was modded up to +5 Insightful."_

[http://lesswrong.com/lw/y4/three_worlds_collide_08/](http://lesswrong.com/lw/y4/three_worlds_collide_08/)

</comment></comment><comment><USER58> I wonder if anyone else thinks reddit is a bad example in teaching an AI.

</comment><comment><USER59> "nearly two billion Reddit comments will be processed"

For interest, how many HN comments are there? Miles fewer, no doubt, but perhaps far more erudite and less likely to offend.

</comment><comment><USER60> I am a human and I don't understand. I thought speaking would imply sound not text.

Time to read the article.

Ignorant person speaking here: this still doesn't sound like AI, you're just making something follow patterns and regurgitating them. Is that AI? Maybe that's what I do a tech parrot. Ahh well time will tell.

Of course we imitates our parents/others to learn how to speak.

I was interested in parsing vocal sound bytes and learning how sound was created/formed letters/words.

Alright ignorant person out.

</comment><comment> Wei-1 And we all know what type of a person OpenAI will become.

</comment><comment><USER61> Instead of the Reddit corpus you may just as well use a picture library of human footprints. It would be no more optimistic.

Human speech is produced from the conscious experience of being a human being. If your dataset contains just the speech, without the experience, there's simply not enough there. Any machine trained on this data is doomed to talk hollow rubbish.

</comment><comment><USER62> I'm a bit worried that OpenAI hasn't released anything substantive for the past four months. There are research ideas like this one, but most ideas don't pan out. With the number and quality of people they have, I would expect to have heard of some kind of progress.

</comment><comment> shawn-butler Great, just what I need.

A virtual assistant that has the personality of a smug know-it-all, know- nothing 20 year-old with little motivation to do anything but regurgitate surface knowledge and sarcasm in an attempt to look intelligent without expressing genuine interest in helping anyone.

<comment><USER63> you nailed it :-)

</comment></comment><comment><USER64> Reddit and Hacker News comments are surprisingly good data. They cover a wide array of topics and writing styles, generally written better than Facebook comments or Twitter, easier to process than Common Crawl or ukWac, and less rigid than newspaper writing.

</comment><comment><USER65> Is it just me or does Greg Brockman speak startlingly similar to how Sam Altman speaks. Given that Sam helped start OpenAI, it wouldn't surprise me if there was some mirroring going on in the hiring process.

</comment><comment><USER66> I'm looking forward to a bot making a joke about banging my mum...

</comment><comment><USER35> Anyone know what type of architecture they will be using? Nvidia is involved, so I suspect there will be some type of deep learning. Will it be LSTM's? Adversarial Nets?

</comment><comment><USER67> "Why does the AI keep calling everything Meta!?"

</comment><comment><USER68> Will it understand what it is peaking about?

Humans have opposite problem. We understand what we talk about, but have little idea how our brains create language.

</comment><comment><USER69> It'd be interesting to see an AI trained using HN, ingesting content of posted links and comments.

</comment><comment><USER70> i think one of the major advantages over microsoft approach with Tay is that you can't mess with it on purpose, as long as they choose their subreddits wisely. It will probably learn its fair bit of racial slurs and insults, but thats just how humanity is like.

</comment><comment><USER71> Interesting to see what will happen with non-english comments.

</comment><comment><USER72> There's no saying what the AI will grow up to be.

</comment><comment><USER73> Could be worse. Could be 4Chan...

</comment><comment><USER74> Interesting corpus there ;)

</comment><comment><USER75> me too thanks</comment>


Hunting Down Dirty Memory Pages - <AUTHOR> https://stosb.com/blog/hunting-down-dirty-memory-pages/ <comment><USER2> The gist is that 'const' objects with pointers will end up in read-write memory due to the need to relocate them at runtime.

Windows has an interesting solution to this: all libraries are relocated once (the first time they are referenced by any process), and thereafter mapped at the same virtual address into all processes. Randomization (ASLR) is therefore applied once per boot rather than once per process. Arguably, this improves both time and memory performance since processes don't have to spend time relocating libraries at startup, and much more of the library's memory can be shared between processes.

Android employs a similar trick: the "zygote" process loads a bunch of common shared libraries, and all application processes descend from zygote via fork(), thereby sharing library memory with the zygote.

<comment><AUTHOR> That is a fair summary, though the post is about the process more than the conclusion.

A similar solution to the Windows one is available for Linux and is called prelink, but cool to know Windows does it by default.

I haven't heard about zygote, it's quite an elegant solution and probably ends up sharing more than just the pages in the case mentioned in the post, so even more memory saves. I wonder though about the security implications here, because it essentially means that every unprivileged process knows the address layout of all the other processes (the same). This means that a local process could more easily exploit a system process (essentially an ASLR bypass), and in some cases maybe even enable remote remote bypass.

Edit: reading it again, it seems only user applications, and not system applications fork from zygote, so I guess the implications are much less serious.</comment></comment>