From b884a861890542e514ffd318dd70440f1e0ad9e5 Mon Sep 17 00:00:00 2001 From: Siddharth Ravikumar Date: Fri, 5 Feb 2016 00:44:18 -0500 Subject: drafted 4.4. --- report/bib/combox.bib | 5 +++++ report/chapters/4-arch-d.tex | 22 +++++++++++++++++++++- report/combox-report.pdf | Bin 254038 -> 257675 bytes 3 files changed, 26 insertions(+), 1 deletion(-) diff --git a/report/bib/combox.bib b/report/bib/combox.bib index b21f556..794fc08 100644 --- a/report/bib/combox.bib +++ b/report/bib/combox.bib @@ -22,6 +22,11 @@ title = "pickleDB - lightweight and simple key-value store", url = "https://pythonhosted.org/pickleDB", } +@misc{pylib:pycrypto, +title = "PyCrypto - The Python Cryptography Toolkit", +url = "https://www.dlitz.net/software/pycrypto/", +} + % 5 @techreport{dijkstra69, diff --git a/report/chapters/4-arch-d.tex b/report/chapters/4-arch-d.tex index a0b28c2..d7ed5a0 100644 --- a/report/chapters/4-arch-d.tex +++ b/report/chapters/4-arch-d.tex @@ -151,7 +151,27 @@ beginners. Also, it is hard to write unreadable Python code. The core functionality of combox is to split, encrypt file shards, spread them across node directories (Google Drive and Dropbox) and decrypt, glue shards and put them back to the combox directory when a -file is created/modified/deleted/moved in another computer. +file is created/modified/deleted/moved in another computer. The plan +was to use external libraries to accomplish things fell outside the +realm of what I consider the ``core functionality of combox''; the +main reason behind this decision was to duly be an indolent programmer +and not indulge in trying to solve problems that others have already +solved. + +The \verb+watchdog+\cite{pylib:watchdog} library used for file +monitoring; this library is compatible with Unix systems and +Windows. The \verb+pycrypto+ library\cite{pylib:pycrypto} was used for +encrypting data; combox uses AES encryption scheme to encrypt file +shards. The \verb+pickleDB+ library was used to store information +about files in the combox directory; this library is not very clean +but it was what I exactly looking for, if there was no +\verb+pickleDB+, I would've most probably written something similar to +it and made it as part of combox. + +Looking back, the decision to use external libraries reduced the +complexity of combox, reduced the time to complete the initial working +version of combox and made it possible to spend more than 3 months +just testing and fixing issues in combox. \section{Operating system compatibility}\label{4-os-compat} diff --git a/report/combox-report.pdf b/report/combox-report.pdf index 6f121bd..4c09ee5 100644 Binary files a/report/combox-report.pdf and b/report/combox-report.pdf differ -- cgit v1.2.3