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

help-circle









  • No software is guaranteed to run on all platforms: the developers choose to make it available or not.

    I did some quick googling, and it seems fairly easy to install it:

    Use Ubuntu (if you’re not familiar with, and don’t want to be familiar with terminal basics), and install chirp from the Ubuntu App store. Snap is just a name of their package format, and their app store links to snap craft.

    If you’re not using Ubuntu, that’s your choice, you’ll either have to install snap, then do the same, but it’s more work. Or play with the terminal just a bit to follow their instructions.

    Details

    If you’re on Ubuntu or have snap installed - it’s a one click operation to install chirp: https://snapcraft.io/chirp-snap

    If you’re on another distribution by choice: https://chirp.danplanet.com/projects/chirp/wiki/ChirpOnLinux

    this page has a 3 step install for mainstream Linux distributions:

    1. Install dependencies (they’ve listed the commands)
    2. Install chirp and Python dependencies (commands provided)
    3. Run chirp





  • 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!




  • 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.