Skip to content

An implementation of Hamming codes in Python, packaged into a web application with Flask.

License

Notifications You must be signed in to change notification settings

rminami/hamming-codes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hamming Code Web App

An implementation of Hamming codes using Python and NumPy, packaged into a web application with Flask.

encoder screenshot

This application was written for CS3302 Data Encoding at the University of St Andrews (2017). Available online at https://rminami.pythonanywhere.com/ (if I haven't forgotten to keep it online).

Installation

To run the application locally on your machine, first download it with

$ git clone https://github.com/ryosukeminami/hamming-code-app.git
$ cd hamming-code-app/

It is recommended that you set up a virtual environment for this application. After making sure virtualenv is installed, run

$ virtualenv venv
$ source venv/bin/activate
$ pip3 install -r requirements.txt

Now that all of the dependencies have been installed, run the application with

$ python3 src/app.py

Enjoy!

Usage

The user interface should be fairly self explanatory. Type a binary number into the 'binary input' text box and see how Hamming codes handle it. Additionally, you can click the random button to generate a random binary number.

encoder screenshot

The stats window shows how the metrics change with different values of r. As r grows larger, the data ratio improves, but the checkers' ability to correct errors decreases. The user can also test various error rates to see if the test results match up with the expected success rates.

stats screenshot

License

MIT License (c) 2017 Ryosuke Minami. See the LICENSE file for details.

About

An implementation of Hamming codes in Python, packaged into a web application with Flask.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published