Hacking as a tool of social disapproval

“The street finds its own uses for things.” —William Gibson, Burning Chrome

Last year, my wife, my co-author, and I launched a new podcast, The Skeptical Pervert. We talk about sex…and more specifically, we talk about sex through a lens of empiricism and rationality.

The Skeptical Pervert’s website runs WordPress. Now, I’ve been around the block a few times when it comes to web security, and I know WordPress tends to be a rather appetizing target for miscreants, so I run hardened WordPress installs, with security plugins, firewalls that are trained on common WordPress attack vectors, and other mitigations I don’t talk about openly.

I run quite a few WordPress installs. My blogs on franklinveaux.com and morethantwo.com run WordPress. So does the Passionate Pantheon blog, where Eunice and I discuss the philosophy of sex in a far-future, post-scarcity society. In addition, I host WordPress blogs for friends, and no, I won’t tell you who they are, for reasons that will soon become clear.

I automatically log hack attacks, including failed login attempts, known WordPress exploits, and malicious scans. I run software that emails me daily and weekly statistics on attacks against all the WordPress sites I own or host. I also subscribe to WordPress-specific infosec mailing lists, so I am aware of the general threat background.

Because WordPress is such a common target—it’s the Microsoft Windows of the self-hosted blog world, with everything that implies—any WordPress site will get a certain low level of constant probes and hack attempts. It’s just part of the background noise of the Internet. (If you run WordPress and you’re not religiously on top of security updates, by the way, you’ve already been pwn3d. I can pretty much guarantee it.)

The fact that I host WordPress sites not connected with me to the outside world gives me a good general baseline reading of this background noise, that I can use to compare to hack attacks against sites that are publicly connected with me.

And the results…well.

In all the years I’ve been on the Web—and I started running my own Web sites in the mid-1990s—I have never seen anything even remotely close to the constant, nonstop barrage of attacks against the Skeptical Pervert site. Joreth and Eunice are probably quite sick of my frequent updates: “Well, the firewall shows over a thousand brute-force hack attempts against the Skeptical Pervert site so far today and it isn’t even noon yet” (seriously, that’s a thing that happened recently).

Here’s a graph showing what I mean. This graph covers one week, from June 13, 2022 to June 20, 2022. The “baseline” in the graph is an average of several WordPress sites I host that aren’t in any way connected to me in the eyes of the Internet at large—I don’t run them, I don’t put content on them, my name isn’t on them, I merely host them.

Note that the attacks don’t scale with traffic; the More Than Two blog has the most traffic, followed by franklinveaux.com, then the Passionate Pantheon blog, then the Skeptical Pervert.

So what to make of this?

Part of it is likely the long-running social media campaign my ex has been running. Attacks on franklinveaux.com and morethantwo.com increased in the wake of her social media posts.

But that doesn’t explain what’s happening with the Skeptical Pervert, which has turned out to be targeted to an extraordinary degree.

Now, I don’t know who’s attacking the site, or why, so this is speculation. It’s hard to escape the idea, though, that when a site and podcast explicitly about sex, co-hosted by two women of color, talking about non-traditional sexual relationships is targeted, at least part of the answer might simply be the same old, same old tired sex-negative misogyny and racism we see…well, everywhere, pretty much. The fact that my ex doesn’t like me (and will say or do anything to get other people not to like me) doesn’t explain what’s happening here.

It’s easy to blame conservative traditionalists, but Eunice reminded me there’s another factor at work as well. The Skeptical Pervert approaches sexuality from a rational, evidence-based, skeptical lens. In the United States, there’s a stubborn streak of misogyny amongst the dudebros of the skeptics community. A podcast with two women that looks at sex from a highly female-focused, feminist point of view taking on the mantle of skepticism? It’s possible there are dudebros who will perceive that as an encroachment into their space.

In short, I don’t think this is about me. I think this is about women talking openly about real-world non-traditional sex, and getting the same pushback that women always get when they dare to do that.

If the podcast were just me, or me with obviously male co-hosts, I don’t think the level of Web attacks would be anywhere near the same.

The street finds its own uses for things. In the hands of people threatened by or frightened of non-traditional voices, the Internet has become a safe, anonymous tool of harassment.

How Facebook convinced me democracy is in trouble

