How The Rise Of The "R" Computer Language Is Bringing Open Source To Science - <AUTHOR> http://www.fastcolabs.com/3028381/how-the-rise-of-the-r-computer-language-is-bringing-open-source-to-science <comment><USER2> Allow me space for an editorial and downvote magnets :P

I'm actually a little concerned by the "phenomenon" of R. I say this as someone whose workplace uses both SAS and R. I'm also familiar with python, and wish we could use it more at work, but it doesn't have the "cult- following/network effect" amongst statisticians that R has.

The "problem" I speak of is that R is very popular for people applying a quick little stats script for a package they've downloaded using a technique they don't understand with output they haven't verified on a tiny problem that won't scale. And 95%+ of users are just doing it by rote, and now they're trying to apply it to problems outside of its domain.

But ACow_Adonis you say, doesn't that just describe everyone with every programming language ever?

Yes. But you see, R seems almost designed (or not designed) as a language of unseen problems. It is several multiples slower than regular python (if you thought that possible), and several HUNDRED times worse than other compiled languages. It has no un-boxed primitive numbers. Let me just say that again. A language for numbers that doesn't have primitive unboxed numbers. It is the poster boy of Wirth's law.

But not only that, i said its basically been designed for "dodgy results". Watch how its attempt at lexical scope combines with lazy evaluation for ridiculous fun. Bizarre, automatic and random conversions behind the scenes. 1-indexing of arrays...but 0-indexing doesn't throw an error. Automatic repetition of values in smaller arrays when combined with arrays of larger size. Internal functions of one letter names in a language with KIND OF one name-space for people dealing with MATH with a long history of using these individual letters for other things!

So combine these "features" of the language with people implementing things by rote, not checking their results, returning results without error messages/warnings...

A SAS marketing person made the comment once of "We have customers who build engines for aircraft. I am happy they are not using freeware when I get on a jet." and we all piled-on the hate, and rightly so.

But after using R, what scares me more is the thought that professional stats people ARE using it when i get on a jet :(

<comment><USER2> Also, allow me just a quick addon to which people probably aren't responding in the comments below. I assure you banks and the like using R aren't passing round all their R/python/C code either.

R didn't bring open source to science. It brought free (as in price) software to stats, and that, along with its script-like ability to apply formulas quickly, its vast library, and its universal teaching in stats courses in universities, is the reason for its popularity. I'd even go so far as to say that python has had more of an influence outside of stats/bio/pharma.

But spend a bit of time in the SAS community to which it is commonly contrasted and you'll see massive amounts of code sharing, examples and how- tos. The interesting thing is to observe how these things play together. I argue that sharing of source has less value if the run-time on which it operates is not available to you.

Of course, SAS is so widespread in big business that you might point out that it quite clearly is available to a lot of people, and that it quite clearly is valuable to them, its just not available if you can't pay or aren't in a connected uni/job. I know my SAS and I can do several things in it that whip R and python's butt if the task is that which SAS is good for. It has its own separate and relevant issues in terms of design abd implementation. I can rail against all the tools i use :P

But the high-entry-cost of the software itself is the prime reason I'm trying to turn my back on it (because I don't plan on being employed by a big company or being locked into a software vendor forever, and subsequently it is not available for me to use for my own projects, which are often more valuable/complex than the ones i'm writing for employment...). I imagine there are a large number of other programmers/hackers feeling the same way, and you might even say that its evidenced by the parallel (as in along-side SAS, not multithreading) success of R. Perhaps there is a symbiotic relationship, subsequently, between free as in price vs open source code. Who knows. I need a "free as in beer"....

<comment><AUTHOR> _R didn 't bring open source to science. It brought free (as in price) software to stats_

This is a very powerful statement. Never underestimate the power of free. It is very hard to compete with. Look at the browsers.

</comment></comment></comment><comment><USER3> As a former cognitive neuroscientist, I pray for the day Matlab is displaced. Given the generally low level of programming ability in the sciences, I'm personally rooting for Python to win, but I'll take what I can get.

Unfortunately, the dominant EEG and fMRI packages (Fieldtrip and SPM) were written in Matlab, and my labs standardized on them. Plus, when I was in school, R was unable to handle the multi-GB data sets that result from neuroimaging.

<comment><USER4> Other than MATLAB being closed and very expensive. What is wrong with it?

<comment><USER5> Both issues are solved by Octave... which doesn't require the bifurcation of the community of people writing new code.

<comment><USER6> Octave is hampered by the fact that it's still basically the same language as MATLAB without any of the reasons you put up with using MATLAB (the toolboxes).

<comment><USER5> While the language definitely has it's problems (I'm not a fan of the syntax at all), I think dropping it for something marginally better like R is a little silly. So many man hours have been put into writing MATLAB/Octave code - redoing it seems like mostly a waste.

I don't know if you have similar experiences, but I often find that I want to use X feature in MATLAB in combination with Y feature in R and there isn't any easy way to do it. The bifurcation of coding efforts is vastly more frustrating than some bad/inconsistent syntax.

The toolboxes are great. I haven't used them much, but I feel like a lot of the time you can get away without using them. If you really need them, then it's not unreasonable to pay a license for the documentation and robustness - which you won't get in open source most of the time.

But like.. that's just my opinion man =)

</comment></comment></comment></comment></comment><comment> aaron-lebo I'm in political science, and I'm pretty surprised how aware of open source tech some of my professors are, R especially. But I've even heard from a few of them a desire to pick up Python or C++ for other data work, and at least one of them knows emacs.

Proprietary software like STATA still gets used as much or more than R, but hopefully it continues to pick up steam. R Studio in particular is a pretty compelling environment.

<comment><USER7> Interesting, that's a domain I'm just getting into, can you point me towards projects and research at the intersection of political science and data science/programming?

<comment> aaron-lebo I tried to do some searching for some specific projects that I've heard of but I'm coming up blank.

Really any decent quantitative study that isn't just an absolute basic regression is going to have degree of data processing done to it. Not exciting, but it is there and on a large level.

The other more interesting projects are doing stuff like scraping news sources, constitutions, etc, using natural language processing to pick out relevant parts and then matching those to some kind of database in order to code the necessary data.

Here is an example of this: [https://github.com/openeventdata/phoenix_pipeline](https://github.com/openeventdata/phoenix_pipeline)

Then you've got something like Nate Silver's analysis and predictions of recent elections which is dealing with popular political issues + data.

</comment></comment></comment><comment><USER8> As one of the people interviewed in the article I feel somewhat compelled to explicate a bit further. I'd be the first to admit that R is good for some things and bad for others. It's full of quirky parts that make coming from any other more standard type of scripting language (e.g. python) make a user want to pull their hair out. However that said, in the world I come from (EEB, ecology and evolutionary biology), it's by far the most popular language. At rOpenSci, we develop tools in R because that is the language our audience works in. I think the mistaken assumption of many commenters is that R users are actual programmers. Most EEB scientists I know don't want to get bogged down in learning multiple languages. They want to learn something that will make doing their science easier. R provides that. For all the credit that SciPy and Numpy deseveredly get, they still are way behind when it comes to certain statistical tasks. For instance there are whole books written doing mixed effects models in R, but you can't get those in python yet (I know statsmodels is coming along but it's nowhere near where lme4 is). Yes, if you're a python programmer you could just call that one R routine from python and go back on your merry way, but that's _you_ , not the average ecology graduate student. Also, MatPlotlib is just not on par with the capabilities of ggplot2 and other R graphing libraries (although there is a ggplot2 port to python that is being developed).

The other important component that I think is missing from the discussion about R's merits is that it's facilitating open science. We're talking about fields that are moving from SAS/ Matlab / JMP, etc...and the creation of totally reproducible documents and experiments with tools like Sweave. Is it going to provide the fastest environment for running regression trees on a dataset with 10 million rows, no. But is it a powerful scripting language with well developed tools for manipulating data (plyr), visualization (ggplot2, lattice), doing GIS (rgdal, sp), getting data from API's (httr, jsonlite, anything rOpenSci does :) ), writing reproducible documents (knitr) and doing complex statistics (lme4, nml4, gam), yes. It allows scientists to learn one language to be able to accomplish 99% of the analytical tasks they want to be able to. I think that's the point of the article. Yes FOSS has been part of science for a long time, yes R is not the best language for many things, but there's a culture at play where it's been adopted and extended by many scientists to accomplish a lot of valuable science, and brought FOSS, openness and reproducibility to a vast number of scientists that probably wouldn't otherwise have adopted those practices.

</comment><comment><USER9> Depends on the field of course. I'm in environmental science/energy economics so python is kind of a no-brainer if you want to go open source (and we do).

However, my significant other is working on a physics PhD and everything she does is in C or C++ with CERN ROOT. I used to use Matlab, and she thought it was adorably weak. I get a little more respect using Python now at least.

<comment><USER10> Why do you say that it's a no-brainer?

<comment><USER9> If you want to be completely open source. There seem to be a lot more libraries and general capability with the specific license we need. I really should have clarified better, I seem to have lost a word or two in there.

What I'm working on needs to interface with many different existing modeling and optimization efforts at some point, and of the options out there Python seems to be the most understood by the largest group of people (statisticians/scientists/programmers). With python we can keep everything 100% open and available to the largest number of people.

</comment></comment></comment><comment><USER11> I work at a big bank in quant research. I can easily say that open source tools are favored here over their more expensive counterparts. Futhermore, over the last few years I've definitely seen a shift away from R and toward Python. NumPy, SciPy, Pandas libraries in Python are all excellent (and way faster) than equivalent options in R.

</comment><comment> vezzy-fnord Science has been benefiting from open source for quite a while now?

<comment><USER12> Yeah, I'm not sure what this is saying.

Python has been the lingua franca of choice for most sciencey things for a while now.

<comment><USER13> I wish that were true. I'm sure it depends on the field, but in my experience (more physics/natural science), MATLAB still leads for interactive scientific programming. I think Python is at this point recognized as a legitimate alternative, rather than the lingua franca.

