Projects


This is a tool for distributing and coordinating jobs on multiple machines over a network.

Currently, each available host must be on a separate line of hosts.txt, and each job must be on a separate line of jobs.txt. If each job consists of multiple commands, they must still be on the same line, separated by a semicolon.

I originally created this to facilitate using multiple computers to work on encoding several video files at the same time using ffmpeg.


This is an implementation of the AES encryption cipher in C++, with no dependencies other than the standard library. It should be 100% portable, as it does not use any instructions specific to a particular computer architecture. Of course, this means that it will be slower than any hardware-accelerated implementation. Adding hardware acceleration is a goal for this project.

This program was created in the United States, and contains an implementation of a cryptographic algorithm, and therefore (for reasons I personally believe are dumb) may be subject to restrictions regarding its exportation. So, don't download this if you're in a country for which the "exportation" of math is restricted by law.

I provide no guarantee of the robustness or cryptographic strength of this implementation. Please don't use this if you have serious cryptographic needs. Instead, use another open-source, more scrutinized implementation, such as that which comes with OpenSSL.


This is a tool for getting the checksum of piped input while it's in use. Since it outputs on standard out exactly what it received on standard in, it can be placed in the middle of an existing pipe to extract a hash of a stream of data.

For example, you could use it to verify a file as it's being downloaded:

curl http://url/image.iso | sump md5 > image.iso 2> image.iso.md5

As a side note, performance seems to be superior to corresponding md5sum-type programs for large data streams (in some cases, substantially faster).

x64 benchmarked with benchmark.sh using 1 GB of test data on an Intel Xeon E3-1271 @ 3.6 GHz in Ubuntu 14.04.3 LTS, built with GCC 4.8. ARMv6 benchmarked with benchmark.sh using 32 MB of test data on a Raspberry Pi B+ in Raspbian, built with GCC 4.6.

Hash*sum (x64)*sump (x64)*sum (ARMv6)*sump (ARMv6)
MD5671 MB/s709 MB/s20 MB/s20 MB/s
SHA1426 MB/s826 MB/s13.3 MB/s14.6 MB/s
SHA224244 MB/s292 MB/s8.34 MB/s9.64 MB/s
SHA256243 MB/s292 MB/s8.71 MB/s11.2 MB/s
SHA384365 MB/s447 MB/s471 kB/s6.52 MB/s
SHA512363 MB/s445 MB/s477 kB/s6.56 MB/s

There seems to be serious problems with the included sha384sum and sha512sum programs in Rasbpian, at least as of the end of 2015.


This is a tool for creating a sparse file from another file or data stream. It may be useful for keeping disk images small while still maintaining disk availability for virtualized clients, among other things.

This tool can only create sparse files if used with operating and file systems that have sparse file support.

This tool was designed primarily with disk images in mind. Decompressing an existing disk image may take up a large amount of disk space, even if most of the virtual sectors are unused and zeroed out. Decompressing a disk image to a sparse file can save a lot of disk space and prevent unnecessary disk I/O operations.


This is a tool designed for usage in Linux, in order to read to or write from a physical address in memory. It was primarily designed to allow writingto mapped device memory in an FPGA with an embedded ARM core.

Created to write to memory-mapped SPI flash from an ARM SoCin order to write a configuration image for an FPGA.

Similar to devmem2, but allows for reading multiple words at a time.

Precompiled binaries are available for the following systems/architectures:


A command-line tool for controlling relays attached to Rasbperry Pi gpio pins. Designed to be compiled to the C++11 standard, and dependent on WiringPi

@VectorCell
VectorCell starred Tentacule/PgsToSrt Aug 13, 2020

PGS to Srt converter

C# 6 Updated Aug 13

@VectorCell
VectorCell pushed to master in VectorCell/misc-scripts Aug 12, 2020
1 commit to master
  • @VectorCell 637a3be
    overhaul of youtube-dl installation in env-setup

@VectorCell
VectorCell pushed to master in VectorCell/misc-scripts Aug 11, 2020
1 commit to master
  • @VectorCell ac257d3
    added configuration for install-scripts to env-setup

@VectorCell
VectorCell pushed to master in VectorCell/install-scripts Aug 11, 2020
1 commit to master
  • @VectorCell a6c2da4
    added install-wol.sh (still a work in progress)

@VectorCell
VectorCell pushed to master in VectorCell/misc-scripts Aug 11, 2020
1 commit to master
  • @VectorCell d0c34c7
    added send-to, fixed wake-mac

@VectorCell
VectorCell starred intelowlproject/IntelOwl Aug 10, 2020

Intel Owl: analyze files, domains, IPs in multiple ways from a single API at scale

Python 753 Updated Aug 13

@VectorCell
VectorCell pushed to master in VectorCell/tmux-configuration Aug 10, 2020
1 commit to master
  • @VectorCell 884c339
    added support for lbbtop to tmux-power, and also removed support for …

@VectorCell
VectorCell pushed to master in VectorCell/install-scripts Aug 10, 2020
1 commit to master