Today, in The Street Finds its Own Uses for Things:

I noticed something funny when I logged into Facebook last week. My feed, which is normally filled with ads for video games, photography gear, and complicated kits for Stirling engines you can build at home, was absolutely jam-packed with ads for far-right pro-Trump merchandise, antigovernment T-shirts and posters, gun holsters, and “conservative news” sites.

And I mean jam-packed. I’ve never seen this quantity of advertising on Facebook before; literally an ad following every single friend post.

The whole secret of advertising on Facebook is you can target your ads. You can specify exactly who you want to see your ads; for example, when we ran ads for the first porn novel we co-authored, Eunice and I targeted people with an interest in reading who were 35 or younger and lived close to a university, figuring this would likely be the sort of person interested in far-future, post-scarcity science fiction smut.

So why would Facebook, that giant creepy Hydra in the cloud, show me alt-right ads when it knows I’m a lefty Portlander?

Because the advertisers know I won’t buy their products. They don’t care. That isn’t why they’re spending tens of millions of dollars on Facebook advertising.


So first, the ads.

I’ve gotten in the habit of aggressively blocking these ads when they appear, and blocking the companies that place them. Doesn’t matter. There are a zillion other companies placing near-ident0cal ads for near-identical products, and sometimes (this is a telling bit) even with the same stock photos.

The ads look lik e this:

If you ask Facebook “why did I see this ad?”, Facebook will show you the demographic the ad was targeting. And these ads are completely ignoring the laser-focused demographics Facebook likes to brag about. They’re shotguns, not sniper rifles.

So why? What’s the point? Why target so broadly, when it increases your spend without generating sales?

So here’s the thing:

I don’t believe they’re trying to generate sales.

That’s not the point. They aren’t interested in selling you gun holsters or T-shirts. I mean, if you buy some, that’s a bonus, but I believe these ads are a propaganda effort. The purpose is to put right-wing slogans and ideas in front of as many eyeballs as possible. They’re advertising ideas, not T-shirts.


The American political right is very, very good at propaganda. Liberals sneer at “Let’s Go Brandon,” the right-wing oh-so-clever “fuck Joe Biden,” but the thing is, it works. The people who use it don’t care that it’s juvenile. It makes them feel part of something. It’s a tribal identity marker.

And human beings like feeling like part of a tribe.

The hoodie up there that says “Proud member of the LGBFJB” community? It means “Let’s Go Brandon Fuck Joe Biden.” VClever? Not really. A great identity brand for a certain kind of person? Oh yeah.

And this brand is everywhere.

Branding and marketing and propaganda matter in political discourse. Arguably they matter more than policies and proposals and all that other wonk stuff.

They want this branding everywhere, and they’re willing to pay to make that happen.

People don’t make rational decisions. People make emotional decisions and then rationalize them. Often, those emotional decisions are predicated on feelings of belonging and inclusion. The right gets that, in its creepy way. The left? Not so much.


The thing is, the political left is doing nothing to counter any of this.

Do I think this Facebook propaganda is working?

Yes. Yes, I do.

It creates the illusion that right-wing ideas are more popular than they really are. It paints a false picture of what Americal looks like and what Americans want. It lets the right dominate the discourse in ways that the left won’t even try to counter.

The modern American right is intellectually and morally bankrupt, a seething cesspool of reactionary hate. But they get propaganda. They get it on an instinctive level, in ways that confuse lefties.

And that makes them far more effective than their numbers and policies alone would suggest.

I for one welcome our new AI overlords

I’ve been thinking a lot about machine learning lately. Take a look at these images:

Portraits of people who don't exist

These people do not exist. They’re generated by a neural net program at thispersondoesnotexist.com, a site that uses Nvidia’s StyleGAN to generate images of faces.

StyleGAN is a generative adversarial network, a neural network that was trained on hundreds of thousands of photos of faces. The network generated images of faces, which were compared with existing photos by another part of the same program (the “adversarial” part). If the matches looked good, those parts of the network were strengthened; if not, they were weakened. And so, over many iterations, its ability to create faces grew.

If you look closely at these faces, there’s something a little…off about them. They don’t look quiiiiite right, especially where clothing is concerned (look at the shoulder of the man in the upper left).

