40s-era Mechanical Fire Control Computers Explained - <AUTHOR> http://www.eugeneleeslover.com/VIDEOS/fire_control_computer_1.html <comment><AUTHOR> part 2: [http://www.eugeneleeslover.com/VIDEOS/fire_control_computer_...](http://www.eugeneleeslover.com/VIDEOS/fire_control_computer_2.html)

</comment><comment><USER2> I never thought I would see a mechanical integer overflow till I saw the cam example in this video.

</comment><comment><USER3> Fascinating. I've often wondered about the old mechanical fire control computers. According to a TV show I saw, the fire control computers on US WWII submarines were so top secret no good documentation on them has survived, and I believe the only (or one of the few) fully intact examples left is on the USS Pampanito in San Francisco. Once the bugs were finally worked out in the Mark 14 torpedo US submarines were a hugely effective a weapon in the Pacific war.

<comment><USER3> The submarine fire control computers had to solve a three body problem, not a two body problem like the surface ships.

<comment><USER4> Hu? That's not correct. A submarine going underwater is no different than an airplane going above a surface ship.

<comment><USER3> The third body is the torpedo. Since it travels so much slower than a ballistic artillery projectile the navigation of the torpedo becomes the most important part of the problem to solve. A torpedo attack wan't the way it is portrayed in movies. It took hours to maneuver the submarine and plan the attack. This wasn't point and click. The course, speed, and other characteristics were programmed into the torpedo before it was launched.

</comment></comment></comment></comment><comment><USER5> Does anybody have an alt link? These look like they died:

      "Sorry, Service Temporarily Unavailable."

<comment><AUTHOR> Looks like it ended up making it to the front page of reddit; you may have to give it a few hours (unfortunately it may end up dying here before people get a chance to see it).

<comment><AUTHOR> via said reddit thread:

<http://www.multiupload.com/W6BRMLW5ST> <http://www.multiupload.com/FO2WO6GP6C>

</comment></comment></comment><comment><USER6> As always my computer science forefathers were more manly than I am. It really is fascinating how these clever mechanisms can be used to solve a dynamic problem such as fire control.

<comment><USER7> My first encounter with a CS "forefather" was my CS101 professor. He had a long gray beard , glasses, a pocket protector and could do mental arithmetic in octal. When he started in CS there was no CS, so he was a logician, and then switched to CS. The oldest professor from the philosophy department still refers to him as a "traitor"</comment></comment>


Introducing .NET Core Docs - <AUTHOR> https://docs.microsoft.com/teamblog/introducing-net-core-docs/ <comment><USER2> This is so much better than the old Technet approach. I especially appreciate the UX that went into creating the site - [https://docs.microsoft.com/teamblog/introducing-docs- microso...](https://docs.microsoft.com/teamblog/introducing-docs-microsoft- com/)

Is there any change this will be available as an option for local documentation from VS? Sandcastle is a little dated.

<comment><AUTHOR> We don't have any announcement for this yet, but stay tuned on our blog and Twitter (@docsmsft). Feel free to also submit this piece of feedback here: [https://msdocs.uservoice.com](https://msdocs.uservoice.com)

<comment><USER3> Isn't this it? [https://dotnet.github.io/docfx/](https://dotnet.github.io/docfx/)

</comment></comment></comment><comment><USER4> I know it _just_ launched but oh my god how do you launch such a slow site. I'm trying to load the "System.Drawing" API docs and Chrome inspector just shows a GET pending alongside a _lot_ of analytics and marketing calls being made. I waited to see how long it'd take, 30s to load the page: [http://i.imgur.com/Z6y1ulSr.png](http://i.imgur.com/Z6y1ulSr.png)

Anyway, ignoring the launch issues: My #1 annoyance with MSFT documentation is sub-classes being on a different page. If you want to call a DirectX method which takes 4 inputs, you need to open up a new tab for each of those inputs to see the possible values / etc. I hate it, very very much. I hope their new documentation doesn't have this issue, I'll check back again in a few weeks to see if I can actually load pages on this site.

<comment><AUTHOR> Thanks for the feedback! I am a PM on the docs team and will direct your feedback right now to the engineering team to look into the perf issue.

<comment><USER5> If you disable javascript, the site works and loads in ~50ms. You should consider deleting all/most of the JS :)

<comment><USER6> As someone who works in IT and generally does not like opening pages with JS full on (yes, I am one of those NoScript uBlock elitists), it is insulting that almost no KB article or other main page will load without throwing an enable JS blanket.

It has been discussed here before. As an IT professional, the only system that upsets me more than Microsoft on this point is Symantec. I expect clean minimalist doc pages from system dev and anti-virus companies. I do not need fancy MVVM pages and tracking JS to know what you fixed in your latest bug release, thank you!

<comment><USER7> _other main page will load without throwing an enable JS blanket_

 _I expect clean minimalist doc pages from system dev_

You're in luck. The documents that are being discussed work without javascript enabled.

