profile
viewpoint
Kurt Alfred Kluever kluever Google, Inc. New York, NY

google/guice 9785

Guice (pronounced 'juice') is a lightweight dependency injection framework for Java 6 and above, brought to you by Google.

ben-manes/caffeine 8791

A high performance caching library for Java 8

Kotlin/kotlinx-datetime 654

KotlinX multiplatform date/time library

kluever/browsermob-proxy 1

A free utility to help web developers watch and manipulate network traffic from their AJAX applications.

kluever/checkstyle 0

Checkstyle is a development tool to help programmers write Java code that adheres to a coding standard. By default it supports the Google Java Style Guide and Sun Code Conventions, but is highly configurable. It can be invoked with an ANT task and a command line program.

kluever/copybara 0

Copybara: A tool for transforming and moving code between repositories.

kluever/DataflowJavaSDK 0

Google Cloud Dataflow provides a simple, powerful model for building both batch and streaming parallel data processing pipelines.

kluever/joda-time 0

Joda-Time is the widely used replacement for the Java date and time classes prior to Java SE 8.

kluever/junit 0

A programmer-oriented testing framework for Java.

kluever/mockito 0

Most popular Mocking framework for unit tests written in Java

issue commentgoogle/google-java-format

Before commit reformatting option in IntelliJ does invoke plugin

Also observing the same issue. The workaround with the codestyle.xml is nice, but the formatting can be wildly different. Especially regarding annotations (on single line, annotation indentation, ...) so the workaround is in the end not really sufficient as you still have to always apply the style either manually or via a maven plugin.

mqzry

comment created time in 6 minutes

issue commentgoogle/guice

Move Logger binding out to LoggerModule, so users can bind their own Loggers

Running into this years later...

gissuebot

comment created time in an hour

push eventKotlin/kotlinx-datetime

Ilya Gorbunov

commit sha 9214c8fec49a2c42ecf662160ca462df38433b1b

Advance development version

view details

Ilya Gorbunov

commit sha ee18d869480bbfb94904fe0327173b248505e2ea

Use Kotlin 1.4.0 release version for building

view details

Ilya Gorbunov

commit sha e1d841b99b932fc9729d6eefc1ead98db518bbd7

Add a changelog

view details

Ilya Gorbunov

commit sha 3076ba630b4e6ecd593cd94c5dc4312f0c7e9693

Add a note about enabling core library desugaring on Android Fixes #48, #64, #69

view details

Ilya Gorbunov

commit sha e6f720fa62a1d724fd56a03c27f8c0333542490b

Add a note about timezone DB dependency in Kotlin/JS Fixes #71

view details

Ilya Gorbunov

commit sha 11a936c636b037c8e88b2daf26785590755f5b82

Update library version in ReadMe

view details

Ilya Gorbunov

commit sha 9b4d47d29e69744b53d3d445171269944cc86d0a

Advance development version

view details

Ilya Gorbunov

commit sha db3b06303d18c673a4f8eaa5735fb0acbf91ae16

Configure new project file structure

view details

Ilya Gorbunov

commit sha 3af71d2e874592fc70282de441a09d024dcefb54

Restructure source files: move files

view details

Dmitry Khalanskiy

commit sha 65f51076ba905d1a2512c1bb85ad6570fa2ef7ce

Implement serialization of an Instant

view details

Dmitry Khalanskiy

commit sha 163fc632eeb50d6c89838e180036ee2114b20891

Implement some serializers in common code

view details

Dmitry Khalanskiy

commit sha adc7968468100dc907794b047e3b000f08d67354

Add rough measurements of serialization efficiency

view details

push time in an hour

issue openedgoogle/guava

Synchronized usage of Concurrent Multi Hash Map

While looking for a Concurrent Multi Hash Map, I found Multimaps.synchronizedMultimap() wrapper which seems to be what I'm looking for. However, the documentation gives an example which I'm not picturing a situation when this might be useful: https://github.com/google/guava/blob/4709fe4d50cf5249b9e5e40fb8917c610831c317/guava/src/com/google/common/collect/Multimaps.java#L566-L583

My take is that put operations will still be outside this synchronized block. Am I getting it wrong?

I went to look for valid usages in the test suite, but only found one that didn't help me much understanding it.

My use case is that I don't really care for non-deterministic behavior as long as it does not result in a fail operation (e.g., throw an Exception). Even if this might not be an issue, I am still curious about a scenario where this should be employed.

created time in 4 hours

issue commentgoogle/error-prone

RemoveUnusedImports is not working

Thanks @cushon this option worked for me. The only challenge is it is taking 2 passes

  1. In the first pass it removed my stale flag but imports are not imported.
  2. In the second pass it removed the unused imports.
