Skip to content

Instantly share code, notes, and snippets.

View komamitsu's full-sized avatar

Mitsunori Komatsu komamitsu

View GitHub Profile
@komamitsu
komamitsu / systemd-xremap.md
Created January 14, 2023 14:07
Execute xremap from systemd

Create /etc/systemd/system/xremap.service file

[Unit]
Description=xremap service
After=default.target

[Service]
ExecStart=/usr/bin/xremap /home/komamitsu/xremap.yml
@komamitsu
komamitsu / millions-hello-worlds.c
Created March 2, 2024 03:35
"Hello, World!" without recursions or loop
#include <stdio.h>
#include <ucontext.h>
#define N 1000000
int main(){
int i = 0;
ucontext_t ctxt;
getcontext(&ctxt);
@komamitsu
komamitsu / memo.md
Last active February 21, 2024 13:36
Presto code reading memo

server.QueryResource#createQuery

  • server.QueryResource#createQuery
    • server.ResourceUtil#createSessionForRequest
    • execution.SqlQueryManager#createQuery
      • sql.parser.SqlParser#createStatement
      • event.query.QueryMonitor#createdEvent
      • execution.SqlQueryExecution#addStateChangeListener
      • execution.SqlQueryManager.QueryStarter#submit
  • execution.SqlQueryManager.QueryStarter.QueryQueue#enqueue
package org.example;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
@komamitsu
komamitsu / SharedStringMethod.java
Last active June 9, 2023 17:34
GraalVM shared library example which receives String arguments called from C
package org.komamitsu.foobar;
import org.graalvm.nativeimage.IsolateThread;
import org.graalvm.nativeimage.c.function.CEntryPoint;
import org.graalvm.nativeimage.c.type.CCharPointer;
import org.graalvm.nativeimage.c.type.CTypeConversion;
public class SharedStringMethod
{
@CEntryPoint(name = "add")
@komamitsu
komamitsu / key-remap-on-xkb.md
Last active January 14, 2023 14:08
Key remapping on Linux using xkb-options

Goal

  • Make Muhenkan key a left Control key
  • Make Hiragana Katakana key an Escape key
  • Make Capslock key a Zenkaku Hankaku key

Options

  • xmodmap: Easy, but my laptop's suspend/resume resets xmodmap configuration
  • xkb: Let's try this
package org.komamitsu.unixdomainsockettest;
import java.net.StandardProtocolFamily;
import java.net.UnixDomainSocketAddress;
import java.nio.ByteBuffer;
import java.nio.channels.ServerSocketChannel;
import java.nio.channels.SocketChannel;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
fun calcite() {
val schema = Frameworks.createRootSchema(true)
val config = Frameworks.newConfigBuilder()
.defaultSchema(schema)
.sqlValidatorConfig(SqlValidator.Config.DEFAULT)
.parserConfig(
SqlParser.config()
.withQuoting(Quoting.BRACKET)
.withCaseSensitive(true)
@komamitsu
komamitsu / AndroidManifext.xml
Created February 23, 2012 15:52
Android Simple web server using NanoHTTPD (http://elonen.iki.fi/code/nanohttpd)
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.INTERNET"></uses-permission>