Skip to content

Instantly share code, notes, and snippets.

View wpyoga's full-sized avatar

William Poetra Yoga wpyoga

View GitHub Profile
@wpyoga
wpyoga / chatgpt.md
Created October 2, 2025 14:43
GTR vs IGBT drives (chatgpt)

Quick summary

  • IGBTs are the modern default for most motor/inverter/drive applications: faster switching, simpler gate drive, higher switching frequency capability, easier paralleling and better overall efficiency at typical inverter frequencies.
  • GTOs (GTRs) are older high-power devices that can carry large currents and block high voltages, but require complex gate drives, large snubber networks, and run at much lower switching frequencies. They were common in traction/HVDC historically but have largely been replaced by IGBTs (and now SiC) in new designs.

1) Fundamental technology and how they switch

GTO (Gate Turn-Off Thyristor / sometimes called GTR in older texts):

  • Thyristor family device: a four-layer (p-n-p-n) semiconductor that latches on when forward current flows.
@wpyoga
wpyoga / deepseek.md
Last active October 2, 2025 14:35
IGBT vs GTR drives

Here is a detailed technical comparison between IGBT-based and GTR-based drives.

Executive Summary

The IGBT (Insulated Gate Bipolar Transistor) drive is a superior technology in every significant aspect compared to the obsolete GTR (Giant Transistor) drive. For 24/7 continuous operation, IGBT drives are unequivocally more durable, stable, and efficient. GTR drives have been completely phased out of new equipment since the late 1990s.


Detailed Technical Comparison

@wpyoga
wpyoga / gist:94ab9a6865e72de881266341af4306e6
Created August 11, 2025 05:13
Xorg grab problem (usually VirtualBox)
https://gist.github.com/CyberShadow/6412d11aea64144f8905cc0b8196f38e
$ xdotool key XF86LogGrabInfo
/var/log/Xorg.0.log:
```
[146599.664] (II) Printing all currently active device grabs:
[146599.664] Active grab 0x42a001f7 (core) on device 'Virtual core pointer' (2):
[146599.664] client pid 91115 /usr/lib/virtualbox/VirtualBoxVM --comment wintpc-2 --startvm {0d02dc3f-7a59-47a8-b72d-6a4ab49ff93d}
[146599.664] at 146394073 (from passive grab) (device frozen, state 6)
@wpyoga
wpyoga / gist:cbe73696760b24aae0aa0677b4200791
Created April 25, 2025 08:59
dnsmasq test dhcp server
sudo dnsmasq -kd -i enp0s31f6 -F 10.1.5.10,10.1.5.20 -K
@wpyoga
wpyoga / gist:3d981b5c589b32c90d5abeba961b5ee3
Created February 5, 2025 12:08
Microsoft Software Download links

Old links don't work anymore:

https://software-download.microsoft.com/download/pr/***

Convert to new links:

https://software-static.download.prss.microsoft.com/pr/download/***
@wpyoga
wpyoga / .md
Last active June 22, 2023 19:22
basic vscode code formatting and linting

editorconfig

.editorconfig

root = true

[*]
charset = utf-8
insert_final_newline = true
end_of_line = lf
@wpyoga
wpyoga / gist:740a8994b86275f522f0e7bd89b1793d
Last active June 18, 2023 09:10
initialize cdk without installing cdk globally
git init my-cdk-app
cd my-cdk-app
npx cdk@latest init app --language typescript
This will:
1. initialize an empty git repository
1. initialize a new cdk app using the latest CDK version
Note that there is no initial commit created if we initialize the repo this way.
connect iphone to pc
dmesg
get the serial number
```
usb 1-1: new high-speed USB device number 4 using xhci_hcd
usb 1-1: New USB device found, idVendor=05ac, idProduct=12a8, bcdDevice=10.06
usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-1: Product: iPhone
@wpyoga
wpyoga / gist:f30fb8fc3304d043ba508891a533e2e0
Last active June 17, 2023 02:46
add iphone to vm and debug over wifi
macos ventura 13.4 on hackintosh vm
ios 16.4 on iphone x
on vm host
make udev rule file /etc/udev/rules.d/39-usbmuxd.rules:
# filename is chosen to overwrite /usr/lib/udev/rules.d/39-usbmuxd.rules
# see RULES FILES section in udev(7)
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{PRODUCT}=="5ac/12[9a][0-9a-f]/*|5ac/8600/*", MODE="0666", TAG+="systemd"
@wpyoga
wpyoga / gist:b07914ee48c931c99f1dcc28243b36e2
Last active June 15, 2023 21:00
attach usb device to qemu via monitor
https://qemu-project.gitlab.io/qemu/system/devices/usb.html
no need to use port number if only one xhci controller is connected
$ qemu -device qemu-xhci
(qemu) device_add usb-tablet,bus=usb-bus.0,port=1,id=my-tablet
(qemu) device_del my-tablet
(qemu) device_add driver,
vendorid=<hexnr> -- Specifies the vendor ID of the device.