Ask HN: What are you working on? (January 2026)

2026-01-1116:43256884

What are you working on? Any new ideas that you're thinking about?

What are you working on? Any new ideas that you're thinking about?

Comments

  • By ValdikSS 2026-01-1119:597 reply

    Spent about 2 years improving printing and scanning stack of Linux: CUPS, SANE, AirSane, as well as some legacy drivers, and also x86 proprietary driver emulation on ARM with Box86.

    Even that "modern" printing stack in Linux is 20+ years old, there's still such an unbelievable amount of basic bugs and low-hanging-fruit optimizations, that it's kinda sad.

    Not to mention that it still maintains ALL its legacy compatibility, as in supporting ≈5 different driver architectures, 4 user-selectable rasterizers (each with its own bugs and quirks).

    The whole printing stack is supported by 4 people, 2 of whom are doing that since the inception of CUPS in 1999. Scanning is maintained by a single person.

    Ubuntu 26.04 LTS is expected to be the last version with CUPS v2. CUPS v3 drops current printer driver architecture and introduces proper modern driverless printing with the wrapper for older drivers. Many open-source drivers are already use this wrapper, but expect a huge disarrangement from the users, as none of the proprietary drivers would work out of the box anymore.

    Do you care about printing? Want to improve printing & scanning stack? Contact OpenPrinting! https://github.com/OpenPrinting/

    • By efitz 2026-01-123:412 reply

      This is awesome, thank you for doing this work; it’s not glamorous but it’s a key feature to making computers productive.

      I know it’s not a popular opinion here but I think that Windows has two killer features that are always overlooked- the standard print dialog (and all the underlying plumbing), and the standard file dialog (at least until Windows 8).

      The ability to print and to interact with files, that just works, without having to retrain people every time a new OS comes out, and without having to reprogram your apps or write your own drivers and/or UI, is incredibly important.

      Yes, I know Linux and Mac have the same, but IMO Windows was light years ahead for decades, and is still more consistent and easy to use.

      • By commandersaki 2026-01-129:181 reply

        Mac has always had print to PDF from the start, I'm not sure if even the latest windows comes with that OOB. I'm sure Linux is the same (as in the same as Mac).

      • By pseudohadamard 2026-01-1211:031 reply

        Was going to say the same thing, I'm not a big fan of Windows but the printing Just Works. Having read the OPs explanation of why CUPS is the way it is, yeah, now it makes sense.

        Maybe CUPS needs a Heartbleed-scale problem to motivate more support.

        • By tonyedgecombe 2026-01-1521:50

          Windows has had plenty of vulnerabilities in the print spoiler. Not surprisingly really as it has been developed over decades.

    • By butz 2026-01-1121:052 reply

      Great initiative. I wonder, how likely is it for a complete beginner to break their own printer or scanner by making a mistake in driver implementation? Or is it possible to work on hardware support without having a physical device? I assume it is impossible to test each and every one printer and scanner, so there is probably some clever tricks there, right?

      • By ValdikSS 2026-01-1121:56

        I work mostly with the old microcontroller-based cheap consumer ("GDI") USB models circa 2000-2010, these are hardly possible to brick with software, as some of them even don't have a firmware and expect the PC to upload it on each power on sequence.

        The hardware safety mechanisms are usually robust (USB communication is handled by "Formatter Board", all the mechanical stuff is in the "Engine Controller" power).

        Newer Linux-based models have filesystems, software, and vulnerabilities, printer hacking on Pwn2Own is an every year common occurrence. These could be permanently bricked by the software in a common sense, and would require a firmware reflash using the bootloader or external means.

        >Or is it possible to work on hardware support without having a physical device?

        Absolutely, but for me this is very inconvenient—like the debugging over the phone.

        Sometimes the bug is as low-level as in the USB stack: https://lore.kernel.org/linux-usb/3fe845b9-1328-4b40-8b02-61...

        >I assume it is impossible to test each and every one printer and scanner, so there is probably some clever tricks there, right?

        Not much, unfortunately. There's ongoing work on modern (driverless) printer behavior emulation, but it is under heavy development and not ready yet: https://github.com/OpenPrinting/go-mfp

        Nothing for the older printers and scanners which require it's own driver, of what I'm aware.

      • By kazinator 2026-01-124:03

        You're not actually telling a modern printer: "step this motor so many times to move some assembly so far this way", or "turn on so much current in such and such circuit" or whatever. The driver doesn't have enough responsibility for such things to be able to break anything.

        A printer driver is something like a protocol converter. Roughly speaking, it binds some printing API's in the some kind of printer framework or service on the host to the right language (which may have vendor-specific nuances even if it is some kind of standard0.

    • By NetOpWibby 2026-01-1121:461 reply

      Any relation to this project? https://www.opentools.studio

      • By ValdikSS 2026-01-1122:161 reply

        Nah, I got into printing because nobody made a commercially available print server, and I ended up making my own, with all the involvement in the stack in the process.

        I wish Openprinter luck, as it has been announced in the end of September but nothing out there yet, not even the crowdfunding campaign.

        • By NetOpWibby 2026-01-121:55

          Ah dang, I was hoping. I'm super interested in that and love that you're modernizing something BigTech doesn't seem to care about.

    • By joelwallis 2026-01-2119:12

      THANK YOU VERY MUCH you and the team behind OpenPrinting for such GREAT contributions to Linux - and so to the Humanity itself!

    • By CodinM 2026-01-1120:413 reply

      Thank you. I have thrown printers out the literal window.

      • By pseudohadamard 2026-01-1211:161 reply

        Ah, so you're Russian then. If you were American you'd have shot them.

        • By ethbr1 2026-01-1214:031 reply

          > If you were American you'd have shot them.

          Archaeological evidence strongly suggests earlier Americans preferred hands, feet, and occasional repurposed sporting equipment.

          https://m.youtube.com/watch?v=pD2xBXm4y70

          • By pseudohadamard 2026-01-132:281 reply

            I was wondering whether I should post a link to that, but figured the shooting fitted better. There's actually a place (or used to be) somewhere near Silicon Valley where you can take your least favourite piece of IT gear and blast it with rented firearms, pretty sure it was in operation at the time Office Space was made.

            • By ethbr1 2026-01-1313:05

              > There's actually a place (or used to be) somewhere near Silicon Valley where you can take your least favourite piece of IT gear and blast it with rented firearms

              The entire state of Nevada?

      • By TacticalCoder 2026-01-1121:451 reply

        > Thank you. I have thrown printers out the literal window.

        I have literally thrown one of those "winmodems" [1] out of the window back in the days. I then went out and drove with my car on it. I then put it in a bench vise until its PCB shattered to pieces. Utter destruction, much to the amusement of my brothers.

        These were the days.

        And big thanks to GP for his work of CUPS / Linux printing.

        [1] https://en.wikipedia.org/wiki/Softmodem

        • By NetOpWibby 2026-01-1122:04

          I miss when hatred for technology was tangible.

      • By Tom1380 2026-01-1121:05

        He's our hero

    • By salasin 2026-01-1910:55

      God Ogre f tr

  • By dewey 2026-01-1118:538 reply

    Over the holidays I was building a wooden birdhouse with a Unifi Protect camera and a small web interface that automatically identifies the birds and shows me a simple overview over which type of bird visited how many times.

    Birdhouse: https://img.notmyhostna.me/cRQ1gJfZCHjQKwFrgKQj

    UI:

    - https://img.notmyhostna.me/Hnw4qcvbg1ZQCrFxzGMn

    - https://img.notmyhostna.me/62TFwSXSRRbCfxDz297h

    - https://img.notmyhostna.me/40qhgHmSqQsrGr8BC7Db

    - https://img.notmyhostna.me/9bgz4GYsjQH33n3MtWKp (Face labeling, so I can show thumbnails of the actual birds that visited and train a ML model on it in the future)

    • By fiftyacorn 2026-01-1210:33

      Reminds me of a joke i heard yesterday

      My wife said 'you look bored you should build a bird table'

      'Now shes not speaking to me as she found out shes 5th on the list'

    • By jftuga 2026-01-122:141 reply

      Cool project. Do you have a repo for it?

    • By arm32 2026-01-1322:321 reply

    • By thedevindevops 2026-01-1216:351 reply

      Fab job, did spark one question though, Re: face labeling, are you trying to to get a model to identify specific individuals of a species?

      • By dewey 2026-01-1217:16

        I've thought about it and it would make the whole project even cooler with actual stats of "birdhouse regulars" not just in aggregated form but I don't know if it's possible and if bird faces have enough unique features to differentiate them?

        Right now I only use it so that my thumbnails of pictures from the camera are centered on the head in the UI as I couldn't find a pre-existing model that does it for animals. I'm thinking that maybe having this data set of a few hundred bird faces will allow me to train a small one in the future to do it more automatically. If not...I at least learned something new about building models!

    • By properbrew 2026-01-1119:10

      Didn't know this was a thing I needed. Love it!

    • By adityaathalye 2026-01-1119:051 reply

      "birdhomie" 10/10 naming skilz :)

      • By dewey 2026-01-1119:121 reply

        Thanks, it's named after a similar commercial project called Birdbuddy but I didn't want to pay for a subscription and potentially have some e-waste on my hands in a few years. I also wanted to have it integrated in my existing Unifi setup.

        • By adityaathalye 2026-01-1119:30

          Ah yet another glorious yak shave... "Hacker refuses to pay for coercive subscription service which isn't even compatible with the home setup, and spends inordinate time and resources making the thing themselves.".

          I approve :)

    • By Tom1380 2026-01-1121:13

      Awesome!

    • By tintor 2026-01-1119:01

      This is amazing

  • By azdle 2026-01-1118:416 reply

    My meta side project for building other side projects: https://bodge.app/

    I've always had a bunch of small side projects that I want to do that aren't worth the overhead required to actually put them together & keep them maintained. So, I built a small Lua-based FaaS platform to make each individual project less work whenever inspiration strikes. So far I've built:

    * A current-time API for some hacked-together IoT devices: https://time.bodge.link/

    * A script for my wife that checks her commute time and emails her before it's about to get bad.

    * An email notification to myself if my Matrix server goes down.

    * A 'randomly choose a thing' page. https://rand.bodge.link/choose?head&tails

    * A work phone number voicemail, the script converts the webhook into an email to me.

    * An email notification any time a new version is released for a few semi-public self-hosted services.

    * Scrapers for a few companies' job listings that notify me whenever a new job is posted matching some filters.

    * A WebPush server that I eventually want to use for custom notifications to myself.

    * An SVG hit counter: https://hits.bodge.link/

    Since I'm already maintaining it for myself, I figured I might as well open it up for others. It's free to play with, at least for now.

    • By alabhyajindal 2026-01-126:352 reply

      Very very cool! Just signed up. Reminds me of Val Town which I'm a big fan of. Did you choose Lua because you love using it, or for some other pragmatic reasons?

      Do you think a service like yours with support for many variety of languages a good idea? Not in order to meet user demand but purely because I think it would "just" require running the program on the server using a different interpreter/compiler, assuming code sandboxing has been achieved to make the initial language work.

      For example, I love the long list of languages supported by Code Golf: https://code.golf/wiki.

      • By azdle 2026-01-1213:55

        Thanks!

        > Did you choose Lua because you love using it, or for some other pragmatic reasons?

        A bit of both, though I'm literally drinking out of a coffee mug with the Lua logo on it that was given to me after playing a big part in making Lua a thing at a prevoius job. That might speak to my love of Lua.

        > Do you think a service like yours with support for many variety of languages a good idea?

        From a technical perspective, it would be relatively easy to add support for other languages, the biggest problem would be UI and documentation complexity. Each added language would either require a completely seperate set of documentaion or would require the docs to describe everything one layer of abstraction removed from the code people would actually be writing. Both of which would be less than ideal for my goal of extreme simplicity.

        I think it can be a good idea, but to support something like that _well_ would require a pretty large team of people.

        I do plan to support some level of 'other languages' for libraries, at a minimum some subset of native Lua libraries (ie. libs written in C). That means it would be possible to find a way to use pretty much any other language interpreter. However, I'm not sure that will ever be a top level feature, there'll probably always be some level of Lua glue code holding everything together.

      • By OccamsMirror 2026-01-128:051 reply

        Even better it could just support WASM and be language agnostic.

        • By azdle 2026-01-1214:03

          It's actually already using wasmtime as one layer in its sandbox. I just think that trying to support other languages, especially in a fully language agnostic way, would make things like documentation far more complex than I could handle and make the service complex enough that the only people who could understand it would be the type of person who don't really need a service like this in the first place.

    • By catlifeonmars 2026-01-1119:001 reply

      This is great. One thing that is not immediately obvious to me is what kind of authentication it supports. Needing to authenticate the caller is the #1 piece of boilerplate that gets in the way of me completing mini-projects. It’s not hard, but it’s definitely a nonzero amount of effort. And this is coming from someone who has implemented many, many auth flows professionally.

      • By azdle 2026-01-1119:431 reply

        It doesn't say because there's no special support for any auth protocols. Long-term I want to have out-of-the-box support for things like OAuth (for user-facing auth) or mutual TLS (for device/service auth). _Technically_ there's currently support for the cryptographic primitives required to do JWT (I added that because I wanted to support WebPush w/ payloads for myself), but those aren't documented because I intend to remove the current slightly-hacky custom APIs and replace them with some off the shelf libraries, but I'm still figuring out user-added libraries (and on top of that I'll also need to figure out support for native libraries).

        Are there any auth protocols / flows you think would be important to support?

        • By catlifeonmars 2026-01-1120:25

          Ah makes sense!

          > Are there any auth protocols / flows you think would be important to support?

          - I think API key passed via basic HTTP auth would get you pretty far. This is ideal for serving machine-machine requests and just requires that both parties can securely store the secret.

          - OIDC is great for interactions that happen in the browser or if the function is serving multiple users, but is more complicated to setup and/or use correctly.

          OpenID connect is probably the best for contexts where you want something served by multiple users and those users are humans.

          > _Technically_ there's currently support for the cryptographic primitives required to do JWT (I added that because I wanted to support WebPush w/ payloads for myself)

          This is probably a good intermediate solution FWIW - expose signature verification and HMAC APIs and allow a user to bring in their own implementation.

    • By adityaathalye 2026-01-1119:01

      > My meta side project for building other side projects

      Looks cool, congrats on putting it out there as priced service!

      And, same!

      Except, it's just a repo organisation system (structure, conventions, and tools) that lets me share common "parts" across multiple "projects". No monolithic frameworks here.

      Libraries are functions. Apps are objects.

      However, normally, we use these as distinct artefacts, eventually leading to the "diamond dependency" problem (and lots of other annoying development-time stuff caused by libs / code that is "over there" (elsewhere)).

      My "meta side project" solves, essentially the Expression Problem as it manifests in source code management (particularly, cross library / service / project feature development).

      [0] https://github.com/adityaathalye/clojure-multiproject-exampl...

    • By bisaacs 2026-01-1120:411 reply

      Thanks for sharing! I signed up and tried it for something simple (storing a message via POST and displaying it in HTML via GET) and it was delightfully easy & approachable.

      • By azdle 2026-01-1120:49

        Great to hear! And thanks for saying so. I've definitely tried to make it as simple and straight forward as possible, but I really didn't know if it would be simple and straight forward to anyone but me.

    • By mattbettinson 2026-01-1118:491 reply

      FWIW I think you should paraphrase this comment on the hero of the site! I was unclear what it did till i read your comment fully.

      • By azdle 2026-01-1118:58

        I know the homepage needs way more answer to "WTH is it?", I just don't really enjoy doing the 'marketing' side of things. I hadn't really considered just throwing something informal up there, but I guess I don't really know _why_, so, thanks for the suggestion.

    • By saadn92 2026-01-1119:111 reply

      Love this, especially the commute idea

HackerNews