GithubHelp home page GithubHelp logo

bxd's Introduction

BXD: Binary Hex Diff

Copyright (c) 2016 Derek Buitenhuis <derek.buitenhuis at gmail dot com>

BXD

BXD is a small TUI tool to compare two arbitrarily sized files. It supports diffing byte insetions, deletions, and changes. It uses block-based diff, so comparing large files should be very fast.

It was written so that some thing similar to Beyond Compare could be used via SSH, to fit the author's use case and needs. As such, the code may be a bit messy, but should mostly be OK.

Features

  • Diff arbitrarily differently sized files.
  • Block-based diff and display for diffing large files with relatively low memory and CPU usage.
  • Memory mapped input.
  • Seek-to-next-difference.

Usage

Currently, the command like arguments are very simple:

Binary Hex Diff
Copyright (c) 2016 Derek Buitenhuis.

A tool to compare two arbitrarily sized binary files.

Usage: bxd file1 file2

Keys are:

  • q to quit.
  • space to seek to next diff.
  • up/down to scroll up and down.

Current Limitations

This tool started life out of need for a quick tool for a hobby project, and as such, lacks a few features that would be very nice to have.

This list will be updated as limitations are removed.

  • The seek-to-next-difference feature currently only seeks to the block which contains the next difference, even if it isn't necessarily displayed on the screen.
  • There is no seek-to-offset featrue or dialogue yet.
  • There may be UI text overlap when using very small terminal sizes.

Building

To build BXD, you need a C99 compiler, a POSIX system, and a copy of termbox in your compiler's include and library path. Then simply type make.

If you wish to build on Windows, you will need MinGW-w64, and a copy of the termbox-go C shim in the compiler's include and library path. Then type make LIBS="-lntdll -lws2_32 -lwinmm".

Bugs & Patches

Please file any bugs or problems on the GitHub Issues page, and send any new code as a Pull Request. Please try to follow a similar coding style to the exisiting codebase.

bxd's People

Contributors

dwbuiten avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.