[https://docs.microsoft.com/en- us/dotnet/core/api/index](https://docs.microsoft.com/en- us/dotnet/core/api/index)

Click on "System"

[https://docs.microsoft.com/en- us/dotnet/core/api/System](https://docs.microsoft.com/en- us/dotnet/core/api/System)

Scroll down and click on "Array"

[https://docs.microsoft.com/en- us/dotnet/core/api/system.arra...](https://docs.microsoft.com/en- us/dotnet/core/api/system.array#System_Array)

Scroll down and click on "OverflowException"

[https://docs.microsoft.com/en- us/dotnet/core/api/system.over...](https://docs.microsoft.com/en- us/dotnet/core/api/system.overflowexception#System_OverflowException)

etc... all without javascript.

</comment></comment></comment></comment></comment><comment><USER8> Looks nice. Much more useful than the original release with only the Enterprise Mobility docs.

<comment><AUTHOR> Thank you for the feedback! We will gradually migrate more documentation to our new docs portal.

</comment></comment><comment><USER9> It could be because it's just a work in progress, but I'm not seeing code examples like there were in the current version of the docs site.

<comment><AUTHOR> It's work in progress - we will add them soon!

<comment><USER10> A couple suggestions here... embed them in the docs on the site, I can't access gist, for example at work, so often have to reread, or use my phone to see them when referenced in blog posts, for example.

The second suggestion, would be to show (maybe under a tab/collapse) what imports one needs... I specifically remember learning C# when it first came out between books and using the cli compiler without benefit of VS, and had a beast of a time figuring out that an example with StringBuilder required System.Text, or some such be imported into my class file. It's something that always bugs me when I see snippets without a reference to the namespaces that are needed.

<comment><AUTHOR> Noted. We are working on the code snippet experience as we speak.</comment></comment></comment></comment>


StoryWorth (YC W11) Aims to Elicit and Record Family Stories - <AUTHOR> http://allthingsd.com/20130403/storyworth-aims-to-elicit-and-record-family-stories

<comment><USER2> Been using storyworth with my dad for the last few months. Learning new things about him is awesome, and he definitely wouldn't be interested if this were just a mobile sorta thing. Keep it up!

</comment><comment><USER3> Hey!

I love this kind of service. That said, here's what I want:

I want a description of what happens when you give up or get acquired. Thirty days notice for this kind of thing is not good enough. What about an option to be crawled by the Archive Team?

I'm glad your committing to be around for forever, but a worst-case plan is absolutely necessary to trust you with my family's patrimony, etc.

<comment><AUTHOR> Hey, StoryWorth founder here. Great point, and especially important for a service where the data has value for decades to come.

Crawling by the Archive team isn't really an option, since the information is mostly personal and private.

However, the way I've addressed this is by making data export part of the story from the start. At anytime, you can request a backup of your stories, and I will send you a beautifully formatted PDF, along with any audio files (and eventually pictures, videos, etc).

If the service ever had to shut down, I'm committed to giving everyone ample notice to download such backups. So worst case, your stories would no longer be accessible at StoryWorth.com, but you would always have them.

Does that seem reasonable? This is something I care a lot about, so I'd love to hear other suggestions.

<comment><USER3> Yeah.

I recently began to the process of digitizing family photos and thinking about the best way to keep them around for another fifty years and found myself playing with the idea of building this kind of infrastructure.

You're still relatively early in the game - on a decades long timeframe at least - but it's worth considering these kinds of policies. Your average customer is probably not savvy enough to have a preformed opinion, but from one technologist to another I find myself naturally pedantic over what "ample notice" might mean.

If you're lucky and successful you'll eventually have to deal with stuff like, "what if the user dies, and stops paying" - do you delete the data?, and how do you handle people associated with them looking to grab the info?

Having a next-of-kin login process or a "shutdown the webview but allow people to always have access to their backups" would be considerate.

Good luck :).

<comment><AUTHOR> Agreed. I made data-portability a key point from the start, but these scenarios are important to think through.

Some details:

* Anyone who has access to a user's stories can download a backup at any time.

* If a user stops their subscription for any reason (including death), I will notify all users who have access to those stories with the option to download a copy (or renew the subscription). Depending on the size of the data, I may even be able to include the full backup in the notification email.

* I will keep backups available for download for as long as possible after the subscription has lapsed, ideally indefinitely (this also makes resubscribing more compelling).

* For full peace of mind, I send you all the text responses by email, so you have a copy archived there. I will look into including the actual audio attachments in the emails as well.

The trickiest scenario is if a user dies and their stories aren't shared with anyone. I could assume that the person didn't want these stories shared, but I think these will have to be dealt with on a case by case basis.

[edited to fix line breaks]

</comment></comment></comment></comment><comment><USER4> Have both my parents on this and its a treat to get the weekly morsels of information I have never known about them. Major +1. Good luck with the official launch!

</comment><comment><USER5> One small nitpick - if you're going to put a Chevelle on your site and talk about the one Dad had, don't use a picture with 20" rims. :)

<comment><AUTHOR> Hah, great catch!

</comment></comment><comment><USER6> I'm kind of surprised there's no date element connected to the stories, if the samples are any indication:

<https://www.storyworth.com/sample-story/nancy>

By "date", I mean, the day or era that the stories take place in. If my parents enter a bunch of these stories in it'd be nice to have a way to view them besides as a list of headlines.

<comment><AUTHOR> Hi Dan, good suggestion. You will be able to add more metadata to the stories down the line (dates, maps, etc). That will open up a lot of cool visualizations (timeline, map, etc). It could also be fun to pull in related data from that time period, for example newspaper headlines or archival photos.

The reason I haven't added this yet is that I've focused on the writing experience. Because most of the stories are written via email, there isn't a structured way to add metadata, so it has to come as a secondary step (either automatically extracted, or annotated by family members)</comment></comment>


Announcing TechCrunch50 2009 - <AUTHOR> http://www.techcrunch.com/2009/03/26/announcing-techcrunch50-2009/

<comment><USER2> We applied unsuccessfully to TC50 last year. One thing that caught us out a little is that they are very strict on the no publicity before the conference rule - that's fair enough of course since they want to maximise publicity/exclusivity around the event itself. But it meant that we held back from publicising ourselves waiting for their decision (and due to the large volume of applicants, final decisions were somewhat later than advertised). Unfortunately when the decision came through it was negative - we would have loved to go, but it's not the only way to get yourself known. You've got to think carefully about the timing of your company launch and how gambling on acceptance to TC50 might affect your other marketing efforts.

</comment><comment><USER3> Worth a repeat on how the selection process worked: [http://techpulse360.com/2008/11/10/how-fairsoftware- became-a...](http://techpulse360.com/2008/11/10/how-fairsoftware-became-a- techcrunch50-startup-true-story/)

If I saw my story in a movie, I'd say Hollywood writers exagerate. And then it happens to you.

</comment><comment><USER4> Anyone applying to debut at TC50?

</comment><comment><USER5> Does presenting a product launch at the YC investor day count, as far as TC50 is concerned, as prior release - so to speak? Has anyone been caught out by this?

(The same question goes for the YC-competitors' demo days/investor days)

</comment><comment><USER6> Best of luck to all the YC companies planning to apply!

</comment><comment><USER7> Is it better to debut at TechCrunch or DEMO ?

<comment><USER3> Easy answer: apply to both. Usually, you won't even have to figure out the answer to that question, the "market" will decide for you.

Just like YC, having been selected at TC50 or DEMO opens doors. Remember that VCs, corporate M&A people, etc. are swamped with requests from every possible geek who thinks they have an idea. They need to apply some kind of filter.</comment></comment>


The world's first HTML5 SIP client - <AUTHOR> http://code.google.com/p/sipml5/

<comment><USER2> Wow, they've built ragel state machines for the entire SIP protocol. Bravo guys.

[http://code.google.com/p/sipml5/source/browse/#svn%2Ftrunk%2...](http://code.google.com/p/sipml5/source/browse/#svn%2Ftrunk%2Fsrc%2FtinySIP%2Fragel)

</comment><comment><USER3> This is amazing! I've been regularly using sipdroid on my phone, but hadn't been able to find any working solution for my desktop.

I couldn't make it work on my normal Chrome even after setting the MediaStream stream flag, but it worked on the Canary build.

However, it still doesn't work, my mouse pointer keeps being a spinning wheel, and the login button seems disabled. However, it's a great idea!

</comment><comment><USER4> I am not expert, but GPL v3 terms means that I can't use it in commercial product if I do not attach all my source code? Am I right?

<comment><USER5> Any open source software (gpl3, gpl2, bsd licence, mit licence etc etc) cannot be distributed in a commercial or noncommercial manner without also providing the source code. (there are some other requirements aswell as this, notably with GPL that your software must be GPL licensed aswell.).

There is nothing special in any open source/free software licence about commercial vs noncommercial use. All OS/FS treat commercial and noncommercial the same.

As for requiring source code distribution, the GPL 3 is essentially the same as the GPL2 (which is ~20 years old), you have to do it under gpl2 and you have to do it under gpl3.

<comment><USER6> The MIT and BSD licenses do allow distribution inside of commercial software without providing source code. The only real restrictions are that the MIT license requires you to include their copyright notice somewhere and the BSD license is similar.

I believe the ZLIB license also permits commercial distribution.

Off the top of my head it's only the _GPL_ licenses that require source distribution no matter what.

</comment></comment></comment><comment><USER7> Looks cool, but... what is SIP?

<comment><USER8> <http://en.wikipedia.org/wiki/Session_Initiation_Protocol>

There are 2 main VOIP protocols right now you can choose from. H323 and SIP. H323 was developed my the telecom industry and its a binary format so its more of a pain in the ass to develop form.

SIP looks like HTML where all the commands it uses, like to register, call, hangup, add someone to the conference, all are in ASCII and are human readable.

Heres an example of a SIP packet:

REGISTER sips:ss2.biloxi.example.com SIP/2.0

Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7

Max-Forwards: 70

From: Bob <sips:firstname.lastname@example.com>;tag=a73kszlfl

To: Bob <sips:email@example.com>

Call-ID: email@example.com

CSeq: 1 REGISTER

Contact: <sips:firstname.lastname@example.com>

Content-Length: 0

If you were looking at the data of a SIP REGISTER it would look just like that, whereas H323 would just be a bunch of crazy gibberish without the proper decoding.

<comment><USER9> > SIP looks like HTML

I think you mean HTTP.

</comment></comment></comment><comment><USER10> Idea: Do not use ICE for NAT traversal (it will not always work). Do not use a public SIP server controlled by a third party (ever heard of spam?). Traverse NAT by getting a reachable IP address and running a supernode on it. Run your own _private_ SIP server (e.g. for just friends and family).

It's neat that this can all be made to run in the browser. But keep in mind that one company may end up with monopolistic control over the browser. It's certainly looking like this could happen. Again.

All this stuff runs just fine outside the browser. Supernode and SIP server can run as daemons.

<comment><USER11> ICE will always work if you use a TURN server to act as a media relay in case none of the other candidates succeed.

</comment></comment><comment><USER12> Can somebody enlighten me please. Would this allow me to capture & process mic input client side?

<comment><USER13> There's no way to capture mic input with HTML5 now.

<comment><USER14> Anyway this thing relies on javascript too, which I thought was a stretch to call 'pure html5'...so depending on your needs, Flash (which _can_ use mic input) might be just as acceptable as javascript...then again, it might not be.

<comment><USER15> JavaScript is definitely included when people talk about HTML5

</comment></comment></comment></comment><comment><USER16> I would like to try the client using FreeSwitch/mod_iSAC as the webrtc gateway.

</comment><comment><USER17> I can't even imagine the abuse this is ripe for. Think chat roulette, but without the video.

<comment><USER18> video is actually available as is file sharing. this opens myriads of opportunities (or rather: now we can do with HTML5 what we could do with flash 2 years ago.)

</comment></comment><comment><USER19> How do I get it to work with Chrome 19? (the demo. it says not WebRTC support)

</comment><comment><USER20> FaceTime on the web is the new black. I been following closely webRTC and this is it. Ride the wave, it'll be pervasive, some will even make money with it. Face to face customer service? Video conferencing? Doctors appointments? Livecasting? Sports? Events?

Downside is, if everybody starts live-casting an apple event, the web will go down in flames.

<comment><USER21> Ok, but it's just the same things that we could do for some years with Flash. What will change? Before was Flash, now is HTML5? So, what? Just technology? Many users does not notice even what technology you are using

<comment><USER22> Doesn't Flash webcam video or streaming require proprietery Flash streaming servers that are quite costly? Not to mention probably no longer (actively) supported.</comment></comment></comment>


Singapore to Open Source Bluetooth Contact Tracing - <AUTHOR> https://bluetrace.io <comment><USER2> There is also an app/project out of MIT called 'Private Kit', which is primarily designed to address the privacy issue.

[1] [https://www.wsj.com/articles/mit-researchers-launch- location...](https://www.wsj.com/articles/mit-researchers-launch-location- tracking-effort-for-the-new-coronavirus-11585315674)

[2] [https://safepaths.mit.edu/](https://safepaths.mit.edu/)

</comment><comment><USER3> Another project by a group of Czech volunteers:

[https://github.com/covid19cz/erouska- android](https://github.com/covid19cz/erouska-android)

[https://github.com/covid19cz/erouska- ios](https://github.com/covid19cz/erouska-ios)

</comment><comment><USER4> It's kind of far down in the page so I missed it the first time I scanned it.

"We are working around the clock to finalise our protocol reference documents and reference implementation, to open source what we have built, so that others may deploy their own flavours of TraceTogether - each implementing the BlueTrace protocol. We appreciate your patience in the meantime."

</comment><comment><USER5> I feel like this would be a lot easier and have a higher rate of usage/compliance if our tech companies actually worked with people to release or opt-into sharing this information for when it's necessary (information which is already secretly shared with governments for security).

For the majority of people if they go to [https://www.google.com/maps/timeline](https://www.google.com/maps/timeline) they'll have a tracker of everywhere they've visited and the time they were in each location.

If you could take people's accounts who've been infected and give them the ability to opt-into sharing this information you could have a pretty good source of information about the locations where they dwelled for long periods of time and who should go into self-isolation.

<comment><USER6> I don't think anyone trusts Google enough. They can help by providing governments with anonymized data they already have. Immediately what comes to mind is identifying to governments public hot spots while lockdowns are supposed to be going on so that they can send people to disperse the gatherings. I'm sure people can come up with better ideas

</comment></comment><comment><USER7> If this gets any sort of public traction it'll be built in to shop doorways, public transport, police cars, and street lights within a couple of months.

<comment><USER8> Yeah, in a new york minute. This is already built into iOS in their newer Find My Phone. The carriers also know who and where we are just need to add in covid testing data. The problem is that even if it is decentralized and OSS, then the average user can't/won't install it. If it is simple and easy (centralized), then it becomes a honey pot for the government.

<comment><USER9> Carriers know where we are, are you referring to triangulation?

<comment><USER10> Tower info plus other sources. A while back I couldn't stop my iPhone from connecting to the 'free' Orange WiFi at my mall.

Since signal is weak I enabled 'WiFi calling' which also shares location info with the carrier (so they know if you are roaming or not, presumably).

</comment></comment></comment></comment><comment><USER11> Update: has now been open-sourced [1]

[1] [https://github.com/OpenTrace-community](https://github.com/OpenTrace- community)

</comment><comment><USER12> Can't wait to be tracked by tech developed by a governmental team in the name of safety. Opensource or not a leash is a leash.

<comment><USER13> This is needlessly cynical. TraceTogether uses client-side logging so as to leave data in the hands of the users up until it's actually needed for contact tracing.

Would you suggest that we not have public health departments engage in contact tracing at all to combat the pandemic? If so, I'm not sure what to tell you.

Otherwise, apps may go a long way to improve the speed and accuracy of contact tracing. Here in the US, I'd much rather use a protocol like TraceTogether's Bluetrace that goes out of its way to preserve privacy, than adopt an actually-privacy-violating centralized approach where the government simply gathers everyone's location data and processes it centrally (Israel's approach, for example).

<comment><USER12> Cynical for sure, don't know about that "needlessly" given it's an endless fight where everytime you give up a right it's taken away forever. This time they give you the opensource bit, next time it's "a matter of emergency", then they stop asking and just punish you if you don't comply.

>Would you suggest that we not have public health departments engage in contact tracing at all to combat the pandemic? If so, I'm not sure what to tell you.

I have never said that so I am not sure what to tell you. The only method that works is quarantine, remote control is a copout to address the lack of contact with the population. Moreover, what I am addressing is how the tracking is NEVER going to go away even after the emergency is gone.

> Israel's approach for example

On this topic, Israel tech companies are right now sending out business proposals to the Italian government to try and implement their methods (viz. [https://www.ilgazzettino.it/nordest/primopiano/coronavirus_z...](https://www.ilgazzettino.it/nordest/primopiano/coronavirus_zaia_cosa_ha_detto_oggi_privacy_sospendere_legge-5134478.html\);) last thing Europe needs during this crysis is ANOTHER political mindset shift towards walls and a iron boot.

<comment><USER14> "The only method that works is quarantine"

Literally _nobody_ in the epi community believes that. Would you please state your credentials, or cite a credible source for that statement? (For the opposite, please do read takes from Trevor Bedford, Mark Lipsitch, Carl Bergstrom, Andy Slavitt or really pretty much anybody in the field)

We (the US) are _currently_ in a state were suppression is the only prudent tool. As SK has shown, contact tracing & testing help a lot once you're not completely inundated by cases (and actually have a meaningful supply of equipment)

Yes, there are privacy concerns. Work on them. Address them. But blanket statements like "only quarantine works" are extremely detrimental to public health efforts - the last thing you want is an "all or nothing" mindset

<comment><USER15> > We (the US) are currently in a state were suppression is the only prudent > tool

How do you know that this is the current state?

> As SK has shown, contact tracing & testing help a lot once you're not > completely inundated by cases (and actually have a meaningful supply of > equipment)

"meaningful supply of equipment" means this option is not possible in the US?

<comment><USER16> > _How do you know that this is the current state?_

Look at the number of cases and their regional distribution, realize that those are _tested_ cases and thus, with a) asymptomatic carriers and b) really bad testing in the US, the number of active cases is at least 10x that. Then realize you're dealing with an exponential process. United States are _thoroughly infected_ already.

> _" meaningful supply of equipment" means this option is not possible in the > US?_

Not now, but if and when the US implements proper suppression measures, and the number of cases goes down to manageable levels (while at the same time the supply chain of PPE catches up to demand), _then_ the supply of equipment will be meaningful.

<comment><USER15> I guess i misunderstood surpression. Thought surpression is the early stages and not when you have been thouroughly infected already.

"meaningful supply" was in the context of avoiding a lockdown and hence i don't undrestand your answer. if you don't have the equipment now, how do you avoid the lockdown and make the levels go down without large quantities of dead people?

<comment><USER14> I'm not an epidemiologist, or an MD, so with a large grain of salt:

Containment: Testing & contact tracing - you try to contain the disease before it widely spreads. Usually one of the early stages of fighting.

Mitigation: You can't contain any more, and you're trying to slow down the progress to avoid a large peak. Test & treat those with severe symptoms, encourage people with mild symptoms to stay home, encourage people to keep distance.

Suppression: Things have hit the fan. You need to drastically halt the progress of the epidemic. This is shelter-in-place, lockdown, quarantine etc. #staythefuckhome has become a bit more mandatory. That's pretty much where we are right now. You want to drastically reduce the number of infections in a short amount of time.

"Meaningful supply" was in the context of suppression actually taking hold. At some point, you're hopefully down to illness levels where containment or mitigation make sense again. But for that to happen, you need tests, you need PPE, you need infrastructure so you actually can contain. We're at suppression/lockdown because we failed at that the first time round.

So, it's not about avoiding the lockdown now.

The goal is lockdown now to prevent catastrophic overload and buy time to get supplies in place for later containment stages.

Hope that clarifies? But, of course, containment is not guaranteed to work, so we might be cycling back and forth between those measures

The report #9 from the Imperial College of London details the ideas behind that cycling approach: [https://www.imperial.ac.uk/media/imperial- college/medicine/s...](https://www.imperial.ac.uk/media/imperial- college/medicine/sph/ide/gida-fellowships/Imperial-College-COVID19-NPI- modelling-16-03-2020.pdf)

<comment><USER15> Great, thank you very much for the thourough reply and link.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER17> I just got out of a call where we arrived at the exact same design as a way to track down the infection spread.

Thank you for posting this!

</comment><comment><USER18> Would like to see Apple utilize their ultrawideband chip for decentralized contact tracing.

</comment><comment><USER19> I think in these extraordinary times, it's nice to see the government proactively trying to do more to counteract the worst pandemic the country has ever seen. As much as we might all cry foul over the curtailing of freedom, there is a lot to be said in this current environment about contact tracers immediately knowing who a known covid carrier has come in contact with, which in turn means a speedier response from the medical teams.

That being said though, the app is absolute garbage on iPhone. Obviously not really their fault, but needing to have the app actively on for it to work is absolutely going to lead to people not bothering to turning it on.

<comment><USER13> I agree this is bad, but I don't understand why it is. Not an iOS developer but I was under the impression apps can run in the background to maintain Bluetooth connections.

Assuming Apple's policies are in fact preventing them from running in the background, does Apple have a mechanism to grant them an exception for this use case? Does someone have a contact at Apple who could reach out to them?

<comment><USER20> Not an iOS developer either, but I think apps cannot make new bluetooth connections in background, which is a requirement for this app.

</comment></comment></comment><comment><USER21> Lots of neat descriptions on the page. Can't wait to see the reference documents.

</comment><comment><USER22> I built a react native version: [https://github.com/yonahforst/trackandtrace](https://github.com/yonahforst/trackandtrace)

Looking for contributors!

</comment><comment><USER23> It should be opt-in, if you don't opt-in,mandatory quara tine for you. And this should not be something they can renew after the crisis like the US Patriot act.

</comment><comment><USER24> Sadly this won't happen in the US. Even if it's really private, people won't install it unless it's pushed down to them as an update from above, and no company will want to be the first to push it.

I suspect the bigger issue is people don't want to be told by an app that they need to go get tested.

Come to think of it, cities like New York could push it as part of a bigger, more comprehensive covid app...

</comment><comment><USER25> I'm currently working on a community-run contact tracing app in the open: [https://github.com/epicollect/epi-collect](https://github.com/epicollect/epi- collect)

It is not a mobile app. You export your data from Google (thanks GDPR!), and filter out personally identifiable data points before submitting. We also let you know exactly who is about to use your donated data (we only allow academic researchers to have access), and give you advance notice so you can delete it if you don't want your data to be used in a particular project.

We are MIT licensed and are figuring out how to make data donation safe via UX and engineering. We need all the help we can get - even if it's just feedback. Feel reach out! firstname.lastname@example.com

</comment><comment><USER26> What is contact tracking? The article does not tell us.

<comment><USER27> Once you have an identified case, you trace who they have been in close contact with recently and start contacting/testing/isolating them and trace it further from there

E.g. In Switzerland this was done manually (by medical staff mostly i think) in the very beginning, but they gave up very quickly on it because of lack of resources.

</comment></comment><comment><USER28> What the hell, I hate Bluetooth now?

<comment><USER29> I didn't have any positive experiences with Bluetooth, it was always too flaky, so I didn't even activate it for years now.</comment></comment>


String Theory, 500 BCE - <AUTHOR> https://fermatslibrary.com/s/string-theory-500-bce <comment><USER2> The weird thing about this week's "paper" is that it's a chapter from a book, but with no indication of the name or author of the book. It seems to be "Music by the Numbers: From Pythagoras to Schoenberg" by Eli Maor: [https://press.princeton.edu/books/hardcover/9780691176901/mu...](https://press.princeton.edu/books/hardcover/9780691176901/music- by-the-numbers)</comment>


Go command support for embedded static assets (files) - <AUTHOR> https://go.googlesource.com/proposal/+/master/design/draft-embed.md <comment><USER2> Again, more magic comments.

The proposed feature is great, but the unwillingness of the Go team to use a separate, clearly defined project file or at the very least a separate syntax in your code file leads them to stuff every additional feature into comments, a space shared by human notetaking.

Let's have a look: * Build constraints (// +build linux) * Code generation (//go:generate <command> <arguments>) * Cgo, you can even stuff entire C programs in the comments (// #include <stdio.h>) * Cgo flags (// #cgo CFLAGS: -DPNG_DEBUG=1) * and now this, file embedding (//go:embed html/index.html)

Most novices would assume the commented out code does nothing, and rightly so in my opinion. Half of these features aren't even code-file specific but project-wide, making deciding which file to put them in hard and looking them up even harder.

<comment><USER3> These should all just have been pragmas with their own syntax. I would even accept something as heretical as "@" for the pragma command, e.g.

      @build linux
      @generate <cmd> <args>
      @C #include <stdio.h>
      @cgo CFLAGS: -etc
      @embed path/to/file

Maybe these could even be come kind of code that you can write yourself and define your own pragmas and code transformations by passing some lib folder to the compiler with prebuilt compiler extensions... Ah well.

<comment><USER4> Besides the precious four bytes we would save for each pragma, what's the advantage of using "@" instead of "//go:"?

<comment><USER5> 1\. It doesn't look like a comment, so it's less confusing to people new to the language

2\. It allows the programmer to skip comments entirely, when reasoning about program behaviour

3\. You can write comments without fear of the comment changing program behaviour (probably of little concern in practice, but still)

Putting directives in comments is always a hack. C and C++ get this right, with _#pragma_.

<comment><USER6> You also get no completion help from the language server since you are in a damn comment

<comment><USER5> That's another good point.

</comment></comment></comment></comment></comment></comment><comment><USER7> That's showing some real support to the community IMO.

There are plenty of purists that argue both for and against the concept but one cannot deny it fits very well in the sales pitch for Go. You can have a simple tool chain to ship a binary for any number of systems and that support for embedded assets would be a first class citizen.

I would also love to see them address more robust plugin options or officially adopt / endorse the pattern HashiCorp uses as they're doing here with the bindata prior art.

<comment><USER8> Go is not a purist language. It's pretty relentlessly designed for maximum productivity with minimum complexity. This sort of feature is right in line with its mission.

<comment><USER9> I keep hearing that, but Go is one of the languages I'm least productive in, and I know I'm not alone in that.

You can pick it up in a week, sure. That's not the same as productivity.

<comment><USER10> I'm a dev for more than 10 years. Much Python, C#, Java, JS/TS, Kotlin, a bit of Rust and was recently forced to use Go.

Writing out source code by hand: Nothing beats TS or Kotlin. Not even Python.

But what surprised me with Go after a couple of month (and please, nobody should judge a language until having done a serious project): Taking everything into account, from installing to looking for libs, writing code, testing, compiling, revisiting code after a couple of month ... Go is an absolute dream in terms of overall efficiency.

Writing out error-checking or for-loops is a one shortcut in GoLand. Getting a table-test template for a function as well. People complaining about having to type this stuff out should learn a proper editor.

<comment><USER11> Whilst I agree with your comment, I would like to point out / express my personal opinion that having to rely on your editor to churn out boilerplate like error checking is a smell; it reminds me of ye olde Java where Eclipse could generate hashCode and equals. Later on I always used Lombok, and if I were to work in Java again I'd push hard for Kotlin, which has stuff like that built in. I know Scala does as well but it's a can of worms, it has too many options and no two developers will write the same code.

<comment><USER8> I've never needed to have an editor churn out Go error handling, and I don't find it that hard. It could be better, but not much better.

Exceptions are not less complex. They just move the complexity around. Exceptions as typically implemented also don't play well with event driven or concurrent models.

The thing I actually like about Go errors is that it makes you think about them right when they happen, while an exception encourages dealing with errors "later" which often means "never" or "as an afterthought."

Go _kind of_ has exceptions, but panics are intended only for very extreme cases like out of memory errors that crash most applications and are often not recoverable. Using panics for non-fatal errors is bad Go code.

One reason I think people don't get Go is that it occupies a language niche that formerly was not occupied by any language. It's like Python meets C, a "low level scripting language." It's designed to be productive and pragmatic but fast and compiled and capable of dealing with pointers or even embedded ASM.

</comment></comment></comment></comment></comment></comment><comment><USER12> I love this idea of making executables contain assets, and it fits well with the Go ethos of a single (statically built) executable. This makes distribution simpler for applications that do need to deal with assets of different kinds.

A tangential comment: is anyone else concerned a bit that discussions and debates happen on platforms like GitHub and reddit? These two platforms are large enough to be around for quite sometime, but are we making it easier to lose historical context because platform creators/designers are choosing third party platforms that they don't host or control (or in some instances don't or can't pay for)?

<comment><USER13> It's concerning that the debate that formed and forms open source is not itself available on open source platforms and/or archived and licensed and available for access in the same manner and license as the code itself. Good spot, quite apropos!

</comment></comment><comment><USER14> Video presentation: [https://golang.org/s/draft-embed- video](https://golang.org/s/draft-embed-video)

<comment> brown9-2 I hope this catches on as a trend, it's really nice to see the process being so open to the community to give feedback.

</comment></comment><comment><USER15> Seems pretty complicated compared to Rust's `include_bytes!("path/to/file")`. Sounds like it might have a compile time advantage though, seeing as it produces a seperate package.

<comment><USER16> I know it's been mentioned before, but I really feel there is a need to codify an 'internet lore law' about how many comments can appear on a Go themed HN post before someone brings up how superior Rust is

Something like: Pikes law of unfavourable comparison OR HN Golang oxidation rate

<comment><USER17> I suspect that, programming in Rust is so onerous, that Rust programmers must take lots of breaks and troll Go threads so they feel less bad about themselves.

Or maybe they're just waiting for something to compile?

<comment><USER18> To be fair, I remember thinking the same thing when Go was new. HN was pretty dominated by everyone apparently switching to Go (if you were to believe the general attitude anyway) and how Go was the clear path in the future

Not that it is or isn't and clearly Go does things really well in some problem spaces but yeah, this seems to be a common theme for all young languages

I do think some members of the Rust community Take it waaay too personally, which I never saw in general when Go was the hip thing. That I agree can be very obnoxious

<comment><USER19> Same with Nodejs, and same with Ruby when the Rails craze. That's us devs.

</comment></comment></comment></comment></comment><comment><USER20> I'm happy to see this, I've always liked using embedded assets in executables to make single file distributions for tools.

That said, I really don't like the further overloading of comments. Comments are for the human, not the compiler.

<comment><USER21> It's a consequence of go's simplicity by design. You can't actually destroy natural complexity; only move it around. And if you're unwilling to design a proper container around that slowly increasing complexity, it just squeezes out between the cracks in odd ways.

In go's case, it's manifest primarily through magic (magic files, directories, comments, names, env vars, switches, etc that you just have to know how to invoke). Another warning sign is the need for an external build tool like makefiles in order to build-in-one-command because you need extra steps beyond "go build" (such as "go generate").

</comment></comment><comment><USER22> I wrote one of the listed tools (github.com/mjibson/esc) and am thrilled about this proposal. I think it's great and solves all the problems in a great way.

<comment><USER23> I wrote an unlisted tool too, and I am also a fan of this proposal.

The fact that there are so many of these "embed file in binary" tools suggests that it really is a problem that could be usefully solved once, in a consistent and reliable fashion.

</comment></comment><comment><USER24> I think it's a well thought out design, particularly the implementation of some common Go interfaces (such as fs.FS) that will allow this to be transparently used with existing Go code.

The only thing I'd want is to allow environment variables in the "go:embed" statements, while my assets might be in the same repo and thus relative, they may also be in a different asset repo (if I'm using git I could use git submodule, but if I'm using something else that might not be possible).

<comment><USER4> The best way to do this with the current proposal is to write a simple go package in your assets repository and import it. Something like:

        package assets // import "github.com/me/myproject/assets"
        //go:embed *
        var FS embed.Files

        package mypackage
        import "github.com/me/myproject/assets"
        //use assets.FS

Would that cover your use case?

<comment><USER24> Yeah! (as long as the UI/UX folks don't mind a bit of Go code in their repo)

I was kind of hoping for:

      package foo

      //go:embed $ASSETS/*
      var assets embed.Files

But one issue with this is that it might make a dogs breakfast of the filenames within the `assets` object -- it sort of needs something like this:

      //go:embed * from $ASSETS

(and it would not include the $ASSETS path in the object).

<comment><USER4> An interesting option that I've not seen proposed yet would be to accept go:embed comments before importing a package (obviating the need to write the assets package in my previous example).

So, assuming your assets are in the repository github.com/me/myproject/assets, you could just do:

        package foo

        //go:embed */*
        import "github.com/me/myproject/assets"

And the go tool would take charge of generating an assets package with assets.Files.

Then we don't even need a magic embed package at all. And generating a package would give us more flexibility, for example:

        package foo // import "foo.io/foo"

        //go:embed Name string "name.txt"
        //go:embed Data []byte "bin.dat"
        //go:embed "images" "templates" "html/index.html"
        import embedded "foo.io/foo"

        //use embedded.Name, with type string
        //use embedded.Data, with type []byte
        //use embedded.Files, with type fs.FS

</comment></comment></comment></comment><comment><USER25> My former coworker Miki Tebeka wrote nrcs[0], this was specifically for static files - css, JS, png etc - for shipping a self contained web server binary. I still use it now and then because it is well designed and does one thing and that one thing really well.

[0] [https://github.com/tebeka/nrsc](https://github.com/tebeka/nrsc)

<comment><USER26> I am using stuffbin to embed files. github.com/knadh/stuffbin

</comment></comment><comment><USER27> Can someone explain please the point of embedding bin data into a binary, vs just bundling those assets and opening as a file at runtime?

<comment><USER28> Performance. No additional I/O at startup and guaranteed to be in memory.

<comment><USER29> I don't know what platform you had in mind, but this isn't generally true for Linux. No part of a Linux executable is in memory except the page containing the main entry point, initially. You'd have to pre-fault the sections of interest and protect them with mlock to make sure they stay in memory. If you don't their cached pages may be dropped, which is essentially the same thing as swapping.

In short, these embedded assets are no more likely to be in memory than any other file-backed data. If you want to guarantee they are in memory, it is up to you to make that happen.

<comment><USER30> Even then, it avoids open, path traversal, read read read, close.

More important is avoiding having to answer the question "where are my assets".

</comment></comment></comment></comment><comment><USER31> Regardless of the bike-shedding over the exact syntax, this would be really cool to see. I have no clue how C/C++ made it into 2020 without this language feature - and yes, I know about incbin and xxd, and Go having it ahead of those languages would be ironic given how new and conservative of a language it is.

</comment><comment><USER32> This would be huge. I have had to deal with 3rd party libraries to try to embed assets for a web server.

<comment><USER33> Which is the way it should be. Not everything needs to be in std lib.

<comment><USER34> While I agree that "not everything needs to be in std lib", having worked with other languages that support embedding out of the box, let me tell you it's handy.

It also seems like an area where it'd be nice for there to be a single uniform way to do it.

<comment><USER35> Of all things C is missing the ability to import binary assets. Which is kinda deranged when you think about it.

<comment><USER36> For runtime, you can certainly read any arbitrary binary file in C without problems.

For compile time, I make heavy use of xxd -i to generate header files in a range of projects. It is no longer installed by default on most +nix systems, but it is generally still in your package manager (often installed alongside vim), and has been around since 1990.

<comment><USER37> Oh I wish I'd known about 'xxd -i' ! When I saw it in the video linked above I was so annoyed that I hadn't used it before

</comment></comment></comment></comment></comment></comment><comment><USER38> This is funny to me to see on HN tonight because I spent a bunch of time packaging a Go app on Sandstorm this evening, and one of the listed packages apparently was pitching a fit about some static assets not being pulled into the Sandstorm package correctly...

I resolved it, checked HN, and saw this was a peeve they wanted to solve. Hah.

</comment><comment><USER39> I would love if gob encoded files were supported natively with some special sugar syntax.

I have a project I work on where I need to package a bunch of data that won't be available locally. Given that I'm loading data, it seems most optimal to just package it as encoded go data from the get-go.

Right now I'm using go-bindata to embed gob files.

</comment><comment><USER40> D has the import statement for that: [https://dlang.org/spec/expression.html#import_expressions](https://dlang.org/spec/expression.html#import_expressions)

</comment><comment><USER41> Go needs proper typed annotations like Java

<comment><USER42> Go started being a Java 1.0, instead of learning what a modern language should be like, so every missing feature gets eventually added with a couple of hacks.

Go 15 is going to be a pleasure to use.....

<comment><USER43> Is 15 the version that generics are going to be implemented in? Or are generics still in the proposal stage?

<comment><USER42> Hopefully by then they should be available, we will be discussing how they are unsound and how it was a mistake to add them in like that, while everyone will be discussing this new language that is going to be so much better and fix all the problems.

</comment></comment></comment></comment><comment><USER44> Something I'd love to see in Zig.

</comment><comment><USER45> Can you run one of these files as an executable?

<comment><USER28> It looks like this is just for static data files. To run a piece of memory as executable you'd have to explictly mark the page as executable with e.g. mprotect(2) on Linux. I guess there's nothing stopping you from doing that from Go also.

<comment><USER46> You still need an ELF loader, unless you're shipping shellcode. As far as I know, there's currently no great way to load an arbitrary segment of memory as an ELF, without doing some sort of copy (eg. memfd_create, write, exec).

</comment></comment></comment><comment><USER33> No mention of go-bindata which was one of the originals :(

I think this problem is best solved by a library.

Leave the damn language alone!

<comment><USER47> > No mention of go-bindata which was one of the originals :(

There's literally an entire section in the appendix dedicated to `go-bindata` and explaining what it generates. It was also first in the list of libraries mentioned.

I also disagree with you entirely. The document does a great job explaining the problems with having this "solved by a library". I'm excited about this draft design.

</comment></comment><comment><USER48> I'm aware there is demand for this sort of thing but I'd suggest that almost nobody actually needs it. This strikes me as a feature in search of a problem – especially considering how many of the examples in this document relate to static web assets.

If you're considering bundling static assets into your binary for a service, you would almost certainly be better served by containerizing your service and copying those assets into the image.

<comment><USER49> I disagree, one amazing aspect of Go is the static binary that can easily be distributed. I embed templates and other text files in my binaries and it makes the installation so simple and without extra dependencies or steps. Even though I'm a huge proponent of containers I don't think it is needed for things like CLI tools.

<comment><USER42> I was quite amazed doing static compilation with Turbo Basic, Turbo Pascal, Turbo C, Turbo C++,....

<comment><USER49> When I see all the CLI tools that require NPM / PIP to install hundreds of dependencies I am quite amazed when one requires a single binary. I'm not saying it's a unique feature with Go but that it is nonetheless a feature.

<comment><USER42> What amazes me is that installing hundreds of dependencies is acceptable, and that modern generations don't get that static compilation goes back to the first compiler, while dynamic compilation only went mainstream around mid-90's.</comment></comment></comment></comment></comment>


MySQL now includes memcached, and a plugin that allows fast NoSQL-style access - <AUTHOR> http://dev.mysql.com/doc/refman/5.6/en/news-5-6-6.html <comment><USER2> Title should be:

MySQL development server, not meant for production use, in development for almost 2 years, release date unknown, now includes memcached, and a plugin that allows fast NoSQL-style access.

I hope they are taken seriously however; I'd like to see all the major RDMS tightly integrate memcache in front. It only makes sense, web developers have been doing it themselves since LiveJournal's hayday.

<comment><USER3> This isn't integrating memcache in front, it's letting you query normal InnoDB tables directly using the memcache protocol instead of SQL.

<comment><USER2> from the docs: <http://dev.mysql.com/doc/refman/5.6/en/innodb-memcached.html>

"MySQL 5.6 includes a NoSQL interface, _using an integrated memcached daemon_ that can automatically store data and retrieve it from an InnoDB table. By default, you use the memcached API purely to speed up database operations, letting InnoDB handle memory caching using its buffer pool mechanism. _Advanced users can enable the traditional memcached in-memory caching and control whether operations look up and store data in memory, in InnoDB tables, or both._ This offering provides users with the best of both worlds"

</comment></comment></comment><comment><USER4> Relevant excerpt:

 _The MySQL server now includes the widely used memcached in-memory caching system, and a plugin that allows fast NoSQL-style access to InnoDB tables through the memcached protocol. This access method avoids the overhead of SQL parsing and constructing a query optimization plan. You can store the underlying data in a single InnoDB table, or spread it across multiple tables. You can read and write data through both memcached and SQL. For example, you can do fast single-key lookups through memcached get calls, and do statistical reports across all the data through SQL._

<comment><USER5> So it's actually an implementation of the memcached API onto the table-space?

<comment><USER6> _Advanced users can enable the traditional memcached in-memory caching and control whether operations look up and store data in memory, in InnoDB tables, or both._

<http://dev.mysql.com/doc/refman/5.6/en/innodb-memcached.html>

</comment></comment></comment><comment><USER7> Seems like a very misleading title. Surly it should be "MySQL now supports the memcache protocol for simple NoSQL-style access on InnoDB tables".

As far as I can make out, the memcached server software itself is not included in MySQL right?

SELF CORRECTION:

No, it does seem to include memcached as well for write through caching. Interesting. [http://dev.mysql.com/doc/refman/5.6/en/innodb-memcached- bene...](http://dev.mysql.com/doc/refman/5.6/en/innodb-memcached- benefits.html)

</comment><comment><USER8> This is incredibly helpful.

However, I wish there's something in reverse: Redis as a MySQL storage engine. The most obvious useful things is that you can save a `tags` table without m2m tables, juse use Redis sets.

<comment><USER9> Why have an m2m table? Just have a table with two columns: post_id (or whatever is being tagged) and tag (varchar). If you want to present a list of possible tags just query for uniques. I may be missing something, so please correct me if there is a better way or I am misunderstanding your point.

<comment><USER8> there are three design patterns for tags in a table based db

<http://forge.mysql.com/wiki/TagSchema>

<comment><USER10> Link is dead... Just redirects to dev.mysql.com

Cache link, since I can't find it on dev.mysql.com:

[http://webcache.googleusercontent.com/search?q=cache:II_A7LF...](http://webcache.googleusercontent.com/search?q=cache:II_A7LFmN- UJ:forge.mysql.com/wiki/TagSchema+http://forge.mysql.com/wiki/TagSchema&cd=1&hl=en&ct=clnk&gl=us)

</comment></comment></comment></comment><comment><USER11> If mysql would throw flying pigs out of my server I still won't be using it. Not in a world where PostgreSQL exists.

<comment><USER12> In a world where perfectly respectable, performant, and resilient _companies_ use MySQL, your comment stinks of inexperience.

</comment></comment><comment><USER13> Just what App Engine already offers, its memcache api[1] on its NoSQL datastore.

 _App Engine FTW!_

[1]([https://developers.google.com/appengine/docs/python/memcache...](https://developers.google.com/appengine/docs/python/memcache/))

<comment><USER14> > Just what App Engine already offers

No, it doesn't.

"The Memcache Python API High performance scalable web applications often use a distributed in-memory data cache in front of or in place of robust persistent storage for some tasks"

MySQL memcached is not a cache, it's a persistent storage with memcached API. And it's fast.

<comment><USER15> Isn't this MySQL memcached thing just a memcached in front of MySQL where the 'key' is the expanded SELECT statement?

<comment><USER14> What you've described it's MySQL query cache.

MySQL memcached is a memcached deamon that uses InnoDB storage instead of in- memory storage. The caching is done by InnoDB itself.

(and actually it's possible to enable the optional in-memory storage too)

<http://dev.mysql.com/doc/refman/5.6/en/innodb-memcached.html>

</comment></comment></comment></comment><comment><USER16> Given that the most common reason for sticking with MySQL is the maturity of InnoDB and the surrounding toolsets, and the ability to hire knowledge easily this sounds like an excellent development.

<comment><USER17> Have you tried to hire a competent MySQL DBA recently?

</comment></comment><comment><USER18> URL: [http://dev.mysql.com/doc/refman/5.6/en/innodb-memcached- inte...](http://dev.mysql.com/doc/refman/5.6/en/innodb-memcached- internals.html)

Last line: "If there is no innodb_memcache.containers.name value of default, the row with the first name value in alphabetical order is used. "

This is in regards to which table is used as the default for get/set operations. Anyone else foresee this leading to mass confusion/issues for unsuspecting users down the road?

</comment><comment><USER19> I think this is pretty cool, waiting for some benchmarks.

</comment><comment><USER20> This makes a lot more sense than adding the HandlerSocket API which provided marginally more utility at the cost of being a completely new API. Being able to bypass the query engine for key lookups is pretty cool and a write through cache is a bonus.

</comment><comment><USER21> Postgresql has had a memcached extension for, um, 8 years. I haven't used it myself, but I think it is well respected.

<http://pgfoundry.org/projects/pgmemcache/>

<comment><USER14> pgmemcache is a memcached client, it connects to external memcached server. Which is, um, quite useless.

<comment><USER22> w.r.t "useless": Joins against memcached data, and expiry of keys via trigger. Different, yes, useless -- well, up to you. Not written for no reason, though.

<comment><USER14> That expiring triggers could be somehow useful. But in most cases it's not worth to query memcached from database (selects). The reason is it's much faster to query memcached directly without even opening database connection.

All these caching things make applications complex, because cache invalidation it's a complex task.

MySQL is doing right steps - it's doing caching itself via InnoDB buffer pool. And makes the interface faster by replacing SQL queries with fast memcached API.

<comment><USER22> > The reason is it's much faster to query memcached directly without even > opening database connection.

Sometimes you need to augment data in a SQL database with memcache information, and then subsequently compute a predicate, and it would be faster to use your sql executor than Ruby, say. I'm not suggesting you'd always use this access path, but it can be handy, just like dblink is.

> MySQL is doing right steps - it's doing caching itself via InnoDB buffer > pool. And makes the interface faster by replacing SQL queries with fast > memcached API.

I'd really like to see some benchmarks on that. If one has a protocol-level prepared plan in Postgres (which is not an exotic entity, some drivers even create them transparently), one just has to send "Bind" and "Execute" messages to call functions.

If there are major advantages to be had where there is any disk i/o involved at all, my suspicion it'd be having a caching strategy that is more suited to the memcached workload: most SQL implementations already have fast-path mechanisms (such as prepared statements, which are in my understanding relatively slow in MySQL due to some vagary in the protocol) where I'm a bit hard pressed to believe on intuitive grounds alone that parsing (and not planning, if one uses prepared statements) is the principal culprit for poor performance.

</comment></comment></comment></comment></comment><comment><USER23> I'm actually going to include this as an example of non-innovation in my pitch to take us to postgres.

<comment><USER24> What does postgres have that's equivalent or better? If I'm understanding this MySQL improvement, it persists memcache data on disk, a great thing. Does postgres already do that, or better?

<comment><USER22> I think this MySQL feature has the potential to be neat, but if one is using it in the mode where one persists or faults to disk it seems like the biggest feature will not be performance, but protocol-compatibility and ease of development and deployment.

It seems like there are a few tuning modes relayed in the documents that have various persistence trade-offs, though, so the performance angle of the protocol could come into play.

I'd like Postgres to be able to support some kind of carefully-sized multi- backend caching utility someday, but as an extension if at all possible. I think such a thing is technically not that exotic (but still a lot of work), yet does not exist AFAIK. Prepared statements would usually be fast enough as- is if one had the right backend functions (UDFS) I suspect.

</comment></comment></comment><comment><USER25> does anybody know how this would work with a pool of servers? if servers were replicated, would the memcache pool stay in sync as well? I'd assume it has to work that way to be effective. it sounds cool though, I'm glad MySQL continues to evolve.

</comment><comment><USER26> is it clear how this works? i can't work out what a memcache query would look like. is the key that SQL select statement as a string?

<comment><USER27> It's just a memcache API call.

It doesn't even go over the SQL interface, it's not text-based.

<comment><USER26> so there's no cross-use at all? it's just a memcache api implementation that happens to be implemented in the same software package as mysql?

<comment><USER28> This part of the manual lists several advantages as compared to simply packaging MySQL and memcached together, the first two probably being the most significant.

[http://dev.mysql.com/doc/refman/5.6/en/innodb-memcached- bene...](http://dev.mysql.com/doc/refman/5.6/en/innodb-memcached- benefits.html)

<comment><USER26> thanks. so the advantage seems to be that it's persistent (and in a way that's integrated with existing mysql system mgmt for backups etc).</comment></comment></comment></comment></comment>


Ask HN: My grandfather was a target of a scam using my information - <AUTHOR> Yesterday my grandfather received a phone call at his home address from "one of my friends". This "friend" told him that I was in a tragic accident in Las Vegas while at a [real friend's name] wedding. This scammer knew some fairly detailed information about me to try to scam my grandfather. He called me and my dad and avoided the scam, but boy was he worried!<p>The ask is: What should I personally do to cover my ass. I have a blog, social media accounts, etc and am now worried about getting hacked, scammed, or family being prayed upon. Thoughts? <comment><USER2> My dad fell for this scam (sadly he won't admit it to his friends to help prevent them from falling for it). He did explain to me what happened: the social hacking was successful enough that the scammer may not have known you real friend's name!

In my dad's case, someone called and said "this is your son. I'm in London and my passport was stolen." My dad asked, "This is <my name>? Are you OK?" Then he asked why "I" hadn't called my wife, using her name. Now the scammer could say "I tried to call <her name>" and had some explanation I now forget. Thus the scammer was able to build confidence.

The really interesting thing to me is that the caller didn't even have my accent. When he finally called me, my dad told me that, and said though he noticed that immediately he was so worried about me that it didn't cause him to suspect anything!

I'm a parent so I can understand how some of your rational reasoning can shut down when you think your kid is in trouble. I now see that as you start to lose your marbles this can become pretty bad.

<comment><USER3> > I now see that as you start to lose your marbles this can become pretty bad.

Maybe not your intention, but it's a severe mistake to think that people have to be somehow vulnerable or extra gullible to fall for scams.

The meme of "they put spelling mistakes in to filter out the clever folks" is only true for some scams.

Other scams involve people who've made many tens of thousands of contacts, all day every day, refining their scam in an iterative process. They use well- honed social engineering techniques.

<comment><USER2> Yes, that wasn't my intention so thanks for the clarification.

</comment></comment></comment><comment><USER3> This is a very common (in UK) scam.

The "distressed relative" scam is mentioned in passing here: [http://www.bbc.co.uk/guides/zw9v34j](http://www.bbc.co.uk/guides/zw9v34j)

The FTC calls this "family emergency scam" [https://www.consumer.ftc.gov/articles/0204-family- emergency-...](https://www.consumer.ftc.gov/articles/0204-family-emergency- scams)

Here's Canadian advice:[http://mpdc.dc.gov/page/relative-distress- scam](http://mpdc.dc.gov/page/relative-distress-scam)

I don't know who AARP are, but they have information here: [http://www.aarp.org/money/scams- fraud/info-07-2012/grandpare...](http://www.aarp.org/money/scams- fraud/info-07-2012/grandparent-scam-wa1889.html)

There's some simplistic advice from the BBC here: [http://www.bbc.co.uk/guides/zxq8frd](http://www.bbc.co.uk/guides/zxq8frd)

It's important to note that fraudsters don't just go after vulnerable people; they go after everyone. [http://www.bbc.co.uk/news/business-35250678](http://www.bbc.co.uk/news/business-35250678)

What you can do to protect yourself: Let all your family know that these scams are happening; let your relatives know that if you do suddenly need large amounts of money that you will speak to them in person, or your spouse will.

Removing your information, especially your birthdate, is probably a good idea, but that's hard to do.

<comment><USER4> While Canada did take Washington, D.C. in 1814, we had to give it back. These days, advice from the D.C. Metropolitan Police Department can probably be considered American.

<comment><USER3> Thanks! Sorry about that. Not sure how I made that mistake.

</comment></comment></comment><comment><USER5> _I have a blog, social media accounts_

A lot may revealed there. Think about what you post. Vomiting every detail of your life out for the world to see is a good source of feedstock for social engineering against your family and friends.

</comment><comment><USER6> This is standard practise in Europe.Even a public police statement in Greece on TV. Sometimes they dont even know your details the chat goes like "crying voice calls for granpa" grandpa says "martin is it you" then they know they your name etc.

</comment><comment><USER7> This happened to my grandfather. The scammer told him I was accused of manslaughter in Oklahoma and was being held for questioning. The scammer was my "lawyer" and my grandfather needed to post my bail. He saw through the scam but was worried enough to check with my dad to see I had travelled to Oklahoma recently. At that point my mother and father were quite concerned. 30 minutes later I finally answered the phone and confirmed that I was not in Oklahoma. I was in class.

</comment><comment><USER8> This is called the "grandparent scam." It's a common tactic. Your grandfather's a smart guy and avoided it.

</comment><comment><USER9> I had this happen to a friend of mine and at the time of the "call" the relative they said was in trouble was playing Xbox in the next room.

</comment><comment><USER10> Your accounts probably weren't hacked or anything. Most likely you or your family posted on social media about the wedding and the scammers then knew you would be away from home.

Could the detailed information you mentioned be found in your social media profiles, or the profiles of your friends and family?

</comment><comment><USER11> This happened to me as well. My grandmother called my dad because she believe I was in jail and I needed money to get out. She was completely distraught and even after I talked to her, she wasn't convinced that I was safe. It was pretty scary.

</comment><comment><USER12> My grandfather was hit by this. We never determined conclusively how it happened, but putting together what they knew and what they didn't (they = the attackers), I strongly believe that an insider at the care facility my grandmother was staying at either was the attacker or provided key family information (names, etc) to the attacker, who then used Google, etc, to do additional research.

The attacker knew quite a lot about me (but all stuff publicly researchable) and was very convincing. It was quite disturbing.

<comment><USER13> > (but all stuff publicly researchable)

You said it there. Don't be so quick to blame the caregivers. The fact that an attacker _could_ know quite a lot about you from social media means you were an easy mark, no insider necessary.

Just say no to social media.

<comment><USER12> The reason I included them is that my grandfather and I do not share a last name and he is not at all on any kind of electronic communication. So someone who just knew me could research for a long time and not find out anything about him; and vice-versa. Someone with specific knowledge had to make the link outside of social media.

<comment> nommm-nommm Whitepages.com has a "associated with" that contains all sorts of relatives without social media accounts or Internet access and that's just public. Your name probably ended up in an obituary at some point in time They scammer surely has access to the paid private databases, same as the PIs and background check companies use. You know those "verify your identity" questions you get asked when opening a bank account or something? Those "what was your car payment for your 2005 Toyota Corolla" questions? One of them asked me who I knew and one of the choices was my ex. How we got linked in a database is beyond me. We never shared an address, bank account, credit card, last name, nothing. We weren't even all that serious. There's so much info out there in databases. No need to jump to totally unfounded conclusions.

</comment></comment></comment></comment><comment><USER14> While its not outright identity theft, I _highly recommend_ following the instructions at [https://www.reddit.com/r/personalfinance/wiki/identity_theft](https://www.reddit.com/r/personalfinance/wiki/identity_theft) to get ahead of the curve.

</comment><comment><USER15> This is why I have a Code - Counter Code setup with my family. I can give a message to any person and then say, "Say this word at the end of the message" and that confirms the message came from me. It's a little weird to do this with family but when you explain it to them, they kind of get it.

</comment><comment><USER16> Sounds horrible but it doesn't sounds like there's much you can do personally about this to be honest unless you have zero internet identity. For that kind of scam, it sounds like all you need is few names or places that are related to you which would be hard to completely hide unless you never talk about yourself online, don't have an online CV and don't have any social accounts.

</comment><comment><USER17> On the hacking front, make sure you have two-factor auth enabled on all of your accounts that support it. That will go a long way in keeping your accounts from being misused.

</comment><comment><USER18> Honestly, don't answer the phone from numbers you don't recognize. Real emergency responders will leave a message.

Conmen are really talented at this. Once local restauranteur who I know got this call from the electric utility, demanding $500 in Visa gift cards in 30 minutes (lunchtime) or the gas will get shut off.

The guy fell for it, just because the conman was good. Afterwards, he didn't understand what happened.

</comment><comment><USER19> I wonder, how did they get all these infos ? do you have profiles on many social networks like Facebook or Linkedn ? where did the call orignated from ? I guess they were trying to get money from your relative,how did they ask him to transfer the money ?

</comment><comment><USER20> The Confidence Game: Why We Fall for It . . . Every Time by Maria Konnikova is definitely worth checking out if you're curious in learning more about why these types of scams (and cons in general) are so often successful.

</comment><comment><USER21> a colombian friend was a victim of similar scam. they called her and claimed they had kidnapped her brother. she was about US$2k short</comment>


$59 Cable Lets You Connect iPhone to Arduino — No Jailbreaking - <AUTHOR> http://blog.makezine.com/archive/2011/07/59-cable-lets-you-connect-iphone-to-arduino-no-jailbreaking.html

<comment><USER2> Very cool. I have talked to more than a few developers interested in connecting various hardware (cameras, legos, etc.) directly to an iPhone. The problem is always the impossibility for an independent developer getting hardware approval from Apple. Hopefully this sidesteps that issue.

Also, Redpark's product page seems to be having a hard time responding, so here are some of the specs if it does go down:

$79.99 + s/h

Features -Enables development of iOS apps for private use in homes, schools and offices -Connects iOS devices to RS-232 serial devices. -Designed for use with iPhone 4, iPhone 3GS, iPod touch (fourth generation), iPad 2 and iPad. -Used in conjunction with the Redpark Serial Cable SDK and sample code. Together these tools enable you to write iOS apps that communicate with serial devices. -One meter long cable. -Male DB-9 connector. -Supports communication at speeds up to 57.6 Kbps. -Requires iOS 4.3.x or later. -Mintronics Survival Pack. -P4 RS232 to TTL board.

[https://www.makershed.com/ProductDetails.asp?ProductCode=MSR...](https://www.makershed.com/ProductDetails.asp?ProductCode=MSRP02)

</comment><comment><USER3> Unfortunate:

"Enables development of iOS apps for private use in homes, schools and offices"

I assume this implies that you shouldn't expect any apps in the store to be compatible with this cable.

<comment><USER4> if you want to, you have to get licensed and by cables from redpark or make your own. just like with the fcc and wireless it makes some degree of sense.

since redpark already has a license, you can just piggyback on theirs. you still have to sign an nda with apple, and they still have the encryption chips in that cable.</comment></comment>


SR-71 Sled Driver : Flying the World's Fastest Jet - <AUTHOR> http://www.amazon.com/Sled-Driver-Flying-Worlds-Fastest/dp/0929823087/

<comment><AUTHOR> This is a GREAT book about the SR-71. I'm submitting since there are so many posts on this topic recently. It's unfortunately out of print, but I'd encourage anyone who enjoyed the recent posts on the SR-71 to look for this in the local library ( I know who does that anymore! ).

</comment><comment><USER2> I someone could find a story about a TSA agent hassling a SR-71 crew about Bitcoins, it would never leave the front page.</comment>


Sort by Controversial (2018) - <AUTHOR> https://web.archive.org/web/20200121045328/https:/slatestarcodex.com/2018/10/30/sort-by-controversial/ <comment><AUTHOR> reading the article made me realize that the combination of dang + the heuristic of "article w/ way more comments than upvotes: might be extra flame-y" is an effective counter-measure

other platforms have much more trouble with this phenomenon

</comment><comment> just-juan-post These days it's the only way to read Reddit.</comment>


Show HN: MNMLIST – Share your (Wunder)lists with anyone (mnmlist.io) - <AUTHOR> https://www.mnmlist.io <comment><USER2> Its nice little site. Interested in tech behind it. Do you have any plan to make it open source?</comment>


Psy Makes $8.1 Million By Ignoring Copyright Infringements Of Gangnam Style - <AUTHOR> http://www.techdirt.com/blog/casestudies/articles/20121209/07431921317/psy-makes-81-million-ignoring-copyright-infringements-gangnam-style.shtml <comment><USER3> Along the same lines, it's interesting that not only has Constantin Film apparently stopped issuing DMCA notices on the _Untergang_ (Downfall) parody videos, but some of the older ones that were previously DMCA'ed off of YouTube seem to have come back. Maybe it finally occurred to someone at Constantin how many viewers those unlicensed parodies have attracted to their excellent but otherwise obscure movie over the past few years.

I posted one a couple of years ago, myself. It stayed up for about a year, then was yanked in response to a DMCA complaint from Constantin. About a year after that -- meaning just a few weeks ago -- I started getting notifications of user comments again. The video had magically reappeared on YouTube with no intervention or counterclaim on my part.

<comment><USER4> Perhaps YouTube has a re-inclusion program?

<comment><USER5> I doubt it. That would most definitely violate the DMCA.

<comment><USER4> What if the original DMCA complainant noticed negative results form the DMCA and wished to reverse it?

Surely that would be possible.

</comment></comment></comment></comment><comment><USER6> As explained on The Verge[0], the internet has been essential to the rise of K-pop, and the K-pop industry is not nearly as strict about piracy as the American music industry is.

0: [http://www.theverge.com/2012/10/18/3516562/k-pop-invades- ame...](http://www.theverge.com/2012/10/18/3516562/k-pop-invades-america- south-korea-pop-music-factory)

<comment><USER7> Though I'm not really riding on the South Korean wave, I have a huge amount of respect for Korea's music labels (at least when it comes to how they release their content).

If one takes a look at YouTube channels for the South Korean labels, the videos the provide are almost always high quality -- both in terms of actual video quality and content that they release (e.g. LOEN[1] and SMTOWN[2]).

On the other side of the sea, you have Japan. From the US side, it seems that Japanese labels haven't been too generous with releasing their content overseas. Universal Music Japan has been the only big label (IMO) that has been great with releasing content. The other end of the spectrum, you have Sony Music...and they've been pretty quick to bring down videos as well.

[1] <https://www.youtube.com/user/LOENENT/videos?view=0>

[2] <https://www.youtube.com/user/SMTOWN>

[3] <https://www.youtube.com/user/universalmusicjapan>

[4] <https://www.youtube.com/user/sonymusicnetwork>

<comment><USER6> > On the other side of the sea, you have Japan. From the US side, it seems > that Japanese labels haven't been too generous with releasing their content > overseas.

As explained in this article by The Verge[0], the Japanese are still very much tethered to physical media. They regularly rent/buy CDs, DVDs, and Blu-ray discs, for reasons discussed in the article, which has kept profits high in the Japanese entertainment industry, compared to the West. _Physical_ album sales have actually _risen_ 11% in Japan in 2012, compared to 2011[1].

This, combined with the Japanese market's size and the almost complete absence of piracy there, has obviated the need for Japanese artists to embrace the internet or market their products abroad. Korea, on the other hand, has a much smaller population, and one for which piracy is a way of life. Korean artists are thus forced to market abroad, and in fact get 80% of their profits from Japan[1].

Among domestic Japanese groups, on the other hand, there has also been a reliance on various gimmicks to boost physical single and album sales. For example, AKB48, a girl pop group with dozens of members (originally 48 of them), holds yearly elections ( _senbatsu_ ) to determine the order in which the members are ranked. You get one voting code for each physical copy of a particular single/album that you buy. There are crazy fans that will literally buy thousands of copies of a single CD in order to repeatedly vote for their favorite member, so that member wins[2,3].

0: [http://www.theverge.com/2012/11/15/3628376/japan-digital- con...](http://www.theverge.com/2012/11/15/3628376/japan-digital-content- ecosystem-hulu-country-future)

1: [http://seoulbeats.com/2012/12/worry-for-the-right- reasons-k-...](http://seoulbeats.com/2012/12/worry-for-the-right-reasons-k- pop-and-kohaku/)

2: <http://blog.livedoor.jp/kinisoku/archives/3425353.html>

3: <http://getnews.jp/archives/119107>

<comment><USER8> AKB also built an empire on handshakes - buy the media, get a ticket to give a girl a handshake.

<comment><USER6> Yeah, one of the things that Akimoto Yasushi (the genius behind AKB48) did was create an idol group with girls that have a more down-to-earth and "accessible" image. They perform daily at a theater in Akihabara (the nerd district in Tokyo), and after the performance you get to meet the girls. And they supposedly have had no plastic surgery, which is supposed to contribute to their accessible image in a country where plastic surgery is quite popular in the entertainment industry (though many have said this is a lie and called them 整形B48/Seikei-B48, a pun on their name using the word for plastic surgery).

</comment></comment></comment></comment></comment><comment><USER9> Devil's advocate: where do you draw the line?

MIT did a Gangnam style video, did they pay Psy for the right to do so?

If BMW were to do a Gangnam style video, surely Psy would expect to be paid, right?

Why BMW and why not MIT?

We are in a liminal period where copyright is sometimes enforced, and sometimes not. Social pressure and business inertia causes some people to play by the rules. Risk taking, greed, and ignorance causes other people to not do so. Where this ends up is anyone's guess, but it isn't likely to stay this way for long.

[That said, I'll reiterate my previous comment about record labels who bring hundred-million-dollar suits against their fans: fuck them.]

<comment><USER10> Parody is considered to be "fair use". Commercials aren't.

<http://en.wikipedia.org/wiki/Fair_use#Fair_use_and_parody>

Actually copyright laws were pretty clear, we just had massive regression due to intense lobbying of greedy entities.

<comment><USER11> >Parody is considered to be "fair use". Commercials aren't.

How about when parodies generate money? Weird Al made millions doing that.

<comment><USER12> Regardless of fair use, Weird Al gets permission: [https://en.wikipedia.org/wiki/Weird_al#Reactions_from_origin...](https://en.wikipedia.org/wiki/Weird_al#Reactions_from_original_artists)

<comment><USER11> He didn't get permission from Coolio

>I ain't with that…I think that my song was too serious…I really…don't appreciate him desecrating the song like that… his record company asked for my permission, and I said no. But they did it anyway…

[http://splitsider.com/2011/12/gangstas-parodist- revisiting-w...](http://splitsider.com/2011/12/gangstas-parodist-revisiting- weird-al-vs-coolio/)

<comment><USER13> Possibly because Gansta Paradise already is a poor version of Stevie Wonder's Pasttime Paradise? Musicians borrow from each other, always have always will.

</comment></comment></comment></comment></comment></comment><comment><USER14> From the article, some of his money comes from Youtube ads, which I don't think would exist if it weren't for traditional copyright laws. (ie, Youtube wouldn't be giving him a cut of the ad revenue if it weren't for copyright.)

Still... Kudos to him for not using draconian enforcement, yet still making lots of money.

<comment><USER15> Similarly, he wouldn't get any money from people making commercials without copyright law. They would simply rip it off without asking.

<comment><USER16> The point is; no one would being paying anything unless it got so popular. And, it was allowd to get so popular because no one pettily went after "small fry" infringers. They let (encouraged probably) it go "viral". Let it be mixed, shared, performed, Let it become part of our culture, almost in The Commons.

And when it was good enough to be shared, massively, they reaped the just rewards.

<comment><USER15> Right, it's stupid to go after the small fry, but nor is this evidence that copyright in general should be abolished, as some think. The balance is somewhere in the middle.

</comment></comment></comment></comment><comment><USER17> Hah. Tried opening the Youtube link in Germany. Got "Unfortunately, this video is not available in Germany because it may contain music for which GEMA has not granted the respective music rights." The GEMA situation is completely out of control here -- it often feels like half of Youtube is blocked, including many things that obviously don't infringe.

<comment><USER18> Install ProxMate or ProxTube to get around this.

</comment></comment><comment><USER19> Note to self: it's as simple as creating the most popular YouTube video of all time. Done and done. Say you're independent and have a decent hit -- 100,000 views. Earnings: $870.

<comment><USER20> 100,000 views isn't much. I think my silly videos of Sid Meier's Railroads[1][2] have more than that.

These are things I put together in a day and edited in windows movie maker. When youtube offered adding ads I ignored them thinking it would never amount to anything. At $8.7 ECPM I feel absurd having skipped the chance!

For an independent band 1k means vital equipment and capital to sell fan goods. For a "Let's play" gamer it means a better microphone and subsidizes the cost of games.

Many large websites run on rates far lower, and those have to provide their own traffic.

[1] [https://www.youtube.com/watch?v=zYgCwYfVkQ8&list=UUQ7Hrh...](https://www.youtube.com/watch?v=zYgCwYfVkQ8&list=UUQ7Hrhc5iE7qzLldCKGdU9w&index=9) [2] [https://www.youtube.com/watch?v=fUXL- zua9ho&list=UUQ7Hrh...](https://www.youtube.com/watch?v=fUXL- zua9ho&list=UUQ7Hrhc5iE7qzLldCKGdU9w&index=10)

<comment><USER21> >These are things I put together in a day and edited in windows movie maker. When youtube offered adding ads I ignored them thinking it would never amount to anything. At $8.7 ECPM I feel absurd having skipped the chance!

Presumably, you would not be able to show ads on those videos because they use IP you don't have the rights to. They're popular (again, presumably) because people search for footage of those copyright games and enjoy the first copyright music track. It's fairly easy to put something together "in a day" that becomes popular when you're not constricted by the rules of copyright and can piggyback on the popularity of existing content. I'm not criticizing - <USER2> have a viral video on youtube that's within spitting distance of a million views, but I would never be able to show ads on it because I don't have permission to use the footage or the music.

And yes, it seems that presently _most_ video games companies _generally_ turn a blind eye to people posting footage from their games. But you'd be foolhardy indeed to start to rely on advertising revenue that was built entirely on the goodwill of a diverse group of for-profit companies. There are a host of semi- and fully-professional video game personalities whose livelihood could be shut down overnight if a few companies decided to enforce their copyrights.

</comment></comment></comment><comment><USER22> The article implies that if you just let anybody infringe on your copyright and play/use your work however they feel, it'll pay off in the long run because you gain exposure.

Seems like a _reasonable_ assumption, but I don't really think that PSY is a good example. They mention he's been hired to do ads for Samsung, etc, but is that really a feasible endgame for the majority of artists? Quite apart from the fact that 0.00001% are going to ever be _asked_ to appear in commercials, how many would actually want to? Not exactly a shining example of artistic integrity, is it?

I feel like they're kind of clutching at straws here, probably because articles like this are so popular with readers - have a browse through the comments to see how much everybody enjoys sticking the boot into the record companies.

Anyway, good for him. It's nice to hear that there are other ways to be successful, I suppose.

</comment><comment><USER23> As a counterpoint, this letter from songwriter Tom Waits written over 10 years ago is a solid rebuttal to the practice of artists making money from commercials while giving away their copyrights for free. Here it goes - <http://www.lettersofnote.com/2012/12/its-virus.html>

<comment><USER24> Tom Waits sounds awful close to John Phillip Sousa testament before the US Congress 1906 if you swap talking machines with songs in commercials.

<comment><USER25> "When I was a boy . . . in front of every house in the summer evenings you would find young people together singing the songs of the day or the old songs. Today you hear these infernal machines going night and day. We will not have a vocal cord left. The vocal cords will be eliminated by a process of evolution, as was the tail of man when he came from the ape""

I really don't see how. Waits is making an appeal to art and integrity, Sousa is decrying the act and presentation of mechanical reproduction.

</comment></comment></comment><comment><AUTHOR> Wasn't there a lot of "innovation" in jazz in the early days when it was very popular, because no one copyrighted their jazz songs? I remember watching something about this. I might've seen it in one of the Everything is a Remix videos:

[http://www.everythingisaremix.info/everything-is-a-remix- par...](http://www.everythingisaremix.info/everything-is-a-remix-part-1/)

<comment><USER26> There's a similar case with dance (club) music. eg the "Amen Break":

<http://www.youtube.com/watch?v=5SaFTm2bcac>

</comment></comment><comment><USER27> The song industry includes singer-songwriters, and it also includes specialist singers and specialist songwriters. A healthy industry will support people who create music but who do not necessarily perform it in public performances.

<comment><USER28> _A healthy industry will support people who create music but who do not necessarily perform it in public performances._

That's your opinion, and you're certainly entitled to it, but it doesn't make it true. While I don't want to discourage anyone composing/songwriting, keep in mind that separate singers and songwriters are what gave us Britney Spears, and the sheet music guild is at least as bad as RIAA (charging non-profit performing charities per performance for sheet music they've already paid for).

</comment></comment><comment><USER29> This isn't a "new way" for artists to make money. This is how one-hit wonders bank off their popular songs. Hasn't changed.

</comment><comment><USER30> Those $8.1 million did not come from Youtube advertisement: according to the original AP article, only $870,000 did.

[https://www.google.com/hostednews/ap/article/ALeqM5jlcpd0qGl...](https://www.google.com/hostednews/ap/article/ALeqM5jlcpd0qGl9nCp3TCqM1DYdAgbzFQ?docId=b70ddece35724815a3fc351a7bb06c0b)

This estimate seems to be based on views for all of PSY's channel, i.e. 1.3 billion views. That works out as a $0.7 eCPM, which seems more credible than the $8 floated below in this thread.

<comment><USER31> "From just those sources, PSY and his camp will rake in at least $8.1 million this year, according to an analysis by The Associated Press of publicly available information and industry estimates. But for online music sales in South Korea, he'll earn less than $60,000."

This is the important part of the article. He earns around US$0.00015 per song sold in his own country via online sales. He earns a hell of a lot more via Youtube and iTunes. What gets him up to 8M is other advertizing deals.

</comment></comment><comment><USER32> Microsoft Windows has already gone in same way. Piracy has actually made Windows so popular and inevitable also. You can not ignore and you can not live without Windows, atleast for now. Here in India, computing is a Windows though the most of the PC are running on pirated Windows. Piracy has it won benefits.

</comment><comment><USER33> Gangnam Style is a horrible example of "... a shift in how money is being made in the music business". Psy deserves every bit of it but the popularity of that song is a freak incident.

<comment><USER34> I think same can be said about almost anything vastly popular.

</comment></comment><comment><USER35> Honestly, who (outside of Korea) would even buy an entire PSY record, though? I don't think album sales are a very big revenue stream for such a novelty act. Single-song downloads, advertisements, and talk show and event appearances are of course where the money is at for him.

Nice to see that he isn't trying to "charge for smells" though.

</comment><comment><USER36> "Ignoring" might be too strong a word here. Licensing is in play, but they are not going after individual infringers.

</comment><comment><USER37> making the downloading & sharing songs easier and earning profits from live performances is the way to go for the music industry.

<comment><USER38> ok , let me enjoy your work for free , you should be lucky i'm sharing it ? let's apply that fact to developers then.

<comment><USER39> Umm would you also pay to watch my live coding session?

<comment><USER38> if you are naked with 3 girls pouring some cream on you maybe ^_^ .

</comment></comment></comment></comment><comment><USER40> Just wait he rans out of money. Then it will become a copytroll :)

</comment><comment><USER41> > _Psy Makes $8.1 Million By Ignoring Copyright Infringements Of Gangnam > Style_

Really? Why not:

"Psy Makes $8.1 Million DESPITE Ignoring Copyright Infringements Of Gangnam Style"

<comment><USER42> Or how about "Psy Makes ONLY $8.1 Million..."

Is this a lot of money for the most viewed video in the history of the Internet and the most popular song worldwide?

<comment><USER31> I'd say yes. In the bad old days, you only got to number 1 because of payola. Chances of an unsigned Korean artist getting there. 0. He for sure did not fit the boy band/pop star profile.

Now you can go from someone mostly unheard of to a global superstar outside of traditional channels. Now, if you are already someone signed on a big label and have a big name, then 8.1M may not be huge, especially for how popular it was.

<comment><USER41> > _In the bad old days, you only got to number 1 because of payola._

What old days? Dick Clark days? Because thousands of acts have been to the number one in the 80's and 90's without payola, just emerging virally (either as one hit wonders, or as more established artists).

> _Chances of an unsigned Korean artist getting there. 0._

That might be in the US. In the UK and Europe there were lots of cross- cultural hits from unexpected sources, including third world and different languages.

Heck, 8 million dollars is what a #1 single would cash in just in England back in the day.

</comment></comment></comment></comment><comment><USER43> Lets do the math: 800 million views for 8 million dollars; so to make $8.000 you need 800.000 Youtube views... this is in no way an example for other artists; and "Gangman style" is a exception in music popularity grow, like "Asereje", "Macarena", "Smells like teen spirit" or "Mambo #5" (is just that YouTube didn't exist back then).

<comment><USER44> 800mil/8mil=100 views per $ so to make $8, you would need 800 page views

That's $10CPM, which is a very reasonable rate.

<comment><USER45> Except the $8m figure included iTunes sales too.

Source: TFA.

</comment></comment></comment><comment><USER46> Surely if Psy condones piracy, the RIAA should be going after him with their black helicopters, ricin umbrellas and polonium pills. Wait, I've confused them with the NKVD, haven't I? Ah well, it'll do.

</comment><comment><USER47> Doesn't seem like much for something so huge</comment>