Skip to content

Instantly share code, notes, and snippets.

View renatoathaydes's full-sized avatar

Renato Athaydes renatoathaydes

View GitHub Profile
@renatoathaydes
renatoathaydes / TestApp.java
Created July 7, 2024 14:18
JavaFX simple app - illustration of bug setting text fill color inside a Label
package app;
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Node;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.SplitPane;
@renatoathaydes
renatoathaydes / challenge.u
Created June 14, 2024 20:32
Unison Challenge (2024-Jun-14)
-- make a window structure from a list of items.
-- the structure arranges items in groups of 2, with only
-- the last element left alone (so it can be paired with the next).
makeWindow : (a -> a ->{g} a) -> Optional a -> [a] ->{g} [a]
makeWindow op prev = cases
[item] -> match prev with
Some p -> [op p item, item]
None -> [item]
item +: tail ->
@renatoathaydes
renatoathaydes / MyFunctions.groovy
Created January 20, 2024 21:08
Example code sharing in Gradle
// add this to buildSrc/src/main/groovy/foo/MyFunctions.groovy
package foo
class MyFunctions {
static String hello() { 'hello' }
}
@renatoathaydes
renatoathaydes / kate.shortcuts
Created January 15, 2024 13:09
Kate keyboard shortcuts on MacOS
[Shortcuts]
Next Editing Line=Ctrl+Shift+E
Previous Editing Line=Ctrl+E
add_bom=none
backspace=Backspace; Shift+Backspace
beginning_of_document=Ctrl+Home
beginning_of_line=Meta+A; Ctrl+Num+Left
bookmarks_clear=none
bookmarks_next=Alt+PgDown
bookmarks_previous=Alt+PgUp
@renatoathaydes
renatoathaydes / chart.svg
Created January 14, 2024 15:51
DLang - comparison with Java, Rust and Common Lisp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@renatoathaydes
renatoathaydes / gist:fd8752ed81b0cf792ed7ef5aa3d68acd
Created January 13, 2024 12:50
trace.log (DLang profiler from dencoder)
------------------
1009 _D3std10functional__T6safeOpVAyaa1_3cZ__TQuTmTiZQBbFNaNbNiNfKmKiZb
_D3std10functional__T6safeOpVAyaa1_3cZ__T8unsafeOpTmTiZQoFNaNbNiNfmiZb 1009 946 946
------------------
52214 _D3std10functional__T6safeOpVAyaa1_3cZ__TQuTyiTmZQBcFNaNbNiNfKyiKmZb
_D3std10functional__T6safeOpVAyaa1_3cZ__T8unsafeOpTyiTmZQpFNaNbNiNfyimZb 52214 6329 6329
------------------
1009 _D3std9algorithm10comparison__T3maxTmTiZQjFNaNbNiNfmiZm
_D3std10functional__T6safeOpVAyaa1_3cZ__TQuTmTiZQBbFNaNbNiNfKmKiZb 1009 2184 1238
1009 _D3std10functional__T6safeOpVAyaa1_3cZ__T8unsafeOpTmTiZQoFNaNbNiNfmiZb
@renatoathaydes
renatoathaydes / main.dart
Created August 23, 2022 11:11
Dart - processing stream of JSON documents
import 'dart:convert';
main() async {
const jsons = '{"foo": "Ø"}\n{"bar": false}';
final bytes = utf8.encode(jsons);
// partitions breaking the bytes between invalid UTF-8 boundaries
final partitions =
Stream.fromIterable([bytes.sublist(0, 10), bytes.sublist(10)]);
@renatoathaydes
renatoathaydes / README.md
Created January 20, 2022 10:36
Typescript api-extractor bug

This project demonstrates a problem with api-extractor.

My objective is the following:

  • I have a Typescript file which defines a basic API.
  • I want this file to be used for generating a declarations TS file (.d.ts file).
  • I don't want to generate actual JS files as those are not relevant.
  • Use the .d.ts file to generate markdown docs for my API.

The source file is in the ts-project directory, so I tell tsc:

@renatoathaydes
renatoathaydes / Scracth.java
Created December 21, 2021 17:11
Demonstration of how Java async methods are misleading, at best.
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.Executors;
class Scratch {
public static void main(String[] args) throws Exception {
var singleThreadedExecutor = Executors.newSingleThreadExecutor();
var startTime = System.currentTimeMillis();
/*
@renatoathaydes
renatoathaydes / gist:1d59b1a93d83e97774bbc4fd8cd62929
Created December 16, 2021 07:23
Log4j2-core jar jdeps output
▶ jdeps --multi-release 11 out/log4j-core-2.16.0.jar
log4j-core-2.16.0.jar -> java.base
log4j-core-2.16.0.jar -> java.compiler
log4j-core-2.16.0.jar -> java.desktop
log4j-core-2.16.0.jar -> java.logging
log4j-core-2.16.0.jar -> java.management
log4j-core-2.16.0.jar -> java.naming
log4j-core-2.16.0.jar -> java.rmi
log4j-core-2.16.0.jar -> java.scripting
log4j-core-2.16.0.jar -> java.sql