diff --git a/README.md b/README.md
index e551c26..212e24d 100644
--- a/README.md
+++ b/README.md
@@ -35,8 +35,5 @@ OTHER DEALINGS IN THE SOFTWARE.
For more information, please refer to
-## trivial technology
-archival should be available for everyone, and the systems behind this project should be easy to understand, so it's trivial technology. see .
-
## contact
randomuser at tilde dot club
diff --git a/sane_hello.c b/sane_hello.c
deleted file mode 100644
index 51b3f41..0000000
--- a/sane_hello.c
+++ /dev/null
@@ -1,137 +0,0 @@
-#include
-#include
-#include
-#include
-#include
-
-typedef struct {
- uint8_t red;
- uint8_t green;
- uint8_t blue;
-} pixel_t;
-
-typedef struct {
- pixel_t *pixels;
- size_t width;
- size_t height;
-} bitmap_t;
-
-pixel_t *pixel_at(bitmap_t * bitmap, int x, int y) {
- return bitmap->pixels + bitmap->width * y + x;
-}
-
-int pngtofile(bitmap_t *bitmap, FILE *fp) {
- png_structp png_ptr = NULL;
- png_infop info_ptr = NULL;
- size_t x, y;
- png_byte **row_pointers = NULL;
-
- int status = -1;
- int pixel_size = 3;
- int depth = 8;
-
- png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
- info_ptr = png_create_info_struct(png_ptr);
- png_set_IHDR(png_ptr, info_ptr,
- bitmap->width, bitmap->height,
- depth,
- PNG_COLOR_TYPE_RGB,
- PNG_INTERLACE_NONE,
- PNG_COMPRESSION_TYPE_DEFAULT,
- PNG_FILTER_TYPE_DEFAULT);
-
- row_pointers = png_malloc(png_ptr, bitmap->height * sizeof (png_byte *));
-
- for(y = 0; y < bitmap->height; y++) {
- png_byte *row = png_malloc(png_ptr, sizeof (uint8_t) * bitmap->width * pixel_size);
- row_pointers[y] = row;
- for(x = 0; x < bitmap->width; x++) {
- pixel_t * pixel = pixel_at(bitmap, x, y);
- *row++ = pixel->red;
- *row++ = pixel->green;
- *row++ = pixel->blue;
- }
- }
-
- png_init_io(png_ptr, fp);
- png_set_rows(png_ptr, info_ptr, row_pointers);
- png_write_png(png_ptr, info_ptr, PNG_TRANSFORM_IDENTITY, NULL);
-
- status = 0;
-
- return status;
-}
-
-int main(void) {
- SANE_Status status;
- SANE_Option_Descriptor *desc;
- SANE_Int vc = SANE_VERSION_CODE(SANE_CURRENT_MAJOR, 1, 10);
- SANE_Device **device_list;
- SANE_Handle h;
- SANE_Parameters p;
- SANE_Int cap;
- FILE *file = fopen("lsakjfsalkfd.png", "w");
-
- status = sane_init(&vc, NULL);
- sane_get_devices(&device_list, SANE_FALSE);
-
- for(int i = 0; device_list[i]; i++) {
- printf("%s %s %s %s\n", device_list[i]->name,
- device_list[i]->vendor,
- device_list[i]->model,
- device_list[i]->type);
- }
- if(device_list[0]) sane_open(device_list[0]->name, &h);
- sane_get_parameters(h, &p);
- /*
- printf("%i %i %i\n", p.pixels_per_line, p.lines, p.format);
- */
- const SANE_Byte *storage = malloc(p.bytes_per_line * p.lines);
- if(!storage) abort();
- desc = sane_get_option_descriptor(h, (SANE_Int)0);
- printf("%i\n", desc->cap);
- int f;
- sane_control_option(h, 0, SANE_ACTION_GET_VALUE, &f, NULL);
- cap = f;
- for(int i = 0; i < cap; i++) {
- desc = sane_get_option_descriptor(h, (SANE_Int)i);
- printf("|%i|%s|%s|%s|\n", i, desc->name, desc->title, desc->desc);
- }
-
- for(int i = 8; i < 12; i++) {
- int hello;
- sane_control_option(h, i, SANE_ACTION_GET_VALUE, &hello, NULL);
- printf("%i\n", hello);
- }
- desc = sane_get_option_descriptor(h, 10);
- printf("%i\n", desc->unit);
- SANE_Int info = 0;
- char valone[100];
- char valtwo[100];
- sane_control_option(h, 10, SANE_ACTION_GET_VALUE, &valone, NULL);
- sane_control_option(h, 11, SANE_ACTION_GET_VALUE, &valtwo, NULL);
- printf("%s %s\n", valone, valtwo);
-// sane_control_option(h,
-
- sane_start(h);
- SANE_Int len;
- SANE_Byte *buf = storage;
- for(;;) {
- status = sane_read(h, buf, (SANE_Int)80, (SANE_Int *)&len);
- buf += (int)len;
- if(status == SANE_STATUS_EOF) break;
- }
- bitmap_t *bitmap = malloc(sizeof *bitmap);
- bitmap->width = p.pixels_per_line;
- bitmap->height = p.lines;
-
- bitmap->pixels = (pixel_t *)storage;
-
- pngtofile(bitmap, file);
-
- sane_close(h);
-
- sane_exit();
-
- return 0;
-}