Still, that doesn’t prevent people from using fake images like these for political purposes. The “Hunter Biden story” was “broken” by a “security researcher” who does not exist, using a photo from This Person Does Not Exist, for example.

There are ways you can spot StyleGAN generated faces. For example, the people at This Person Does Not Exist found that the eyes tended to look weird, detached from the faces, so the researchers fixed the problem in a brute-force but clever way: they trained the Style GAN to put the eyes in the same place on every face, regardless of which way it was turned. Faces generated at TPDNE always have the major features in the same place: eyes the same distance apart, nose in the same place, and so on.

StyleGAN fixed facial layout

StyleGAN can also generate other types of images, as you can see on This Waifu Does Not Exist:

waifu

Okay, so what happens if you train a GAN on images that aren’t faces?

That turns out to be a lot harder. The real trick there is tagging the images, so the GAN knows what it’s looking at. That way you can, for example, teach it to give you a building when you ask it for a building, a face when you ask it for a face, and a cat when you ask it for a cat.

And that’s exactly what the folks at WOMBO have done. The WOMBO Dream app generates random images from any words or phrases you give it.

And I do mean “any” words or phrases.

It can generate cityscapes:

Buildings:

Landscapes:

Scenes:

Body horror:

Abstract ideas:

On and on, endless varieties of images…I can play with it for hours (and I have!).

And believe me when I say it can generate images for anything you can think of. I’ve tried to throw things at it to stump it, and it’s always produced something that looks in some way related to whatever I’ve tossed its way.

War on Christmas? It’s got you covered:

I’ve even tried “Father Christmas encased in Giger sex tentacle:”

Not a bad effort, all things considered.

But here’s the thing:

If you look at these images, they’re all emotionally evocative; they all seem to get the essence of what you’re aiming at, but they lack detail. The parts don’t always fit together right. “Dream” is a good name: the images the GAN produces are hazy, dreamlike, insubstantial, without focus or particular features. The GAN clearly does not understand anything it creates.

And still, if artist twenty years ago had developed this particular style the old-fashioned way, I have no doubt that he or she or they would have become very popular indeed. AI is catching up to human capability in domains we have long thought required some spark of human essence, and doing it scary fast.

I’ve been chewing on what makes WOMBO Dream images so evocative. Is it simply promiscuous pattern recognition? The AI creating novel patterns we’ve never seen before by chewing up and spitting out fragments of things it doesn’t understand, causing us to dig for meaning where there isn’t any?

Given how fast generative machine learning programs are progressing, I am confident I will live to see AI-generated art that is as good as anything a human can do. And yet, I still don’t think the machines that create it will have any understanding of what they’re creating.

I’m not sure how I feel about that.

It’s time to pack up and move

I’ve been blogging on LiveJournal since August of 2001. And what a long, strange trip it’s been. In the past fifteen and a half years, I’ve seen a lot of changes in the way people use social media: the rise and subsequent fall of a whole host of blogging services, the gradual fading away of USENET and email lists, Facebook’s march to supremacy.

In all that time I’ve continued to use Livejournal, partly because a lot of people know about my blog and follow me there, and partly because after more than a decade it becomes exceptionally difficult to move.

Today, when I signed on to LiveJournal, I found the writing on the wall:

LiveJournal was bought many moons ago by a Russian company, but only recently moved its servers to Russia. And since doing so, it’s been required to update its Terms of Service to comply with Russian law, which is rather odious and, well, Russian.

I don’t intend to go into a full analysis of the implications of the new ToS. That’s been done already in many places on the Web, including here, here, here, and here. (Interestingly, there’s no discussion of the change on the official LJ Policy community, and in fact there hasn’t been any discussion there since 2015.)

The bits I do want to talk about are those bits directly relevant to me and this blog.

The new Terms of Service have two provisions that directly impact me: in accordance with Russian law, any blog or community read by more than 3,000 readers is considered a ‘publication’ and is subject to State controls on publications, including the provision that the blogger or moderator is legally liable under Russian law for any content posted by any user; and blogs are prohibited from “perform[ing] any other actions contradictory to the laws of the Russian Federation.”

This blog is routinely read by more than 3,000 people, making me a “publisher” under Russian law.

