Posts

A collection of 76 articles

Nginx as UDP Load Balance

Just upgraded Graylog to cluster in a project. Because syslog UDP is used as input, a UDP load balance is required to distribute logs to servers in the cluster. Since the servers are hosted in Aliyun, I tried Aliyun UDP Load Balance first. But it does not forward requests evenly, and health detection diagram cannot be disabled. The popular HTTP load balance tool HAProxy does not support UDP. Fortunately, Nginx can be used as a UDP load balance.

Updated  •  2 min read

Resource Bundle in IntelliJ TornadoFX Gradle Project

Add properties files into src/main/resources Global messages location: src/main/resources/Messages.properties is for default locale src/main/resources/Messages_en_US.properties is for locale en_US Resource Bundle for component: Same directory structure to the class path. For example the resource bundle file for views.Main can be found in src/main/resources/views/Main.properties, or file name Main_en_US.properties for specific locale. Enable native-to-ascii conversion in IntelliJ to ease editing UTF-8 values.

Updated  •  1 min read

Keystroke Sequence Shortcuts in Mac OS X

It is a headache to find an available keyboard shortcuts in Mac OS X. I used Option + Letter and Shift + Option + Letter before, since they are preserved for inputting special characters. It has some problems: Emacs and terminal require a modifier for Meta. I chose Command. It means if I want to use application shortcut with Command in these applications, such as Command+Q to quit the application, I have to use the right one. I always forget the shortcuts. Although I have listed them in a sheet, it is a pain to keep it synchronized with the shortcuts defined every where. I switched to a new solution using keystroke sequence shortcuts recently. All my global shortcuts start with Command+M (⌘M). A menu is displayed when I typed prefix. If I forget the shortcut, I just need to glance through the menu.

Updated  •  3 min read

Auto Toggle MacBook Internal Keyboard

I prefer using external keyboard with my MacBook. When no external monitors are used, a typical setup is placing the keyboard above the internal one, so I can still use the internal touchpad. But sometimes the external keyboard may press some keys of the internal keyboard. There is a solution to disable the internal keyboard, but it is tedious to run the command manually. # Disable, ignore the warning sudo kextunload /System/Library/Extensions/AppleUSBTopCase.kext/Contents/PlugIns/AppleUSBTCKeyboard.kext/ # Enable sudo kextload /System/Library/Extensions/AppleUSBTopCase.kext/Contents/PlugIns/AppleUSBTCKeyboard.kext/ Fortunately, Keyboard Maestro supports executing scripts when a USB device is attached or detached.

Updated  •  1 min read