cnarsimharaju

comment created time in 6 hours

PR opened Kotlin/kotlinx-datetime

Reviewers
Reimplement datetime for Darwin in pure Kotlin

Use of HMPP allows providing a source-set for all the Darwin targets, which means that it's possible to avoid building an explicit bridge between the pure Kotlin implementation and native bindings for the corresponding platforms.

Additionally, use of cinterop is overall optimized by running it conditionally depending on the target platform. This makes it possible to get rid of C++ preprocessor magic almost entirely.

+383 -459

0 comment

15 changed files

pr created time in 7 hours

pull request commentgoogle/jimfs

Adding ppc64le architecture support on travis-ci

Any views on the requested PR?

kishorkunal-raj

comment created time in 8 hours

issue closedben-manes/caffeine

Getting this error after an object is removed

Caused by: java.lang.LinkageError: com/github/benmanes/caffeine/cache/RemovalCause at com.github.benmanes.caffeine.cache.BoundedLocalCache.put(BoundedLocalCache.java:2029) ~[?:?] at com.github.benmanes.caffeine.cache.BoundedLocalCache.put(BoundedLocalCache.java:1953) ~[?:?] at com.github.benmanes.caffeine.cache.LocalManualCache.put(LocalManualCache.java:130) ~[?:?]

This error occurs after 5 minutes. cache = Caffeine.newBuilder() .expireAfterAccess(5, TimeUnit.MINUTES) .maximumSize(10_000).build();

It happens when i try to put an object into the cache that is similiar or equal to most likely one that has expired.

closed time in 9 hours

iarepandemonium

issue commentben-manes/caffeine

Getting this error after an object is removed

@ben-manes Yea I realized I am loading it as compile 2 seconds after I made this.

iarepandemonium

comment created time in 9 hours

issue commentben-manes/caffeine

Getting this error after an object is removed

LinkageError indicates a classloader problem, where the thread executing the work does not have access to that class.

By default, Caffeine delegates any work that can be async to ForkJoinPool.commonPool(). This can be overridden, e.g. to run on a calling thread you can use Caffeine.executor(Runnable::run). Most likely the FJP thread does not have the same classloader and is unable to perform the work. Either the library needs to be available via some scaffolding on your side, or you should direct the execution elsewhere. This is one of those annoying issues commonly found in application servers, like Tomcat, which use classloaders to isolate and load/unload multiple independent applications. That docker-style container idea isn't super relevant anymore, but leads to these types of linkage problems.

Regardless, it's not an issue with this library directly. Someone on your team is probably the expert on this type of setup and can advise. That, or merely disable async execution and move on. 😄

iarepandemonium

comment created time in 9 hours

issue openedben-manes/caffeine

Getting this error after an object is removed

Caused by: java.lang.LinkageError: com/github/benmanes/caffeine/cache/RemovalCause at com.github.benmanes.caffeine.cache.BoundedLocalCache.put(BoundedLocalCache.java:2029) ~[?:?] at com.github.benmanes.caffeine.cache.BoundedLocalCache.put(BoundedLocalCache.java:1953) ~[?:?] at com.github.benmanes.caffeine.cache.LocalManualCache.put(LocalManualCache.java:130) ~[?:?]

This error occurs after 5 minutes. cache = Caffeine.newBuilder() .expireAfterAccess(5, TimeUnit.MINUTES) .maximumSize(10_000).build();

It happens when i try to put an object into the cache that is similiar or equal to most likely one that has expired.

created time in 9 hours

issue commentben-manes/caffeine

Would caffeine benefit from a faster hashmap/hashset?

Caffeine is backed by ConcurrentHashMap, which is even more foundational! If improvements were made there, then it would benefit everyone including us.

ConcurrentHashMap is actually one of the jewels of Java and I am unaware of anything equivalently in quality in any other language. Rust lacks a similarly high-quality concurrent hash table, with DashMap's experimental branch being the leading candidate.

The JVM has limitations which favor its current approaches. First it is not yet able to exploit SIMD or TSX in user code, though the SIMD is actively being worked on and I could image TSX being used internally by lock primitives. Second is the lack of value types which results in a sparse graph of objects rather than a flat array of data. That too is in the works. When these two land then maybe there will be improvements to the core data structures. Of course there are other challenges, like concurrency, which can favor alternative algorithms than Rust's.

You would need to ask on the core-libs-dev what their thoughts are, and we'll gain their improvements transparently with JDK upgrades.

LifeIsStrange

comment created time in 19 hours

issue openedben-manes/caffeine

Would caffeine benefit from a faster hashmap/hashset?