And, more worrying, the Russian “gay propaganda law” forbids discussion of “sexual deviancy,” which includes LGBTQ issues. “Propaganda of non-traditional relationships” is forbidden by this law.

I’m not concerned that the Kremlin is going to demand my extradition to Russia to face trial. I am concerned that there’s a very real possibility this blog may disappear at any time without warning.


For a couple of years now, I’ve kept a backup of this blog over at blog.franklinveaux.com. The blog there is a mirror of the blog here, though links over there point to blog entries here rather than there. (Fixing that will be a massive undertaking, involving changing many hundreds of links in thousands of blog posts.)

I moved my LJ to WordPress, a process that was extraordinarily painful. There is an LJ importer for WordPress, and a tutorial for moving your LJ blog to WordPress here, but, as I discovered, there are a few gotchas.

First, the LJ importer plugin was not tested on large blogs. It requires enormous amounts of memory to import a LiveJournal blog with more than a couple hundred entries; at the time I did the migration, I had north of 1,600 blog posts. Second, it chokes on blog entries that have more than 100 or so comments.

Many, perhaps most, Web hosting companies place limitations on memory and CPU usage that prevent the WordPress LJ importer from working on large blogs.

Second, it won’t move images. If you have uploaded images to LJ’s servers, you must download them and re-upload them to your new WordPress blog.

I was unable to use the LJ importer to import my entire LiveJournal blog. I finally discovered a workaround, but it’s cumbersome:

  1. Create a free WordPress blog at WordPress.com.
  2. Use the importer there (it’s in the Tools menu) to import your LiveJournal blog.

    If you’re okay hosting your new blog at WordPress.com, you’re done. If, however, you wish to host your blog on your own server with your own WordPress installation, there are a few more steps:

  3. Use the Exporter to export a WordPress XML file of the blog.
  4. Set up your own self-hosted WordPress installation on your own server.
  5. Import the file you exported from WordPress.com.

Images you have uploaded to LJ will, as I’ve mentioned, need to be uploaded to your WordPress blog. (Thank God I’ve never done this; I’ve always put my images on my own server and linked to them there.)

The problem is compounded by the fact that LiveJournal has never wanted you to move. There’s no graceful way to export your LJ blog. There is an exporter of sorts, but it only exports a month at a time. The Wayback Machine at archive.org doesn’t archive LiveJournal posts, at least not consistently (it has crawled my blog only 37 times despite the fact that I have some 1,700 blog entries).


This is a huge problem. LiveJournal was one of the first blogging platforms, and a tremendous amount of very valuable information about the rise of social media is in danger of being lost.

This is, of course, the curse of the modern age. A diary written with pen and paper can be lost in an attic for centuries and then, once discovered, provide insight into the lives of people in a long-gone time. But we don’t record our lives that way any more. Today, our journals are kept on computer servers–servers owned by other people. And there’s no leaving these journals in an attic for a century for future people to find. They require constant, and sometimes very difficult, work to maintain. Anything you host on someone else’s servers for free is subject to someone else’s whims.

I am dedicated to doing the work to preserve my journal. From now on, I will not be posting new journal entries here. This blog will remain for as long as it can, and I will post links here to blog updates over on blog.franklinveaux.com. I encourage others to do the same. Anything here is subject to the vargarities of Russian law and should be assumed to be unstable, subject to deletion without warning.

From this point forward, please link to new blog posts on blog.franklinveaux.com, not LiveJournal. Over the next few months, I plan to work on linking my most popular LiveJournal entries back to their mirrors on franklinveaux, and updating links there to point ot blog posts there rather than here.

Oh, and the last person to leave LJ, please remember to turn off the lights.

The revolution is Nigh…Impossible

As part of the ongoing development of the bionic cock project I’m working on, I’m in the process of teaching myself 3D modeling and 3D printing. We’re using 3D printing to make positives for molding silicone prototypes.

3D printing is amazing. It offers incredible potential for people everywhere to be able to make whatever they want on demand, as long as “people everywhere” means “people with access to computers and the Internet and 3D printers and spools of plastic, and the cognitive ability to be able to design things and operate the equipment.” So not really people everywhere, but no matter, right?

3D printing is also incredibly stupid. The state of the art is so appalling. The software is deplorable–a throwback to the bad old days of obtuse design usable only by the select few.

