Skip to content

Instantly share code, notes, and snippets.

View alexander-yakushev's full-sized avatar
🪖
Defending against russian invasion

Oleksandr Yakushev alexander-yakushev

🪖
Defending against russian invasion
View GitHub Profile
;;; javad.el --- Java decompiler
(defun javad-buffer ()
"run jad on contents of buffer"
(interactive)
(lexical-let* ((f-name (buffer-file-name))
(new-f-name (concat temporary-file-directory "jad/" (file-name-base f-name) ".jad"))
(old-buf (buffer-name))
(done (lambda (&rest args)
(interactive)
@alexander-yakushev
alexander-yakushev / latex-cheatsheet-template.tex
Last active March 8, 2024 20:50
Beautiful cheatsheet template for key bindings, compiled with XeLaTeX
%% Copyright 2020 Alexander Yakushev
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
% The latest version of this license is in
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
(def c (a/chan 10 cat))
(go-loop [i 0]
(let [batch (range i (+ i 3))]
(when (>! c batch)
(println "Put succeeded:" batch)
(recur (+ i 3)))))
;; Put succeeded: (0 1 2)
;; Put succeeded: (3 4 5)
@alexander-yakushev
alexander-yakushev / build.boot
Last active September 4, 2018 15:04
Clojure livecoding @ Grammarly
(set-env!
:dependencies
'[[http-kit "LATEST"]
[hiccup "LATEST"]
[cheshire "LATEST"]
[compojure "LATEST"]])
@alexander-yakushev
alexander-yakushev / Bench.java
Last active October 9, 2018 18:09
JMH benchmark of Bifurcan's LinearMap
package bench;
import org.openjdk.jmh.annotations.*;
import org.openjdk.jmh.infra.Blackhole;
import java.util.concurrent.*;
import io.lacuna.bifurcan.LinearMap;
@BenchmarkMode(Mode.AverageTime)
@Warmup(iterations = 3, time = 5, timeUnit = TimeUnit.SECONDS)
@Measurement(iterations = 5, time = 5, timeUnit = TimeUnit.SECONDS)
@alexander-yakushev
alexander-yakushev / gc.log
Created January 11, 2019 13:54
Shenandoah Degenerated GC long pause 1
Trigger: Free (5631M) is below minimum threshold (5632M)
Free: 5631M (460 regions), Max regular: 16384K, Max humongous: 425984K, External frag: 93%, Internal frag: 23%
Evacuation Reserve: 2816M (176 regions), Max regular: 16384K
2019-01-08T16:47:04.358+0000: 340115.832: [Concurrent resetUsing 25 of 25 workers for concurrent reset
Failed to allocate 2048K
Cancelling GC: Allocation Failure
46G->52G(55G), 11069.097 ms]
2019-01-08T16:47:15.433+0000: 340126.907: [Pause Init Mark (process weakrefs)Using 25 of 25 workers for init marking
Pacer for Mark. Expected Live: 1917M, Free: 0M, Non-Taxable: 0M, Alloc Tax Rate: infx
, 4.328 ms]
@alexander-yakushev
alexander-yakushev / gc.log.2
Created January 11, 2019 13:55
Shenandoah Degenerated GC huge pause 2
Trigger: Free (5628M) is below minimum threshold (5632M)
Free: 5628M (475 regions), Max regular: 16384K, Max humongous: 1032192K, External frag: 83%, Internal frag: 25%
Evacuation Reserve: 2816M (176 regions), Max regular: 16384K
2019-01-07T18:02:57.639+0000: 258123.203: [Concurrent resetUsing 25 of 25 workers for concurrent reset
46G->46G(55G), 13.614 ms]
2019-01-07T18:02:57.657+0000: 258123.220: [Pause Init MarkUsing 25 of 25 workers for init marking
Pacer for Mark. Expected Live: 1626M, Free: 5597M, Non-Taxable: 559M, Alloc Tax Rate: 1.1x
, 2.929 ms]
2019-01-07T18:02:57.660+0000: 258123.223: [Concurrent markingUsing 25 of 25 workers for concurrent marking
46G->47G(55G), 102.880 ms]
@alexander-yakushev
alexander-yakushev / twitter-hide-garbage.js
Last active August 10, 2019 16:31
TamperMonkey script for hiding the distracting UI elements on Twitter
// ==UserScript==
// @name Twitter hide garbage
// @namespace http://tampermonkey.net/
// @version 0.1
// @match https://twitter.com/*
// @grant GM_addStyle
// ==/UserScript==
(function() {
'use strict';
@alexander-yakushev
alexander-yakushev / crash.txt
Created November 1, 2019 20:13
Shenandoah JDK8 30.10 crash
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007f65b7f497c7, pid=1, tid=0x00007f61ec4e9700
#
# JRE version: OpenJDK Runtime Environment (8.0) (build 1.8.0-builds.shipilev.net-openjdk-shenandoah-jdk8-b450-20191030-aarch64-shenandoah-jdk8u232-b09)
# Java VM: OpenJDK 64-Bit Server VM (25.71-b450-20191030-aarch64-shenandoah-jdk8u232-09 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# V [libjvm.so+0x8b97c7] ObjectMonitor::enter(Thread*)+0x6d7
#
# Core dump written. Default location: /app/core or core.1
@alexander-yakushev
alexander-yakushev / deps.edn
Last active September 4, 2023 12:56
System-wide tools.deps configuration and code (for London Clojurians meetup 05'23)
{:deps {org.clojure/clojure {:mvn/version "1.12.0-alpha3"}}
:aliases {:dev {:extra-deps
{com.clojure-goes-fast/clj-async-profiler {:mvn/version "1.0.4"}
com.clojure-goes-fast/clj-java-decompiler {:mvn/version "0.3.4"}
com.clojure-goes-fast/clj-memory-meter {:mvn/version "0.3.0"}}
:jvm-opts ["-Djdk.attach.allowAttachSelf"
"-XX:+UseG1GC"
"-XX:-OmitStackTraceInFastThrow"