Skip to content
View EthanRDoesMC's full-sized avatar

Organizations

@rjailbreakdevs

Block or report EthanRDoesMC

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
EthanRDoesMC/README.md

Hey, I'm Ethan.

Here's a picture of me! Everyone knows me by my GitHub icon, as it's the one I use practically everywhere. To change it is tantamount to heresy at this point. Otherwise I'd use this image.

I think it looks nice! If you'll forgive the low quality... it's a picture of a picture. Long story.

I'm a computer science and foreign languages student halfway through my fourth year of college.

Right now, I'm studying Japanese language and culture in Osaka.

I feel at home in C languages, particularly Objective-C and its runtime. I reverse-engineer Apple platforms as a hobby and know iOS like the back of my own hand. I can write a moderate amount of Swift and just a little bit of everything else. I am particularly skilled at reverse engineering, though this does not extend to writing machine code :-)

I haven't updated my website in forever. It's edgy, rough, bloated, and not worth your time, read this page instead ;)

Some of my projects listed on this account
  • No Man's Sky Retro Shader Fix, a patch to fix the shader code in the older "classic" No Man's Sky versions
  • touchBarFun, a proof-of-concept (with horrific memory management) for putting a working macOS Menu Bar on the Touch Bar by traversing and recreating it via Accessibility APIs
  • Brooklyn, a bridge between iMessage and Matrix Chat - less functional and more research in nature, it implements various experiments from the process of figuring out how iMessage works
  • KBPulse, a fun little experiment to figure out how to control the keyboard backlight on M1 MacBooks... it adds a pulse animation! No promises regarding the health of the LEDs... :)
  • Dawn, an iOS jailbreak tweak to selectively override the iOS 13 light/dark mode appearances of various system components
  • Truecuts, a widely-used jailbreak tweak that removes the arbitrary limits on Automations in Shortcuts, and that may have been the reason Apple finally removed those limits...
  • homebridge-sengled-ethanr, a desperate yet successful attempt to make my dad's crappy smart bulbs have full-featured functionality in Homebridge, by forking an existing implementation

Anything older than that, you can ignore... I was really young when I made those :-)

Projects not uploaded here
  • BatteryPercentage, a tweak enabling the unused battery percentage indicator Apple made for iPhones with notches, along with a degree of customizability I wrote
  • Arise, a tweak with some fun Lock Screen changes, like making notifications appear with an animation or automatically playing Live Photo wallpapers (this was before iOS 16)
  • Numberfications, a tweak to replace the (X) on the notification clear button with a count of the notifications in that section
  • Mammoth, an unreleased work-in-progress iOS client for Mastodon that was decently far along. Auth and some limited interactivity were in place. It was written in Swift and SwiftUI, which is astounding because I do not like SwiftUI-driven apps

My aim is to work on things that objectively make the world a better place to be alive in. I never want to make anything that takes us a step back, no matter how small, just for the sake of profit. My personal belief is that technology and language share a lot in common -- they are powerful weapons, yes, but carefully used, they can save lives and change the path we walk.

short bio

Bio

I've always been interested in making things on a computer, and in 2017 I stepped over the threshold into programming. I was self-taught and I made very little progress until early 2020. (Click on the Dawn repository to see that progress! It was localized into 17 different languages, by the way.)

I have a bit of a raw talent for reverse engineering that I've been turning into a skillset over the years. In early 2021 Beeper commissioned me to research and build an iMessage client/Matrix bridge, which I called Brooklyn. It's not what they use today, but it provided a lot of the foundational research. (That's quite the accomplishment for someone who learned what a return type was a year prior!)

In late 2021, a bit overwhelmed with depression and attending a college I couldn't really afford nor wanted to attend, I resorted to hobbyist development to keep myself afloat. KBPulse and TouchBarFun are the result -- pure reverse engineering of the MacBook keyboard backlight, and an implementation of the macOS menu bar in the Touch Bar! Disclaimer: it's not very... ahh... efficient.

I am now attending a state university. It's a lot cheaper and I'm a lot happier with the program and the university. As a result I've had less time for completely original, massive projects -- because I am actually doing my schoolwork now lol -- but I keep myself involved in whatever interests me. For that, see any repos committed to since August 2022.

the fun stuff

the fun stuff

  • the music: alternative, indie/math/post rock, electronic, world
    • 65daysofstatic, ODESZA, Solar Fields
    • afterhours, Tom's Story, maybeshewill
    • keali'i reichel, pure heart, KODŌ
  • the rig
    • ryzen 5 2600, rx 580, 2 ssds, 1 hdd, 4 fans
    • windows 11, macos 11
  • the phones
    • iphone: 3g, (3x) 4, (3x) 4S, (2x) 5s, 5c, (2x) 6, (2x) SE, 7, and my daily driver 13 pro max

Pinned Loading

  1. Dawn Dawn Public

    Override dark and light styles.

    Logos 4 7

  2. OnBoardingKit OnBoardingKit
    1
    #pragma mark - Preferences List Controller
    2
    @interface AriseRootListController : HBRootListController
    3
    -(void)arisePresentWhatsNew;
    4
    @end
    5
    
                  
  3. RetroShaderFix RetroShaderFix Public

    Driver compatibility shader patches for classic versions of No Man's Sky

    GLSL 3 1

  4. KBPulse KBPulse Public

    Custom MacBook keyboard backlight animations

    Objective-C 41 1

  5. progressiveblur progressiveblur Public

    Original research and demo of UIProgressiveBlurPresentationController

    Swift 7 1

  6. Brooklyn Brooklyn Public

    Helper/wrapper for mautrix-imessage for jailbroken devices

    Objective-C 13 1