The first time I tried to make a print, I was horrified by what passes for design in the world of 3D printing. It’s a case study in why Linux has never made significant inroads into the desktop, despite being free. Open source software is still software made by developers for developers, with no thought (or sometimes, with active contempt) for users who either don’t want to or don’t have the time to learn every small detail of the way their systems work.

By way of comparison, if color inkjet software worked the way 3D printer software works, every time you hit the Print command on your computer, you’d be confronted by something like this (click to embiggen):

A twisty maze of confusing ad indecipherable options poorly laid out

This…is why we can’t have nice things. The open source community isn’t democratic; it’s elitist.

Psychic Litter: Chrome and phone menu trees

In 1995, writer David Joiner coined a phrase that I think has not received nearly enough attention: “psychic litter.” In an issue of Wired magazine, Joiner defines it this way:

“Psychic Litter” is a term I coined to mean acts of immorality so small as to be below the level of consciousness. One example is wasting small amounts of the time of many people. Bruce Tognazzini, the user interface guru, once opined that by creating a product that wastes a half hour of time for each of 4 million users, you waste 900 work-years of human productivity. That works out to about 12 complete lives.

It seems appropriate that his 1995 example involved user interfaces, as the most glaring examples of psychic litter I’ve personally ever encountered invariably come from tech firms.

Consider this: Last night, I spent some hours combing through my hard drive with a fine-toothed comb in search of some missing gigabytes that, by all rights, ought to have been there. Imagine my surprise when I peeked into my Applications folder and saw this:

Yes, that’s Chrome, the Google Web browser. Yes, it is twenty gigabytes(!) in size. No, that’s not a disk directory error.

Chrome updates itself more or less constantly, all completely silently and in the background, without user notification. That’s fine, but it turns out that every time it updates itself, Chrome (the Mac version, anyway) keeps the old version stashed within itself.

On the Mac, applications are actually “bundles,” special directories that contain the executable code plus all its required libraries. That’s how the Mac has made itself immune to Windows DLL Hell and Linux dependency hell; apps are self-contained.

You can look inside an application bundle by right-clicking it and choosing Show Package Contents from the popup menu.

When you do that on Chrome, you will see a folder called Versions. This folder contains a complete copy of every single version of Chrome that has ever been updated on that computer.

Google Chrome is about 200 MB in size. When it updates, it eats another 200 MB of hard disk space. When it updates again, there’s another 200 MB gone. And another. And another. And another.

In my case, I’d been using Chrome since 2012, and those updates had swallowed up 20 GB of space.

This shows a profound contempt and disregard for the user’s hard drive space.

Right now, by default, a brand-new Macbook comes with 256 GB of Flash storage; an 11-inch Macbook Air, 128 GB. That means my copy of Chrome would devour 15% of a Macbook Air’s standard storage.

By way of comparison, the current Mac operating system takes about 8 GB of hard drive space. That means my copy of Chrome was more than twice the size of my operating system on disk.

The simplest solution is to periodically delete Chrome and download it again, which means you’re swapping prodigious waste of your hard disk space for slightly less prodigious waste of bandwidth. The real solution is for Silicon Valley to become more conscious of the impact of their behavior on their users.

It’s not just Silicon Valley, of course. Yesterday, I had to call Services Canada about getting a social insurance number. The phone number for Services Canada took me to a voice menu tree that had six minutes of talking before the menu options were presented, and did not permit me to skip that six minutes by pressing the right number even though I knew what it was. Worse, hitting the key to repeat the menu choices caused the system to recite all six minutes of recording before offering the menu prompts again.

The design of voice menu systems is a frequent source of psychic litter. The people who record these systems rarely think about how they will be used, and often show contempt for the time of those who use them.

Sometimes, this is deliberate. Cell phone carriers have made voicemail messages longer to increase the the number of minutes of airtime used. More often, it’s careless. It stems from indifference to other people and lack of concern about the effects of our actions.

I would like to propose a radical idea: Let us all, every day, consider the implications of all our actions on other people, even the actions that we normally don’t think about. We all often find ourselves doing things that touch large numbers of other people. Even small acts of indifference, when multiplied many times, add up. We can all seek to be more considerate of other people in small ways as well as large.

What squirrels taught me about post-scarcity societies

