Skip to content
View Iain-Donald's full-sized avatar
🌲
Typing
🌲
Typing

Block or report Iain-Donald

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
Iain-Donald/README.md



Check out

Scroll to

| My library of reading recommendations
| About me


// steal my code

About me

Hi,


For general questions or requests, email me at iaindonaldnet@gmail.com with "[code]" in the subject line.

I primarily develop utilities and code libraries for FreeBSD, LinuxDebian :), and microcontrollers. Computer hardware is usually capable of far more than our software realizes.

Computing capabilities are for more than programmers or people in technical professions. My apps, utilities, and libraries give me and you full control over your own computer without any loss of convenience. Anything that is not code is equally easy to use for non-programmers as it is for technical professionals.

I am learning to better define the correctness and state of my software, for security then for finding efficiency. Hopefully you find it easy to read, and efficient where you use it. I'd rather write a short sentence in camelCase as a variable name than use single letters or abbreviations, like a lesson book. Feel free to steal it, but I encourage you to try and understand it as well. It can be improved.

I have studied computer science since 2012 using Visual Studio Express. I'm best using languages C, Zig, Java, C#, and Kotlin, have experience in frameworks such as ASP.NET, Android JNI, and Express, related concepts including database and ODM strategies, and enjoy learning strategies for error disccovery and handling.

Data management experience Secure and reliable storage systems: AEAD encryption, atomic+temp operations, tamper protections, corruption handling, cached items, state management, custom headers. SqLite, Berkeley DB, Android KeyStore, direct filesystems. New low level storage device (flash drive) app for transparent compression and symmetric encryption, read only locking, coming soon. Associated asymmetric TCP based xfer functionality coming a bit later!
Data exchange Net Admin: OSI model, NAT, VLAN, Firewalls {general, masking, vdev metrics},
Transport: Multiplexing, manual TCP/UDP/Sockets,
WebRTC, QUIC
Platform & abstraction experience Android Studio {Kotlin, JNI, C++ NDK},
Xcode {SwiftUI, WebKit, Metal},
ASP.NET {Core, MAUI, Express for Desktop (long gone), Kestrel server},

Node.js + DOM<->Express.js<->MongoDB,
Nginx {web server, reverse proxy},
Processing
OS dev experience Debian X11*working OS.
Windows: Win32, .NET, UWP, WinUI 3,
MacOS: SwiftUI for iOS, Metal.
Android: NDK, JNI, XML Views, Jetpack Compose, Keystore, publishing.
iOS: SwiftUI, sensors, publishing.
Language familiarity (ordered) C, Zig, Kotlin, C#, Java, Go, C++,
Python, Lua, JS

Library

Code safety, the runtime strategy

Code safety, the compile-time strategy

  • Placeholder.



Alphabetical unaffiliated appreciation list

All are FOSS and made in good faith.

Pinned Loading

  1. ascon-lib ascon-lib Public

    Verified Ascon/NIST SP 800-232 reference C library. Every cipher from the official implementation in one small portable library. Validated against the official NIST test vectors for every cipher.

    C 2

  2. sable sable Public

    A cipher collection GUI demonstrating ascon-lib, my C implementation of NIST SP 800-232.

    C 1

  3. sct-semibold sct-semibold Public

    Re-make of sct and the underlying color preferences and color interpolation. Initial source: sct fork found in the default FreeBSD repo (public domain, accessed 20260924).

    C

  4. xtextbox xtextbox Public

    Minimal CLI program to display a text toast when called, for X11 on Linux. Tasteful seasoning for your i3 keybinds or anywhere that may call it.

    C

  5. reveal reveal Public

    A Linux utility similar to stat and file.

    C