Skip to content
View ravyne's full-sized avatar

Highlights

  • Pro
Block or Report

Block or report ravyne

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.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

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

Report abuse
ravyne/README.md

Hi, I'm Michael

I'm a programmer and technical writer living in the Greater Seattle area.

I'm a programmer and technical writer living in the Greater Seattle area.

I like low-level programming and writing games. Embedded systems and classic game consoles are fun development targets.

I'm fluent in several programming languages and literate in many more.

Skills: Technical Writing | C and C++ | Embedded | Game Development

  • 🔭 I’m currently working on bare-metal libraries for writing console games with Rust:
    • Nintendo Gameboy Advance
    • Sega Genesis/Megadrive
    • Sony Playstation
    • ... more to come
  • 🌱 I’m currently learning Ghidra, and more about Rust
  • 💬 Ask me about console game development with Rust
  • 😄 Pronouns: He/Him

I'm also an experienced technical writer for all-things software development: platforms, programming languages, APIs, developer tools, and training modules.

You can find some examples of my writing below.


In this section, I detail Visual Studio's Graphics Diagnostics, a set of tools for analyzing rendering errors and performance problems in Direct3D applications. The workflow begins by capturing rendered frames–live, from a Direct3D application–into a Graphics Log Document; later, the capture is played back under the Graphics Analyzer where rendering errors are examined interactively by using tools such as the Event List, Pipeline Stages window, Pixel History, and others.

In addition to the conceptual and GUI reference topics, I created several scenario-driven walkthroughs to demonstrate how these tools are used in concert to diagnose and correct different types of rendering errors. Some highlighted scenarios include:

(learn.microsoft.com)


In this section, I describe the common types of gaming input devices and how they are used through the UWP Windows.Gaming.Input namespace on Windows 10/11 and Xbox (One, Series X|S). Topics include device-specific capabilities, such as in Gamepad and vibration or Racing wheel and force feedback, how UI navigation controller is used to deliver consistent UI experience across different input devices, common Input practices for games, and more.

(docs.microsoft.com)


Upstart is a monthly column highlighting emerging opportunities and technologies for those early in their career or seeking new challenges. In this article, I discuss how computer and video games have grown to an $80+ billion industry, and how game engine platforms like Unity, Unreal, and others have made game development easier and more accessible than ever before.

(MSDN Magazine, August 2015, vol. 30 iss. 8)


In this blog post, I explore how various non-portable C++ code behaviors that developers might have inadvertently relied upon are likely to break when porting legacy Windows code to ARM-based devices. The article was written during a time when many developers were porting their Windows apps to ARM CPUs for the first time, exposing non-portable code as bugs. Various problem scenarios and their remediation are discussed, with platform-specific details given to aid developers in recognizing their symptoms.

(Microsoft C++ Team Blog, October 2012)


github linkedin website

Pinned Loading

  1. ravyne ravyne Public

    My GitHub user page

  2. rustfmt-expander rustfmt-expander Public

    An awk script that expands the default rustfmt.toml file to include descriptions of each configuration setting.

    Awk

  3. projecteuler projecteuler Public

    My solutions for the Project Euler problem set in various programming languages.

    Rust

  4. andrewwutw/build-djgpp andrewwutw/build-djgpp Public

    Build DJGPP cross compiler and binutils on Windows (MinGW/Cygwin), Mac OSX and Linux

    Shell 254 53

  5. svd2rust svd2rust Public

    Forked from rust-embedded/svd2rust

    Generate Rust register maps (`struct`s) from SVD files

    Rust

  6. regz regz Public

    Forked from ZigEmbeddedGroup/regz

    Generate zig code from ATDF or SVD files for microcontrollers.

    Zig