If you know any transhumanists or other forward-looking folks, you’ve probably encountered the notion of a “post-scarcity society.”

I just got back from a two-month writing retreat in a cabin deep in the heart of rural Washington, many miles from civilization. The squirrels at the cabin are quite talented at stealing birdseed from the bird feeders around the cabin, and that taught me a lesson about transhumanism and post-scarcity society.

This might make me a bad transhumanist, but I think the hype about post-scarcity society is overblown, and i think the more Panglossian among the transhumanists have a poor handle on this whole matter of fundamental human nature.

I’ve written an essay about it over on Think Beyond Us, which includes a video of squirrel warfare. Here’s a teaser:

We’re moving toward the technology to do things in a completely different way: using tiny machines to build stuff from a molecular or atomic level. In the book Engines of Creation, K. Eric Drexler envisions a time when we will be able to fabricate almost anything we can imagine from simple raw materials and energy.

And on this foundation, futurists say, post-scarcity society will be built. If we can make anything from any raw materials cheaply or free, there is no longer a divide between rich and poor. Think Las Vegas where everyone is a millionaire whale. Want a car? A sofa? A cup of tea? Program assemblers with the characteristics of the thing you want, push a button, and presto! There it is.

In a society where everyone can have whatever stuff they want and nobody has to work, entertainment becomes very important indeed. And those who can provide it—those who can write, or sing, or perform—well, they control access to the only resource besides land that means anything.

So what, then, do we make of a society where the 1% are determined not in accordance with how many resources they control, but how creative they are? A Utopian might say that anyone can learn to be creative and entertaining; a look around the history of humanity suggests that isn’t true.

Those who own land today command one of the few resources that will matter tomorrow. Those who can entertain command the only thing that can buy that resource. And the rest of humanity? Suddenly, Utopia starts to look a whole lot less Utopian to them, and a whole lot more like the same old same old.

Check it out! You can read the whole thing here.

Unwrapping a new project: an uncensored Amazon erotica search tool!

I am a self-published erotica writer. I write BDSM fiction, including the novel Nineteen Weeks, a story I’m very proud of.

A couple of years ago, I discovered that the number of books I was selling suddenly fell off a cliff. I did some research and found that the same thing was happening to a lot of erotica writers, especially self-published writers. Amazon’s Search function on their Web site was filtering out a lot of erotica, particularly erotica with themes of non-traditional relationships like BDSM.

However, I discovered something interesting a few months back: The Amazon search API, a set of programmer’s tools that allows Web programmers to search Amazon’s book titles, doesn’t filter search results. You can log on to Amazon and do a search for a particular book and see no results, but if you write a Web site that uses Amazon’s API and do a search, ta-da, there it is!

I’m sure you can see where this is going.

On and off for the past few months, I have been working on building a new Web site, called Red Lit Search. This site has a database of erotic books in Amazon’s catalog–so far only about eighteen hundred or so, but the list is growing–and also allows you to do uncensored searches of Amazon. My hope is to grow it into a portal for erotic books; if it succeeds, I plan to add new sections with things like articles, interviews with erotica writers, and all kinds of fun stuff like that.

So check it out! Spread the word! Kick the tires, test the software, and let me know what you think!

[ Visit Red Lit Search, the erotica search engine ]

An Amazon Product Advertising API SimpleStore PHP script that works!

I’ve been working on a project lately that I’m excited about, but not quiiiiite ready to talk about just yet.

Unfortunately, this project has involved working with the Amazon API. I say “unfortunately” because the Amazon API is truly the Mos Eisley of the computer world: you will never find a more wretched hive of bugs and poor documentation.

Nearly all of the sample code in the Amazon developer index dealing with the Product Advertising API does not work, and has not worked since 2009, when Amazon made a change requiring cryptographic signing of all API requests. I am a PHP programmer, and the PHP sample code for dealing with the API does not work and has not worked for a very long time.

For example, the sample SimpleStore PHP script called “Amazon Associates Web Service Simple Store in PHP” in their code library was written in 2006 (ten years ago!), broke in 2009, but is still on their developer site.

You can imagine how rage-inducing this is. In science, we are all standing on the shoulders of giants. In computer science, we are all standing on each other’s feet.