</comment></comment></comment><comment><USER14> Mis-quoting Churchill: R is the worst numerics software, except for all those others I've tried from time to time.

I've used R extensively for analyzing network simulation results databases that run in the tens or hundreds of MB. One can find well-documented libraries that work for interfacing with nearly everything. In my case, it's pulling data from MySQL or SQLite databases, performing graph-theory analysis using Boost Graph Library, and generating output with Graphviz and other plotting tools. It's a solid toolchain, and R's inherent slowness is somewhat manageable via the parallel flavors of apply.

The main problem for me has been the lack of a clean analog to namespaces or utility classes. Environments sort of do the same thing but are ugly syntactically.

I'm hopeful about Julia, but there are a couple showstoppers for me presently. Maybe in a few years.

</comment><comment><USER15> R is rising now? I thought R was in decline because it was being displaced by Python!

[https://news.ycombinator.com/item?id=6808127](https://news.ycombinator.com/item?id=6808127)

</comment><comment><USER16> > But the ballooning cost of the software and dwindling research budgets have > prompted scientists to turn to R instead.

I know some people using R, though at least in my field (Computer Science/Bioinformatics), Python seems to be more popular. Both of which happen to be free. That said, I don't know any research groups that chose R or Python specifically because they were free.

<comment><USER17> Being able to have everyone install it on every computer, without any thought of licensing definitely gets it in the door for some people.

The interactive nature of it is handy compared to SAS even when that is also available. I've known people to use R first, make a plan, then go back to programming a SAS on the massive data sets that R might not handle as well.

</comment></comment><comment><USER18> Julia is another such language.

<comment><USER19> Julia will ride R's coattails. The Julia story arrived at a good time and seems to be slowly gaining traction in various niches. This is based purely on reading the mailing list and scanning relevant HN headlines.

</comment></comment><comment><USER20> Don't forget Octave ( www.octave.org ), which belongs on any list of open- source analysis suites.

<comment><USER5> My general opinion has settled on:

Doing linear algebra -> Matlab/octave

Twiddling data tables around and making plots -> R

<comment><USER21> Doing linear algebra -> Julia

twiddling data tables making plots -> python/numpy/matplotlib

abstract math/calculus -> python/sympy

statistics/quick data analysis -> R

</comment></comment></comment><comment><USER22> Off-topic, but have to state: With this website open, the cpu usage of xorg flew up to 65%. Congrats to fastcolabs.com for making such a slick, html5, javascript asynchronous streaming website.

<comment><USER23> xorg takes 2% here, not by the grace of a superfast computer - far from it - but by the simple expedience of having both Noscript and RequestPolicy installed. I can still read the article so I don't know what I'm missing by not allowing all that JS and external content to run/load. Not much, I assume...

<comment><USER22> Thanks! Your comment has encouraged me to test out NoScript. How bad I haven't checked this out before. I had this superstition that with NoScript I'd have to spare a lot of time configuring to just be able to reach a comfortable level, but I've been able to get going in a minute. Massively useful.

<comment><USER24> If a page is hosed under NoScript then just temporarily allow all scripts. You can spend a few hours building up a whitelist of hosts for your most visited sites if you can be bothered, but that's not needed for it to be useful.

<comment><USER22> Actually, while using NoScript, I've found out that there are a very small set of websites I visit often to bother to add exceptions: HN, github, hurriyet (a news website), tumblr, duckduckgo and maybe a couple others I can't recall.

</comment></comment></comment></comment></comment><comment><USER25> What advantages does Python have over R for basic statistics work? I'm trying to play with data for fantasy sports and was planning on getting the data into a MySQL database then using R to look for patterns. Is R the right choice for this, or is it a matter of both Python and R being able to the same thing in different ways so there is no wrong choice? Given the fact that it will be a fairly small dataset I'm not overly worried about performance.

<comment><USER26> No wrong choice I think, mostly personal preference. If you know Python I'd stick with that, iPython notebooks with pandas etc. is a solid choice. R might be a little harder to start with, sapply/lapply can be confusing but there's plenty of info and libraries on the web to make your life easier. For plotting, ggplot still wins over matplotlib in my opinion but Python has other strengths.

<comment><USER27> [https://pypi.python.org/pypi/ggplot/0.4.7](https://pypi.python.org/pypi/ggplot/0.4.7)

</comment></comment></comment><comment><USER28> The good thing about R is that it has forced me to learn statistics. Python has never done that for me. Use R where it works, don't use R where it doesn't. Call R from python or python from R, see if I care, as one would go to C or Fortran anyway. And why bother with python when you have Julia?

So what is all the guff is about? It does remind me of the ongoing religious war between frequentists and Bayesians ...

</comment><comment><USER29> Python is doing the same thing. It's great!

</comment><comment><USER30> Honest question: why is Python so dramatically more popular than Ruby for scientific computing?

<comment><USER31> Libraries, libraries, libraries and history. The first serious numeric library for python was released in 1995 or 1996 and things have just grown and grown since then. Ruby is far behind in its offerings in this space.

</comment></comment><comment><USER32> , z

</comment><comment><USER33> Uh -- Python? R is the biggest prima donna (yes, I just used the Italian, deal with it xenophobes ( yes, I used x to start a word, FUCK OFF) ) in data science. It is also a very obfuscated and poor performing language overall. Statisticians shouldn't be allowed to drive languages into popularity.</comment>


YouTube Gives Us Love Without the Messiness - <AUTHOR> https://thewalrus.ca/how-youtube-gives-us-love-without-the-messiness/ <comment><USER3> really engaging article. a couple comments:

> treat loneliness as a serious health problem that could _even_ lead to early > death

italics are mine. I've seen this written a lot of times, and I find it disappointing that we are focusing so much in reduced life expectancy. in my opinion, the real issue deserving the attention is the reduced life quality.

now adressing the topic of the article: I think we should reflect more deeply about spaces, and how modern society is losing them. nowadays, practically every exchange involves money, products, services. if a space doesn't make sense in an economic sense, it tends to disappear. the only big "free" space left seems to be the internet, so it's no surprise that people tries to find everything they feel they are missing there. but it's clearly not enough, not a good alternative. we have become really good at hacking everything, and now we can't trust anything. it's not just that we don't want the messiness... to me, it seems like it's becoming harder every time to find good places to get messy, unless you are really thinking explicitly about it and going somewhat out of the road. it's some kind of natural contradiction for humans: we don't want a messy world, because it hurts us, so we are trying to steer away from that, but at the same time we need it. how do we reconcile everything?

<comment><USER4> Great point. The sharing economy destroyed an entire set of spaces like this... when hosting a couchsurfer, I was told that I could make a ton using Airbnb instead. That money wasn't the point was lost on this guest — but thankfully not the many other world travelers I was able to share my local area with.

Airbnb or VBRO offers great experiences on their own, but introducing a transaction turns everyone into a service provider or customer, and brings a set of expectations to both.

<comment><USER5> Dan Ariely considered this distinction in his discussion of market vs. social transactions:

Described in: [https://escherman.com/2009/04/09/social-norms-versus- market-...](https://escherman.com/2009/04/09/social-norms-versus-market-norms- implications-for-social-media-and-online-pr/)

</comment></comment></comment><comment><USER6> A similar phenomenon is the use of pets as pseudo-children or relationship partners. Babies are expensive and ruin your sleep for years. Significant others can cheat on you, leave or simply get boring. A cat, however, just like these YouTube boyfriends, is fairly inexpensive, practically takes care of itself, will always love you and will never leave. It is a sort of infantalization of the relationship process.

I think the only solution will be a cultural recognition that the consumeristic mentality of _easier = better_ isn't necessarily true, and that difficulty, struggle and suffering are inherently worthwhile, more authentic and character-building.

<comment><USER7> Cat does not love you. It never leaves, cause you locked it. If you move away, cat prefers to stay.

Treating children like pets would be effectively emotional abuse. And while dog can fill some of yours emotional needs, quite frankly, kids won't.

I have children and had pet and I can tell you that those two are comparable in any way. Not just in easy vs hard scale, but it is fundamentally different relationship.

<comment><USER8> This is a pretty interesting article about animals and emotions by a primatologist: [https://www.nytimes.com/2019/03/08/opinion/sunday/emotions-a...](https://www.nytimes.com/2019/03/08/opinion/sunday/emotions- animals-humans.html)

It goes through a lot of emotions specifically thought to be human and shows evidence for them in animals. I couldn't find a paragraph to sum it up, but this might be the thesis of the article:

> Uniquely human emotions don't exist. More and more, I believe that we share > all emotions with other species in the same way that we share virtually > every organ in our bodies with them. No exceptions.

> Like organs, the emotions evolved over millions of years to serve essential > functions. Their usefulness has been tested again and again, giving them the > wisdom of ages. They nudge us to do what is best for us. Some emotions may > be more developed in humans, or apply to a wider range of circumstances, but > none is fundamentally new.

<comment><USER7> Sure, but really, cats don't love you. They tolerate you and may like you.

Dog may love you. Snake won't. Cats don't.

</comment></comment></comment></comment><comment><USER9> Although the post doesn't mention it, you might also be interested in reading about parasocial interaction[0]

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

</comment><comment><USER10> >desperate for a soporific remedy

This is the best channel I found to fall asleep: [https://www.youtube.com/channel/UCLKSolaVsFrN7qTFL7lFkfw](https://www.youtube.com/channel/UCLKSolaVsFrN7qTFL7lFkfw)

The person disassembles hard drives to investigate, in videos that can be hours long, is very calm and doesn't speak much. It retains attention, due to some suspense, yet it's extremely boring. I usually get sleepy after a few minutes.

Beware though: there is one with a long moment of silence, and then he sneezes suddenly very loudly.

</comment><comment><USER11> > The only cure for loneliness is to master the art of solitude.

Most important sentence to take action on in this article, IMO.

> But perhaps we fool ourselves in thinking our desires for love, comfort, and > belonging can be sated with an inanimate object.

No, not perhaps, I think it can be phrased more strongly (at least, speaking for myself). I believe this to be true as I have cross-checked these type of YouTube experiences with real-life experience, looked at the similarities and differences. It's then easy to see that the YouTube thing is an illusion. The real thing is much better. With YouTube I feel soothed. With my significant other, all of my existential crises are gone _and_ I feel soothed. Yes, it includes fights, but feeling part of a soul-mated team who support each other is totally worth it (I don't believe in soul mates, but I can still feel that way).

> The whole point of boyfriend videos—and of ASMR, mukbang, and the rest—is to > create a one-way interaction from creator to silent consumer.

This is the case with all YouTube shows even that have a personable approach. I think the problem is much bigger than this article portrays (see also an earlier comment on it that I made).

</comment><comment><USER12> With all its overly discussed faults, YT is such an invaluable resource. There is so much free high-quality content: educational, sport, music, spiritual.

YT should get some respect and recognition.

I'm an avid yt music user. There is practically infinite musical content there never released on any other medium. It's an irreplaceable cultural treasure.

<comment><USER13> I totally agree with you, but I also notice the slow but steady increase in ad content before, between, below all YouTube videos, that also seem to call back to my preferences, feelings, tastes, past interactions, etc.

The question I always ask is: how long until YouTube removes the ability to skip ads altogether? How long until a painfully nontrivial portion of our browsing time is spent directly consuming propaganda?

<comment><USER14> If you don't want to pay for it and you don't want to be 'consuming propaganda' who do you think should be paying to run YouTube for you?

<comment><USER13> Just like on Facebook, the ads are doing much more than 'paying to run' the platform. And moreover, why would YouTube do anything but continue to increase the amount of ad content? It directly translates to more cash and profit. Same goes for paying content creators less.

<comment><USER14> > And moreover, why would YouTube do anything but continue to increase the > amount of ad content? It directly translates to more cash and profit.

No the relationship isn't direct. As you add more advertising content to videos people will watch less and the advertising revenue would go down - <USER2> makes it not directly correlated.

> Same goes for paying content creators less.

In the same way, it's not a direct relationship. As you pay creators less they're less incentivised to create content for you to attach your advertising to.

To prove by absurdity, if you added an hour of un-skippable advertising to a two minute video, few people would watch the video.

<comment><USER15> This got a bit more complicated when they youtube launched their premium ad- free subscription.

Now the annoyance of ads also serves the direct purpose of advertising their own service.

</comment></comment></comment></comment></comment></comment><comment><USER16> _" The medium is the message"_ is one of my favourite cliches. It always punctuates the same recurring insight.

Socrates' had famous thoughts on the importance of medium choices in his day: reading, writing and libraries or people in gardens trading questions and answers and using memory.

The choice of medium isn't neutral. Imagine 5 people in a garden talking about their feelings, political views, or whatever. Alternatively, imagine them writing essays, making youtube videos or discussing on a HN thread or creating a wiki... same topic, same people.

The content would be totally different. The thoughts that people shared (or even had) would be different. The perspectives, emphasis and everything else about the content would be different.

The internet is like a queen-medium. It spawns an endless brood of different mediums, digital and otherwise. Twitter, Tinder, Meetup, Youtube... and thousands of smaller ones. Not one of them is a good "replacement" for another type of medium, but they do replace them.

I agree with the jist of this article, I think.

Where internet "mediums" replace important personal ones, we're at risk of replacing "home-cooking" with "junk food," and the results will be the same.

</comment><comment><USER17> Related and b/c it's mentioned in the article: [https://www.mashed.com/182485/the-untold-truth-of- mukbang/](https://www.mashed.com/182485/the-untold-truth-of-mukbang/)

</comment><comment><USER18> I wonder how long it'll take to get lightly personalized ML generated variation of such content. And how long it'll take to people notice that it's generated and not a "real" person

<comment><USER19> Wait until the generated content realizes that it is itself generated, then the real trouble will begin

</comment></comment><comment><USER13> From all visible metrics, sex and social activity are plummeting precipitously across the developed world——lower rates of sex, lower sales of condoms, higher marriage age, lower birth rate, more suicide, higher rates of antisocial mental disorders, and on. It's easy to see that not just YouTube but communication technology in general is partially, if not greatly responsible. But what's even more concerning to me is the idea that all this feels in some ways inevitable.

I think this has been so plain that even science fiction has grappled with it extensively from the musings in Neuromancer, Snow Crash, Transmetropolitan, etc.

The biggest question to me is: as feeble biological beings who are prone to replacing healthy social interaction with the kind of social hallucinations provided by technology, what would lead us to a better life? Technology seeks to mediate all things, and is possibly more successful at this than even capitalism writ large. What can fallible humans possibly do to combat this malaise?

<comment><USER20> Embrace it. Focusing on what is inevitable isn't healthy. What we can do is develop tools that will evolve us to combat tech. Fight the tech with tech. Biotech may solve current problems forever. Gene therapy and modification is the future, probably. So you need not worry, give in your fate to the tech overlords.

Or wait until you can live with AR that is good enough to replace your actual social interaction without you developing health problems. All we need to do is create good enough replacement for humans. That is the problem with current social platforms. They are too static. They fail and result in uncanny communication. They aren't able to convey body language, emotions and many other details that actual humans give off.

 _plays black mirror episode_

I am waiting for my robot partner because everyone else in my life just sucks and I can't relate to any of them. Internet provides you power to embrace different culture and world than the one you live in, and sometimes it creates in inevitable environmental and cultural dissonance where you are nothing like anyone else you know. Well, that explains my internet addiction at least.

Where else do you think am I going to find buddies to talk about free software, anime, startups and odd bizarre stuff?

Post is meant to be satirical.

</comment></comment><comment><USER21> This is a fascinating topic, thanks for sharing.

If anyone reading knows of any other such article or youtube video / podcast segment on this topic, please share them under this comment.

Thanks in advance.

</comment><comment><USER22> Don't date robots: [https://www.youtube.com/watch?v=IrrADTN- dvg](https://www.youtube.com/watch?v=IrrADTN-dvg)

<comment><USER23> ...because dating is the motivation for young men to accomplish awesome things, according to this video. It's a fun thought experiment, though:

\- On one side, women provide half the work (a recent article on HN said they were now the majority of US workers),

\- On the other, if access to family life was a motivator in the 50ies, what is the motivator in the 2020ies, now that dating isn't... vetted by parents/society/social status? Will we keep accomplishing awesome things? How much motivation will one put into it given the rewards are now rather inversely correlated with work? (Working out, travelling the world, doing NGO work is opposite to having a career, and it's not even enough to grant one hopes in relationships).

<comment><USER24> My motivation is the growing list of friends' Patreons/Ko-fis/fundraisers/etc that I don't have the means to support.

 _Yet._

</comment></comment></comment><comment><USER11> Edit: I read the article. My comment that I made (before I read the article) is still valid IMO. She scopes the issue too narrow. The issue is much bigger. Even when I watch something like funfunfunction (where the point is education) or Joe Rogan (i.e. podcasters) this point also exists.

My original comment:

I watch YouTube a lot. About 2 hours daily at the moment and have subscribed to 300 channels. I see one huge issue with it.

It's a one-way interaction.

You give all your attention to them, but they don't give anything back.

This is not an issue if you use YouTube every once in a while, but I've noticed that for me it's becoming problematic. There are many great reasons for watching YouTube, but with this title (love without the messiness) this issue becomes a big thing quite quick.

Consider this: if I'd talk to a friend 2 hours per day versus watching YouTube 2 hours per day. What would be healthier? Well, if it's a good friendship, talking to a friend would be way healthier actually. And I actually know this, because I do tend to have a few friends that I talk a lot to. Both my friendships and my need for watching YouTube stem from similar/the same desires even.

But one gives you attention back, the other doesn't.

This problem was stated in the article, but it doesn't only pertain to ASMR or boyfriend hairdressers. It pertains to any video that has a personable approach.

That doesn't mean that a personable approach is bad. IMO, it's simply a strong reason as to why one shouldn't watch too many videos in general.

<comment><USER25> Yeah you should definitely read the article. (I know it's against the rules to imply someone hasn't read the article, but since you outright said you didn't, I feel like this is in bounds.) It is about the simulated giving back of attention that certain YouTube videos do.

<comment><USER11> Thanks, so that means the title is clickbait, in my opinion.

</comment></comment></comment><comment><USER26> YouTube's debacle regarding COPPA is becoming a train wreck, however. Thousands of animated videos that are very clearly _not_ for kids (violent or other adult content) are nonetheless being marked as such. They really just need to split YouTube into three platforms - YouTube, YouTube Kids, and YouTube Mature.</comment>


Google and ASUS Launch the $85 Chromebit, a Chrome OS Desktop on an HDMI Stick - <AUTHOR> http://techcrunch.com/2015/11/17/google-and-asus-launch-the-85-chromebit-a-chrome-os-desktop-on-an-hdmi-stick/ <comment><USER2> After reading the review of this at Engadget, I'm quite chuffed with myself for having bought a used Samsung Series 3 Chromebox for $80 for my TV streaming purposes instead. I can upgrade the RAM, expand the storage if I like and I get more USB ports. Of course not everyone will be able to find a Chromebox for that cheap, but having more RAM alone seems worth it.

I do wish there was a bluetooth keyboard designed specifically for the Chromebox/bit.

</comment><comment><USER3> Big question I have is: Can it drive at least a 1080p display for something like full screen HD YouTube or HD Netflix?

I've had devices like this before, and while they often work for basic web browsing, they often fall short of being streaming video devices because of the relatively weak graphics acceleration and a low power CPU that cannot pick up the slack.

<comment><USER4> Considering the Chromecast can do it, it's pretty likely that this can too.

<comment><USER5> I think streaming works on chromecast if you use the apps. Trying to broadcast netflix/videos through the browser still doesn't work though, the audio/video go out of sync. So you can only watch videos through apps.

It would be really cool if this was powerful enough to work for any video.

<comment><USER4> This will be on-device... when you "netcast" your browser to the chromecast, it's doing it on your device, so there is lag... when you use the apps, the actual playback/rendering happens _on_ the chromecast, not your phone/tablet/desktop.

I'm pretty sure it will work fine, similar to things working on chromebooks.</comment></comment></comment></comment>


The Right Way to Think About Semantic Versioning - <AUTHOR> http://www.xanthir.com/b4ee0 <comment><USER2> I don't think the author understands SemVer based on them raising the point of "major vs minor" arguments.

1\. What argument over Major vs Minor? Major makes incompatible API changes. Minor _adds_ backwards-compatible functionality. Patches are bug fixes that _do not_ add functionality.

So taking 2.3.13 as an example.

Since the release of 1.0.0 there has been 1 major change that required changes to the API that were incompatible with the old API causing the version to rise to 2.0.0. There have been 3 minor changes on the 2.0 Version that have added backwards-compatible (to 2.0.0) functionality. There have been 13 patches that have fixed bugs since version 2.0.0 was released.

Where is the confusion? What is there to argue over?

</comment><comment><USER3> The post would be much more interesting if it discussed _how_ to identify how to increment the version. How do you really know when you introduced a breaking change? How can you verify that code written against the old version will still work? Other than meticulously tracking the changelog or having a very complete suite of tests.</comment>


My structure editing theories - <AUTHOR>

I was writing a post on the keyboard layout topic and my editing got a bit out of hand so I thought I'd post a new topic... Enjoy.
I have a theory that using a keyboard layout and structure editor perfectly tailored to the specific editing task, you could achieve really insane productivity. Imagine editing mathematical formulae or s-expressions (or mathematical formulae represented as s-expressions ;P) at 60 significant operations per second...
I think the current idiom of editing text with what I consider primitive edit assist (autoindent, parameter hinting, completion) is really inefficient.
First, there's the mental overhead of converting each significant operation into a stream of mostly raw-text editing operations... It's a bit like compiling a high-level language in your head, then writing assembler instructions. Not only does it unduly take mental processing power and keyboard operations on your part, but a lot of the semantics of what you meant gets lost in the process.
Which brings me to the next point: by editing text that then gets parsed in complex manner for edit assist purposes (syntax highlighting et al.), it makes the parser much, much more complicated because you have to make an incremental parser that will account for all the semi-incorrect states that you go through, and it must degrade features in a "smart" manner when it can't completely understand the editing context you're in. With a structure editor that will only let you go from one consistent state to the next, the editor would always know exactly what the editing context is and could easily provide great edit assist efficiently.
Let's have a look at an example. Let's say I want to write this:

  (:html
   (:head (:title "An example"))
   (:body
    (:p :class "benefit" "Putting things in quotes (\") is easier!")))
 With an s-expression structure editor, the operations would be something like (ol = open-list, ie = insert-element, os = open-string, ul = up-one-level, the rest are raw keystrokes): ol, ie, :html, ie, ol, ie, :head, ie, ol, :title, ie, os, An example, ul, ul, ul, ie, ol, ie, :body, ie, ol, ie, :p, ie, :class, ie, os, benefit, ul, ie, os, Putting things in quotes (") is easier!
So that would be 24 significant operations (= 24 keystrokes) to handle the structure only, and we could reduce more by saying for example that ol implies ie if we didn't just create a new element.
Notice that I didn't need to escape the double quote in the string since the editor was completely aware that I was in a string-editing context. We could have many such embedded helpers. Let's say I'm writing Lisp code: (format nil "It's ~A today!" today). The editor could easily detect when I'm editing a format string and help me with ~ parameter hinting and such. You know how complicated those expressions can get sometimes...
And of course, my example was actually a representation of HTML so we could have a more specialized structure editor for that (based on the s-expression one), so the operations would be something like (on = open-node, ic = insert-child, ia = insert-attribute):
on, html, ic, on, head, ic, on, title, ic, os, An example, ul, ul, ic, on, body, ic, on, p, ic, os, Putting things in quotes (") is easier!, ia, class, next, benefit
The operation names are different from the s-expression example, but similar operations between the two editing modes would of course map onto the same key.
Here we have 17 significant operations (= 17 keystrokes) to handle the structure only, and again I'm sure we could reduce further. Notice how I have less to type here, for example when I open an HTML node the editor knows I'll necessarily insert a keyword as the first element.
Also notice how I (hypothetically) thought about inserting the class = benefit attribute after writing the child, but I simply needed to invoke the insert-attribute operation (= 1 keystroke; By the way by keystroke I mean just one key and not CTRL + something) and the editor knew I'd necessarily insert a keyword and then a string. If I had invoked ul at the end the editor would have returned me to the place I was when I invoked ia.
Also notice that the editor could easily switch views, if someone who hates s-expressions comes to see my code I could just flip a switch and a traditional HTML representation would be shown. And I could edit it exactly like the s-expression representation at full speed. There could be many such views.
I also have ideas about relying less on file structure and more on "query-views" but that's for another day. <comment><USER2> This is old hat, to a point. Names are escaping me but from time to time there've been structure-editing "text editors" that have you work at the correct "syntax" layer, instead of the level of raw text.

What I'm thinking of are various "editors" that are not only syntax-aware (like in the syntax highlighting sense) but that literally enforce the program syntax, and make it difficult-to-impossible to input a "bad" program (bad as in syntax, or bas as in correct-syntax-but-wrong-argument-types).

If that's not what you're getting at you can probably ignore this.

Generally these structure editors haven't been that well-received and most die on the vine as academic projects. I wish I remembered the names but "structure editor" should help you find stuff.

Here's the annoyances I remember:

\- You're right, if you already have a mostly-correct program in your head a properly-functioning structure editor should help you get it onto the screen a lot faster, and with fewer stupid typo-level errors creeping in. The more the language has stupid boilerplate like html's close-tags, the more keystrokes you look to save.

\- But: the trickier thing to get right is how to handle _editing_ existing code.

If you're just writing html-in-lisp in an ordinary text editor, you don't have much to worry about here.

If you're writing html-in-lisp in a structure editor that makes it hard to get into an invalid (meaning: contrary-to-language-grammar) state, even something as simple as re-ordering lines can become a royal pain; this gets even worse the more you do cutesy things like write macros to auto-generate some types of output, or try to be smart about how you parse the program being written.

Here's an example: I define a format-product-row function that takes an item sku, price, thumbnail url, and product name argument and generates some html output (python notation below):

def FormatProductRow(sku, price, thumbnailURL, productName): BLAH

Your super-helpful structure editor sees this definition and memorizes the function name and required arguments.

I then proceed to write a bunch of code that makes use of FormatProductRow, and each time I use that function in my code your helpful structure editor reminds me of the arguments it takes and doesn't let me make mistakes by having the wrong # of arguments (too many or too few).

Now, later, I am like "oh snap I needed to include the marketingOneLiner argument in that function", and I need to go back through all my source and do the following:

(1) change the definition of FormatProductListing to take that argument (and handle it)

(2) go to every place the function is used, and change the # of arguments that are fed in, while making sure to actually pass in an appropriate value in each spot this guy gets used

(3) where necessary, change a lot of the functions that are calling FormatProductListing (so that are actually in possession of an appropriate value to feed into that argument slot), possibly altering their arguments, etc., until everything is done

When I get done with (1) (2) and (3), the program should be expressible in 100% correct syntax (and whatever semantics you're enforcing like type- checking).

Before I get done, the program's in a "broken" syntactic state:

\- if I change the occurrences before the definition, then I've got what'll look like a lot of "misuses" to your syntax-checking logic (b/c the remembered definition != the way i'm using it in the new, fixed usages)

\- if I change the definition before the occurrences, then I've got what'll look like a lot of mis-uses, b/c the old usages are incorrect according to the new, updated definition

Regardless of the ordering, you have more problems:

\- if you "taint" any part of the parse tree that has errors inside it (eg: FormatProductTables is now "bad" b/c it calls "FormatProductRow", which is "bad" while I'm fixing stuff up), then potentially large parts of the program are broken during these edits. Depending on how rigid your structure editor is wrt allowing "bad" states to exist, this could make your program totally useless.

\- if you don't do that kind of "tainting", your program's going to be pretty weak in a lot of ways.

The situation above is just one particular example of a general problem you'll encounter if you go this route: how do you tell "good" errors -- ie, the kind of temporarily broken syntax or semantics you'll get while editing code -- from "bad" errors, in your syntax-and-semantics-enforcing logic?

Unfortunately for you, I'm afraid, a simple mode-toggle doesn't work too great, either, and here's why in a nutshell:

\- when you're first writing the program and the editor is forcing you to be "correct", everything that you wind up writing is going to turn out correct (just b/c if it was incorrect it'd not have made it through).

\- if you hit the "CHECKING OFF" switch, and then do some mucking about, and turn the "CHECKING ON" switch, two things could happen: your code could be correct, or it could have errors. If it's correct, yay! Parse it again and be done with it. If it's not correct, though, you (the editor writer) have the very fun task of trying to smartly parse enough of it to be helpful (and/or to try and reconcile differences between the current and previous versions, re- using as much as you could from the previous version).

The root of the problem(s) above are this:

\- many "semantic" edits (like any refactoring) change many different parts of the program; this is mostly independent of whether or not you're looking @ an abstract syntax tree or the raw text, and mostly independent of how structured or not your code style is. If you write a function, any place it gets used is a long-distance-dependency in the a.s.t.

\- your structure editor needs to be smart wrt to such multiple-step editing transactions, while retaining enough power to provide actual benefits over a plaintext editor.

\- And: not all languages have structures that are well-defined enough to make building a structure editor a tractable undertaking. C++ is far and away the worst offender here: you can approximate the grammar pretty easily, but a "correct" parsing is pretty nontrivial (see here for some details: <http://www.nobugs.org/developer/parsingcpp/> ).

A good design for a structure editor would somehow make sure that that "approximateness" of the grammar didn't handicap you, in the case that what you were trying to do was running into one of the "approximations".

Lastly: I'm not trying to discourage you, just trying to warn you of the challenges people who go down this route tend to encounter. I'd spend some time thinking about the stuff above, but a lot more time thinking about a sensible user interface for working with your editor; any workable solution you come up with is going to benefit immensely more from an intuitive-and- efficient user interface than from getting the parsing-and-enforcement-model 100% correct on day one.

It's football time got to go.

<comment><AUTHOR> I acknowledge the validity of the concerns you're bringing up here.

I've just started thinking about this a few months ago and I haven't spent any time trying to actually implement my ideas yet, so there are indeed quite a few issues I haven't explored very deep or indeed not at all.

I had thought a bit about the potential rigidity tradeoffs of correctness VS usability. I hadn't really thought about going so far as enforcing function signatures, though it's the logical next step after enforcing s-expression validity.

There are lots of different types of "structure errors" and I think some should be strictly enforced while others shouldn't. In the s-expression case, one example of something that should be enforced strictly is the nesting of parentheses that delimit s-expressions. Fortunately that one is pretty easy. Wereas in a traditional editor you'd do:

      (|
      ()|
      (|)

as 3 different steps, in a structure editor you'll simply have one operation that will do all this atomically so you go from one correct state to the next. In the function arity case, I think a much more lax enforcement is de rigueur. There will always be some editing tasks that will require less rigid rules but I think we should value correctness by default and _then_ introduce laxity in controlled ways where it makes sense. It's a tradeoff similar to how limiting side-effects by default is a restriction that can make a program more powerful, yet sometimes you really want to have some mutable state.

edit: I'd add that my end goal for a structure editor is that it may better assist the user in his editing tasks by having a better understanding of the context. The validity enforcement is only a means to facilitate this and should be relaxed wherever it impedes the user rather than helping.

<comment><USER2> I'm pretty sure "a text editor that bitches at you and won't let you type incorrect stuff" isn't the answer and I'm pretty sure "a text editor in which clippy pops up and is like "you seem to have forgotten a parentheses. Can I help you figure out where to put it" isn't the answer, either; if I had an inkling about what a good ui would be I'd tell you or be working on this myself, but I don't have any real insight beyond what I've shared.

You might want to start by getting a list together of the various refactorings / simple structure transforms you encounter a lot in eg the lisp you write, and then figuring out what the best keyboard interface would be just for manually inputting a sequence of those transformations.

<comment><AUTHOR> I didn't say the editor would bitch at you for entering incorrect stuff, it's that for a lot of things it would be _impossible_ to enter incorrect stuff _by design_ and it would make editing _easier and faster_ , not harder. If the only way to enter parentheses into your s-expressions is to invoke the open- sexp command by pressing the appropriate key, it's impossible that you'll forget a parenthesis or have them nested improperly (unless the nesting is syntactically correct). Correspondingly, to delete an element such as an s-expression you'll invoke the "delete-element" command so it's impossible that you'll just delete the last parenthesis of an s-expression without deleting the rest of it.

<comment><USER2> Sure, I was just enumerating obviously-wrong implementation ideas, not suggesting that's what I thought you were doing.

What I was getting at is thinking of a structure editor as a text editor + extras might be a dead end, but I don't have any bright ideas for you as to what user-interface approach wouldn't be a dead end.

Actually hold up, I have a possibility for you before I get back to the game. I could see maybe a case for a split-screen (split vertically into 1+N panes), where your currently-under-edit block is always in the (user-set fixed-size) pane, and the remaining options are like this (quasi-lisp):

+----active pane----+ (define (exponentiate x y) |) +----first suggestion pane----+ [open-sexp] (define (exponentiate x y) (|)) +----second suggestion pane----+ [delete-sexp] (define |) +----third suggestion pane----+ [swap-args] (define (exponentiate y x) |)

etc., with the basic metaphor being:

The top pane has the current version of what you're working on.

Each pane underneath it shows the result of applying one of the higher-level operations (like open-sexp or delete-sexp).

For small syntax edits (like adding a matched pair) this mode is overkill; for fancier operations (invert nesting over some complicated structure) this makes it easy to visualize what you're going to get from each command.

That's it, got to get back to the game. Good luck with your endeavors on this project; a better editor is a worthy cause.

</comment></comment></comment></comment></comment><comment><USER3> <http://www.emacswiki.org/emacs/ParEdit>

</comment><comment><USER4> I'm reminded of <http://cr.yp.to/sarcasm/modest-proposal.txt>.

<comment><AUTHOR> I'm not sure exactly what you mean here.

If you're talking about my usage of mnemonics such as ol, understand that those mnemonics wouldn't find their way into neither the implementation nor the operation of the editor, I just used them in my explanations because I thought the operation streams would take too much space otherwise. But in general I'm a big fan of using long-and-meaningful-identifiers.

If you're saying that it's not worth it to make a structure editor just to have more CPU efficiency, I wholeheartedly agree. It's true that a structure editor would probably be more efficient on that level, but it's only a very minor bonus compared to the real advantages of the computer always being fully aware of the editing context you're in (thus helping in ways it normally couldn't), and without the need to write such a complex piece of software as a reliable incremental parser.

If you're saying that the keystroke savings are not worth it, I'll have to admit the very simple example I used doesn't make it seem very worthwhile, but the benefits of a structure editor would become much more obvious the more you looked at complex examples of the kind of thing it could do.

I didn't even talk about the modification of structure yet. I can't tell you how many times I had to edit

      (something (stuff)
        (something2 (stuff2)
          body1
          body2))

into:

      (something2 (stuff2)
        (something (stuff)
          body1
          body2))

and how slow and painful it is. With a structure editor I could do it with perhaps 3 key presses... And there are lots of use cases like this one. If you say that I could simply write an emacs-lisp function to do it and bind it to a key, you'd be right and you'd be missing the point.

</comment></comment><comment><USER5> Write a vim plugin for scheme!

<comment><AUTHOR> Actually I'm thinking of writing my own (emacs-inspired) IDE. I can't stand the idea of legacy considerations limiting the novelty of my thinking.</comment></comment>


'Spooky' quantum experiment: measurement of a photon affects its location - <AUTHOR> http://www.dailymail.co.uk/sciencetech/article-3015318/Einstein-WRONG-Spooky-quantum-experiment-shows-measurement-photon-affects-location.html

<comment><USER2> [http://www.nature.com/ncomms/2015/150324/ncomms7665/full/nco...](http://www.nature.com/ncomms/2015/150324/ncomms7665/full/ncomms7665.html)

</comment><comment> d--b The article is not clear. Even the linked article is not clear.

> "Either her photon was in a certain phase or it wasn't present at all."

How is that different from the particle view ? Either the particle goes to A or it goes to B. Saying that it goes to both but then when you measure A it collapses in either A or B is the same thing. No ?

<comment><USER3> No, because a particle can interfere with others and itself. And the interference pattern changes once it's observed.

The only thing that I don't get is what's new about this article.

</comment></comment><comment><USER4> Particles pretty much _need_ to be in a few places at once, even for such simple things as establishing chemical bonds:

[https://johncarlosbaez.wordpress.com/2015/03/13/quantum- supe...](https://johncarlosbaez.wordpress.com/2015/03/13/quantum- superposition/)

And the difference between being in two (or many) places at once, vs just not knowing where it is, results in different energies.

</comment><comment><USER5> Arxiv has the paper: [http://arxiv.org/abs/1412.7790](http://arxiv.org/abs/1412.7790)

</comment><comment><USER6> Flash flash flash. Einstein was wrong wrong wrong!</comment>


Allegedly Gates offered Nigeria $10m for passage of compulsory vaccine bill - <AUTHOR> https://dailypost.ng/2020/05/04/bill-gate-offered-house-of-reps-10m-bribe-for-speedy-passage-of-compulsory-vaccine-bill-cupp-alleges/ <comment><USER2> > by the American Computer Czar, Bill Gates

Lol, that says enough. So Bill is a Czar now :p I stopped reading after that.

</comment><comment><USER3> Democracy is so messy! I need this bill passed for my foundation-flyer and success-story. Can I give this money so we can do away with it just this one time? I do that in my country all the time.</comment>


Speed and distance of coronavirus transmission:cough, sneeze, speech and running - <AUTHOR> https://www.marketwatch.com/story/scientists-examine-speed-and-distance-of-coronavirus-transmission-when-people-cough-sneeze-speak-and-run-2020-06-23 <comment><AUTHOR> >Coughs and Sneezes: Their Role in Transmission of Respiratory Viral Infections, Including SARS-CoV-2

[https://www.atsjournals.org/doi/pdf/10.1164/rccm.202004-1263...](https://www.atsjournals.org/doi/pdf/10.1164/rccm.202004-1263PP)

>The airborne lifetime of small speech droplets and their potential importance in SARS-CoV-2 transmission

[https://www.pnas.org/content/117/22/11875](https://www.pnas.org/content/117/22/11875)

>Towards aerodynamically equivalent COVID-19 1.5 m social distancing for walking and running

[http://www.urbanphysics.net/COVID19_Aero_Paper.pdf](http://www.urbanphysics.net/COVID19_Aero_Paper.pdf)</comment>


Google apps better than Apple apps? - <AUTHOR>

Hello there,
I am what we could call an apple addict. I have a mac mini with two monitors, a macbook pro, an iphone that I sync on iCloud and my parents too. I use a lot of app, Calendar, Contacts, Plans, ... because they work without internet and each devices can sync with iCloud at any moment. For instance I share my calendar with my parents and it's really convenient. But let's talk about Mail.
I have many mailbox working with IMAP : university, personal, pseudo, gmail, trash, icloud
But except for my iCloud mailbox, this app is annoying : - I keep receiving spam even if I mark them. - When I use different flags on my computer, only one flag exists on iPhone. - I can't sync any mails on my iPhone sent by my computer. - I am obliged to delete one spam at a time, because when I delete a few amount of spams it doesn't work (they come back omg).
What about you ?
As my iphone doesn't work with iOS8 and Yoshemit is up, I'm thinking to move to a more efficient system and cheaper ... So do you think using Ubuntu + Android + Google Apps would be better ? <comment><USER2> Android + google apps is definitely a very nice combination and I believe that's one of the biggest reason why there are a lot of people stick to Android years ago when it was not nearly as nice.

The nice thing about this combination is that, you can enjoy everything within browser eco system, therefore you are not locked by any sort of OS system. Be it Ubuntu or MacOS or ChromeOS or whatever, OS doesn't matter.

</comment><comment><USER3> I have had a similar experience. I just moved from my alumni organization's pop mail to iCloud for my personal email. I immediately started getting a ton of spam, and even contacted apple support about it. I am not sure exactly what the issue is, but the spam messages are all forwarded from my alias @stockbridges.org and iCloud doesn't filter them at all as far as I can tell.

Most of my reason for moving was that I also just purchased an iPhone, and the integration seems much better. Apple's mail program on the mac had a lot of trouble with gmail. I actually contacted apple support about the spam (free since I just got a new phone), and they just told me to mark it and forward it to email@example.com which doesn't seem to help. I think my next step will be to submit a bug report. I love apple, and my new iPhone5s, but the spam is a hassle.

</comment><comment><USER4> I don't see ditching all your Apple devices as a requirement, my buddy is a huge Google head but uses all Apple products.

I'm deep in the Apple eco-sytem, iPhone, MacBook Pro (work), Mac Pro (Home), iPod, and a mostly unused iPad. My relationship would be listed as complicated though. I'm not a huge fan of Google but I can't give up on Gmail, GChat, Google search and maps.

On my iPhone I use the Gmail app which is fantastic and I'd argue as good as mail. MacBook/Mac Pro Gmail + a notifier, Adium (IM client).

If you have a real beef with the OS, you can always install Ubuntu on a partition and give it whirl. There's no need jump ship in one swoop. Figure out what works best and run with it.

</comment><comment><USER3> I would also change the title to be mail specific. Gmail may be better, but I actually prefer the integration of pages, numbers... over the google alternatives which are browser only.

<comment><USER5> Browser only? The iOS store has Google Apps called Docs, Sheets, and Slides. AFAIK, they work offline, too.

Google gives me Sheets for Android, too ([https://play.google.com/store/apps/details?id=com.google.and...](https://play.google.com/store/apps/details?id=com.google.android.apps.docs.editors.sheets&hl=en)). I would guess Docs and Slides exist there, too.

Edit: just realize that the complaint likely is about the absence of desktop versions of these programs. That indeed is something I would miss if I used Google's apps extensively.

</comment></comment><comment><USER6> like cnbuff410 said : You don't have to change your OS for Ubuntu if your only problem is spam. But a switch to linux is mostly always a good option :)

If you want, Just open a google account (if you don't have one) and redirect everything via pop3 or by any other way to your gmail address to centralize everything. You will have all their anti-spam solution working for you ;) You can then sync all your device with the new address and use gmail for iOS on your IPhone.</comment>


Buttplug: An open-source software suite for teledildonics - <AUTHOR> https://buttplug.io/ <comment><USER2> This is actually an amazing project. I see they have an extensive list of devices already supported. People freely discuss on HN all the time about the security of private messaging between different people online and how corporations track and use this data against us as consumers, but it seems people are incapable of recognizing and discussing this maturely when in fact the same issues are present with teledildonics.

There's a number of very popular remote control devices on the market, and the security and privacy of users is paramount, especially when proprietary apps integrate audio and video and these things could be used for all sorts of reputational damage against consensual users, exactly for the same societal reasons people aren't taking this seriously.

Having free and open libraries and APIs for handling this stuff and free universal applications which take user security and privacy seriously is critical to the advancement of teledildonics in a way which is safe for the public and doesn't take advantage of consumers.

In VC pitch lingo, Buttplug is "Signal for remote control vibrators".

<comment><USER3> As cliche as it sounds, maybe sex will be what brings privacy to the internet.

<comment><USER4> Not surprising at all; people always say sex/porn has brought most of the advances of Internet technology (at least in the earlier days).

<comment><USER5> Yep. One of the more memorable NYTimes article titles, from 1994: "Porn, the Low-Slung Engine of Progress" [https://www.nytimes.com/1994/01/09/arts/porn- the-low-slung-e...](https://www.nytimes.com/1994/01/09/arts/porn-the-low- slung-engine-of-progress.html)

<comment><USER6> Gotta love the headline

</comment></comment></comment></comment></comment><comment><USER7> I'm a bit surprised how many hardware are supported: [https://iostindex.com/?filter0Availability=Available,DIY](https://iostindex.com/?filter0Availability=Available,DIY) . It's like a whole new world of names: estim machine, rabbit, bra vibrator, twerking butt deluxe, night howler, kinikat ... Even the Microsoft Xbox controller made the list.

<comment><USER8> Yup! If it vibrates, we support it. The XBox controller (and other rumble gamepads) are probably the most widely owned vibrators, so hey, why not?

I'm still trying to find a bluetooth electric toothbrush with a controls API. Most of them just have timers. :(

<comment><USER9> Qdot did I ever show you, like 8 years ago after some Arse Elektronica, my thrusting brushless linear motor based sex machine? I designed and built brushless linear motors from scratch as well as the drive electronics. Anyway I never made it in to a business and lately think I will open source it all. I was going to ask for your email but I just discovered metafetish, so I can post something there. I'll do so in a few days.

Anyway I haven't seen you in 8-10 years but it's good to see you around here!

<comment><USER8> TAYLOR

DUDE

WHERE THE HELL YOU BEEN

Yeah you brought it to Jupiter when we met there way back when!

I've been talking about it again lately because more people are building machines and I was all "Man I wonder what that dude is up to and if he's still working on that machine"

I'll throw you email at your address in your bio!

<comment><USER10> Is there anything more beautiful than seeing two old friends reconnect over memories of a motorized sex machine?

<comment><USER11> Not just motorized but with custom built linear motors. Impressive!

</comment></comment></comment></comment></comment></comment><comment><USER8> Hi! Buttplug Project Lead here! AMA!

<comment><USER12> I have one more line of questions. I have, um, observed that "cam" sex workers use teledildonics as a kind of "proof of life". The idea is that paying customers send signals to a sex toy in use by the performer, whose reaction reassures the customer that he is paying for a live show. It affords a way of (apparently) "doing stuff" to the performer in spite of the virtualized nature of the show.

Two part question:

1\. A sufficiently sophisticated operation could use canned footage to fake the apparent call and response here. Is there any current research in the direction of possible authentication methods to prevent such fakery?

2\. What are we to make of the way this form of remote dominance (simulated or real) has been commodified and put in service of capital accumulation? Are not the paying customers even engaging in a form of self-domination, helping to reproduce their roles as wage slaves, by participating in this system of production?

<comment><USER8> 1\. This is a topic that actually, seriously comes up often on cam model forums, and verification of authenticity is, to me, something that is just completely fucked in terms of even being an idea. Do these same customers get angry when they find out the movie they just paid to see was fiction?

2\. Are you familiar with findom? Cause that's like, just straight up what findom is. Literally unbalanced trade of capital as fetish.

<comment><USER13> > verification of authenticity is, to me, something that is just completely > fucked in terms of even being an idea. Do these same customers get angry > when they find out the movie they just paid to see was fiction?

I mean, I think they would if they were told it was a live broadcast.

Of all the fetishes out there, I think wanting to view a person in real-time is one of the more easily understandable ones. I am positive that there are plenty of people out there who prefer watching a live cam over uploaded VODs, even if they never actually interact with the model.

I'm sure that cam models are exceptionally concerned about privacy for very good reasons, and I don't think anyone should be _obligated_ to provide live verification if they don't want to. But it's not like it's an irrational request.

<comment><USER8> Ah, yeah, that's a better metaphor than what I gave there.

I'm also a bit divorced from the customer perspective in this situation because I've been working on the industry side for so long, so I have different expectations and views.

That said, as an implementer of technology of this type, my point was that I feel like live verification gets EXTREMELY INVASIVE in this context. Once you start bringing biometrics and really, hard numbers in general into the voyeurism of camming, it turns into this weird fractal of objectification that I haven't really had time to really unwrap in my head yet, which I'd kinda wanna do before even touching implementations of the tech itself.

<comment><USER13> Sure, that's reasonable. Your original comment sounded more like, "Why do people even care?" but I'm totally onboard with the idea that _actually implementing_ something like that is very problematic.

From the customer point of view, though, "How do I know it's really them?" is a reasonable question because they don't really understand the implications of the answers.

</comment></comment></comment></comment></comment></comment><comment><USER14> Hey nice project. You may want to consider changing domains though

"No .IO domain may be used, directly or indirectly, for any purpose that is sexual or pornographic"

[https://www.nic.io/rules.htm](https://www.nic.io/rules.htm)

<comment><USER15> Porntoken.io has been up for several years with no problems. Also porntoken was the first project to do teledildonics with the lovense toys through the Ethereum blockchain. [https://github.com/porntoken/EthereumDildoMonitor](https://github.com/porntoken/EthereumDildoMonitor)

We had a live model at the late Dennis Hoffs cathouse near Reno with a lovense in her vajayjay taking ETH porntoken ICO investments in her toy through the ethereum blockchain.

Porntoken is largely done now, but we had a damn good time making the movies we did.

[https://avn.com/movies/241591.html](https://avn.com/movies/241591.html)

All the movies on the website still work however.

<comment><USER16> >We had a live model at the late Dennis Hoffs cathouse near Reno with a lovense in her vajayjay taking ETH porntoken ICO investments in her toy through the ethereum blockchain.

I'm a native English speaker, but apparently not a native teledildonics speaker. I can't make heads or tails of this sentence.

<comment><USER17> They got an actress to play with a toy live at a former brothel owners house to promote their porn related ICO.

<comment><USER16> Oh, so live model means a living-women

late Dennis Hoffs - no idea who that is

cathouse = brothel? because of pussy cat?

lovense - no clue

vajayjay - please don't tell me that is supposed to be vagina, are we still in middle school?

taking ETH porntoken ICO investments - something about money?

toy - this must be the teledidonics

through the ethereum blockchain - hey, whatever is your kink

<comment><USER18> lovense (Actually 'lovesense') - It's a vaginal/anal wireless vibrating egg that can be controlled via bluetooth. A lot of Webcam models use them and the viewers can trigger the vibrations via payment tip.

<comment><USER19> No, license is a brand [1], I don't think they have anything like what you described

[1] [https://www.lovense.com/](https://www.lovense.com/)

<comment><USER18> Hmm then what am I thinking of?

<comment><USER20> Lush toy from them

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER21> I started watching the video of hooking the Trance Vibrator up to Rez Infinite but I got distracted by the intense wave of, well, pretty much ASMR that ran up my spine once I saw level 1 on the screen along with its music and now I guess I am spending a while playing that instead. I shall not say what I am doing with my second controller or hint a ways I may be enhancing the reach of its vibrations.

100% analyzation, 99.6% shotdown, 100% support item, one hit taken during Earth [Tera] - not bad for the first time picking it up in years I guess, especially on a dim projector with some intense Sensations and Emotions going through my head as I was dancing with the first level's boss.

<comment><USER8> It's such a wonderful game, isn't it?

I got my first copy back on the Dreamcast and PS2 and played the hell out of it. I wrote my first USB drivers for the Trancevibrator around 2005, also.

When Infinite came out I still played it quite a bit (outside of the context of making that video heh), and it was like riding a bicycle. A couple of minutes of getting used to it again and I was back to near 100% on everything. :D

<comment><USER21> seriously, I have it sitting on my PS4 at like 95-100% in everything after one playthrough when I first got it, except Area 5 because I really cannot be bothered to run it like 5x in a row to remember all its little tricks. I'll probably buy it again when I replace this PS4 and there's a re-remake.

If you haven't played Polybius or Sayonara Wild Hearts, I can highly recommend them - they are both games that stroke their fingers gently across the same places that Rez tickles.

<comment><USER8> Ooooh hadn't heard of Polybius, been meaning to pick up Wild Hearts...

Still wish any other Mizuguchi game did it for me as much as Rez. Never got to try Child of Eden, Every Extend was good, Lumines and Tetris Effect were ok but just not quite the same. I think Rez had that combination of perfect timing and place.

<comment><USER21> I suspect it was a matter of budget and collaborators that made Rez work, too, though I haven't looked at the crew list of his games with that theory in mind. Eden was trying to catch the same lightning as Rez but... didn't.

</comment></comment></comment></comment></comment><comment><USER22> When the Cult of the Dead Cow created Back Orifice, ostensibly a nicer Windows admin tool / Trojan horse, it had a plug-in system called Buttplugs: [https://en.wikipedia.org/wiki/Back_Orifice](https://en.wikipedia.org/wiki/Back_Orifice)

</comment><comment><USER23> [https://github.com/buttplugio/buttplug.io/commit/547d4c9ca32...](https://github.com/buttplugio/buttplug.io/commit/547d4c9ca32a9bdf9ad72b89bb4c0618e7e4ec21)

What a cheeky commit message. :)

<comment><USER8> I am so glad someone caught this. :D

</comment></comment><comment><USER24> The STPIHKAL reference to the Shulgin's PIHKAL / TIHKAL books is what sold me. [https://stpihkal.docs.buttplug.io/](https://stpihkal.docs.buttplug.io/)

</comment><comment> seph-reed In 2013 I imagined this industry as being the next big thing. Mixed with VR, Deepfake, and Voice changing tech, literally anyone could be anyone fucking anyone.

Thank you Buttplug, for getting us closer to that dream.

<comment><USER25> Total Recall

</comment></comment><comment><USER26> deldo.el has come a long way since 2009!

[https://github.com/qdot/deldo](https://github.com/qdot/deldo) [http://www.youtube.com/watch?v=D1sXuHnf_lo](http://www.youtube.com/watch?v=D1sXuHnf_lo)

<comment><USER27> Emacs elisp hooks for controlling your sex toys? Yep. The examples are priceless. For instance tying completion of Org-Mode tasks to various vibration settings to "provide reward for task completion or motivation to get it done."

</comment></comment><comment><USER28> People joke, but this is actually really cool! It makes a lot of sense. Nice work :)

<comment><USER8> Thanks! It's been a lot of hard work but it's a super fun project, really glad people enjoy it. :D

<comment><USER29> Hi, I think you do a service to the world, I am a seller of toys, as shop owner, but was/am reluctant to sell teledildonics just because of security problems, I will keep a close look on your project to decide if and when I will start selling them and point my customers to your project. Any chance of using golang in the future?

<comment><USER8> Hopefully once the FFI bindings happen in Rust, yeah! We had someone produce a Go library right when the project started 3 years ago, but it's SUPER dated now and wasn't really supported much.

[https://github.com/funjack/golibbuttplug](https://github.com/funjack/golibbuttplug)

<comment><USER29> I see... Problem for me would be that updating that library would mean an investment of all these different devices, and you know they ain't come cheap. Would it be an option to create a virtual device which could be populated with the hardware rules of each of these producers, to enable swift creation of bindings in all sorts of languages without quick aging of code?

<comment><USER8> This is something we get questions about constantly, more from the DIY side (where people want to make < 10 devices) than from manufacturers (who still aren't sure what to do with us yet). There's a few standards popping up right now to talk at the device level, I'm hoping to do some writing about those soon. While my company blog isn't up quite yet, best way to stay in the loop on that is the project twitter account - [http://twitter.com/buttplugio](http://twitter.com/buttplugio)

</comment></comment></comment></comment></comment></comment><comment><USER30> Best logo ever: [https://buttplug.io/images/squidplug.png](https://buttplug.io/images/squidplug.png)

</comment><comment><USER31> Now we just need an IDE integration plugin for github repos

"you'll get more pleasure when you make a commit that gets this test suite passing..."

Could be a great mechanism to encourage open source contributions ;)

<comment><USER8> I mean if I write a VSCode Buttplug plugin now I guess there's github codespaces...

</comment></comment><comment><USER32> A thread from 2018: [https://news.ycombinator.com/item?id=17781879](https://news.ycombinator.com/item?id=17781879)

</comment><comment><USER33> Never,ever,even in a million years would I have thought that such a thing exists. Judging by the number of supported models,seems to be pretty popular too.

<comment><USER8> It's more us digging around places like Aliexpress to find what's out there. We're just dedicated. :D

<comment><USER34> Care to name some of the favorite/popular ones? You know... for science.

<comment><USER8> For reliability, if you just want a vibrator of some form factor to work with, go with something by Lovense (except for the Max, which is kinda shit). Easy to get, just works most of the time, decent ecosystem. [https://lovense.com](https://lovense.com)

If you just want the absolute god damn cheapest but still computer controllable wand, the Youou Wand for $16 (I buy these in bulk to give out at workshops): [https://www.amazon.com/gp/product/B07F6XWF2F/](https://www.amazon.com/gp/product/B07F6XWF2F/)

For strokers, Kiiroo Launch (aka Fleshlight Launch but branding is changing currently). Not the best thing on earth, but it does the job right now and there's currently an open source firmware rewrite happening (because there's some masochist out there that loves reading PIC24 assembly. Yes it's fucking PIC24 based.)

If you've got a 3d printer, the (currently mostly penile stimulation focused) OSR2+: [https://patreon.com/tempestvr](https://patreon.com/tempestvr). Something like $2-8 for plans, 3D printable in about 2 days on a stock printer, multi-axis movement, vibrate development community and a ton of add- ons happening.

There's also really interesting DIY stuff happening on the vibrator/small controls side at:

[https://www.touchyfeely.tech/](https://www.touchyfeely.tech/) [http://www.bodyinteraction.com](http://www.bodyinteraction.com)

</comment></comment></comment></comment><comment><USER35> I'm half-asleep and I've got to say reading that title made me do a double- take and sober up fast. Didn't expect to see something like this on Hacker News lol (but it is legit innovation / hacking! Seems there's a lot of work put into this.)

</comment><comment><USER36> Love to make code, code to make love.

</comment><comment><USER37> "Teledildonics"... what a time to be alive. Just when I thought we were running out of new frontiers!

</comment><comment><USER38> I didnt see the DefCon Talk posted on the page [https://www.youtube.com/watch?v=RnxcPeemHSc](https://www.youtube.com/watch?v=RnxcPeemHSc)

</comment><comment><USER39> Shout out to Ted Nelson for giving us one of the greatest words in the english language.

<comment><USER8> So, Nelson gave us Dildonics in the mid 70s, which Howard Rheingold expanded to Teledildonics in 1990. It's a team effort. :D

</comment></comment><comment><USER40> Anyone hiring buttplug developers yet?

<comment><USER8> So there's actually a startup behind Buttplug! Mostly consulting focused at the moment. I hope one day to be able to add job postings. :D

</comment></comment><comment> enahs-sf This sounds like some erotic sci-fi come true.

"In a world swept by a pandemic leaving billions unstimulated, teledildonics kept us together."

<comment><USER41> Here in Berlin, the unavoidably well-advertised dildo company seems to have started a poster campaign just for the pandemic. Roughly translated, the posters read "Keep Calm and Use Dildos".

<comment><USER42> (Obvious NSFW Warning)

I am not sure if I get banned for posting this, but is this the company you are talking about: [https://dildoking.de/](https://dildoking.de/) ?

<comment><USER41> Yes. I wasn't going to look to it for much the same reason.

<comment><USER43> It's a sad comment on society, that this comment is automatically flagged offensive because it contains the word "fuck". -- paraphrased from fortune files, offensive section

</comment></comment></comment></comment></comment><comment><USER44> The io domain is actually for a British Indian Ocean Territory. I know a startup I worked at had issues being allowed to use an io tld previously, are there any concerns with the tld given the provacative nature of teledildonics?

Edit: Correction of British Territory to British Indian Ocean Territory

<comment><USER45> .io domain is for British Indian Ocean Territory: [https://en.wikipedia.org/wiki/British_Indian_Ocean_Territory](https://en.wikipedia.org/wiki/British_Indian_Ocean_Territory)

<comment><USER46> > The only inhabitants are US and British military personnel and associated > contractors

So wait, all .io domains map to a US/UK military base in the Indian Ocean?

How does that affect privacy...?

<comment><USER47> In day-to-day usage, it doesn't, at all. Who owns a domain doesn't have anything to do with where the traffic flows.

If I owned buttplug.io (which I don't, unfortunately), and someone sent traffic to me (by visiting the website), DNS would look up and return the IP address of my server, and that's where the traffic would go.

In theory, since the owner of the TLD controls the root DNS servers, I guess they could hijack the DNS to send the traffic to their server instead. We would know if that happened though.

<comment><USER44> Actually tlds may have restrictions and can enforce them. This isn't very common, and most of the past issues with IO has been their very slow time processing registration requests as opposed to content takedowns, but some tlds require ssl and others do restrict adult content. Some restrict things to a given topic (which they get to be the judge of) and others require legal hoops to register such as proving you're a non-profit.

With the explosion of tlds and those tlds being privately owned, there's a good chance we'll see more of these problems in the future though right now it just seems like the owning orgs are just looking for easy money.

</comment></comment></comment></comment></comment><comment><USER48> I _knew_ the Rust community would be all over this.

</comment><comment><USER49> I really hope that twitterdildonics and twitter_breakcore in your repos can use the same input and run synchronized.

But actually, running things in another direction, breakcore→dildonics, would really contribute to me, ahem, dying happy.

<comment><USER8> Those are from like, 2007, so they'll need some upgrades. :D

Twitterdildonics came out at SXSW 2007, which was one of Twitter's first major conferences I think. There's (SFW) demo video from it:

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

<comment><USER49> Well, I'm now aspiring to the same level of dedication to avoiding eye contact.

</comment></comment></comment><comment><USER50> I'm surprised I didn't know something like this existed until now. I think it's ingenious honestly to open source software for pleasure hardware. I also learned a new word and I love it!

</comment><comment><USER51> Might be patent issues with this: [https://www.techdirt.com/articles/20151007/11394132469/kicks...](https://www.techdirt.com/articles/20151007/11394132469/kickstarter- refuses-to-settle-be-silenced-over-ridiculous-teledildonics-patent- lawsuit.shtml)

<comment><USER52> The patent described in that article (US6368268B1) appears to have expired in 2018.

<comment><USER8> Yup, patent expired in August 2018 (I did a lot of research and consulting work on that, it's a huge story in and of itself). Of course, these days the landscape is death by a million tinier patents.

</comment></comment></comment><comment><USER53> No Amazon Echo or Google Home interface? I thought all the IoT devices were supported by them these days..

[edit:] Well this totally exists!

[https://coolblindtech.com/alexa-is-now-available-for-sex- wit...](https://coolblindtech.com/alexa-is-now-available-for-sex-with- lovense/)

<comment><USER37> Could you imagine the privacy implications? "Hey! It looks like you could use more fiber in your diet". Then suddenly, you're seeing Metamucil ads all over Facebook, and you start getting discount vouchers for prune juice in the mail.

</comment></comment><comment><USER54> Has the site been hugged to death or has my government decided I'm not allowed to browse such filth?

</comment><comment><USER55> > Can support Bluetooth, USB, HID, Serial, and Audio controlled toys.

What is an example of an audio controlled toy?! Does that mean voice commands, or does that mean some sort of high-frequency (outside human-audible range) binary channel? I looked but did not see.

<comment><USER56> perhaps the audio port (6.35mm) providing a data channel?

<comment><USER57> That is correct. (Though usually 3.5mm.)

<comment><USER8> The only places we usually see RS-232 (either swing or TTL) over TRS is estim, funny enough.

<comment><USER58> My Elecraft KX3 radio's computer link cable is almost the same RS-232 over TRS pinout that the ET312 uses. I think one pin is different, though, and had to build a sort of crossover cable.

<comment><USER8> Ok, since you're familiar with the ET-312...

You know we reversed the ET-312 to the circuit level, right? :)

[https://github.com/buttshock/mk312-bt](https://github.com/buttshock/mk312-bt)

<comment><USER58> Yeah I've looked at that a number of times. I always thought it was cute that they went to so much effort to scrape the part numbers off the ICs.

</comment></comment></comment></comment></comment></comment></comment><comment><USER59> I don't think I've ever laughed this hard on YC. cheers.

</comment><comment><USER60> What a shameless plug

</comment><comment><USER61> My first thought was "ouch, what a badly chosen project name" but then I saw what it was for and it's actually perfect.

</comment><comment><USER62> If somebody created a chat-app based on this, perhaps it could push WhatsApp out of the market (cf. VHS versus Betamax)

<comment><USER8> Most companies that make consumer hardware distribute their own apps, of wildly varying qualities. :)

<comment><USER63> Which is why an app that supports _all_ of the gadgets regardless of make/model could be useful.

</comment></comment></comment><comment><USER64> Spark plugs?

<comment><USER8> BUTTPLUGS.

BUTT PLUGS.

BUTT. PLUGS.

</comment></comment><comment><USER65> We have reached peak startup

</comment><comment><USER66> Cant wait to see some teledildonics penetration testing expert jobs.

</comment><comment><USER67> My electric toothbrush is about to get a pretty cool upgrade.

</comment><comment><USER68> could be probably connected to "spankchain" to drive the toys with blockchain tokens. I see a lot of use cases here :D

</comment><comment><USER69> I believe the concept of teledildonics is patented, but the owner is a really cool cat and I bet he would think this is a great idea.

<comment><USER8> Patent expired in August 2018, but not before the owner was kind of a dick with it for decades (allowing a licensing cabal to dictate what was done around the industry), then died in 2015, after which a patent troll got ahold of the patent, and sued 8 companies out of business.

Sooooooooo yeah. It sucked.

</comment></comment><comment><USER70> Well thats a lot of code to anal-ise

</comment><comment><USER71> Would it be terribly slutty for me to suggest a Peer2Peer protocol? Not everyone's into Master/Slave connections...

<comment><USER8> We're working on WebRTC now. There's still the issue of STUN server handshaking there but it's Peer-to-Peer after that.

<comment><USER71> What use case are you thinking of? Two peers, or routing through networks of distributed decentralized peers?

For the latter you could take your existing model and add an extension "gateway protocol" that would connect servers to servers, and through that protocol support advanced routing, which would in effect become a distributed decentralized peer to peer network.

(obviously all that is a lot more work than you need for your use cases, but it seems like an interesting way to give people sexual agency without either a) commercial infrastructure or b) potentially unsafe public services)

<comment><USER8> Tell ya what, this thread is starting to fall into the ether, so I'll throw you an email.

Anyone else who happens on this and wants to know more, please feel free to DM me on twitter or email me, all the info is in my bio.

</comment></comment></comment></comment><comment><USER72> Javascript controlling something you put inside yourself or your partner. What could possibly go wrong?

</comment><comment><USER73> teledildonics made my day!

</comment><comment><USER74> Open source software really _has_ penetrated every niche.

</comment><comment><USER75> I wonder if they do any form of penetration testing?

<comment><USER76> Hmm. Would a security breach count as assault?

<comment><USER77> /serious hat

I don't believe there's been a case history yet of "hacking + sex crime", but many of us in the community believe that this is a strong possibility.

It's one thing to target fintech, or some website, or a general SaaS offering. However when you're targeting sextech with the knowledge that a hack allows remote unintended stimulation (read: sexual assault), shows that they intended the hack and intended sexual assault.

<comment><USER78> I get what you're saying in the abstract, but when I try to imagine it concretely, it stops making sense to me. Eg. a person is using a sex toy and tries to make it vibrate a certain way, but an attacker has caused it vibrate a different way. Sure, in some vague sense it's an unwanted type of stimulation and someone is involved in it that isn't supposed to be. But I think that scenario tortures the definition of sexual assault beyond recognition. Am I just not thinking of more obvious cases?

<comment><USER77> For example, say someone is in the BDSM scene, and hands their lover access to a buttplug that they are wearing. The plug is tied to the phone via BT and an app. The lover can stimulate when they wish. There's intent and consent here.

Hacker shows up on the appservers, causing the buttplugs to continuously stimulate. There was no consent here, as the consent was _only_ to the lover. This third party who committed a crime to gain access never had any permission.

Consent was not there. Hacker used illegitimate access to then physically commit battery (lay hands or object on person without approval) in a sexual way.

</comment></comment></comment></comment></comment><comment><USER79> Suddenly we see serious HN commenters become 5 yr olds lol

<comment><USER80> Let's stick with _18yr olds_ , just to be on the safe side, considering the context.

</comment></comment><comment><USER81> Fork this.

</comment><comment><USER82> Welcome to the Internet of Dicks (IoD)

</comment><comment><USER83> If I make an app that posts a FB status every time you use a buttplug, I'll call it FacePlug.

<comment><USER84> May I also suggest ButtFace?</comment></comment>