Skip to content

Instantly share code, notes, and snippets.

View eyeplum's full-sized avatar
👀
U+1F440 EYES

Yan Li eyeplum

👀
U+1F440 EYES
  • Auckland, New Zealand
View GitHub Profile

How to install game-porting-toolkit (aka proton for macOS)

You also might wanna just use Whisky which does this automatically

This guide works on macOS 13.4+ using Command Line Tools for XCode 15 Beta!

What is this?

In the recent WWDC, Apple announced and released the "game porting toolkit", which upon further inspection this is just a modified version of CrossOver's fork of wine which is a "compatibility layer" that allows you to run Windows applications on macOS and Linux.

@FikriRNurhidayat
FikriRNurhidayat / Slow-Steam-Download-Speed-Linux.md
Last active May 15, 2024 19:40
Steam Download Speed Issue on Linux
@emilianavt
emilianavt / BestVTuberSoftware.md
Last active June 18, 2024 21:46
Best VTuber Software

Best VTuber software

This is a list of the most commonly used and relevant vtubing software. The "best" will always be subjective and depend on your specific requirements. Overall, the information in this list is as accurate as I could figure it out, but there might be errors or some details might become out of date. If you find anything that needs to be corrected, please let me know. You can also note it in a comment.

Additional explanations:

  • iPhone means that an iPhone is basically required
  • iFacialMocap support means that tracking data can be received from the iFacialMocap iPhone app
  • VMC protocol means that the application can send and/or receive tracking data from other VMC protocol capable applications, allowing the combination of multiple tracking methods (e.g. VSeeFace receiving VR tracking from Virtual Motion Capture and iPhone/ARKit face tracking from Waidayo)
  • Tobii means that the Tobii eye tracker is supported
@Ben-PH
Ben-PH / strace.md
Last active June 6, 2020 02:56
Comaprison of C and Rust syscalls on startup/shutdown.

Abstract

For some situations, understanding system calls made during processes start-up and shut-down can be valuable. For example, consider a shell-scripts long-running hot loop that runs a very short-running process. Thus it is perhaps reasonable to hypothesise that a difference in system calls during process start-up/shut-down has a non-negligable impact on the run time of said hot-loop.

This write-up looks at how C and Rust programs differ in terms of system-calls for start-up/shutdown. It is not intended as a performance analysis and only looks at one target system.

At the end, we take a quick look at using statically linked libraries by building with # cargo build --target x86_64-unknown-linux-musl --release and removing even more syscalls by removing the main function

System

@milseman
milseman / Swift5StateOfString.md
Created January 10, 2018 19:49
State of String: ABI, Performance, Ergonomics, and You!

State of String: ABI, Performance, Ergonomics, and You!

Hello, I’ve been working on implementing, optimizing, and improving String in preparation for ABI stability, and I thought I’d share the current status of String in Swift 5 and some potential directions to go. This is the product of conversations with open source contributors and my colleagues on the Swift standard library team at Apple.

The primary area of focus is stabilizing String’s ABI, but we’d be remiss if we couldn’t also fit in performance and ergonomic improvements. String’s ergonomics in particular is one area where we think the status quo is woefully inadequate, and over half of this email is devoted to that topic. At the end, there’s a section about a community initiative that we hope can help users of String as well as guide future development.

(Note: I’m sending this to swift-dev because much of the contents revolve around implementation concerns. I’ll also cross-reference on swift-evolution and swift-users. See also the [StringManife

Office Hours

I have benefited greatly in my career from the help of others (and implicitly from being a white man). At this point, I would like to find more ways to contribute back to the community. I'm trying an "Office Hours" model where I spend several hours a week advising on any topic I feel competent to help with.

In general, I’m willing to help anyone who could use support in programming or software engineering. My skills are probably best suited to supporting mid-stage career software engineers, who are past the "student" phase but want help developing their skills or career (either by increasing impact or depth). I'm also happy to try my best to help people who are trying to land their first tech job.

Below is a list of areas I feel (somewhat) competent to mentor on, or at least discuss.

Languages

@ddunbar
ddunbar / xcbuild-debugging-tricks.md
Last active April 13, 2024 15:41
Xcode new build system debugging tricks

New Build System Tricks

Command Line

alias xcbuild=$(xcode-select -p)/../SharedFrameworks/XCBuild.framework/Versions/A/Support/xcbuild
# THIS DOESNT WORK YET: xcbuild openIDEConsole  # … then switch to Xcode ➡️
xcbuild showSpecs
xcbuild build <foo.pif> [—target <target>]
@objc protocol Refreshable
{
/// The refresh control
var refreshControl: UIRefreshControl? { get set }
/// The table view
var tableView: UITableView! { get set }
/// the function to call when the user pulls down to refresh
@objc func handleRefresh(_ sender: Any);
# When I want to attach lldb to swiftc to see how it works when compiling simple Swift programs:
utils/build-script \
--release --debug-swift \
--build-swift-dynamic-stdlib=0 --build-swift-dynamic-sdk-overlay=0 \
--skip-build-osx --skip-build-ios --skip-build-tvos --skip-build-watchos
# When I want to run the Swift test suite, to make sure my pull request would pass CI:
utils/build-script \
--release --debug-swift \
--test
Vagrant.configure(2) do |config|
config.vm.box = "hashicorp/precise64"
# ...
# This mess of B.S., constructed mostly from <http://apt.llvm.org>, is, as far as I can tell, The
# Right Way to get non-ancient clang installed on Precise. (Why am I using Precise again? 'cuz
# Vagrant says so? ಠ_ಠ)
#
# Yes, non-ancient clang requires slightly-less-ancient gcc to build ... which isn't available on