So I’ve spent the last few days eyebrow-deep in Amazon’s technical documentation, trying to make decade-old sample code work so that I could do something–anything–with the API.

I’ve finally made the SampleStore PHP script work with the modern Amazon API, and fixed some bugs and closed some security holes along the way. I’ve decided to make the fixed script freely available to anyone who wants it. I’ve commented it extensively in the code.

If you’re working with the Amazon API in PHP and you’re tearing your hair out because nothing works and there is no sample code to show how to build cryptographically signed API requests, fear not! This code works. The interface is simple and ugly, but the PHP will get you up and running.

Please feel free to use, remix, copy, redistribute, or do whatever else you want. I sincerely hope that this code will help someone somewhere not have to tear their hair out the way I did.

Update #7 on the sex toy you can feel

It’s been a busy month in smart sex-toy land.

We’ve just finished another round of testing of the third-stage prototype design, and ironed out some bugs that cropped up with the first incarnation of the current design. We’ve demonstrated conclusively that the idea works, and works well–even with the crude hardware we’re currently using, we’re able to trick the brain into internalizing the device into the wearer’s sense of self.

It was fascinating watching the most recent beta testers. We tested with two volunteers. With one of the volunteers, I was able to tell the exact moment her brain worked out the sensation and internalized the dildo. She was running her hand along the dildo, and she said “I don’t know, it feels weird and kind of uncomfortable, it just–” and then the switch flipped and she said “Oh!” and grinned.

Unfortunately, we’re running into limitations in how much further we can take the design by ourselves, given that I’m building each prototype by hand. Right now, each prototype is a hand-made one-off that takes hundreds of dollars and several days’ worth of work to put together. There’s a lot of hand soldering of some very tiny and somewhat fiddly components involved with every new prototype, which then ends up getting tossed at the end of each round of testing. The current design can’t be sterilized, so I have to build a new one each time we beta-test with a different person.

We’re learning quite a lot from each test. One thing we’ve found is there’s incredible variability between different people in internal anatomy and neurology. Some people are approximately evenly sensitive everywhere in the vaginal canal; some people are more sensitive in the lower portion of the vagina than the upper portion; some people are more sensitive on one side than the other. That means the final device will have to be tunable to each individual who wears it, with the wearer customizing the intensity of stimulation from each individual electrode. That adds a new level of complexity to the electronics, not to mention the user interface.

The current prototypes are built by modifying off-the-shelf dildos with sensors and electrodes. The prototypes use copper electrodes, which have a very short life expectancy; the final version may have to use gold for the electrodes. We’re still researching that.

We’re researching quite a lot, actually. Now that we know the concept is sound, we’re moving toward a more research-intensive phase of development. Questions we’re still addressing include things like what is the maximum sensory resolution inside the vagina, how does it vary in different areas of the vagina, how does it vary across different people, what is the safest electrode material that offers good durability while being body-safe, what’s the minimum number of sensors the dildo must have to create the sensation of being part of the body, what’s the maximum number of sensors and electrodes past which the wearer can’t distinguish different sensations any more, and what’s the best signal shape to stimulate the sensory nerves in the wearer without being painful or unpleasant. (The first versions of the prototypes used a very simple signal generator; the most recent version uses a programmable signal generator.)

The prototypes we’ve built so far have all had an insertable portion designed to be worn vaginally. We’ve had many people ask us about designs that don’t require insertion, or that work with an anal insertable portion. That’s also something we plan to experiment with; we want to find out whether stimulation of different parts of the body will achieve the same results. We plan to do some prototyping of designs that don’t require vaginal insertion soon.

That’s where you come in, O denizens of the Internet.

We are looking for people to partner with to help us do more sophisticated prototyping. Right now, we’re in desperate need of a company interested in partnering with us that has experience doing short-run custom silicone molding, preferably in or near Vancouver, BC. We are also looking for an electronics engineer who is sex-positive and interested in this project, especially one with experience in doing switching and amplitude modulation of analog RF signals.

If you know of anyone with those skills who would like to be involved in this project, please let me know, either here or by email at franklin (at) franklinveaux (dot) com.

Want to keep up with developments? Here’s a handy list of blog posts about it:
First post
Update 1
Update 2
Update 3
Update 4
Update 5
Update 6
Update 7