profile
viewpoint
Arian Stolwijk arian @symbaloo Rotterdam, The Netherlands http://www.aryweb.nl

arian/CoverJS 125

Instrument JavaScript to determine the testing coverage

arian/cubic-bezier 63

A small cubic bézier timing function

arian/CSSMatrix 43

CSSMatrix polyfill

arian/Array.Math 33

Add all kind of mathematical methods to the Array Native

arian/amd-packager-php 25

An CommonJS AMD Packager in PHP

arian/Complex 25

Calculations with Complex Numbers in JavaScript

arian/DirectAdminApi 13

PHP DirectAdminApi is a wrapper for the DirectAdmin Api to make the usage of the Api simple as much as possible

arian/classy 10

Brings the MooTools 1.x Class sugar to Prime

arian/art 4

vector drawing for buttons, icons, widgets and all that stuff

arian/Element.Delegation 4

This is a simple MooTools Plugin for Event Delegation, now I would suggest the MooTools More 1.3 Delegation though

push eventarian/gikt

Arian

commit sha 83654a5de0e7534e40fb02e93b7fd8e33fd57718

Readble commit dates in logs do not have zero padded days of the month

view details

push time in 16 hours

push eventarian/gikt

Arian

commit sha 61649bec61e5cc827a3adf10c5ca5d391772ed4b

Improve showing Hunk line numbers for complete file additions or deletions

view details

push time in 16 hours

push eventarian/gikt

Arian

commit sha 5e8d42f36f2d251b1bf24824f2b42cdc407bb2c2

16.1.5 refactor diff command into a reusable class

view details

Arian

commit sha 4d713dc5195734076b53bc88cd44bfc70f5a3cea

16.1.5 show patches in the log

view details

push time in 17 hours

push eventarian/gikt

Arian

commit sha f417aba3d5e6dc50306f4563c65391c3668ce974

16.1.4 fix git log --no-decorate option

view details

push time in 2 days

push eventarian/gikt

Arian

commit sha 05fa39feb4edb31b9a9bc59cf7a4a7b1415d4de6

16.1 git log onelin format and abbreviate commit hash options

view details

Arian

commit sha 54fe9f6e6d0d1b5215e59cc644b0c914efb6682c

16.14 git log decorate options to show refs/branch names in the log

view details

push time in 2 days

push eventarian/gikt

Arian

commit sha f353e1a3dd6149d2f4e7aff4e43b8ab135a5682f

16.1.1 git log medium format

view details

push time in 16 days

push eventarian/gikt

Arian

commit sha d5fd95352ee53641d7cc3e1b453a58ae2f5d1aa5

Improve the Pager subprocess without writing to a file first The 'trick' is that it should communicate with the TTY. That's described in https://jonisalonen.com/2012/runtime-exec-with-unix-console-programs/ Process p = Runtime.getRuntime().exec(new String[]{"sh", "-c", "less -FRX >/dev/tty"}); var pw = new PrintWriter(p.getOutputStream()); for (int i = 0; i < 100; i++) { if (pw.checkError()) { break; } pw.println("hello " + i); } pw.close(); System.out.println("=> " + p.waitFor()); Also: https://stackoverflow.com/questions/29733038/running-interactive-shell-program-in-java It also seems that the `write` to the process `PrintStream` is blocking/buffered when writing a lot of data to the output stream into the `less` program, until it is read by less. That is good, for example when implementing `git log` so it won't read the entire database if it's not even read. By using `stdout.checkError()` it checks if the CommandContext.stdout is still open and that it makes sense to write to it. This is really helpful if the program is piped into another program, which doesn't need more data. And example of such a program is head: $ gikt paged --times 10000000 | head $ gikt log | grep "commit msg"

view details

push time in 21 days

push eventarian/gikt

Arian

commit sha f4f2ea48eb850b2fe5b32b4647e2b4ab74f4559d