Disclaimer: I am not at all an expert in cache systems but as caffeine performance is foundational to a lot of software, I was wondering whether the data structures it uses are optimal? There is a recent, new generation of hashmaps/sets that is significantly faster than the existing ones https://github.com/rust-lang/hashbrown The same can be said about hashing algorithms. Finally, could caffeine benefits from SIMD and TSX ?

created time in 19 hours

issue commentgoogle/guava

EventBus: Add options to enable ImmediateDispatcher

Actually I also found issue #3406 related to this problem now. The most problematic thing is only, that the abstract class Dispatcher is package visible. If the implementation of ImmediateDispatchercan be used or not, is not that important because the code is trivial and can easily be reimplemented by extending Dispatcher. I could also create a Pull request to fix this issue if this is OK and is accepted.

ckloner

comment created time in 19 hours

issue openedgoogle/guava

EventBus: Add options to enable ImmediateDispatcher

This ticket is almost the same as #2986 but deals with the EventBus instead of the AsycEventBus object.

I am using the EventBus object not as global object (static or singleton) but on a single instance per user session. In this scenario, instantiating for each EventBus instance an instance of PerThreadQueuedDispatcher with all the ThreadLocal variables does not make much sense. It would be better to have the possibility to use ImmediateDispatcher.INSTANCE by making Dispatcher.immediate() public - as well as changing the package visibility of the class Dispatcher to public. Changing the package visible constructor EventBus(String,Executor,Dispatcher,SubscriberExceptionHandler) would enable much more flexibility.

created time in 20 hours

issue commentgoogle/guava

Enable multiple Finalizers for FinalizableReferenceQueue

The data-structure of the Graph is given, we use the BinaryResource of the Eclipse Modelling Framework. But nevertheless thanks for the link, it looks interesting. Maybe it provides some good ideas (Since it seems to be abandon, it is probably not a good idea to use it directly).

Yes, that sounds reasonable. I'll have to think about it again and hopefully find a better solution. Thanks a lot for your help.

HannesWell

comment created time in a day

created repositoryronshapiro/otzar-laazei-rashi-dups

created time in a day

issue closedgoogle/compile-testing

[feature request] support assert generate multi source file.

My annotation processor generate multi file for a annotationed class. If I use com.google.testing.compile.CompilationSubject#generatedSourceFile to test it. It said:

expected to generate file: /io/github/vipcxj/beanknife/tests/otherbeans/TestBean1Meta.java
in location              : SOURCE_OUTPUT
it generated:
  /SOURCE_OUTPUT/io/github/vipcxj/beanKnfie/tests/otherbeans/TestBean1Meta.java
  /SOURCE_OUTPUT/io/github/vipcxj/beanknife/tests/beans/TestBean1Meta.java
  /SOURCE_OUTPUT/io/github/vipcxj/beanKnfie/tests/otherbeans/ViewOfTestBean1.java
  /SOURCE_OUTPUT/io/github/vipcxj/beanknife/tests/beans/ViewOfTestBean1.java

	at io.github.vipcxj.beanknife.tests.ViewMetaProcessorTest.testViewMetaCase(ViewMetaProcessorTest.java:50)
	at io.github.vipcxj.beanknife.tests.ViewMetaProcessorTest.testBean1(ViewMetaProcessorTest.java:18)

And I can't find a method to support this use case.

closed time in a day

vipcxj

issue commentgoogle/compile-testing

[feature request] support assert generate multi source file.

My fault, beanKnfie is not equal to beanknife

vipcxj

comment created time in a day

push eventKotlin/kotlinx-datetime

Ilya Gorbunov

commit sha 9214c8fec49a2c42ecf662160ca462df38433b1b

Advance development version

view details

Ilya Gorbunov

commit sha ee18d869480bbfb94904fe0327173b248505e2ea

Use Kotlin 1.4.0 release version for building

view details

Ilya Gorbunov

commit sha e1d841b99b932fc9729d6eefc1ead98db518bbd7

Add a changelog

view details

Ilya Gorbunov

commit sha 3076ba630b4e6ecd593cd94c5dc4312f0c7e9693

Add a note about enabling core library desugaring on Android Fixes #48, #64, #69

view details

Ilya Gorbunov

commit sha e6f720fa62a1d724fd56a03c27f8c0333542490b

Add a note about timezone DB dependency in Kotlin/JS Fixes #71

view details

Ilya Gorbunov

commit sha 11a936c636b037c8e88b2daf26785590755f5b82

Update library version in ReadMe

view details

Ilya Gorbunov

commit sha 9b4d47d29e69744b53d3d445171269944cc86d0a

Advance development version

view details

Ilya Gorbunov

commit sha db3b06303d18c673a4f8eaa5735fb0acbf91ae16

Configure new project file structure

view details

Ilya Gorbunov

