Ben Bader benjamin-bader Instacart Sunny San Francisco

benjamin-bader/aiosmtp 14

SMTP server for asyncio

benjamin-bader/cppmetrics 5

A zero-dependency c++14 port of Dropwizard Metrics.

benjamin-bader/cryptostream 1

Fast input- and output-stream encryption for Android

benjamin-bader/aiohttp 0

http client/server for asyncio (PEP-3156)

benjamin-bader/amanuensis 0

ah - MAN - you - EN - sis: Web Traffic Inspector

benjamin-bader/Amplitude-Android 0

Android SDK for Amplitude

benjamin-bader/android-job 0

Android library to handle jobs in the background.

benjamin-bader/appshell 0

Serving Beanshell over telnet, straight from your app


started time in a day


started time in 4 days


started time in 5 days


started time in 5 days

issue commentmicrosoft/thrifty

Generated code for union with field named 'result' does not compile

I think the simplest fix would be renaming the var to _internal_result or something (I think that naming is already used elsewhere). That does not eliminate the possibility of a clash but makes it unlikely enough. The second possibility (that would never fail) would be to prefix the val names with an underscore or something like that. Option 3 would be to inline the whole thing and get rid of the val completely. Do you have a preference? Mine would probably be 3, 2, 1


comment created time in 6 days


started time in 7 days


started time in 8 days


started time in 8 days

issue commentmicrosoft/thrifty

Generated code for union with field named 'result' does not compile

Example thrift file that produces uncompilable code:

namespace kt test.coro

union Union {
  1: i32 result;

comment created time in 8 days

issue openedmicrosoft/thrifty

Generated code for union with field named 'result' does not compile

(with builderless)

Because a val $name = [...] will be generated by generateReadCall and there exists a var result = [...] on the outer scope that will conflict with val $name if $name is 'result'.

See these two lines:

created time in 9 days

pull request commentmicrosoft/thrifty

Remove remark about JsonProtocol being unsupported

Codecov Report

Merging #403 (81bf07c) into master (8bf93ea) will not change coverage. The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff            @@
##             master     #403   +/-   ##
  Coverage     59.59%   59.59%           
  Complexity      784      784           
  Files            60       60           
  Lines          5475     5475           
  Branches        858      858           
  Hits           3263     3263           
  Misses         1965     1965           
  Partials        247      247           

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 8bf93ea...81bf07c. Read the comment docs.


comment created time in 9 days

PR opened microsoft/thrifty

Remove remark about JsonProtocol being unsupported

as it was added in 4c5e96b38dc44663f6b306dc79d0aacb2e5ed615 /

+1 -1

0 comment

1 changed file

pr created time in 9 days



started time in 12 days

issue openedKeepSafe/dexcount-gradle-plugin

The new count* tasks do not upload the Proguard mapping file to Crashlytics

After updating to 2.0.0 our stacktraces were no longer being deobfuscated in Crashlytics. I finally discovered the reason was that the new count[variant]DexMethods and count[variant]BundleDexMethods tasks don't invoke the uploadCrashlyticsMappingFile[variant] task. I was able to figure this out by including --profile and looking at the Task Execution section.

I also ran a --scan to get more details about the tasks. This is when I discovered that the new count* tasks depend on the minify* and sign* tasks, while the "normal" assemble* and bundle* tasks depend on the uploadCrashlyticsMappingFile* task (which depends on the minify* task) and sign* task. See screenshots below.

<details> <summary>Screenshot of bundle* task predecessors</summary>

Screenshot from 2020-11-13 16-29-28


<details> <summary>Screenshot of dexcount tasks predecessors</summary>

Screenshot from 2020-11-13 16-30-28 Screenshot from 2020-11-13 16-30-02


I took a peek at where these tasks are added here and here but I don't really understand enough about how the task dependencies work. I don't see anywhere where the new count* tasks (or rather the generate[variant]PackageTree tasks) explicitly depend on the minify* and sign* tasks, so I'm guessing that's not how it works. It seems to me that the count* tasks should just depend on the corresponding assemble* and bundle* task, which would then solve the problem, but again, I'm not sure if that's how it works.

It's unclear to me whether this is 100% an issue with the dexcount plugin or the Crashlytics plugin or a little of each. For example, is there something different the dexcount plugin could do to depend directly on the "normal" assemble* and bundle* tasks? Or should the Crashlytics plugin be injecting the uploadCrashlyticsMappingFile* appropriately so that the dexcount plugin would be invoking that instead of the minify* task?

As a workaround, I've found that the following works:

# Build an APK and count its method references
./gradlew assemble[variant] count[variant]DexMethods

# Build an AAB and count its method references
./gradlew bundle[variant] count[variant]BundleDexMethods

Doing this appears to only add the two additional dexcount tasks (generate[variant]PackageTree and count[variant]DexMethods) after the normal APK/AAB build process.

created time in 14 days


started time in 18 days


started time in 19 days


started time in 22 days


started time in a month


started time in a month

fork kaushikgopal/moshi

A modern JSON library for Kotlin and Java.

fork in a month


started time in a month

fork kaushikgopal/gruvbox

Retro groove color scheme for Vim

fork in a month


started time in 2 months


started time in 2 months


started time in 2 months

fork kaushikgopal/gruvbox-idea

A Gruvbox Theme for IDEA IDEs

fork in 2 months


started time in 2 months

fork kaushikgopal/iterm2-gruvbox

Gruvbox color scheme for iTerm 2.

fork in 2 months