15.5.3 Deleting branches Fixed PathExt.readText that kept the file open so it could not be deleted

view details

push time in 23 days

push eventarian/gikt

Arian

commit sha bc12e877782ebdc50971aceb4aea7393588e1123

Cleanup small kotlinx-cli stuff

view details

Arian

commit sha b98aee05fd679845b6a4c09ab712eb23d98fb13f

Add support for cli argument

view details

Arian

commit sha a3a719073d3a7dc6fb5a4ee3d77b7f610aff6dc7

15.5.2 Listing branches

view details

push time in 23 days

push eventarian/gikt

Arian

commit sha 733187312f8aadb51863ada398f4842535c391d0

Use kotlinx-cli for argument parsing

view details

push time in a month

push eventarian/gikt

Arian

commit sha bbc3ba9876a23e6d1e370a8c4f9f2d80b3787247

Cache key uses gradle.build.kts file

view details

push time in 2 months

push eventarian/gikt

Arian

commit sha 69c257b6c9e1fd6a7be95389c6a70ebb4445d725

Add CI caching of gradle dependencies

view details

push time in 2 months

push eventarian/gikt

Arian

commit sha 426a42780e342bae7aa4b48b39d08bbc0e08e819

Add gradle wrapper

view details

push time in 2 months

push eventarian/gikt

Arian

commit sha 834c5d037bae87821b30b2d523a266340f4a445a

Add github actions

view details

push time in 2 months

push eventarian/gikt

Arian

commit sha 469a114da44532a2171fbbca3b89654ece3142d0

Upgrade to kotlin 1.4.0

view details

Arian

commit sha 79b490498efa9ab509428dbf73bdca99ff743b0b

Update ktlint to 0.37.2

view details

push time in 2 months

startedminvws/nl-covid19-notification-app-android

started time in 2 months

push eventarian/gikt

Arian

commit sha f07e42abfabb0faec657403ff545ff1d76b03d50

Linking HEAD on checkout - symbolic references

view details

Arian

commit sha b5a49c62c3a165dcc89f42132eec29e3b531b95e

Printing checkout results

view details

Arian

commit sha fe69d21dbe0c1deb600b0d7a41a7dbe6ae3252aa

Set default 'main' branch on 'gikt init'

view details

push time in 2 months

create barncharian/gikt

branch : main

created branch time in 2 months

created repositoryarian/gikt

A Kotlin implementation of Building Git (https://shop.jcoglan.com/building-git/)

created time in 2 months

issue commentgraphql-java-kickstart/graphql-java-tools

Kotlin coroutine suspend fun resolver hangs when awaiting a data loader

Might it be because this example in the graphql-java docs: https://www.graphql-java.com/documentation/v15/batching/

        BatchLoader<String, Object> batchLoader = new BatchLoader<String, Object>() {
            @Override
            public CompletionStage<List<Object>> load(List<String> keys) {
                return CompletableFuture.completedFuture(getTheseCharacters(keys));
            }
        };

        DataLoader<String, Object> characterDataLoader = DataLoader.newDataLoader(batchLoader);

        // .... later in your data fetcher

        DataFetcher dataFetcherThatCallsTheDataLoader = new DataFetcher() {
            @Override
            public Object get(DataFetchingEnvironment environment) {
                //
                // Don't DO THIS!
                //
                return CompletableFuture.supplyAsync(() -> {
                    String argId = environment.getArgument("id");
                    DataLoader<String, Object> characterLoader = environment.getDataLoader("characterLoader");
                    return characterLoader.load(argId);
                });
            }
        };

and with MethodFieldResolver.kt:190

            environment.coroutineScope().future(options.coroutineContextProvider.provide()) {
                invokeSuspend(source, resolverMethod, args)?.transformWithGenericWrapper(environment)
            }

it might be equivalent to the supplyAsync example the docs tells us not to do?

arian

comment created time in 3 months

more