| ▲ | Claude writing a macOS driver for my obscure HP printer built only for Windows(twitter.com) | |||||||||||||||||||||||||||||||||||||||||||||||||
| 192 points by porridgeraisin 20 hours ago | 72 comments | ||||||||||||||||||||||||||||||||||||||||||||||||||
https://xcancel.com/kuberwastaken/status/2089377982536388964 | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | nullify88 19 hours ago | parent | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
On a similar experience, I use moonlight on my Android TV to stream video games from my computer in another room. I use my own fork from an unmerged PR which enables me to use an Xbox One Wireless adapter so I can play with my pad wirelessly. These pads have a 3.5mm jack on them which on Windows and Linux enables me to route audio from the game to headphones connected to the pad. Moonlight and the xow driver it bundled, was nowhere near being able to provide this as a feature. After about 5 hours, feeding it the GIP spec, an export of sniffed usb traffic from Windows, prior art (xone driver for linux), and giving Claude connectivity to my Shield via adb, I had it working. This continuously blows my mind that I dont have to beg a developer on Github to do it for me. Claude could do it for me for $20. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | oliwarner 2 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
Four hours of a machine looping through a cycle of repetition, guessing and failure, gratuitous air-punching and premature celebration, before eventually landing on a hideous "solution" that just uses an existing driver from another platform. LLMs can do stuff but this isn't a good example. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | alexnorton an hour ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
Along similar lines I used Codex to reverse engineer and build a modern driver for the niche, proprietary Sony USB protocol for an old camcorder I have lying around, having never done anything like that or used Rust before. It feels like LLMs could be a huge force in making older hardware usable again. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | JKCalhoun 19 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
https://xcancel.com/kuberwastaken/status/2089377982536388964 | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | seiferteric 17 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
I just fix a long standing bug on my Linux desktop I have had for years and kept meaning to look into to see if I could fix. The issue was I have a sound blaster katana sound bar and it works okay but the volume on the device is not in sync with the volume in Linux. In Windows it stays in sync. I can work around it by each time I boot, I press the button to go to max volume, then lower the volume in Linux to the desired level but it's been an annoyance. I described the issue to codex and within a few minutes it had it fixed by updating the pipewire device profiles to use the volume control it exposes. Honestly amazing since I doubt I would have ever gotten around to figuring this out since I didn't even know what level of the stack the issue was, I thought maybe it was in the driver itself. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | pwython 17 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
I have actual obscure RGB corner floor lamps with BLE in my office. I had Claude find the BLE protocol and use my Office 365 calendar feed to change their color to red when I'm in a scheduled meeting (event), and back to warm white when the meeting is over, so co-workers know I'm busy without doing "are you busy" sign language through my window. The script is polled every 60 seconds. Tinkering with stuff like this is a lot of fun. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | jorl17 19 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
Recently, I had bizarre situation: I wanted to play a game from my childhood on Windows 11, but, without changing two booleans in the settings, I could not reliably move my in-game cursor. The catch is that to change those values in the settings, I needed to move my in-game cursor. So I was stuck. After digging around, I found a file that looked like it could be the settings file, but it was not plaintext. Naturally, I told Claude all the options I knew existed in the settings and told it what I needed it to change. After about 10 minutes poking around my system and the file, it correctly identified the bits (not bytes!) that corresponded to the two settings, and flipped them on. It. Just. Worked! (Well, then I found out I actually needed to do quite a lot more than flipping those bits, but I still found it worth sharing). I have many more experiences similar to these. LLMs are an amazing superpower. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | 1970-01-01 19 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
Obscure? Sir, the printer is sold on Amazon. It is not obscure. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | ssdspoimdsjvv 16 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
If I understand correctly, it just wraps an existing Linux driver in a container. You can hardly call that writing a driver. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | jwr 20 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
Freedom -- that's what it is. There are now more and more cases where we don't have to ask for permission. Unfortunately, as I look around, I see most of the hardware vendors around me as gatekeepers. They prevent me from writing custom code in various ways. Apple restricts access to NFC or their UWB positioning, Supernote Manta does not let me access a bluetooth microphone, the list goes on. Denon at least has an API in their amps/receivers: buggy, but it's there. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | kuberwastaken 17 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
Thanks for sharing :) linking this here for those who don't wanna read the threads https://github.com/Kuberwastaken/hp-laser-1008a-macos genuinely very interesting case to learn from for me because this was one of the HP branded Samsung printers which doesn't have native non-windows support ! | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | rymndhng 4 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
I've had a lot of success (and fun) getting Claude to write a MacOS userland driver for a pointing device (ZSA Navigator). | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | dackdel an hour ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
thats great but man I want a printer that is not manufactured by hp, epson or any of the giants. new player has entered the game | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | joshmarinacci 18 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
I was able to get Claude to write an embedded Rust driver for an unsupported epaper screen in a couple of hours by providing it with the spec and some existing C drivers. It’s still not as fast as the arduino versions, but it let me make progress in a project that I’d been stuck on for months. Reverse engineering seems like an AI sweet spot. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | eisbaw an hour ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
why are people still surprised that this is possible? To me, this is has been normal for the past 1.5 years. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | 3129476 15 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
Claude did not write any macOS driver. It uses the HP Linux driver inside docker. Here is prior art from 2017. In contrast to the AI gibberish, one can understand it: https://www.alecburton.co.uk/2017/printing-from-a-docker-con... There are many such tutorials and Claude just plagiarized as usual. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | ano-ther 16 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
I wasn’t so lucky with my attempt for a Windows 11 driver for an old emaguc MT4 MIDI interface. It works on Macs, but no longer on PCs. Claude worked for a while and then spun itself into a loop of making a mistake, correcting it, then making it again. That was 9 months ago so perhaps I should try again. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | kuberwastaken 15 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
Update: I saw a bunch of comments on the post asking how I got Claude to do this I usually answer saying there's not really a hack for it, you just work with it, convey thoughts decently and try out things with educated guesses until it sticks with these projects. But I actually went ahead and exported the chat in a readable format for anyone curious enough to go through :) https://cdn.kuber.studio/chat/hp-laser-1008a-driver | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | Dban1 3 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
tbh at times it feels like my fear of failure and lack of imagination is now the limiting factor. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | swerner 17 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
I tried to get Copilot to port the Linux drivers for my HP CP1025 to macOS, but it failed. Even modern Linux can’t print to it any more, I had to put an older distribution on a RasPi and now I’m printing at reduced quality. It was crazy how the LLM held on to outdated information. It suggested so many things that might have worked on an older macOS but very obviously wouldn’t nowadays. It also tried to port from Linux for a while until it eventually discovered that cups on Linux didn’t support that printer either. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | m4rtink 17 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
I've seen this explained as LLMs being well - language models. Driver binaries are just a language understood by the machine executing the binary. While its basically unreadable for normal humans, it is just another language for LLMs & they are able to operate on it, changing the result & translating it (e.g. correlating with specs, logs, docs, etc.). Given the positive results from what I've heard, this might be actually one are where LLMs could prove useful for once. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | gmac 18 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
https://printervention.app (also co-written by Claude) may be useful in similar cases. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | foodandart 19 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
Nice! I've an ML-1710 that is sitting in a closet that I'd love to get properly working on macOS. I've tried with SPLIX and followed the directions to the letter to install the drivers, but it just doesn't stick, in that I can only manage to get one print queue through the device for each time the computer is turned on. I gave up and repaired a junked Epson and put that into service, but I really prefer the formar printer for making line tenplates. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | asveikau 17 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
I'm pretty sure I've used that exact printer on Linux without issue. Long ago, deep into the pre ai era. Edit: no, I was thinking of the older p1008. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | benimar 14 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
The test printout mentions Samsung ML2010 which had a Mac osx driver (had a Ml2020 till a couple of weeks ago).. by the picture of the printer it seems they had an identical plastic mold..they most likely came from the same oem (xerox).. but still nice from Claude to figure it out.. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | sylvinus 13 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
I did the same for a scanner that was missing an driver for latest macOS! https://github.com/sylvinus/freethescan | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | qarl2 19 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
Yeah. I have a Stratasys J55 3D printer. Industrial and closed. And now I can print to it via my Mac. It's a fun time to be alive. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | jambalaya8 16 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
This is very very cool. But now it has me worried about device driver coders being out of work. Why pay for months of low level coding. Grumble. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | abadar 14 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
I've been taking Windows only apps from github and having Claude rewrite them for Linux. It's been awesome. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | amelius 20 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
Next try writing a printer driver for your iPhone. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | colingauvin 6 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
All the people saying "it's not a driver, it didn't write a driver, it's wrapping the Linux one" are missing the point: no one cares - the printer prints. It didn't before, and now it does. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | cushychicken 18 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
I love seeing things like this. Is it not kind of a magical thing to see AI make stuff like this reality? This was always possible but not worth a human’s time. Now this guy has a working printer again. That’s pretty doggone neat. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | Razengan 17 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
If you see articles from old computing magazines or TV shows in the 1980s (there’s some good rabbit holes on YouTube), the prevailing optimism was that everyone would have a computer in their kitchen and write their own programs for whatever they need to do.. But programming languages and operating system fragmentation didn’t let that really take off Maybe now that original promise of personal computers can be realized :) Imagine instead of going to the App Store, just telling ChatGPT etc to make a custom app and run it right away on your phone | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | jaen 16 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
The slightly sad part is that most of these LLM-assisted fixes probably never make it upstream, so life for non-technical Linux users does not improve... If you do AI fixes, for the greater good, at least publish them (or even better, try to submit upstream, although expect to be ignored if the upstream does not like slop...)! :) | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | finchisko 18 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
I would like to see driver for my samsung printer. Drivers for mac was only for some very old macOS | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | leecommamichael 20 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
"HP" "obscure" Cool nonetheless. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | 2dahg 18 hours ago | parent | prev [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
Performing Stallman's stunt. Cool story bro, but unverified. Guy is marketing AI on X with an "attention is all you need" picture etc. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||