Skip to content

Instantly share code, notes, and snippets.

View enihsyou's full-sized avatar

九条涼果 enihsyou

View GitHub Profile
@gregsh
gregsh / - IDE Scripting.md
Last active November 5, 2025 09:32
IDE Scripting

Here are my attempts to script an IntelliJ-based IDE using javax.script.* API (ex-JSR-223).

The list of available scripting languages and engines:

  1. Groovy - built-in, via Groovy jars and <app>/lib/groovy-jsr223-xxx.jar
  2. JavaScript (Nashorn) - built-in, via Java Runtime <app>/jbr/... (deprecated and will be removed soon)
  3. JavaScript (GraalJS) - https://plugins.jetbrains.com/plugin/12548-intellij-scripting-javascript
  4. JPython - https://plugins.jetbrains.com/plugin/12471-intellij-scripting-python
  5. JRuby - https://plugins.jetbrains.com/plugin/12549-intellij-scripting-ruby
  6. Clojure - https://plugins.jetbrains.com/plugin/12469-intellij-scripting-clojure
@halberom
halberom / opt1_template.j2
Last active January 17, 2025 12:34
ansible - example of template if else
{# style 1 - long form #}
{% if filepath == '/var/opt/tomcat_1' %}
{% set tomcat_value = tomcat_1_value %}
{% else %}
{% set tomcat_value = tomcat_2_value %}
{% endif %}
{# style 2 - short form #}
{% set tomcat_value = tomcat_1_value if (filepath == '/var/opt/tomcat_1') else tomcat_2_value %}
@taichunmin
taichunmin / windows_appkey.md
Last active February 10, 2025 06:36
Windows AppKey

如何修改 Windows 鍵盤對應

現在的 Keyboard 通常會附多媒體鍵,不過預設值打開可能就是討人厭音質又差的 Windows Media Player。 如果我們希望這些鍵可以按下去是開啟我們想要的軟體,此時通常要裝 Driver,問題是有時候會找不到 Driver,那也沒關係,直接改機碼就可以囉,以下是說明:

  1. 先執行 regedit
    • 機碼位於 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey\
  2. 在其下加入數字機碼,代表對應的 AppKey 按鍵 (詳見對應表)
    • 例:16 就是 Media 切換功能
    • 要換掉的話可以先將原來的值備份
@alexfacciorusso
alexfacciorusso / KtRetrofit.kt
Last active September 12, 2019 12:05
Retrofit Kotlin extensions
import retrofit.Call
import retrofit.Callback
import retrofit.Response
import retrofit.Retrofit
/**
* @author Alex Facciorusso
* @since 06/11/15
*/
@bgilbert
bgilbert / contextmanager.md
Last active December 8, 2024 04:59
Python context managers

Context managers

In Python, a context manager is an object that can be used in a with statement. Here's a context manager that reports the total wall-clock time spent inside a with block:

import time

class Timer(object):
    def __init__(self, msg):
        self._msg = msg
@andreicristianpetcu
andreicristianpetcu / ansible-summary.md
Created May 30, 2016 19:25
This is an ANSIBLE Cheat Sheet from Jon Warbrick

An Ansible summary

Jon Warbrick, July 2014, V3.2 (for Ansible 1.7)

Configuration file

intro_configuration.html

First one found from of

@mpneuried
mpneuried / Makefile
Last active August 29, 2025 08:17
Simple Makefile to build, run, tag and publish a docker containier to AWS-ECR
# import config.
# You can change the default config with `make cnf="config_special.env" build`
cnf ?= config.env
include $(cnf)
export $(shell sed 's/=.*//' $(cnf))
# import deploy config
# You can change the default deploy config with `make cnf="deploy_special.env" release`
dpl ?= deploy.env
include $(dpl)
@petervanderdoes
petervanderdoes / 1.JetBrains_Change_Location_Of_Config_And_System_Directories.md
Last active August 19, 2024 08:44
JetBrains change location of config and system directories

Intro

Normally the Jetbrains applications store their config and system in a directory in your home directory. That's fine except when you run out of space in your home directory, or they change the directory with an upgrade. For example, when you upgrade PhpStorm from 2016.3 to 2017.1, the config directory and systems directory changes as well. This means that 2017.1 doesn't have the plugins you installed with 2016.3

Somewhere buried deep in the knowledge base is an article that explains how you can fix this but putting it out here makes it easier to find.

Instructions

These instructions are written for Ubuntu, if you run another distro the locations and files might be different.

I'm assuming you config and system directory will be stored in /d1/config/{JetBrains App}/

@bszwej
bszwej / echo.js
Last active October 20, 2025 12:56
Pure Node.js echo server, that logs all incoming http requests (method, path, headers, body).
const http = require('http');
const server = http.createServer();
server.on('request', (request, response) => {
let body = [];
request.on('data', (chunk) => {
body.push(chunk);
}).on('end', () => {
body = Buffer.concat(body).toString();
@gboudreau
gboudreau / AuthyToOtherAuthenticator.md
Last active January 13, 2026 00:13 — forked from Ingramz/AuthyToOtherAuthenticator.md
Export TOTP tokens from Authy

Exporting your 2FA tokens from Authy to transfer them into another 2FA application

IMPORTANT - Update regarding deprecation of Authy desktop apps

Past August 2024, Authy stopped supported the desktop version of their apps:
See Authy is shutting down its desktop app | The 2FA app Authy will only be available on Android and iOS starting in August for details.

And indeed, after a while, Authy changed something in their backend which now prevents the old desktop app from logging in. If you are already logged in, then you are in luck, and you can follow the instructions below to export your tokens.

If you are not logged in anymore, but can find a backup of the necessary files, then restore those files, and re-install Authy 2.2.3 following the instructions below, and it should work as expected.