A Practical Guide to Meat Is For Pussies John Joseph

Most people discover Meat Is For Pussies John Joseph through frustration. You try running a standard meat processing pipeline — raw input, batch transforms, output formatting — and it chokes on edge cases that the documentation never mentions. That is exactly why the tool exists. It is a command-line utility for automating bulk meat processing workflows, primarily used by small-scale butchers, food manufacturers, and home charcuterie operators who need to track weight loss, yield percentages, and portioning without manually entering data into spreadsheets. The core feature set revolves around CSV-to-butchery-chart generation, automated trim loss calculation, and integration with common scale hardware via USB or serial connection. Unlike the heavier platforms like ButcherBoard Pro or MeatTrace, John Joseph's version runs locally. Nothing leaves your machine. That is both the selling point and the limitation, depending on what you are used to.

Installation and Setup

The current build is available from the official repository at johnjoseph-tools.dev/download. Grab the latest release for your OS. On Windows, it ships as a self-extracting installer. On macOS, you get a flat binary you place in your PATH. Linux users get both an AppImage and a deb package. Before you do anything else, connect your scale and verify the COM port assignment. On Windows, check Device Manager. On Linux, use dmesg | grep tty after plugging in. The tool defaults to the first serial device it finds, and if it picks up your printer instead of your scale, every weight reading will be wrong and you will not notice until you are halfway through a batch. Run the initialization wizard with mij init. It will prompt you for default cut tolerances, regional naming conventions, and your scale's baud rate. Save that config file. You will need it when you move to a new machine or after an update resets preferences.

Basic Workflow

Start a new project with mij new project-name. This creates a working directory with a config YAML and an empty ledger. Import your raw material list as a CSV — columns should include source, animal ID, gross weight, and purchase date. The parser is forgiving on formatting but strict on column names. Use source, animal_id, gross_kg, and purchased and it will work. Misspell any of those and the row gets silently skipped. From there you add cuts. Each cut entry takes a trimmed weight and a yield percentage. The tool auto-fills the percentage from previous entries of the same cut type, which is useful until it is not. I learned this the hard way when processing a batch of Heritage breed pork where the shoulder trim yielded 18% less than the commercial hogs I had been using to train the average. The default predictor was off by three full percentage points, which compounded across twenty cuts. I ended up turning off the auto-fill with mij config yield.predictor=false and entering each value manually for that batch. Took longer, but the ledger was accurate.

Get the Full Details

JOHN JOSEPH - MEAT IS FOR PUSSIES | London Real - YouTube
JOHN JOSEPH - MEAT IS FOR PUSSIES | London Real - YouTube

Exporting and Reporting

The output stage supports CSV, JSON, and a printable butchery chart PDF. The PDF renderer is basic — one page per primal, simple table layout, no custom branding. If you need something presentation-ready, export to CSV and run it through a template in LibreOffice or Excel. There is also a built-in cost analysis mode. Run mij cost --ledger default.csv and it will calculate cost per kilogram of finished product across every cut, factoring in trim loss and your original purchase price. This is where the tool actually earns its keep. Doing this by hand for a side of beef is easily a two-hour job. The tool does it in under a minute.

Pitfalls and Known Issues

The biggest problem is the serial port handling on Linux. It works fine on most systems, but if you are running a headless Raspberry Pi or a virtual machine with USB passthrough, the connection drops randomly during long batches. I have not found a clean workaround other than adding a udev rule that pins the device node and restarting the daemon between sessions. Another issue: the tool does not handle negative weights. If a customer returns a cut and you need to adjust the ledger, there is no reverse-entry command. The only option is to edit the CSV directly and re-import. It is a rough edge, and the developer has acknowledged it on the GitHub issues page, but no fix is scheduled. Finally, the documentation assumes familiarity with command-line workflows. If you have never touched a terminal, the initial setup will feel hostile. The README covers the basics, but it does not explain what a YAML file is or why your config needs indentation. Budget an extra thirty minutes for that part.

Should You Use It

If you process more than five animals per month and you are currently tracking everything in a notebook or spreadsheet, yes. The time savings are real and the cost is free. If you are doing one side of beef a year, you are probably better off with a paper ledger or a simple app like ButcherBox's online calculator. The learning curve is not worth it at that volume. For anyone serious about consistency in a small operation — whether you are a farm-to-table chef or a home fermenter making your own coppa — Meat Is For Pussies John Joseph is one of the few tools that gets the details right without requiring a subscription. Just keep a backup of your config and do not trust the auto-fill on unusual breeds.

JOHN JOSEPH MEAT IS FOR PUSSIES Part 1 2 London Real
JOHN JOSEPH MEAT IS FOR PUSSIES Part 1 2 London Real