[back]
Leonard Kevin McGuire Jr.

This is my collection of things that I desire to publish out there for you to read, use, or reference. I have attempted to create a simple tag system to help you navigate the content. The default view will simply list everything. I hope to improve the design of this portal to my collection of things over time. Enjoy!

    github:                 https://github.com/kmcguire3413
    email:                  kmcg3413@gmail.com
    country:                US
    preferred-languages:    rust, python, c, assembly(ARM,X86,X64_86,AVR,PIC)
    website-software:       pypagey (might publish to github one day)

PYTHON I/O DEMO SOCKETS MS-SQL-SERIES MICROSOFT SQL MERGE SELECT INSERT RUST GUIDE EASY ARM CROSS-COMPILE RUSTC SYSTEM-SOFTWARE KERNEL USER-MODE-SCHEDULING THREADS THREADING RUST-DEV LINK UBUNTU WANDBOARD EMBEDDED LINUX LOOPBACK DEVICE DISK IMAGE PROJECT RTLSDR SCANNER RADIO SOFTWARE DEFINED RADIO DSP C TOR INTERNALS POINTERS CODE LIFETIME-SPECIFIERS MS-SQL UDF TABLE RSA SSH-KEYGEN GC GARBAGE-COLLECTOR HISTORY DEBIAN GNURADIO SETUP GO CUSTOM-BOX LINKED-LIST CONDITIONAL-COMPILATION CRATES RAW-PACKET LOW-LEVEL-NET LIBRARY NETWORK DNS TCP IP UDP NIM PORT CHALLENGE FUN POLYMORPHISM COMMUNICATION CHANNELS MESSAGES ASN ASN.1 CONSOLE KSPLICE HOT-PATCH NAMED PIPE PROGRAMMING IPC


Demonstration Of Different I/O Modes On Sockets Using Python
PYTHON I/O DEMO SOCKETS

