• 8 Posts
  • 37 Comments
Joined 11 months ago
cake
Cake day: August 8th, 2023

help-circle




  • It is certainly useful for some use cases such as network print servers (I have a dedicated lxc container on the network to do this) and custom conversions of pages (during my digging, I learned about companies using a CUPS network printer to watermark every document being printed).

    I’m not an expert by any means: it is definitely a useful tool in certain cases, but oh man… the documentation was a bit hard to figure out for me!


  • Mission Accomplished! My printer driver now has a MirrorPrint Option, and selecting it enables Mirror Printing. For convenience (since I don’t see a client side option to flip mirror printing), I have a doppleganger of my regular printer, and I named it MirrorTest - screenshot below. When I need a mirror print, I just send it to the mirror printer.

    Actual Changes

    Here’s the relevant excerpt (added) in /etc/cups/ppd/MirrorTest.ppd (I added this UI option right below the Toner option). Excerpt adds a MirrorPrint Toggle (boolean) to the printer defaults setup. When enabled - the printer will print in mirror mode.

    *%=== Mirror Printing ================================
    *OpenGroup: General
    *OpenUI *MirrorPrint/Mirror Print: Boolean
    *OrderDependency: 110 AnySetup *MirrorPrint
    *DefaultMirrorPrint: True
    *MirrorPrint True/MirrorPrint: "<>setpagedevice"
    *MirrorPrint False/Normal: ""
    *CloseUI: *MirrorPrint
    

    For further convenience (making sure that a new printer installation didn’t mess up my custom changes, I also updated the relevant ppd file in /usr/share/cups/model/. Whenever you add a new printer - CUPS will use the corresponding model ppd as a base, and it will apply any settings changes from configuring default to the copied ppd file in /etc/cups/ppd/your_printer.ppd.

    Hope this helps if someone else is also looking to do something similar!







  • That would be cool.

    Here’s my new setup that might not work for everyone, but I’d recommend thinking about if you’re able to.

    1. Network printers are blocked from Internet by my router. They have static IP addresses allocated (permanent DHCP leases) for convenience.

    2. I have some Canon laser printers. I don’t want to install Canon software across my devices, so I setup a cups print server (lxc container) where I installed the software.

    3. I setup and shared the printers (local network only), made them discoverable.

    4. I use the CUPS web GUI over ssh tunnel if I need to check on job queues and do maintenance/admin tasks (don’t usually have to).

    Clients immediately find the printers on the server, no driver required.

    As a bonus, I made the margins 0 on the CUPS ppd on the server so that I get to print without margins when so desired (Canon has fixed minimum margins otherwise).

    The one caveat is that the Canon drivers don’t work on raspberry pi (arm), so while I have a to-do to get around that by using a virtualization layer, you need a separate Intel/AMD machine for the print server if your printer doesn’t support ARM.



  • You’re fine.

    Most distributions/derivative distributions are fine for very long periods.

    It’s just that when the base distribution itself (Debian, Fedora in your case, Opensuse, etc) are themselves nicely customized out of the box to address user concerns, that’s a very attractive prospect to long time users like myself.

    Debian has a lot of history and stability, so if I can use it for myself, family, friends without an additional layer or more of other parties, that’s very appealing.


  • I have Nixos on a laptop, and have a love//hate relationship with it.

    I love the customizability and declarative setup.

    I hate the number of times I’ve sunk down rabbitholes trying to set specific things up on it.

    The updates being done via switch are a bit inconvenient, but cool enough.

    The fact that I can’t customize everything, particularly on kde, is slightly sad.

    All in all, I really like it, but wouldn’t recommend it for my less technical friends, who I’d normally install Ubuntu for. This has gone up my list, close to Opensuse slowroll and Linux mint Debian edition now.




  • That’s not right. Debian/suse are no less out of the box user friendly than Arch - not counting endeavouros/Manjaro, they’re more friendly.

    Arch still needs extra setup and configuration after install. Endeavouros makes it a bit simpler, but there’s still configuration (and ricing) invoice. Auto-discovery of printers (cups, avahi), graphical configuration tools out of the box, user permissions/group membership setup out of the box in a way that new users (or even power users) can just set things up graphically… all of that needs extra work.

    That’s the extra configuration that this is providing.




  • Splunk is already very expensive to be honest, with their policy of charging based on indexed logs (hit by searches) as opposed to used logs, and the necessity for a lot of logs to be indexed for 'in case something breaks '. Bit of hearsay there - while I don’t work for the team that manages indexing, I have had quite a few conversations with our internal team.

    I was surprised we were moving from splunk to a lesser known proprietary competitor (we tried and gave up on elasticsearch years ago). Splunk is much more powerful for power users , but the cost of the alternative was 7-10 times less, and most users didn’t unfortunately use splunk power user functionality to justify using it over the competitor.

    Being a power user with lots of dashboards, my team still uses splunk for now, and I have background conversations to make sure we don’t lose it, I think Cisco would lose out if they jacked up prices, I think they’d add value to their infrastructure offerings using splunk as an additional value add perhaps?



  • As someone who has done a lot of debugging in the past, and has also written many log analysis tools in the past, it’s not an ether/or, they complement each other.

    I’ve seen a lot of times logs are dismissed in these threads recently, and while I love the debugger (I’d boast that I know very few people who can play with gdb like I can), logs are an art, and just as essential.

    The beginner printf thing is an inefficient learning stage that people will get past in their early careers after learning the debugger, but then they’ll need to eventually relearn the art of proper logging too, and understand how to use both tools (logging and debugging).

    There’s a stage when you love prints.

    Then you discover debuggers, you realize they are much more powerful. (For those of you who haven’t used gdb enough, you can script it to iterate stl (or any other) containers, and test your fixes without writing any code yet.

    And then, as your (and everyone else’s) code has been in production a while, and some random client reports a bug that just happened for a few hard to trace events, guess what?

    Logs are your best friend. You use them to get the scope of the problem, and region of problem (if you have indexing tools like splunk - much easier, though grep/awk/sort/uniq also work). You also get the input parameters, output results, and often notice the root cause without needing to spin up a debugger. Saves a lot of time for everyone.

    If you can’t, you replicate, often takes a bit of time, but at least your logs give you better chances at using the right parameters. Then you spin up the debugger (the heavy guns) when all else fails.

    It takes more time, and you often have a lot of issues that are working at designed in production systems, and a lot of upstream/downstream issues that logs will help you with much faster.