commit sha 3af71d2e874592fc70282de441a09d024dcefb54

Restructure source files: move files

view details

Dmitry Khalanskiy

commit sha 5203f3c61afbf0dc02d84d60f05503ed7880f1a4

Native (all): improve build rules Now the builds for different native targets are decoupled and it's possible to remove the workarounds that were needed to combine at times incompatible requirements imposed by different platforms.

view details

Dmitry Khalanskiy

commit sha 8db72c1f86150cb7751f21ed9dbbedd7c77753ff

Native: refactor to better utilize HMPP The boundaries between the common native code and the platform-specific implementation is now less ad-hoc.

view details

Dmitry Khalanskiy

commit sha ce239b14800433cbad6d4a460a3346ec3c4e99c0

Native: make `is ZoneOffset` check more consistent across platforms Before, some names mapping to fixed-offset timezones were parsed as `TimeZone` in Java and JS implementations, but `ZoneOffset` on Native.

view details

Dmitry Khalanskiy

commit sha 2ab5ed3bb023a7903c02bb5fb7fe7a49d4938d55

Native (Darwin): fix tests for converters Darwin calls the 0-offset timezones "GMT" while we preserve the name passed by the user.

view details

Dmitry Khalanskiy

commit sha 23cfe5741b281dbd137b061495ef44e1c117e935

Native (Darwin): remove Objective-C++ in favor of Kotlin The code that was written in Objective-C++ is now moved more or less verbatim to Kotlin. This is just the first stage of the port, as some things can be further simplified given how the boundaries between the platforms are no longer an issue.

view details

push time in a day

issue openedgoogle/compile-testing

[feature request] support assert generate multi source file.

My annotation processor generate multi file for a annotationed class. If I use com.google.testing.compile.CompilationSubject#generatedSourceFile to test it. It said:

expected to generate file: /io/github/vipcxj/beanknife/tests/otherbeans/TestBean1Meta.java
in location              : SOURCE_OUTPUT
it generated:
  /SOURCE_OUTPUT/io/github/vipcxj/beanKnfie/tests/otherbeans/TestBean1Meta.java
  /SOURCE_OUTPUT/io/github/vipcxj/beanknife/tests/beans/TestBean1Meta.java
  /SOURCE_OUTPUT/io/github/vipcxj/beanKnfie/tests/otherbeans/ViewOfTestBean1.java
  /SOURCE_OUTPUT/io/github/vipcxj/beanknife/tests/beans/ViewOfTestBean1.java

	at io.github.vipcxj.beanknife.tests.ViewMetaProcessorTest.testViewMetaCase(ViewMetaProcessorTest.java:50)
	at io.github.vipcxj.beanknife.tests.ViewMetaProcessorTest.testBean1(ViewMetaProcessorTest.java:18)

And I can't find a method to support this use case.

created time in a day

push eventgoogle/error-prone

travis-ci

commit sha 272e6c690e772bce545241be5335ebb73a6d7c32

Latest docs on successful travis build 2817 auto-pushed to gh-pages

view details

push time in a day

delete branch google/error-prone

delete branch : test_343657126

delete time in a day

PR merged google/error-prone

Add a new bug checker to suggest using immutable collection when the collection is not mutated. cla: yes

Add a new bug checker to suggest using immutable collection when the collection is not mutated.

For now only tacking list and limiting to cases where mutable generic type is initialized with an immutable type.

+216 -0

0 comment

3 changed files

copybara-service[bot]

pr closed time in a day

push eventgoogle/error-prone

Ashish Kedia

commit sha aeafd79184b5ef0f8f8bd43980f2c21369449845

Add a new bug checker to suggest using immutable collection when the collection is not mutated. For now only tacking list and limiting to cases where mutable generic type is initialized with an immutable type. PiperOrigin-RevId: 344389214

view details

push time in a day

push eventgoogle/error-prone

Ashish Kedia

commit sha aeafd79184b5ef0f8f8bd43980f2c21369449845

Add a new bug checker to suggest using immutable collection when the collection is not mutated. For now only tacking list and limiting to cases where mutable generic type is initialized with an immutable type. PiperOrigin-RevId: 344389214

view details

push time in a day

create barnchgoogle/error-prone

branch : test_343657126

created branch time in a day

PR opened google/error-prone

Add a new bug checker to suggest using immutable collection when the collection is not mutated.

Add a new bug checker to suggest using immutable collection when the collection is not mutated.

For now only tacking list and limiting to cases where mutable generic type is initialized with an immutable type.

+216 -0

0 comment

3 changed files

pr created time in a day

startedmikegwf1/-Rabbinic_Citation_Network

started time in a day

startedesh4/CustomMikraotGedolot

started time in a day

more