Deldo is a sex toy control and teledildonics mode for Emacs
github.com
github.com
Some people have a vision of a few percent of the population producing software that everyone else consumes - much like say agriculture.
I have a vision of software literacy- where 99.9% of people can write their own. Is it less "efficient" - kind of. But most of us won't write drivers for iphone screens. But equally I bet that sex toy software would be an underserved market judging by the reaction on HN :-)
The future is democratic and open. I think that's a good thing.
I think all the open source in the world isn't going to help when the battle at the bottom is effectively lost already. The 99% don't even have root access to their own devices and don't care, let alone have any desire to write their own software no matter how easy it is. It's also only getting worse. Every year the number of vendors producing unlockable devices shrinks. Every year Windows and macOS get a little less power-user-friendly. Democratic software development is building a mansion on a hill while the town in the valley is on fire.
It’s 100% a matter of skills and motivation.
Hate to break it to you but the average person does not wake up and think "you know what I want to do for the next 40 years? look at code for 8 hours a day." Wanting to do this is a weird thing (and that's okay) and it means you have different desires than my mom who likes watching youtube on her iphone.
I see zero changes in this market bifurcation pattern regardless of industry. It’s not like people are making their own clothes much even in developing countries because we overproduce cheap clothes now anyway, for example.
I agree that it would be better for everyone if there were competitive fully open source platforms across the entire stack, but don’t confuse the ability to produce and use open source software with the requirement that absolutely all the stack must be open source. Only Siths deal in absolutes.
Because without this your projects are always at the mercy of Microsoft's auto update. There's more to life than MVC frameworks. Some people want to be in control of their data. On, say, LineageOS you can rewrite system apps; on iOS your phone will always be a cop and you can't change that.
You don't. You need root access and unlocked devices to produce people who give a shit about coding. We're training people to look under the hood less and less and less every year.
But yeah, it‘s not the same. It doesn‘t get you anywhere close to "producing“ the real software. You‘re programming in a walled garden layer above userspace that you can‘t get out of. To me, these kinds of things are enough to give me hope though (setting aside the ideals of open source). The incentives for learning how to "produce“ real software are strong enough. If more people can build tools for themselves, I‘m happy.
But 99.9% of people are just unable to program things (partly because there is no straightforward tools^, which are already a hardest software ever). There may be a tipping point somewhere in the future, but today there is no incentive or enough alive-or-dead competition, for almost everyone to become “software literate”.
^ think about subj: to program this toy, first you have to learn emacs and elisp; there are much easier ways to play this “game”, though less technological. Even most of software developers won’t really go that far.
No idea how true that is, based on my own experience - totally false. E.g. writing the control software for grow lights (esp-32) was far from trivial and my daily job that's actually writing software "for someone else" is not hard.
While there is no intrinsic care about scale, running it remotely, no downtime, APIs misuse, etc. - it's very much the same process with writing, debugging, refactoring, deploying and so on.
Yeah, thinking about f---ing in the context of emacs makes me want to vomit a little bit. It's about as sexy as RMS' underwear.
So https://buttplug.io partially came from some of the idea that spawned the joke that is deldo.
If there's an experience people would very much like personalized, it's sex. So Buttplug is an experiment in "if we allow people to program their own toys, what will they do?"
And the answer is: A lot. (https://awesome.buttplug.io if you want to see an actual list of "a lot")
Now I'm still the lowest level of the stack here, my library depends on people know some sort of language. The library itself is Rust, and we have FFIs in C#, WASM, Java, and outside client libraries in Python, Go, Haskell. But none of those are simple enough for the regular user who just wants to make their own interface.
Some developers who can work with my libraries are making things like that though. There's https://xtoys.app, which is a full WebRTC enabled web/mobile app for remote toy control with some simple visual programming capabilities built in.
I'm also working on a dataflow ui system (think Max/MSP, Puredata, etc) for people to easily click/drag stuff together.
The main problem is convincing people that they want to spend ANY time, be it in usual program languages or visual DSLs, working to customize something for themselves for an experience that may be far shorter than the time spent customizing. There are always people who don't mind that, but they're the minority.
So finding a balance between all of this stuff is difficult. But it's fun to try.
I think the problem is that much of 'software literacy' not about writing code that does what you want, but about nailing down WHAT you want and HOW to do that correctly. It requires a level of, I guess, pedantry and a way of thinking that, based on my experience with hundreds of clients, most people just don't have or care about enough.
Hence the impossibility of writing even a text editor like Word that suits everyone's needs. If you cannot do that for a text editor how can you do it for ... everything?
We need to give people pens and notebooks and also a dozen years of education.
It may take longer than we would wish, but a day is coming where custom code will be as common as writing down personal notes.
It is much more efficient once you reach the point where you know how to solve a specific problem in a straightforward way. Complex or large-scale problems will always require more effort, but knowing available tools to enhance "personal computing" helps a great deal.
But while I absolutely wish for the same kind of future, expecting a majority of people to learn computers and software deeply enough is just that - wishful thinking.
Well, it's different in a million ways. But people don't need to know how to service a car to operate it, and this has made cars harder to maintain, but also much, much cheaper and more accessible to others.
I'm not sure what point I'm trying to make anymore, but your post has made me think. Thank you.
Um. Not to a professional level, but my parents most certainly did teach me to do basic plumbing repairs, minor electrical work (think replacing a switch/outlet), change oil, use power tools, and an assortment of other skills under the broad header of "being handy around the house". People absolutely can and should have at least a basic understanding of how to do stuff.
Eg, everybody should learn to dance just to learn decent posture and how to move yourself. Everybody should learn how to grow a few common vegetables. Everyone should learn how to extinguish a fore for each class (A, B, C, D). Everybody should learn some basic first aid outside of CPR and putting a bandaid on it. Everyone should learn the rules of the road - even if they don't drove (to get a feeling for what others that are driving will be doing in the next few seconds). Everybody should learn enough about musical theory to recognise the basic structure, variations on it, and various genres. Everybody should learn a language not spoken in their immediate environment. Everybody should travel, and, when travelling, once or twice look beyond the default tourist traps and experience another culture. Everybody should know some basic self-defence. Everybody should have sufficient financial literacy to do grocery shopping. Everybody should learn about history. Everybody should learn some basics about minorities (race/gender/handicap/...), including what are really offensive stereotypes (to avoid) and common problems (to be able to help). Everybody should learn how to sail - trust me on this one. Everybody should learn how to "navigate" from place to place without a smartphone. Everybody should learn the basics of organising a small get-together (including booking venue). Everyb should learn how to gauge prices for things/services they rarely buy/use. Everybody should know at least one sport and their body sufficiently well to be able to stay in shape. Everybody should know some basics of multiple religions (since you'll run into them). Everybody should know how to use the index of a book. Everybody should prefer vi over Emacs. Everybody should know how to cook several different meals. Everybody should know enough about nutrition to be able to not to die from malnutrition when having a choice for foods. Everybody should be able to swim - including swimming a short distance with their clothes on. Everybody should learn to ride a bike. Everybody should be able to change a diaper. Everybody should learn to be able to teach some basic things. Everybody should learn more about cosmology than "that's the Big Dipper". Everybody should learn geography - at least rough position of multiple countries and cities. Eveeybody should learn ice skating / skiing / snowboarding.
That's just some stuff from the top of my head. I miss at least half of that.
But does vi have an teledildonics mode?
Seriously, I agree with what you're saying but I did a double take when I got to that part, like "why did he slip that in there?".
Life is short and I agree you can't do it all but a society that facilitates people's ability to do all of those things, plus learn some basic coding and all the other things you didn't list is still a worthy goal and one that I want to live in.
Trying to do as much or even some of what's on your list is also a worthy goal. Maybe it's enough to just say everyone should try to never stop learning new things and challenging themselves to be more tomorrow than they are today or were yesterday.
I did not even understand this one! :)
A is most fires, B is liquids (oil/petrol/etc), D is metals.
I learned very young not to throw water on a fire if I didn’t know what was burning.
Honestly, there’s a lot to learn, but childhood is long! Well resourced parents can teach nearly all of this by 15 (driving and speaking another language well are more challenging).
We humans have set a very high bar. And every discovery in science makes the bar higher, but all of us should know where the bar is, because all of us are needed to vote on steering this ship. Informed voter is not about reading some manifesto. It's informed about the world and the economy and how it all fits together.
Flat earthers are trying to opt out of being informed so they dont have to have the responsibility of deciding.
In parts of America, operating a chainsaw at 10 years old is part of the bar. My bar does not include riding a horse, operating a tractor, or firing an automatic weapon. But there are places where those are simple life skills.
I guess you're right that there is some kind of blended average you could take of every bar in the world. It would probably include basic math and communication skills.
(As a father of two kids, I admit it is wickedly difficult to get them honestly interested in programming.)
I've experienced the same thing. One observation is that "back in my day," you could learn enough programming in a few weeks to hack something together that looked just as good (bad) as real software, with little or no adult guidance. And programmers were a community of nerds, hackers, scientists, etc. Hacking was much closer to bare metal, so it felt more "real" too, rather than digging through someone else's drawers.
And it was cool to be able to do something that my parents couldn't even fathom.
Today, programming has become professionalized, and way too hard, with functioning software requiring layers of abstraction. It has changed from a private passion to a varsity sport, and the kids who have declared an interest in "computer science" are the most straight-laced, helicopted kids in the whole school. Some kids discover that there's still a hacker subculture, but only by luck.
Granted, all of this stuff has been good for me, career-wise, but that doesn't translate into something of interest to my kids.
For me, I can distinctly remember deciding to tinker with building games when I was very young. I was completely overwhelmed, however, by the jump from "basic Batch programs" to "OpenGL and C++." Obviously, that's an enormous jump, and I could have simply dabbled with Flash or whatever, but the point is that the software I enjoyed playing with was years and years of dedicated learning away from anything I could build or tinker with.
The web, however, was not. It was still nascent, there weren't mature, robust technologies for it, and I could build all the things I saw online completely on my own with maybe a dedicated weekend. This was huge for me, and kicked off my lifelong involvement in computing.
I guess the point that I'm getting at is that technology is so good now that the gap between what an average child can consume and what they can produce is enormous. When I tried teaching my nephew basic scripting, their first questions were "How do I make it do X" where X is some involved bit of graphical interactivity. That level of development simply is what software is to them now.
My hope is that this is cyclical. That there is always another frontier cropping up where the gap between "state of the art" and "hobby project" is incredibly small. I think that is naturally where you'll see kids getting into development.
Indeed, we should. But economic incentives and the adoption patterns of greater society seem to point in the exact opposite direction.
Actually tinkering with software is still seen and arcane and nerdy, even after computers now permeate half of society.
The popular view on computers is still that they are "magic" - either "good magic" in the form of shiny devices that "just work" or as "evil magic" in the form of hackers doing unspeakable things.
Other examples of widespread adoption of technological innovation don't give a lot of hope either: We all are surrounded by artificial materials, processed food and extremely complex electronic devices every day - more or less the case for the last 200 years.
Nevertheless it has not led to everyone having some basic knowledge in molecular science or electronics. Instead, most people have simply given up on understanding their surroundings and are effectively treating those advances them like magic: either enthusiastically accepting them or tolerating them but longing back to some ostensible simpler times where you wouldn't have to deal with them.
And both the industry and regulators are perfectly fine with this: For the industry, a certain amount of ignorance is vital to be able to sell products or services at all.
For regulators, its far easier to have a few big platforms than to have a myriad of individuals that you have to convince.
I absolutely believe your vision of the future would eventually be better for everyone - but right now, the "agriculture" vision seems a lot more likely to me, unless something will significantly change in the future.
Most people are incapable of writing their own software. And not just a driver for an iphone screen, but anything substantially harder than 'printf("hello world");'.
This is like having a vision of the future where everyone can do their own molecular biology research, or where everyone can design their own skyscraper.
Software isn’t really rocket science (unless you’re making software for rocket science). It gets easier all the time.
Consider the the effort required to learn a foreign language. That level of effort can at least make one able to build websites and iPhone apps which I think is enough to make for nontrivial change in society if people knew it.
And even if it’s easy, I do that shit at work all day long; I don’t want to do it when I go home.
That said I’ve always found this to be a weird use case. I’ll be keeping my wireless Magic Wand, thank you.
They are endless. I will not write any because I simply cannot choose one.
>I have a vision of software literacy- where 99.9% of people can write their own
I hope so. A lot of people will argue not everyone needs to know how to program but in the past people would have argued that not everyone needs to read.
As usual with any HN thread on my projects: AMA. :D
And if you're curious about other dumb things I've done with sex toys, check out my youtube channel: https://youtube.buttplug.io
- Wait for someone brave enough to admit they used said software to show up to my discord or github issues and complain
- Fix software
- Repeat
My library, buttplug, handles most permutations of anything that happens. Bluetooth, usb, serial, network, you name it we begrudgingly implement it while mumbling profanities. :3
Worst because working with bluetooth is always THE WORST, best because of the submissions and community that've grown around it.
There's 2 types of PRs to btleplug:
- People going "here's a PR but uh, why is the library named btleplWAIT WHAT"
- People going "here is a PR specifically to fix something in Buttplug thank you"
As someone who can't always retain focus without getting drawn away to the new shiny I want to know, how do you remain focused on this a single family of projects? How deal will keeping from getting drawn away to a fun new idea?
I'm especially interested because its a topic that others might consider as a bit of a joke. It's obvious you've embrace that a lot in your online persona, but does it ever get to you or sap motivation?
The perception that I've stuck with a single direction isn't quite how things actually turn out. I work in a general context of devices, and Buttplug is now a through-line for that, but I still get distracted and go off and do random things constantly. It's just usually based around that through-line.
For instance, right now I'm rewriting our buttplug application GUIs in Rust using egui, because immediate mode guis looked interesting (and also because electron was a poor choice in the first place). I've also spent most of the year concentrating on VR interfaces to toy control. It all revolves around affective haptics/teledildonics, but that's really just the base camp. Thanks to knowing the field and the technology I need for it, I can go any direction from there.
All that said, yeah, I have constant motivation issues. I take weeks/months off at a time (the combo of Metroid Dread, Deathloop and Forza horizon 5 coming out relatively close to each other this past 1.5 months is one of those times :) ). But working in the subject always gives me that base camp to come back to, at which point I can decide which direction I want to go again.
I can't quite figure out if it's performance art or enthusiasm. Probably a bit of both.
Someday I'll update the library to work with https://buttplug.io. :)
https://blog.youtube/news-and-events/using-technology-more-c...
And the project is a tad flaccid, last update 2016
https://web.archive.org/web/20000618051515/http://fufme.com/
Can't wait for it to be linked to most emacs tutorials.
You get an answer right > good buzz
Wrong answer > bad buzz, if there's one
Now that's a Freudian slip if I've ever seen one.
> I left a voicemail for Nintendo asking if this is by design and to see if playing anally is an approved means of using the Joy-Con. They did not return my call, and after reading this article, they probably never will.
Whelp, that's enough internet for one day.
I am a very stubborn one trick pony. XD