See, [https://github.com/kmcguire3413/Py3SocketsIODemo].

Mimic The Merge
MS-SQL-SERIES MICROSOFT SQL MERGE SELECT INSERT

Here I look at mimicing the MERGE in MS-SQL.

Rust: Adventure Into System Software For ARM
RUST GUIDE EASY ARM CROSS-COMPILE RUSTC SYSTEM-SOFTWARE KERNEL

An adventure into system programming using Rust targetting primarily ARM, at first at least.

Mailing List Post About Rust Threading Model 1:1 Versus M:N
USER-MODE-SCHEDULING RUST THREADS THREADING RUST-DEV LINK

[https://mail.mozilla.org/pipermail/rust-dev/2013-November/006550.html]

Putting The Wandboard To Work
UBUNTU WANDBOARD EMBEDDED LINUX LOOPBACK DEVICE DISK IMAGE PROJECT

In this project I work with the wandboard, which is a quad core ARM board with 4GB of onboard RAM. My goal in this project is to get the board up and running and from there I may start other projects that depend on this one.

Digital Signal Processing
RTLSDR RUST PROJECT SCANNER RADIO SOFTWARE DEFINED RADIO DSP

This is a cover all for my digital signal processing projects.

Tor Internals
LINUX C TOR INTERNALS

This is my scratch pad for the moment about the internals of Tor. https://www.torproject.org/about/overview.html

A Familar Pointer With A Rusty Twist
RUST GUIDE POINTERS

(Work In Progress) A Familar Pointer With A Rusty Twist, is a writing which tries to explain pointers in Rust to a programmer which has already had some experience with pointers in another language. I use a lot of code examples and deliberatly walk the reader into problems and try to work with them to solve these problems. By walking through the problems it gives the reader a chance to solve these problems on their own before being presented with the answer which helps to build confidence.

Rust Example Of Required Two Lifetime Specifiers
RUST CODE LIFETIME-SPECIFIERS

A example of the requiring of two lifetime specifiers in Rust.

MS-SQL User Defined Table Function
MS-SQL UDF TABLE

This is a exploration of the Microsoft SQL Server User Defined Function which returns a table type. https://www.torproject.org/about/overview.html

Python RSA Public Private Key Encryption SSH using ssh-keyen
PYTHON RSA SSH-KEYGEN CODE

This will read a public key file and a non-encrypted private key file generated by ssh-keygen and encrypt and decrypt some data. Also, of use is two functions which convert from base 256 to integer. The toi256 converts from little-endian format, and the toi256r converts from big-endian.

Rust: Nice History And View On Garbage Collection
RUST GC GARBAGE-COLLECTOR HISTORY

A nice history and view on garbage collection. [http://pcwalton.github.io/blog/2013/06/02/removing-garbage-collection-from-the-rust-language/]

Getting Gnu-Radio Working On Debian With The RTL-SDR
DEBIAN GNURADIO SETUP PROJECT

In this project I get gnu-radio working on Debian, with the RTL-SDR, using rtl_tcp as the source. This will require Debian, RTL-SDR Dongle, and the rtl_tcp executable.

Demonstation In Go Of Sync, Async, And Buffering Communication
GO DEMO CODE SOCKETS I/O

A demonstation in Go of sync, async, And buffering communication.

Rust Custom Box Implementation
RUST CODE CUSTOM-BOX

A custom box implementation in Rust.

Rust Safe Uni-Directional Link List
RUST CODE LINKED-LIST

An implementation of a uni-directional linked list in safe Rust code which uses Rc to facilitate safely having multiple owners, and RefCell for inner mutability. This is my first successful linked list implementation, but it is inefficient in it's usage of Rc>T< and the API is wonky requiring clone calls.

Conditional Compilation Across Crates
RUST CONDITIONAL-COMPILATION CRATES

I ran into a situation where I needed to do conditional compilation based on what a crate contained or supported. My project uses the same crate name but would produce different crates depending on the system, target(cpu), and board. So some would offer more features. In my quest to solve this problem I found an interesting way to do it with LTO (link-time optimization).

Python Raw Packet
PYTHON RAW-PACKET LOW-LEVEL-NET CODE LIBRARY NETWORK DNS TCP IP UDP

Been working on some a project and needed to craft raw packets in Python. As an example to generate a simple limited functionality DNS query....

Rust (Challenge) Port Simple State Machine
RUST CODE NIM PORT CHALLENGE FUN POLYMORPHISM

A friend suggested porting the following code from Nim to Rust. I have never used Nim but could grasp the intention of the code. I had to make a choice along the way. Was I going to support multiple Worker being able to use the same State, and was I going to support multiple State being able to use the same worker. Well, I decide to allow multiple workers to use the same state and left it open to be implemented for state to be able to implement a field to hold a specific worker.

MS-SQL Internals
LINUX C TOR INTERNALS

This is my scratch pad for the moment about the internals of MS-SQL.

Rust Uni-Directional Linked List Using Box<T> Not Rc<T>
RUST LINKED-LIST

This is a implementation of a uni-directional linked list using Box<T> instead of Rc<T> as my original implementation did. It required the usage of std::mem::swap which proved very helpful. It also sports a nicer API.

A Rust library that provides a thread-safe distributed message sending facility supporting synchronous and asynchronous I/O.
RUST COMMUNICATION THREADS CHANNELS MESSAGES

A Rust library that provides a thread-safe distributed message sending facility supporting synchronous and asynchronous I/O. [https://github.com/kmcguire3413/water.rs]

ASN.1 Data Python Reading Example
ASN ASN.1 PYTHON CODE

If you are like me you have used a drag net across the internet looking for a simple understandable example of reading data in the ASN.1 format. You have likely seen and tried to read the overly complex technical specifications only to wonder why someone has to make something so complex.. I do not know the answer. The following will read basic ASN.1 data. It tries to error out when it gets to something more complex than it is designed to read such as indefinite length data and data that does not use 7-bit or 16-bit length fields. Such as an 8-bit (if possible) or larger than 16-bit. I used the following resources. I wrote this a while back and had to revisit it because I ran into a problem. I found out my code is working correctly, but here are the resources I found this recent time when searching that helped.

Python 3.x Cross Platform Console Library
PYTHON CONSOLE LIBRARY CODE PYTHON

After a bit of work I have come up with a nice light-weight cross platform console library. It currently supports Linux and Windows NT operating systems. If on Linux you must have ncurses installed and have Python compiled with support. I would love to do a version that did not use ncurses but there are some complications in doing so right now.

KSplice: Automatic Rebootless Kernel Updates
LINUX KSPLICE KERNEL HOT-PATCH

I was directed to a very interesting document which describes in fairly low detail how ksplice is able to update a live running linux kernel with security patches automatically with no programmer intervention if the patches do not contain data structure changes or change the semantics of the program. [http://www.ksplice.com/doc/ksplice.pdf]

Linux Named Pipes
LINUX NAMED PIPE C PYTHON RUST PROGRAMMING IPC

I hope this is a good resource for named pipes on linux.