Release either 0.8.3 or 0.9.0

Looks like we've got some incompatibilities.
algebird (develop)]$ ./sbt "mima-report-binary-issues"
[info] Loading global plugins from /Users/alexlevenson/.sbt/0.13/plugins
[info] Loading project definition from /Users/alexlevenson/workspace/algebird/project
[info] Updating {file:/Users/alexlevenson/workspace/algebird/project/}algebird-build...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] downloading http://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/me.lessis/cappi/scala_2.10/sbt_0.13/0.1.1/jars/cappi.jar ...
[info] 	[SUCCESSFUL ] me.lessis#cappi;0.1.1!cappi.jar (1134ms)
[info] Done updating.
[info] Compiling 4 Scala sources to /Users/alexlevenson/workspace/algebird/project/target/scala-2.10/sbt-0.13/classes...
[warn] there were 9 deprecation warning(s); re-run with -deprecation for details
[warn] there were 2 feature warning(s); re-run with -feature for details
[warn] two warnings found
[info] Set current project to algebird (in build file:/Users/alexlevenson/workspace/algebird/)
[info] Formatting 7 Scala sources {file:/Users/alexlevenson/workspace/algebird/}algebird-test(compile) ...
[info] Formatting 1 Scala source {file:/Users/alexlevenson/workspace/algebird/}algebird-bijection(compile) ...
[info] Formatting 14 Scala sources {file:/Users/alexlevenson/workspace/algebird/}algebird-util(compile) ...
[info] Formatting 67 Scala sources {file:/Users/alexlevenson/workspace/algebird/}algebird-core(compile) ...
[info] Resolving com.googlecode.javaewah#JavaEWAH;0.6.6 ...
[info] Updating {file:/Users/alexlevenson/workspace/algebird/}algebird-core...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[info] Updating {file:/Users/alexlevenson/workspace/algebird/}algebird...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[info] Resolving com.twitter#algebird-test_2.10;0.8.0 ...
[info] Updating {file:/Users/alexlevenson/workspace/algebird/}algebird-test...
[info] Resolving org.scala-lang#scala-reflect;2.10.4 ...
[info] downloading http://repo1.maven.org/maven2/com/twitter/algebird-test_2.10/0.8.0/algebird-test_2.10-0.8.0.jar ...
[info] 	[SUCCESSFUL ] com.twitter#algebird-test_2.10;0.8.0!algebird-test_2.10.jar (514ms)
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[info] Resolving com.twitter#algebird-util_2.10;0.8.0 ...
[info] Updating {file:/Users/alexlevenson/workspace/algebird/}algebird-bijection...
[info] Resolving com.twitter#util-core_2.10;6.20.0 ...
[info] downloading http://repo1.maven.org/maven2/com/twitter/algebird-util_2.10/0.8.0/algebird-util_2.10-0.8.0.jar ...
[info] 	[SUCCESSFUL ] com.twitter#algebird-util_2.10;0.8.0!algebird-util_2.10.jar (413ms)
[info] Updating {file:/Users/alexlevenson/workspace/algebird/}algebird-util...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[info] Resolving com.twitter#algebird-bijection_2.10;0.8.0 ...
[info] algebird: previous-artifact not set, not analyzing binary compatibility
[info] algebird: found 0 potential binary incompatibilities
[info] Resolving com.twitter#bijection-core_2.10;0.7.0 ...
[info] downloading http://repo1.maven.org/maven2/com/twitter/algebird-bijection_2.10/0.8.0/algebird-bijection_2.10-0.8.0.jar ...
[info] 	[SUCCESSFUL ] com.twitter#algebird-bijection_2.10;0.8.0!algebird-bijection_2.10.jar (419ms)
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[info] Compiling 68 Scala sources and 4 Java sources to /Users/alexlevenson/workspace/algebird/algebird-core/target/scala-2.10/classes...
[warn] warning: [options] bootstrap class path not set in conjunction with -source 1.6
[warn] 1 warning
[info] Compiling 14 Scala sources to /Users/alexlevenson/workspace/algebird/algebird-util/target/scala-2.10/classes...
[info] Compiling 1 Scala source to /Users/alexlevenson/workspace/algebird/algebird-bijection/target/scala-2.10/classes...
[info] Compiling 7 Scala sources to /Users/alexlevenson/workspace/algebird/algebird-test/target/scala-2.10/classes...
[info] algebird-bijection: found 0 potential binary incompatibilities
[info] algebird-core: found 99 potential binary incompatibilities
[error]  * method heavyHittersPct()Double in class com.twitter.algebird.CMSZero does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.CMSZero.heavyHittersPct")
[error]  * method heavyHitters()scala.collection.immutable.Set in class com.twitter.algebird.CMSZero does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.CMSZero.heavyHitters")
[error]  * method frequency(Long)com.twitter.algebird.Approximate in class com.twitter.algebird.CMSZero's type has changed; was (Long)com.twitter.algebird.Approximate, is now: (java.lang.Object)com.twitter.algebird.Approximate
[error]    filter with: ProblemFilters.exclude[IncompatibleMethTypeProblem]("com.twitter.algebird.CMSZero.frequency")
[error]  * method copy(com.twitter.algebird.CMSParams)com.twitter.algebird.CMSZero in class com.twitter.algebird.CMSZero does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.CMSZero.copy")
[error]  * method this(com.twitter.algebird.CMSParams)Unit in class com.twitter.algebird.CMSZero does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.CMSZero.this")
[error]  * method sizeAggregator(Int)com.twitter.algebird.Aggregator in object com.twitter.algebird.HyperLogLogAggregator has now a different result type; was: com.twitter.algebird.Aggregator, is now: com.twitter.algebird.MonoidAggregator
[error]    filter with: ProblemFilters.exclude[IncompatibleResultTypeProblem]("com.twitter.algebird.HyperLogLogAggregator.sizeAggregator")
[error]  * the type hierarchy of object com.twitter.algebird.CMSParams has changed in new version. Missing types {scala.runtime.AbstractFunction4}
[error]    filter with: ProblemFilters.exclude[MissingTypesProblem]("com.twitter.algebird.CMSParams$")
[error]  * method apply(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object)java.lang.Object in object com.twitter.algebird.CMSParams does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.CMSParams.apply")
[error]  * method apply(scala.collection.Seq,Double,Double,Double)com.twitter.algebird.CMSParams in object com.twitter.algebird.CMSParams does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.CMSParams.apply")
[error]  * method copy(Long,Long)com.twitter.algebird.HeavyHitter in class com.twitter.algebird.HeavyHitter's type has changed; was (Long,Long)com.twitter.algebird.HeavyHitter, is now: (java.lang.Object,Long)com.twitter.algebird.HeavyHitter
[error]    filter with: ProblemFilters.exclude[IncompatibleMethTypeProblem]("com.twitter.algebird.HeavyHitter.copy")
[error]  * synthetic method copy$default$1()Long in class com.twitter.algebird.HeavyHitter has now a different result type; was: Long, is now: java.lang.Object
[error]    filter with: ProblemFilters.exclude[IncompatibleResultTypeProblem]("com.twitter.algebird.HeavyHitter.copy$default$1")
[error]  * method item()Long in class com.twitter.algebird.HeavyHitter has now a different result type; was: Long, is now: java.lang.Object
[error]    filter with: ProblemFilters.exclude[IncompatibleResultTypeProblem]("com.twitter.algebird.HeavyHitter.item")
[error]  * method this(Long,Long)Unit in class com.twitter.algebird.HeavyHitter's type has changed; was (Long,Long)Unit, is now: (java.lang.Object,Long)Unit
[error]    filter with: ProblemFilters.exclude[IncompatibleMethTypeProblem]("com.twitter.algebird.HeavyHitter.this")
[error]  * method lift()com.twitter.algebird.MonoidAggregator in trait com.twitter.algebird.Aggregator does not have a correspondent in old version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.Aggregator.lift")
[error]  * method join(com.twitter.algebird.Aggregator)com.twitter.algebird.Aggregator in trait com.twitter.algebird.Aggregator does not have a correspondent in old version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.Aggregator.join")
[error]  * method applyOption(scala.collection.TraversableOnce)scala.Option in trait com.twitter.algebird.Aggregator does not have a correspondent in old version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.Aggregator.applyOption")
[error]  * method toFold()com.twitter.algebird.Fold in trait com.twitter.algebird.Aggregator does not have a correspondent in old version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.Aggregator.toFold")
[error]  * method zip(com.twitter.algebird.Aggregator)com.twitter.algebird.Aggregator in trait com.twitter.algebird.Aggregator does not have a correspondent in old version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.Aggregator.zip")
[error]  * method reduceOption(scala.collection.TraversableOnce)scala.Option in trait com.twitter.algebird.Aggregator does not have a correspondent in old version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.Aggregator.reduceOption")
[error]  * method applyCumulatively(scala.collection.TraversableOnce,scala.collection.generic.CanBuildFrom)java.lang.Object in trait com.twitter.algebird.Aggregator does not have a correspondent in old version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.Aggregator.applyCumulatively")
[error]  * method cumulativeIterator(scala.collection.Iterator)scala.collection.Iterator in trait com.twitter.algebird.Aggregator does not have a correspondent in old version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.Aggregator.cumulativeIterator")
[error]  * method semigroup()com.twitter.algebird.Semigroup in trait com.twitter.algebird.Aggregator does not have a correspondent in old version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.Aggregator.semigroup")
[error]  * the type hierarchy of object com.twitter.algebird.CMSItem has changed in new version. Missing types {scala.runtime.AbstractFunction2}
[error]    filter with: ProblemFilters.exclude[MissingTypesProblem]("com.twitter.algebird.CMSItem$")
[error]  * method apply(java.lang.Object,java.lang.Object)java.lang.Object in object com.twitter.algebird.CMSItem does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.CMSItem.apply")
[error]  * method apply(Long,com.twitter.algebird.CMSParams)com.twitter.algebird.CMSItem in object com.twitter.algebird.CMSItem does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.CMSItem.apply")
[error]  * synthetic method aggregator$default$4()Double in object com.twitter.algebird.CMS does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.CMS.aggregator$default$4")
[error]  * method eps(Int)Double in object com.twitter.algebird.CMS does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.CMS.eps")
[error]  * method delta(Int)Double in object com.twitter.algebird.CMS does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.CMS.delta")
[error]  * method aggregator(Int,Int,Int,Double)com.twitter.algebird.CountMinSketchAggregator in object com.twitter.algebird.CMS does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.CMS.aggregator")
[error]  * method aggregator(Double,Double,Int,Double)com.twitter.algebird.CountMinSketchAggregator in object com.twitter.algebird.CMS does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.CMS.aggregator")
[error]  * method width(Double)Int in object com.twitter.algebird.CMS does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.CMS.width")
[error]  * method monoid(Int,Int,Int,Double)com.twitter.algebird.CountMinSketchMonoid in object com.twitter.algebird.CMS does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.CMS.monoid")
[error]  * method monoid(Double,Double,Int,Double)com.twitter.algebird.CountMinSketchMonoid in object com.twitter.algebird.CMS does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.CMS.monoid")
[error]  * method depth(Double)Int in object com.twitter.algebird.CMS does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.CMS.depth")
[error]  * synthetic method monoid$default$4()Double in object com.twitter.algebird.CMS does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.CMS.monoid$default$4")
[error]  * method heavyHittersPct()Double in class com.twitter.algebird.CMSItem does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.CMSItem.heavyHittersPct")
[error]  * method heavyHitters()scala.collection.immutable.Set in class com.twitter.algebird.CMSItem does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.CMSItem.heavyHitters")
[error]  * method frequency(Long)com.twitter.algebird.Approximate in class com.twitter.algebird.CMSItem's type has changed; was (Long)com.twitter.algebird.Approximate, is now: (java.lang.Object)com.twitter.algebird.Approximate
[error]    filter with: ProblemFilters.exclude[IncompatibleMethTypeProblem]("com.twitter.algebird.CMSItem.frequency")
[error]  * method copy(Long,com.twitter.algebird.CMSParams)com.twitter.algebird.CMSItem in class com.twitter.algebird.CMSItem does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.CMSItem.copy")
[error]  * synthetic method copy$default$1()Long in class com.twitter.algebird.CMSItem has now a different result type; was: Long, is now: java.lang.Object
[error]    filter with: ProblemFilters.exclude[IncompatibleResultTypeProblem]("com.twitter.algebird.CMSItem.copy$default$1")
[error]  * method item()Long in class com.twitter.algebird.CMSItem has now a different result type; was: Long, is now: java.lang.Object
[error]    filter with: ProblemFilters.exclude[IncompatibleResultTypeProblem]("com.twitter.algebird.CMSItem.item")
[error]  * method this(Long,com.twitter.algebird.CMSParams)Unit in class com.twitter.algebird.CMSItem's type has changed; was (Long,com.twitter.algebird.CMSParams)Unit, is now: (com.twitter.algebird.CMSParams,scala.math.Ordering)Unit
[error]    filter with: ProblemFilters.exclude[IncompatibleMethTypeProblem]("com.twitter.algebird.CMSItem.this")
[error]  * method innerProduct(com.twitter.algebird.CMS)com.twitter.algebird.Approximate in class com.twitter.algebird.CMS's type has changed; was (com.twitter.algebird.CMS)com.twitter.algebird.Approximate, is now: (java.lang.Object)com.twitter.algebird.Approximate
[error]    filter with: ProblemFilters.exclude[IncompatibleMethTypeProblem]("com.twitter.algebird.CMS.innerProduct")
[error]  * abstract method heavyHittersPct()Double in class com.twitter.algebird.CMS does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.CMS.heavyHittersPct")
[error]  * method ++(com.twitter.algebird.CMS)com.twitter.algebird.CMS in class com.twitter.algebird.CMS's type has changed; was (com.twitter.algebird.CMS)com.twitter.algebird.CMS, is now: (java.lang.Object)java.lang.Object
[error]    filter with: ProblemFilters.exclude[IncompatibleMethTypeProblem]("com.twitter.algebird.CMS.++")
[error]  * abstract method heavyHitters()scala.collection.immutable.Set in class com.twitter.algebird.CMS does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.CMS.heavyHitters")
[error]  * method frequency(Long)com.twitter.algebird.Approximate in class com.twitter.algebird.CMS's type has changed; was (Long)com.twitter.algebird.Approximate, is now: (java.lang.Object)com.twitter.algebird.Approximate
[error]    filter with: ProblemFilters.exclude[IncompatibleMethTypeProblem]("com.twitter.algebird.CMS.frequency")
[error]  * method this()Unit in class com.twitter.algebird.CMS does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.CMS.this")
[error]  * method join(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object)java.lang.Object in trait com.twitter.algebird.Applicative does not have a correspondent in old version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.Applicative.join")
[error]  * method join(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object)java.lang.Object in trait com.twitter.algebird.Applicative does not have a correspondent in old version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.Applicative.join")
[error]  * method join(java.lang.Object,java.lang.Object,java.lang.Object)java.lang.Object in trait com.twitter.algebird.Applicative does not have a correspondent in old version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.Applicative.join")
[error]  * the type hierarchy of object com.twitter.algebird.CMSHash has changed in new version. Missing types {scala.runtime.AbstractFunction3}
[error]    filter with: ProblemFilters.exclude[MissingTypesProblem]("com.twitter.algebird.CMSHash$")
[error]  * method apply(java.lang.Object,java.lang.Object,java.lang.Object)java.lang.Object in object com.twitter.algebird.CMSHash does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.CMSHash.apply")
[error]  * method apply(Int,Int,Int)com.twitter.algebird.CMSHash in object com.twitter.algebird.CMSHash does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.CMSHash.apply")
[error]  * method copy(scala.collection.immutable.SortedSet)com.twitter.algebird.HeavyHitters in class com.twitter.algebird.HeavyHitters does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.HeavyHitters.copy")
[error]  * method dropCountsBelow(Double)com.twitter.algebird.HeavyHitters in class com.twitter.algebird.HeavyHitters does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.HeavyHitters.dropCountsBelow")
[error]  * method this(scala.collection.immutable.SortedSet)Unit in class com.twitter.algebird.HeavyHitters does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.HeavyHitters.this")
[error]  * the type hierarchy of object com.twitter.algebird.CMSZero has changed in new version. Missing types {scala.runtime.AbstractFunction1}
[error]    filter with: ProblemFilters.exclude[MissingTypesProblem]("com.twitter.algebird.CMSZero$")
[error]  * method apply(java.lang.Object)java.lang.Object in object com.twitter.algebird.CMSZero does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.CMSZero.apply")
[error]  * method apply(com.twitter.algebird.CMSParams)com.twitter.algebird.CMSZero in object com.twitter.algebird.CMSZero does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.CMSZero.apply")
[error]  * method heavyHittersPct()Double in class com.twitter.algebird.CMSParams does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.CMSParams.heavyHittersPct")
[error]  * method copy(scala.collection.Seq,Double,Double,Double)com.twitter.algebird.CMSParams in class com.twitter.algebird.CMSParams does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.CMSParams.copy")
[error]  * synthetic method copy$default$4()Double in class com.twitter.algebird.CMSParams does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.CMSParams.copy$default$4")
[error]  * method this(scala.collection.Seq,Double,Double,Double)Unit in class com.twitter.algebird.CMSParams does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.CMSParams.this")
[error]  * method hhs()com.twitter.algebird.HeavyHitters in class com.twitter.algebird.CMSInstance does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.CMSInstance.hhs")
[error]  * method heavyHittersPct()Double in class com.twitter.algebird.CMSInstance does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.CMSInstance.heavyHittersPct")
[error]  * method countsTable()com.twitter.algebird.CMSCountsTable in class com.twitter.algebird.CMSInstance has now a different result type; was: com.twitter.algebird.CMSCountsTable, is now: com.twitter.algebird.CMSInstance#CountsTable
[error]    filter with: ProblemFilters.exclude[IncompatibleResultTypeProblem]("com.twitter.algebird.CMSInstance.countsTable")
[error]  * method heavyHitters()scala.collection.immutable.Set in class com.twitter.algebird.CMSInstance does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.CMSInstance.heavyHitters")
[error]  * method frequency(Long)com.twitter.algebird.Approximate in class com.twitter.algebird.CMSInstance's type has changed; was (Long)com.twitter.algebird.Approximate, is now: (java.lang.Object)com.twitter.algebird.Approximate
[error]    filter with: ProblemFilters.exclude[IncompatibleMethTypeProblem]("com.twitter.algebird.CMSInstance.frequency")
[error]  * method copy(com.twitter.algebird.CMSCountsTable,Long,com.twitter.algebird.HeavyHitters,com.twitter.algebird.CMSParams)com.twitter.algebird.CMSInstance in class com.twitter.algebird.CMSInstance's type has changed; was (com.twitter.algebird.CMSCountsTable,Long,com.twitter.algebird.HeavyHitters,com.twitter.algebird.CMSParams)com.twitter.algebird.CMSInstance, is now: (com.twitter.algebird.CMSInstance#CountsTable,Long,com.twitter.algebird.CMSParams,scala.math.Ordering)com.twitter.algebird.CMSInstance
[error]    filter with: ProblemFilters.exclude[IncompatibleMethTypeProblem]("com.twitter.algebird.CMSInstance.copy")
[error]  * method +(Long,Long)com.twitter.algebird.CMSInstance in class com.twitter.algebird.CMSInstance's type has changed; was (Long,Long)com.twitter.algebird.CMSInstance, is now: (java.lang.Object,Long)java.lang.Object
[error]    filter with: ProblemFilters.exclude[IncompatibleMethTypeProblem]("com.twitter.algebird.CMSInstance.+")
[error]  * method +(Long)com.twitter.algebird.CMSInstance in class com.twitter.algebird.CMSInstance's type has changed; was (Long)com.twitter.algebird.CMSInstance, is now: (java.lang.Object)java.lang.Object
[error]    filter with: ProblemFilters.exclude[IncompatibleMethTypeProblem]("com.twitter.algebird.CMSInstance.+")
[error]  * synthetic method copy$default$1()com.twitter.algebird.CMSCountsTable in class com.twitter.algebird.CMSInstance has now a different result type; was: com.twitter.algebird.CMSCountsTable, is now: com.twitter.algebird.CMSInstance#CountsTable
[error]    filter with: ProblemFilters.exclude[IncompatibleResultTypeProblem]("com.twitter.algebird.CMSInstance.copy$default$1")
[error]  * synthetic method copy$default$4()com.twitter.algebird.CMSParams in class com.twitter.algebird.CMSInstance does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.CMSInstance.copy$default$4")
[error]  * synthetic method copy$default$3()com.twitter.algebird.HeavyHitters in class com.twitter.algebird.CMSInstance has now a different result type; was: com.twitter.algebird.HeavyHitters, is now: com.twitter.algebird.CMSParams
[error]    filter with: ProblemFilters.exclude[IncompatibleResultTypeProblem]("com.twitter.algebird.CMSInstance.copy$default$3")
[error]  * method this(com.twitter.algebird.CMSCountsTable,Long,com.twitter.algebird.HeavyHitters,com.twitter.algebird.CMSParams)Unit in class com.twitter.algebird.CMSInstance's type has changed; was (com.twitter.algebird.CMSCountsTable,Long,com.twitter.algebird.HeavyHitters,com.twitter.algebird.CMSParams)Unit, is now: (com.twitter.algebird.CMSInstance#CountsTable,Long,com.twitter.algebird.CMSParams,scala.math.Ordering)Unit
[error]    filter with: ProblemFilters.exclude[IncompatibleMethTypeProblem]("com.twitter.algebird.CMSInstance.this")
[error]  * method PRIME_MODULUS()Long in class com.twitter.algebird.CMSHash does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.CMSHash.PRIME_MODULUS")
[error]  * method copy(Int,Int,Int)com.twitter.algebird.CMSHash in class com.twitter.algebird.CMSHash does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.CMSHash.copy")
[error]  * method apply(Long)Int in class com.twitter.algebird.CMSHash's type has changed; was (Long)Int, is now: (java.lang.Object)Int
[error]    filter with: ProblemFilters.exclude[IncompatibleMethTypeProblem]("com.twitter.algebird.CMSHash.apply")
[error]  * method this(Int,Int,Int)Unit in class com.twitter.algebird.CMSHash does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.CMSHash.this")
[error]  * method apply(com.twitter.algebird.CMSCountsTable,Long,com.twitter.algebird.HeavyHitters,com.twitter.algebird.CMSParams)com.twitter.algebird.CMSInstance in object com.twitter.algebird.CMSInstance's type has changed; was (com.twitter.algebird.CMSCountsTable,Long,com.twitter.algebird.HeavyHitters,com.twitter.algebird.CMSParams)com.twitter.algebird.CMSInstance, is now: (com.twitter.algebird.CMSInstance#CountsTable,Long,com.twitter.algebird.CMSParams,scala.math.Ordering)com.twitter.algebird.CMSInstance
[error]    filter with: ProblemFilters.exclude[IncompatibleMethTypeProblem]("com.twitter.algebird.CMSInstance.apply")
[error]  * method apply(com.twitter.algebird.CMSParams)com.twitter.algebird.CMSInstance in object com.twitter.algebird.CMSInstance does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.CMSInstance.apply")
[error]  * classes mixing com.twitter.algebird.MonoidAggregator needs to update body of method reduce(java.lang.Object,java.lang.Object)java.lang.Object
[error]    filter with: ProblemFilters.exclude[UpdateForwarderBodyProblem]("com.twitter.algebird.MonoidAggregator.reduce")
[error]  * method sumBefore()com.twitter.algebird.MonoidAggregator in trait com.twitter.algebird.MonoidAggregator does not have a correspondent in old version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.MonoidAggregator.sumBefore")
[error]  * method composePrepare(scala.Function1)com.twitter.algebird.MonoidAggregator in trait com.twitter.algebird.MonoidAggregator does not have a correspondent in old version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.MonoidAggregator.composePrepare")
[error]  * method semigroup()com.twitter.algebird.Monoid in trait com.twitter.algebird.MonoidAggregator does not have a correspondent in old version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.MonoidAggregator.semigroup")
[error]  * method andThenPresent(scala.Function1)com.twitter.algebird.MonoidAggregator in trait com.twitter.algebird.MonoidAggregator does not have a correspondent in old version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.MonoidAggregator.andThenPresent")
[error]  * classes mixing com.twitter.algebird.RingAggregator needs to update body of method reduce(scala.collection.TraversableOnce)java.lang.Object
[error]    filter with: ProblemFilters.exclude[UpdateForwarderBodyProblem]("com.twitter.algebird.RingAggregator.reduce")
[error]  * classes mixing com.twitter.algebird.RingAggregator needs to update body of method reduce(java.lang.Object,java.lang.Object)java.lang.Object
[error]    filter with: ProblemFilters.exclude[UpdateForwarderBodyProblem]("com.twitter.algebird.RingAggregator.reduce")
[error]  * classes mixing com.twitter.algebird.RingAggregator needs to update body of method appendAll(scala.collection.TraversableOnce)java.lang.Object
[error]    filter with: ProblemFilters.exclude[UpdateForwarderBodyProblem]("com.twitter.algebird.RingAggregator.appendAll")
[error]  * method monoid()com.twitter.algebird.Monoid in trait com.twitter.algebird.RingAggregator does not have a correspondent in old version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.RingAggregator.monoid")
[error]  * the type hierarchy of object com.twitter.algebird.HeavyHitters has changed in new version. Missing types {scala.runtime.AbstractFunction1}
[error]    filter with: ProblemFilters.exclude[MissingTypesProblem]("com.twitter.algebird.HeavyHitters$")
[error]  * synthetic method apply$default$1()scala.collection.immutable.SortedSet in object com.twitter.algebird.HeavyHitters does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.HeavyHitters.apply$default$1")
[error]  * synthetic method <init>$default$1()scala.collection.immutable.SortedSet in object com.twitter.algebird.HeavyHitters does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.HeavyHitters.<init>$default$1")
[error]  * method apply(java.lang.Object)java.lang.Object in object com.twitter.algebird.HeavyHitters does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.HeavyHitters.apply")
[error]  * method apply(scala.collection.immutable.SortedSet)com.twitter.algebird.HeavyHitters in object com.twitter.algebird.HeavyHitters does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.HeavyHitters.apply")
[error]  * method toString()java.lang.String in object com.twitter.algebird.HeavyHitters does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.HeavyHitters.toString")
[error]  * method ordering()scala.math.Ordering in object com.twitter.algebird.HeavyHitter does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.HeavyHitter.ordering")
[error]  * method apply(Long,Long)com.twitter.algebird.HeavyHitter in object com.twitter.algebird.HeavyHitter's type has changed; was (Long,Long)com.twitter.algebird.HeavyHitter, is now: (java.lang.Object,Long)com.twitter.algebird.HeavyHitter
[error]    filter with: ProblemFilters.exclude[IncompatibleMethTypeProblem]("com.twitter.algebird.HeavyHitter.apply")
[info] algebird-test: found 0 potential binary incompatibilities
[info] algebird-util: found 21 potential binary incompatibilities
[error]  * method copy(com.twitter.algebird.util.summer.BufferSize,com.twitter.algebird.util.summer.FlushFrequency,com.twitter.algebird.util.summer.MemoryFlushPercent,com.twitter.algebird.Semigroup)com.twitter.algebird.util.summer.SyncSummingQueue in class com.twitter.algebird.util.summer.SyncSummingQueue does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.util.summer.SyncSummingQueue.copy")
[error]  * method this(com.twitter.algebird.util.summer.BufferSize,com.twitter.algebird.util.summer.FlushFrequency,com.twitter.algebird.util.summer.MemoryFlushPercent,com.twitter.algebird.Semigroup)Unit in class com.twitter.algebird.util.summer.SyncSummingQueue does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.util.summer.SyncSummingQueue.this")
[error]  * method apply(com.twitter.algebird.util.summer.BufferSize,com.twitter.algebird.util.summer.FlushFrequency,com.twitter.algebird.util.summer.MemoryFlushPercent,com.twitter.algebird.Semigroup)com.twitter.algebird.util.summer.SyncSummingQueue in object com.twitter.algebird.util.summer.SyncSummingQueue does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.util.summer.SyncSummingQueue.apply")
[error]  * synthetic method com$twitter$algebird$util$summer$WithFlushConditions$$className()java.lang.String in trait com.twitter.algebird.util.summer.WithFlushConditions does not have a correspondent in old version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.util.summer.WithFlushConditions.com$twitter$algebird$util$summer$WithFlushConditions$$className")
[error]  * synthetic method com$twitter$algebird$util$summer$WithFlushConditions$_setter_$com$twitter$algebird$util$summer$WithFlushConditions$$className_=(java.lang.String)Unit in trait com.twitter.algebird.util.summer.WithFlushConditions does not have a correspondent in old version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.util.summer.WithFlushConditions.com$twitter$algebird$util$summer$WithFlushConditions$_setter_$com$twitter$algebird$util$summer$WithFlushConditions$$className_=")
[error]  * method timeoutIncr()com.twitter.algebird.util.summer.Incrementor in trait com.twitter.algebird.util.summer.WithFlushConditions does not have a correspondent in old version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.util.summer.WithFlushConditions.timeoutIncr")
[error]  * method memoryIncr()com.twitter.algebird.util.summer.Incrementor in trait com.twitter.algebird.util.summer.WithFlushConditions does not have a correspondent in old version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.util.summer.WithFlushConditions.memoryIncr")
[error]  * method this(com.twitter.algebird.Semigroup)Unit in class com.twitter.algebird.util.summer.NullSummer does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.util.summer.NullSummer.this")
[error]  * method this(com.twitter.algebird.util.summer.HeavyHittersPercent,com.twitter.algebird.util.summer.UpdateFrequency,com.twitter.algebird.util.summer.RollOverFrequency,com.twitter.algebird.util.summer.FlushFrequency,com.twitter.algebird.util.summer.MemoryFlushPercent,com.twitter.algebird.util.summer.AsyncSummer)Unit in class com.twitter.algebird.util.summer.HeavyHittersCachingSummer does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.util.summer.HeavyHittersCachingSummer.this")
[error]  * method this(com.twitter.algebird.util.summer.BufferSize,com.twitter.algebird.util.summer.FlushFrequency,com.twitter.algebird.util.summer.MemoryFlushPercent,com.twitter.util.FuturePool,com.twitter.algebird.Semigroup)Unit in class com.twitter.algebird.util.summer.AsyncListSum does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.util.summer.AsyncListSum.this")
[error]  * method this(com.twitter.algebird.util.summer.BufferSize,com.twitter.algebird.util.summer.FlushFrequency,com.twitter.algebird.util.summer.MemoryFlushPercent,com.twitter.util.FuturePool,com.twitter.algebird.Semigroup)Unit in class com.twitter.algebird.util.summer.AsyncMapSum does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.util.summer.AsyncMapSum.this")
[error]  * method this(com.twitter.algebird.util.summer.BufferSize,com.twitter.algebird.util.summer.FlushFrequency,com.twitter.algebird.util.summer.MemoryFlushPercent,com.twitter.util.FuturePool,com.twitter.algebird.Semigroup)Unit in class com.twitter.algebird.util.summer.AsyncListMMapSum does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.util.summer.AsyncListMMapSum.this")
[error]  * method copy(scala.collection.immutable.List,Int)com.twitter.algebird.util.summer.AsyncListSum#MapContainer in class com.twitter.algebird.util.summer.AsyncListSum#MapContainer does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.util.summer.AsyncListSum#MapContainer.copy")
[error]  * method addValue(java.lang.Object)com.twitter.algebird.util.summer.AsyncListSum#MapContainer in class com.twitter.algebird.util.summer.AsyncListSum#MapContainer has now a different result type; was: com.twitter.algebird.util.summer.AsyncListSum#MapContainer, is now: scala.Tuple2
[error]    filter with: ProblemFilters.exclude[IncompatibleResultTypeProblem]("com.twitter.algebird.util.summer.AsyncListSum#MapContainer.addValue")
[error]  * method this(com.twitter.algebird.util.summer.AsyncListSum,java.lang.Object)Unit in class com.twitter.algebird.util.summer.AsyncListSum#MapContainer does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.util.summer.AsyncListSum#MapContainer.this")
[error]  * method this(com.twitter.algebird.util.summer.AsyncListSum,scala.collection.immutable.List,Int)Unit in class com.twitter.algebird.util.summer.AsyncListSum#MapContainer's type has changed; was (com.twitter.algebird.util.summer.AsyncListSum,scala.collection.immutable.List,Int)Unit, is now: (com.twitter.algebird.util.summer.AsyncListSum,java.lang.Object,Boolean)Unit
[error]    filter with: ProblemFilters.exclude[IncompatibleMethTypeProblem]("com.twitter.algebird.util.summer.AsyncListSum#MapContainer.this")
[error]  * the type hierarchy of object com.twitter.algebird.util.summer.AsyncListSum#MapContainer has changed in new version. Missing types {scala.runtime.AbstractFunction2}
[error]    filter with: ProblemFilters.exclude[MissingTypesProblem]("com.twitter.algebird.util.summer.AsyncListSum$MapContainer$")
[error]  * method apply(java.lang.Object,java.lang.Object)java.lang.Object in object com.twitter.algebird.util.summer.AsyncListSum#MapContainer does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.util.summer.AsyncListSum#MapContainer.apply")
[error]  * method apply(scala.collection.immutable.List,Int)com.twitter.algebird.util.summer.AsyncListSum#MapContainer in object com.twitter.algebird.util.summer.AsyncListSum#MapContainer does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.util.summer.AsyncListSum#MapContainer.apply")
[error]  * method apply(com.twitter.algebird.util.summer.HeavyHittersPercent,com.twitter.algebird.util.summer.UpdateFrequency,com.twitter.algebird.util.summer.RollOverFrequency,com.twitter.algebird.util.summer.FlushFrequency,com.twitter.algebird.util.summer.MemoryFlushPercent,com.twitter.algebird.util.summer.AsyncSummer)com.twitter.algebird.util.summer.HeavyHittersCachingSummer in object com.twitter.algebird.util.summer.HeavyHittersCachingSummer does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.util.summer.HeavyHittersCachingSummer.apply")
[error]  * method apply(com.twitter.algebird.util.summer.FlushFrequency,com.twitter.algebird.util.summer.MemoryFlushPercent,com.twitter.algebird.util.summer.AsyncSummer)com.twitter.algebird.util.summer.HeavyHittersCachingSummer in object com.twitter.algebird.util.summer.HeavyHittersCachingSummer does not have a correspondent in new version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("com.twitter.algebird.util.summer.HeavyHittersCachingSummer.apply")

[error] (algebird-util/*:mimaReportBinaryIssues) algebird-util: Binary compatibility check failed!
[error] (algebird-core/*:mimaReportBinaryIssues) algebird-core: Binary compatibility check failed!

These look like real incompatibilities, so would that make this release 0.9.0?

looks like.
Note, I'd like to see these merged:
#387 #401 #391 (with more tests)

The signature for Aggregator definitely changed, for example, from reduce to semigroup. (I'm of mixed opinion about that but shrug).

I'd also really love to get #400 merged (I'll try to get it in shape to do so tonight, if I can, otherwise Monday).

Reduce to semigroup was important because semigroup has sumOption and the tuple semigroups make an effort to preserve that. With only reduce we lose that, so optimizations there are lost.

@johnynek @avibryant do you think those 4 PRs will be ready to merge today? If not, I think I might have to do a release with what's currently in develop and then circle back for another release when these are ready. This release is just part of walking the dependency graph for releasing scalding and we were hoping to get that out by tomorrow.
Thanks!

As far as I'm concerned, my two (#400 and #391) are ready. @johnynek might disagree :)

develop branch is failing after merging #387
[info] - for small HL but large count, discreteAverage(f(t)=x)=x *** FAILED ***
[info]   TestFailedException was thrown during property evaluation.
[info]     Message: DecayedValueLaws.this.approxEq(fn.apply(result, params), params.mean) was false
[info]     Location: (DecayedValueTest.scala:23)
[info]     Occurred when passed generated values (
[info]       arg0 = Params(5.334928856867617E99,1.0082278230511228,86752,0.170337602017449)
[info]     )

https://travis-ci.org/twitter/algebird/jobs/47732278
This actually looks related to #391 // @avibryant

Grr, I guess that test needs to be weakened a bit. @isnotinvain this should do it? https://github.com/twitter/algebird/pull/405

Great, thanks!

Created #406 to upgrade bijection, once that's merged I'll do the release. Thanks all!


Add Ethics Courses

Computer Science education without ehtics is incomplete so I am creating this pull request after all the positive feedback and discussion in issue #937

lgtm!
Great first PR. Here's to many more!

closes #937


internal/rpcprovider: implement RpcConnector class

RpcConnector preloads JsonRpcProvider instances for all defined
networks, fixing an issue where RPC providers could possibly be
reinstantiated over multiple calls for newProviderForNetwork.
Deprecations:
- internal/rpcproviders: newProviderForNetwork in favor of rpcProviderForNetwork

Coverage decreased (-0.005%) to 97.853% when pulling 80a720826b59efd3098b723c5529039460f18e39 on rpcconnector into 2c21266a18d7120b4be9d2f84a467699a3237300 on dev.


RFC: Pointers to const fn:s

Rendered.
You may now write:
const fn twice(arg: u32, fun: const fn(u32) -> u32) -> u32 {
    fun(fun(arg))
}

How C++ does this:
using fnptr = auto (int) -> int;

constexpr auto const_hof(fnptr f) -> int { return f(1); }

constexpr auto const_fn(int) -> int { return 0; }
auto nonconst_fn(int) -> int { return 0; }

int main() {
    auto a = const_hof(const_fn); // OK, "runtime" context
    auto b = const_hof(nonconst_fn); // OK, "runtime" context
    constexpr auto c = const_hof(const_fn); // OK, forced constexpr context
    constexpr auto d = const_hof(nonconst_fn); // ERROR, call to non-constexpr function 'int nonconst_fn(int)'
                                               //        in constexpr expansion of 'const_hof(nonconst_fn)'
}

, i.e. the constexprness of a fnptr is checked on use of const fn in a context requiring constant evaluation, not on const fn definition. In that context we know exactly what function that fnptr came from so we can determine its constexprness.

@petrochenkov Thanks for writing that up =) What is your preferred solution and why?

@Centril

What is your preferred solution

Adopting the approach from the C++ example and not introducing const fn pointers.
As constant evaluation improves constant function will have to detect evaluation of something non-constexpr "on use" anyway, e.g. to support something like this
const fn foo(a: bool) -> u8 {
    if a {
        10 // constexpr branch
    } else {
        panic!() // non-constexpr branch, errors when evaluated in constexpr context
    }
}

, so fn pointers can be checked for constexprness "on use" as well.

In addition, twice from the example in https://github.com/rust-lang/rfcs/pull/2238#issue-279966721 is supposed to report a type error when called with a non-const fn pointer even if it's called from "runtime" context, so you'll need a second function twice_runtime to cover both contexts. This seems worse than having a single function that can be called from both constexpr and non-constexpr contexts.

@petrochenkov I buy this, so I'll close this RFC (in short order) when I've written a replacement RFC "fn_ptr_in_const_fn". Cheers =)

@petrochenkov I disagree with non-CTFE logic in const fn (except via unsafe), and panic!() will be made compile-time-friendly, hopefully earlier than dynamic allocation.

I guess I change my mind then - not closing after all.

@eddyb
Any non-constexpr call is pretty much equivalent to panic when evaluated in constexpr context - both can result in a "can't evaluate" compile-time error reported somewhere deep inside of constexpr evaluation (which can happen or not happen depending on arguments passed to a constexpr function from somewhere else), both execute something instead in runtime context. What are the reasons to allow one, but not another?

If we allow calls to runtime functions then there isn't any point to const fn at all, is there?
Which I'd be sympathetic too, and would simplify pretty much all the design work, except for versioning and compatibility concerns, that is, writing const fn is a guarantee to users.

@eddyb
If you allow annotating a function with const, then every function that is passed in as an argument needs to be const, too. Otherwise there is no guarantee that it behaves const, which makes the keyword useless. Consider the following function within a library:
const fn call_non_const(f: fn(bool)) {
    f(false)
}

The user of the library uses it as follows:
fn f(b: bool) {
    if b {
        // do something non-const
    }
}

call_non_const(f);

This last call is const, as long as the author of the library doesn't change false to true.
I would sympathize with completely relinquishing the const keyword on functions. If a regular function is called in a const context, the compiler tries to evaluate it and is happy if it can.
But if we allow functions to be const, then we need this RFC, too.
Another idea: We could have both. Allow the annotation with const as a guarantee, but also allow calling a non-const function in a const context if it can be evaluated at compile time.

@gralpli FWIW I expect fn pointers to be much rarer than trait bounds (for which we be parametric and thus more ergonomic, see my comments on #2237), but otherwise I agree it'd be easier without explicit const. For better or for worse, compatibility concerns have always influenced design.

Right ;) This RFC begins from the assumption that const fn will be stabilized and of course falls immediately if they won't.

Another idea: We could have both. Allow the annotation with const as a guarantee, but also allow calling a non-const function in a const context if it can be evaluated at compile time.

I like that, particularly the guarantee bit - but could the latter part increase compile times? There's a certain benefit to being able to assume that "yep, this function promised it was a const fn in the signature" and then separately ensure that it indeed was const fn. Being able to call fn in const fn might effectively amount to type checking the fn twice - tho perhaps there are caching opportunities that makes this viable? In any case I think that since that is an orthogonal proposal and compatible with this RFC, they can be proposed separately. Thoughts?

I like the idea of just allowing calls to "not necessarily const" functions from "const" functions, and only giving a compile error if the function indeed turns out to have not been declared with "const".
This would work for all kinds of "indirect" calls, both via function pointers and via non-const trait methods (where the implementer of the trait does provide a const implementation, assuming #2237 is accepted in some form).

I also like that logic, because it feels like the const fn rules that we have now, just fully generalized.

I like the idea of just allowing calls to "not necessarily const" functions from "const" functions, and only giving a compile error if the function indeed turns out to have not been declared with "const".

I'm torn. I see the appeal of this sort of "duck typing" approach, but it feels like it runs pretty counter to Rust's general approach. My main concern is that it complicates the meaning of semver around const fn. Consider:
Consider:
// In revision 1:
const fn foo(i: u32, _: fn() -> u32) -> u32 {
    i
}

// In revision 2:
const fn foo(i: u32, a: fn() -> u32) -> u32 {
    if i > 22 { a() } else { i }
}

Revisions 1 and 2 are semver compatible for ordinary functions, but -- for const fn -- consumers could stop compiling, if they happened to be passing a non-const fn.
That said, I do think that this is an interesting point in the space. It's not nearly as lassez faire as "get rid of const fn entirely", in which case any change you make could potentially break a consumer. At least all the code that runs has to have been declared as const. And one could imagine making semver rules that say that a const fn is allowed to assume that its fn arguments are const fn unless explicitly stated otherwise -- i.e., if your clients break, it's their fault. (We could even lint this.)

One of the things I sort of regret in rust's design is that unsafe fn is a type. It seems logical enough, but it means that changing a function from unsafe fn foo() to fn foo() is a source of breakage, even if it is so rare that we tend to "do it anyway". This RFC seems poised to make "adding const to a fn" have the same problem, no?
That makes me wary. After all, we expect it to be very common that people declare functions as not const but then add const upon request, when they feel comfortable committing to that. But if each such change potentially breaks clients, that's a pain.

Since you can't put a fn bound on a generic type, I don't think either removing unsafe or adding const will have any breaking changes. Adding const has a definite chance of triggering new instances of the const_err lint.

Revisions 1 and 2 are semver compatible for ordinary functions,

They are compile time compatible, but at runtime they'll still behave differently. Replacing the body of a function with panic!("don't use this") is just as much a breaking change as removing the function entirely.

@oli-obk

They are compile time compatible, but at runtime they'll still behave differently.

I am talking about compile time. I'm presuming that the runtime behavior is considered acceptable. It's always a fine line between a "bug fix" and a "breaking change".

As with the #2237 RFC; I'll close this one for now and write up a more coherent and comprehensive proposal sometime later.


docs: enhance setup instructions

fixes #53
cc/ @paul-uz for review and feedback

The instructions for setting up a usable token aren't clear. The linked page just tells you how to create a secret, and doesn't explain how to create a valid token with the correct permissions.

Going to merge this through as I responded to your feedback. If there is anything else I can clarify here, let me know!


Return data in useSearchForPassagesByBookCodes

In useSearchForPassagesByBookCode we get  data in return. I think it will be usefull to have this in useSearchForPassagesByBookCodes.

This should be addressed in PR #18 and will result in a new release.

published to NPM as v1.4.1


crypto/x509: add SignatureAlgorithm.Hash()

Add method to return the hashing algorithm associated with a
certificates signature algorithm. This is useful when generating TLS
channel bindings as documented in RFC 5929.
Fixes #33317

@heschi Was there any feedback?

I closed old PRs to reduce load on the Gerrit importer (#50197), sorry for the trouble. I'll reopen the CL and PR.


added timeout option for hbone dialer

Please provide a description of this PR:
This PR adds the option of configuring a timeout for hbone dialer, and makes use of it in the tests:

TestDialerError (previously 75s, with this modification is 0.5s)
TestDialer (previously 0.01s, with this modification is still 0.01s)
The change is backward compatible.

related to #37555

Hi @cebernardi. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/ok-to-test


StatusCodePagesExtensions.UseStatusCodePages causes a white screen of death for internal server errors

StatusCodePagesExtensions.UseStatusCodePages causes a white screen of death for internal server errors which is not what I expected given:
https://github.com/aspnet/Diagnostics/blob/dev/src/Microsoft.AspNetCore.Diagnostics/StatusCodePage/StatusCodePagesExtensions.cs#L17
public class HomeController : Controller
{
    public IActionResult Index()
    {
        throw new Exception();
    }
}

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    app.UseStatusCodePages();
    app.UseMvc();
}

When visiting / using IIS Express.
ASP.NET Core 2.

UseStatusCodePages does not handle exceptions, you want UseExceptionHandler for that. The 500 you see is generated by the server after it catches the exception.

That seems odd given the amount of references to error 500 whenever this method is mentioned.
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/error-handling#configuring-status-code-pages
The comment linked to in the repo should be updated then if it isn't handling the 500 error as the comment implies that it will.

Yeah, I can see the confusion. If the app code generates a 500 it will be handled, but your app is generating an exception, not a 500. The 500 you see is a last ditch effort from the server to handle the exception.

I'll lob this over to the docs repo and raise an issue and create a PR to include this information. Thanks for your help.


⚠ Bofrost.at has degraded performance

In 8f3e13e, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1384 ms

Resolved: Bofrost.at performance has improved in dfd7833.


Upgrade to macOS 13 runner and switch to LLVM 15 on Linux

Upgrade the build to LLVM 15 on macOS and Linux – this allows us to benefit from many compiler improvements and aligns the build closer to the versions used for Windows and for the upstream repository. On macOS, this is achieved by upgrading to the macOS 13 runner and using Xcode 14.3.1. Note that while the clang version in the Xcode release is defined as Apple clang version 14.0.3 (clang-14<IP_ADDRESS>.1), it is actually based on LLVM 15.
Please disregard the previous comments – they address potential issues and benefits related to upgrading to LLVM 16/Xcode 15, but this will be done in a later PR.

This looks good. Happy to see us move forward on versions here.

Added a new flag that becomes available with clang 15 on macOS – see the comments for the rationale. The Chromium developers see a 5% improvement in code object size, I did little local testing but when compiling with x86_64 set as the target architecture libutil (i.e. //src/workerd/util:util) shrinks 536K => 476K so I can certainly see an improvement.

Let me know if the updated readme section works for you or if you have more suggestions. Before this is ready to merge I'll wait until the runner image adds Xcode 15.0.1. This PR currently hardcodes using Xcode 15.0 to not use the default version on the image (14.3.1), 15.0 will be removed eventually while 15.0.1 will likely stay available on the image.

Let me know if the updated readme section works for you or if you have more suggestions. Before this is ready to merge I'll wait until the runner image adds Xcode 15.0.1. This PR currently hardcodes using Xcode 15.0 to not use the default version on the image (14.3.1), 15.0 will be removed eventually while 15.0.1 will likely stay available on the image.

Actually the new linker in Xcode 15 (one of the things I'm excited to use) does not look all that stable yet 😬 https://developer.apple.com/documentation/xcode-release-notes/xcode-15_1-release-notes#Linking
Perhaps we can wait until Xcode 15.1 is out so we can safely use the new linker.

Added another commit to upgrade to LLVM16 here while waiting for Xcode 15.1 to be released – Apple clang 15 is actually based on LLVM16 (https://en.wikipedia.org/wiki/Xcode#Xcode_15.0_-_(since_visionOS_support)_2). At this time, LLVM 16 is not available in the default Debian Bookworm APT repository, so I'll probably split it off to another draft PR once this PR is ready.

Thank you! Internal runner has been updated.


Turn off style-dfn-panel for WHATWG

See whatwg/whatwg.org#343, which moves those styles into WHATWG's standard.css stylesheet.

I presume I should wait to merge this until the WHATWG pr is merged, so it doesnt' go without styling.
If Anne or Domenic want to merge them together, feel free.

We should also change defaults-RD.include.
I can take care of merging this once all is in order.

We should also change defaults-RD.include.

I was under the impression that "Use Dfn Panels": "no" already disabled the styles, but I see I was wrong.
Btw, when I went to test this, defaults-RD.include was failing to parse because it was missing a comma. @tabatkins, you might want to add tests to catch this sort of stuff.

I was under the impression that "Use Dfn Panels": "no" already disabled the styles, but I see I was wrong.

Ah, this is because the use of dfn panels in the Index Of Externally-Defined Terms is not controlled by that metadata, but rather happens unconditionally.
I presume that should be similarly controlled?

FWIW, even if Use Dfn Panels were to disable this, I'd rather continue to duplicate it in default-RD for ease of comparison between that and default.


Kubernetes:Debug doesn't provide Go debugging

I have the Kubernetes extension (ms-kubernetes-tools.vscode-kubernetes-tools v1.3.0) and the Go extension (golang.go v0.23.2)
installed in VS Code 1.54.3.  I have configured the vsdocker.imageUser setting in my User settings.
But the Kubernetes: Debug (Launch) and Kubernetes: Debug (Launch) commands do not offer a Go environment (they offer dotnet, java, nodejs, python, and node as environments).
What do I have to change / configure to get Kubernetes Debugging to run?

Hi @cfiderer, sorry for the late response. The current kubernetes extension (the one in the marketplace) still doesn't have the go debugger feature. It has been implemented and merged to the master https://github.com/Azure/vscode-kubernetes-tools/pull/875 but we haven't released the new extension yet. We'll ping you when it'll be published.
In the meantime, if you want, you can manually install the vsix built from the master. You can find the archive containing the vsix here https://github.com/Azure/vscode-kubernetes-tools/actions/runs/681120684

What's the ETA for a release that contains the go debugging feature? I'd like to use this in a training I'm currently building, but if it's coming later than say mid-May I'd have to skip it for now.

@timirnich it's going to be released soon (hopefully tomorrow) https://github.com/Azure/vscode-kubernetes-tools/pull/931

Closing it as obsolete


I have fixed the "shift exponent 32 is too large for 32-bit type 'unsigned int'". Fixed uninitialized var 'recurse_' in csarc as well.
However, for the mis-alignment, I did not get the problem.
I used g++ 4.9.2, with -fsanitize=undefined. Is that correct?

I have fixed the "shift exponent 32 is too large for 32-bit type 'unsigned int'". Fixed uninitialized var 'recurse_' in csarc as well.

Thanks.

However, for the mis-alignment, I did not get the problem.
I used g++ 4.9.2, with -fsanitize=undefined. Is that correct?

Yes, gcc-4.9 with -fsanitize=undefined should work.
Seems like it happens with smaller buffers—it happens reliably in my unit tests in Squash (with a 2725 byte buffer).  I'm able to reproduce it with the csc executable using grammar.lsp from Silesa (Silesa's site seems down right now, but you can get an xz-compressed copy from https://github.com/quixdb/squash-benchmark/blob/master/grammar.lsp.xz?raw=true).

The problem still does not appear on my machine, on grammar.lsp, which is 3721 Bytes.
I am running on i5-3230M with virtual machine of 64-bit Ubuntu 14.04.

It probably depends on the memory address it happens to get from your system.  If you want I can give you SSH access to a machine which has the issue—just give me your SSH public key.

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDap37HnnKKXIFdUXfx34FPAolATMMKg4vDAwxo5wIr7Th8fdwNh3PS/CkeNoPtUFUTXVcFLTA60VinPRV/KRcnnPug/agT8mQjvv8YqkrsRw/mMozIxaWVi1Ap+C8pOkrg9WjaBBgF+ZnYmzXSwrdKwDe4dhvMFYZQZejd3pkqhhme44piqbkvqIh1JHcpswqZyQ7ac7x/A/RGvc+ryCMHubq/rr4CE3M4WcEqbzhWAc/QdutrWlCLJjhyQX9qQcmB6BW4sLcn0yGwUr5ClfU7DU3Wtmnahej3hYF45IJdrzaWu943O2Atd26gsJ3HAxd4oHJB5cQ42B0DJRRZYNVD fusiyuan@SiyuanUbuntu

IP: <IP_ADDRESS>
User: fusiyuan
Let me know if you have any probleml.

Thank you very much for providing the account.
I am able to reproduce the warning now. However I have no idea of how to deal with it. The compressor is operating byte by byte, sometimes I have to treat a small piece of bytes as a 32-bit or 16-bit integer, for effectively string comparison or calculating the hash. This may happens in any position of the unsigned char buffer.

If the data is not aligned then worst-case scenario is you have to reconstruct the value from multiple loads.  Usually there are better ways, though…  for example, GCC (at least, probably most compilers) will inline calls like memcmp and memcpy to optimized assembly, especially when the size is known at compile time.
That said, given that some machines don't seem to trigger this you may want to look into why that might be.  Maybe you could just use posix_memalign or aligned_alloc instead of malloc to increase the alignment of an allocation somewhere…

Hi Is you machine still open to me? I did some modification and am going to check it.

It should be back up now.

Thank you very much for your machine!
I think the latest commit would make it work with no warning.

Works for me, thanks.


function editor is not working

Function editor is not working in 6.4.1. Nor Function Label neither buttons appears.
grafana 6.4.1
plugin 3.10.4

It worked on previous versions
grafana 6.3.5
plugin 3.10.4

Grafana
Zabbix
Grafana-Zabbix Plugin

6.4.1
4.0.1
3.10.4

Experiencing the same issue on Grafana v6.4.2 (commit: 443a0ba) with Plugin v3.10.4.

Yes, this is Grafana 6.4-related only thing. Investigating and preparing a fix.

Hello, Thank you for having this bug fixed !
Do you think you can release the 2 debugs (this one, #810, and also #813 about annotations) in a hotfix release before 3.11 ?
It would be very helpful in my case, we use extensively these functions in our Grafana instances, and I must admit not being able to edit them is quite uncomfortable at the moment.

@guyhom I will try to prepare release in next few weeks. I won't make patch release because I have few features implemented, but I will rather rearrange milestone.

Anything on this? @alexanderzobnin  Almost 3 weeks now ;P :)

Still looking forward to it :)

Still problem here. I have Grafana v6.6.0 and this problema realy uncomfortable in panel with lot of functions.


chore: update github actions to latest versions

Updated pages and ci workflows to use latest github actions. Both work on my github actions ubuntu runner.

@IbrahimAH, thanks for your patience - can you rebase this branch against the new HEAD for main and/or merge in main into your feature branch? I believe that I've resolved this issue in the latest commit.

Closing in favour of #48.


[CARBONDATA-3166]Updated Document and added Column Compressor used in Describe Forma…

…tted Command
Be sure to do all of the following checklist to help us incorporate
your contribution quickly and easily:

[ ] Any interfaces changed?

[ ] Any backward compatibility impacted?

[ ] Document update required?

[ ] Testing done
Please provide details on
- Whether new unit test cases have been added or why no new tests are required?
- How it is tested? Please attach test report.
- Is it a performance related change? Please attach the performance test report.
- Any additional information to help reviewers in testing this change.

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder2.1/1734/

Build Failed  with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:8080/job/carbondataprbuilder2.3/9994/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/1946/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder2.1/1735/

Build Success with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/1947/

Build Success with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:8080/job/carbondataprbuilder2.3/9995/

I am with @KanakaKumar 's comments. We'd better not to show the system default value in the desc command for columncompressor, since the values can vary each time we changed that value. Maybe we can search advise for the other guys

Build Success with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/1951/

Build Success with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:8080/job/carbondataprbuilder2.3/9999/

LGTM


Fix nickname slicing when not needed

This possibly fixes the nicknames being sliced when it's not needed. (#9) Testing still required.

Here's my current .eslintrc.json, for if you need that
{
    "env": {
        "browser": true,
        "commonjs": true,
        "es2020": true
    },
    "extends": "eslint:recommended",
    "parserOptions": {
        "ecmaVersion": 11
    },
    "rules": {
        "indent": [
            "error",
            4
        ],
        "quotes": [
            "error",
            "single"
        ],
        "semi": [
            "error",
            "always"
        ],
        "no-undef": "off",
        "no-unused-vars": "off",
        "no-case-declarations": "off"
    }
}

I think I can simply commit my suggestion to a new branch, I'll test it there and see how it goes. Thanks for the help though!


There is something wrong with Sentence segmentation

`import spacy
nlp = spacy.load('en_core_sci_sm')
print('the first entence segmentation:')
doc1 = nlp('Positive for translocation or inversion events involving the ROS1 gene')
for i,sent in enumerate(doc1.sents):
print(i)
print(sent)
print('the second entence segmentation:')
doc2 = nlp('Negative for translocation or inversion events involving the ALK gene')
for i,sent in enumerate(doc2.sents):
print(i)
print(sent)`
The output is as:

the first entence segmentation:
0
Positive for translocation or inversion events
1
involving the ROS1 gene
the second entence segmentation:
0
Negative for translocation or inversion events involving the ALK gene

The result is obviously wrong!

You have a couple options that I know of to get different sentence segmentation. In general, nothing is going to be perfect. In particular, the default spacy sentence segmentation is based on the dependency parse and for sure can do things like the error you observed. FWIW, if you add a . at the end of the first example, it gets it right.
Options:

Check out the pysbd-based sentence segmentation pipe here (https://github.com/allenai/scispacy/blob/5df54e468c649e465b98ff6d924fa910eb3cb50c/scispacy/custom_sentence_segmenter.py#L12). You can add it with from scispacy.custom_sentence_segmentater import pysbd_sentencizer; nlp.add_pipe('pysbd_sentencizer', first=True)
You can use spacy's default rule based sentencizer by nlp.add_pipe('sentencizer', first=True)

Thanks for your reply! I will try with the options.

Closing due to inactivity. Please reopen if you are still having issues.


feat(replace pre application to 'pre-application'): replace Pre appli…

JIRA Ticket: https://pins-ds.atlassian.net/jira/software/c/projects/ASB/boards/165?modal=detail&selectedIssue=ASB-468
Replace Pre application to 'Pre-application'
Replace Pre Examination to Pre-examination

:tada: This PR is included in version 2.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 2.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


How to reproduce llff dataset

I use the command
"ns-process-data images --data /data5/wuzhongkai/data/dreamfusion_data/llff/nerf_llff_data/flower  --output-dir /data5/wuzhongkai/data/dreamfusion_data/llff/nerf_llff_data/flower --skip_colmap --colmap_model_path sparse/0 --skip_image_processing"
to generate transform.json and use the command
CUDA_VISIBLE_DEVICES=$1 ns-train nerfacto --data /data/nerf_llff_data/flower/transforms.json
--experiment-name llff/flower --vis wandb
nerfstudio-data
to train the model, but get bad result.
Are there any key points to train the nerfacto on llff

almost the same.I use vanilla-nerf to train the fox dataset of instant-ngp but get  awful result with  blurry color blocks but no convergence. I use the same command "ns-process-data ..." and get a transforms.json and then use command "ns-train vanilla-nerf ...... nerfstudio-data" to train it. Also ,I notice that it works the same in mipnerf , and it's weird that its training time remain the same when I use different numbers of pictures to train.

The vanilla-nerf and mipnerf models are setup to work with the blender synthetic data, not real-world data. For real-world data, use nerfacto or instant-ngp

和模型设置为使用搅拌机合成数据，而不是真实世界的数据vanilla-nerf。mipnerf对于真实世界的数据，使用nerfacto或instant-ngp

How can I prepare this Blender data to train and reconstruct on Mip-NeRF or Vanilla-NeRF by using colmap? I also noticed that if the command ns-train is used without the nerfstudio-data suffix, the system assumes the data format is Blender data, but it throws an error saying that transforms_train.json cannot be found.

The vanilla-nerf and mipnerf models are setup to work with the blender synthetic data, not real-world data. For real-world data, use nerfacto or instant-ngp

Are there any mipnerf parameters we could try to change to make it more "suitable" for real-world bounded data like this?

Hello, I would like to ask if you have solved this problem?


Fix tests on non-x86_64-linux

builtins.currentSystem isn't predictable, let's use x86_64-linux for consistency
Add interactiveTests so that tasty-silver can actually show you the diff when golden tests fail

Merging this so that I can finish fixing https://github.com/Gabriella439/nix-diff/pull/88


double instance on slash in data

http://plnkr.co/edit/czVg7DoKgKDsKXzpWc1P
There is a 3 buttons in sample "Send #", "Send &" and "Send /".
The problem is with a third one.
Click on that after the click on another button
causing the controller in the secondary state instantiated twice.
First instance got a right data in $stateParams.pns, second instance got a HTTP encoded data.
In the browser address line we see the double encoded pns field.
Next click to the "Send /" cause the right data arrived into the secondary state instance, but the pns parameter in the address line still double HTTP encoded.
There is a $log.debug calls in code to show twice instantiation.
The problem is in the 0.2.15 version and absent in the 0.2.14.
Best regards,
Dmitriy Anisimkov.

Yeah this is a duplicate of the encoding problem. #1973


Cleanup HomebrewFormula folder

As the formula exists in homebrew-core repo, I guess we can remove HomebrewFormula folder?
Also, you can automate the release process with https://github.com/mislav/bump-homebrew-formula-action
Relates to https://github.com/Homebrew/homebrew-core/pull/47860

@chenrui333 we want to keep this formula as a template. Thanks!

Oh, interesting. What is the idea behind it?

Actually I was going to to move the top-level HomebrewFormula folder under scripts/homebrew after Homebrew/homebrew-core#47860 gets merged, for historical references.
+1 on the auto update formula action, will definitely do that.

scripts/homebrew, what is that for?

Just a local copy of the formula within the repo, for reference.


Replace host_str with "$VIRTUAL_ENV" if exists

A rough proof of concept. I think this is what #16 talking about.

I see what you mean. I'd love for ENV to be it's own segment with a dedicated color, but due to the way I've built Headline it's somewhat difficult to add more information segments. However, you've demonstrated that it's easy to modify an existing segment to achieve desired behavior.
To that end, I've just pushed commit c12368a making it even easier to customize the segment data sources by elevating them out of the prompt function so you can set them in ~/.zshrc or wherever. Only downside (and why I didn't do this originally) is that I need to use eval which potentially introduces security concerns that I don't fully understand.
Hopefully this will work reasonably well for you until I can make it easier to add segments

Good news! The VIRTUAL_ENV is now part of Headline by default. And it's also much easier to add new segments.


Perl execution failed

Hello Guys,
I have just updated the authentic-theme to 19.71 and after this, I am keep getting the following error in File Manager and it does not show the contect I want to check, just loading:
Error:  500 - Perl execution failed – Undefined subroutine &extensions::get_acls_status called
Webmin version: 1.970
Thanks.

Authentic Theme 19.71 is made for unreleased Webmin 1.972. There was a big red banner warning you about it.
You could go to theme's directory and run:
./theme-update.sh -release:19.70


Gradient Based OC

Add gradient based optimal control algorithms:

[ ] ADGRAPE
[ ] Traditional GRAPE

Added initial GRAPE optimisation, needs to be adapted to fit the QuOCS style and use the QuOCS tools.


Fetch min/max target temperature from device if supported

Close #136 and #175. Only functions if running https://github.com/mac-zhou/midea-msmart/pull/91

Closing in favor of developing my own fork: mill1000/midea-ac-py


Output observed sequences for each genus of interest in a fasta file

Lynn is working on this in the badly named (my fault!) nf_demo branch


Translations for form component does not automatically update data picker locale

Package
filament/filament
Package Version
v2.17.24
Laravel Version
v10.7.1
Livewire Version
No response
PHP Version
v8.1.16
Problem description
When a PR is submitted for a new locale the date picker dayjs also need to be manually updated.
See discussion on discord:  https://discord.com/channels/883083792112300104/1102987402806566952
For example
The Welsh translation 'cy' pull requested and accepted in Feb (#5741).
The date time picker: packages/forms/resources/js/components/date-time-picker.js has the locales at the end of the file.

The red area is the datepicker, the green shows the dates are translated in other parts of the table. (using Carbon's translatedFormat method.)
The dayjs library has a translation for 'cy', however, it is not 'required' by the date-time-picker.js
Current matches

Filament forms/**/compoent.php has 40 locales translated
date-time-picker.js only requires 34! Welsh (cy) is one of the languages which are not 'required'. *

form
date picker

ar
ar

bn

bs
bs

ca
ca

cs
cs

cy
*

da
da

de
de

en
en

es
es

eu

fa
fa

fi
fi

fr
fr

he

hi
hi

hu
hu

hy
hy/hy-am

id
id

it
it

ja
ja

ka
ka

km

ku
ku

lt

lv

ms
ms

my
my

nl
nl

pl
pl

pt_BR
pt_BR/pt_br

pt_PT
pt_PT/pt

ro
ro

ru
ru

sv
sv

sw

tr
tr

uk
uk

vi
vi

zh_CN
zh_CN

zh_TW
zh_TW

* I have raised a PR to add Welsh 'cy': #6395
The ideal situation is the build process automatically adds a new locale, although there are some locales which are not exact matches. E.g. Filament form : pt_PT, date picker: pt_PT: require('dayjs/locale/pt')
Expected behavior
I would expect the build process to automatically detect the new locale and update any required components.
Possibly the file directory could be scanned and a json file generated, the date picker read the automatically generated file to 'require' all of them.
Steps to reproduce
Switch locale in Laravel to one of the translated locales that do not have a require in the date picker e.g. bn or cy. The date picker will display English dates.
Reproduction repository
https://github.com/filamentphp/demo
Relevant log output
No response

The problem is that we don't control the Day.js translations, so we have to manually import them. It should be the responsibility of whoever adds the language to import it in the date picker JS IMO.

Thanks for the prompt reply,
I agree Day.js is a third party app, it has over 100 translations.
I think at a minimum the exact steps needs to be documented.
I didn't know this when I added the translation in Feb. There are five other translations added to forms which are also not imported in the date picker js.
The date picker JS is part of the filament project.

You're more than welcome to PR improvements to our README about contributing translations

Thanks Dan, I'll take a look 👍
Thinking about automating the import, it isn't worth it for 40 translations in 2 years.
I looked at other PRs, the one for adding Finnish translations looks like a good example:

https://github.com/filamentphp/filament/commit/2f1c0af6b25378a2968cd8fb249b71dd32168f39

It looks like file-uploads.js has an import too 😔.
Do you think this would be a good example to add to the contribution guide?
Can you see anything missing?

It would be good to just make a note in the README to point to the directories and files that need updating when making a new translation. You could search a popular language like nl in all files to see if any have been missed. Off the top of my head, its only the date picker and file upload though.

🏴 ❤


Add ramp wave from the FM as an option in the chip preset

The ramp wave should be behind or in front of sawtooth instead of after ultrabox overdrive guitar

Adding a new chip type would have to go to the bottom because changing the order of the chip waves causes errors. Otherwise you would have to randomly bump up the song version just because.

Likely not going to add this - I'd prefer to focus on #30

Isn't the ramp wave just an inverted sawtooth? Not much work to do this honestly, since all you need to do is just invert a sawtooth on the custom chip. The reason it may sound different on FM is because of this inversion.


paddle_trainer failed kill paddle_pserver2 and exit

训练过程中出现如下错误，不知是何原因：

参考： https://github.com/baidu/Paddle/issues/56
I  search keywords  withgithub paddle sigfp with google search engine, then find issue related above, so also recommend you to do it.


Not compatible with multiprocess Firefox

Not compatible with multiprocess Firefox. See also some entries at https://addons.mozilla.org/cs/firefox/compatibility/reporter/markdown-here%40adam.pritchard.

+1
For some notes on adding compatibility see https://developer.mozilla.org/en-US/Add-ons/Working_with_multiprocess_Firefox


sci-wms vs. ncwms2 for UGRID

How does sci-wms perform relative to ncWMS2 for UGRID?
Let's find out!

http://gamone.whoi.edu/terriajs/#https://raw.githubusercontent.com/USGS-CMG/terriajs-dive/master/examples/sciwms_vs_ncwms2.json

I'm only seeing 1 layer in this map, sci-wms.  ASGS Sandy 29 sci-wms. Not familiar with TerriaJS so perhaps I'm missing something.

@ebridger , oops, it turns out that TerriaJS wanted the layer specified as ASGS-Sandy-29/zeta instead of ASGS-Sandy-29%2Fzeta.  Please try again.

I'm still only seeing the sci-wns layer

It just showed 2 layers for me. Can you try one more time please?

@kring, does terriajs cache stuff on the server side?
@kwilcox is only getting one model to show, and it's clear from limits on his screen grab (-2,2) that he's not getting the up-to-date information from the JSON file referenced in his URL, which has the limits (-1,5), as you can see here:
https://raw.githubusercontent.com/USGS-CMG/terriajs-dive/master/examples/sciwms_vs_ncwms2.json
It if does cache, is there a way to clear it via the URL, like adding a ?flush_cache=true or something?

I removed the HTTPS from the URL to the config and just used HTTP and I get two layers now. If I switch back to HTTPS I only get one. Something is cached somewhere. Same behavior on my phone.

does terriajs cache stuff on the server side?

If you're using the varnish scripts included in TerriaMap (https://github.com/TerriaJS/TerriaMap/tree/master/varnish), then yes, there is fairly aggressive caching.
terriajs-server itself doesn't do any caching, but it does set cache headers on proxied requests such that any sort of reverse proxy in front of it (nginx) is likely to cache responses, as is the browser itself.
A handy trick for defeating the (rather aggressive) caching is to include the proxy in the URL.  So instead of:
http://gamone.whoi.edu/terriajs/#https://raw.githubusercontent.com/USGS-CMG/terriajs-dive/master/examples/sciwms_vs_ncwms2.json
Use:
http://gamone.whoi.edu/terriajs/#proxy/_60s/https://raw.githubusercontent.com/USGS-CMG/terriajs-dive/master/examples/sciwms_vs_ncwms2.json
The _60s indicates that the response is cached for 60 seconds.


Update http_patch.jl

Edit: the rationale is that we're not dealing with very complicated requests so we can probably safely ignore any error to do with broken streams if there's reconnection (?)

Codecov Report

Merging #60 into master will increase coverage by 0.36%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #60      +/-   ##
==========================================
+ Coverage    80.8%   81.16%   +0.36%
==========================================
  Files           5        5
  Lines         224      223       -1
==========================================
  Hits          181      181
+ Misses         43       42       -1

Impacted Files
Coverage Δ

src/http_patch.jl
54.83% <ø> (+0.87%)
:arrow_up:

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 40ce8e0...a852f7b. Read the comment docs.


2023 SAG-AFTRA strike

Topic: From July 14 to November 9, 2023, the American actors' union SAG-AFTRA (Screen Actors Guild – American Federation of Television and Radio Artists) was on strike over a labor dispute with the Alliance of Motion Picture and Television Producers (AMPTP).
Folder Location: taxonomy/knowledge/history/events
Downloads: qna.yaml and attribution.txt
Wiki link: https://en.wikipedia.org/wiki/2023_SAG-AFTRA_strike

I'm starting to fill these out.  I have all of the bounties you put out last Friday.  I just need to dump them into yaml format and put them in my fork.  I am curious as to the format for attribution, do we put it as "wikipedia"?  I didn't find a ready example there.
https://github.com/ibivibiv/taxonomy/tree/main/knowledge/history/events
I'll upload the rest as the day continues and then probably wipe out the ones you put up today as well.


Overhaul scrappy

Use TypeScript (v important)
Use Bolt.js and not express (uses express internally)
Remove duplicate emojiKeywords

Wowza, we've got a lot here

A lot of it is still broken -- kinda waiting for @MatthewStanciu, he seems to have removed the public exports for all the api-utils.ts methods, so I don't know what's going on with that

what you mean

You removed the export for 't' so now its a private function I can't import -- I can change that ofc but I'm wondering if you intend to scrap that file completely?

Ah that was a mistake, okay

wait why was this closed

oh because it was going to be merged into the now-deleted express-switch branch i see

ah okay, i'll make a fresh PR to main anyway since its going to be cleaner to do with express

@KhushrajRathod are you still doing this? I'd like to pick it up


[TextField] Fix typo in FromControl warning

[x] I have followed (at least) the PR section of the contributing guide.

@xuanvan229 It's a great first pull request on Material-UI 👌🏻. Thank you for working on it!


⚠ Bofrost.at has degraded performance

In c6b386f, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2658 ms

Resolved: Bofrost.at performance has improved in 4fd633e.


Add 'Raw Ore' title string during the generator

Also, consider renaming it to 'deposit' or similar.

9c8cdc39a864cfcf3164fcebb559bb9a2995f23c


fix "list index out of range" in handles_nonbreaking_prefixes

The following code would raise an Error ("IndexError: list index out of range"), because the index has not been checked.
from nltk.tokenize.moses import MosesTokenizer
a = 'No doubt the given aid will be popular with those who aim to unearth the mysteries of the world of Art.'
tokenizer = MosesTokenizer()
e = tokenizer.tokenize(a)

Hi, I'm following the instructions in contribute.md exactly, thus I have added myself to Authors.md. If it isn't
appropriate, you may merge next PR.
Thanks.

@SwordYork Sorry, it looks like #1769 is trying to fix the same issue. Is it alright if we add you to the contributor list with @lmatt-bit and merge the PR on #1769?

Thanks @SwordYork


Harvesting fruit from CROPTOPIA Saplings causes server to crash

Hi @wendall911 !
It's my first time ever reporting a bug from a mod, hope I'm doing this the correct way :)
Harvesting fruit from a Croptopia sapling (either with hand or hoe)  causes server to crash
I attached a crashlog from my server so you can check it out
crash-2024-10-08_22.23.23-server.txt

I'll take a look at this soon. Thanks for reporting.

Ok, fixed and uploaded to both CurseForge and Modrinth. I had a line missing from the fabric mod config that was needed. I appreciate the report. Also, attaching the crash report is exactly the right thing to do, much appreciated!

Installed the update and it's working fine now! Thanks :)


Support setting assertions and receiving assertion errors for Prewrite requests

This PR is part of https://github.com/pingcap/tidb/issues/26833 and is a  continuation of https://github.com/tikv/client-go/pull/273 .

sorry, I misunderstood the time of last commit

I think the keys and values in error messages can be encoded for readability.

I think the keys and values in error messages can be encoded as hex for readability.

I usually use the hex encoded format printing keys and values.

I think the keys and values in error messages can be encoded as hex for readability.

Did you mean ErrAssertionFailed defined in error/errors.go? The Error method is implemented in the same way as other kinds of errors defined in this file.
However, by the way, I'm afraid things about redacting is questionable here, for example, the not-redacted keys might be printed when printing these kinds of errors in logs.

Did you mean ErrAssertionFailed defined in error/errors.go? The Error method is implemented in the same way as other kinds of errors defined in this file.

Yes. It comes from the protobuf marshaller. I agree on leaving it for now.

However, by the way, I'm afraid things about redacting is questionable here, for example, the not-redacted keys might be printed when printing these kinds of errors in logs.

Then the problem also exists for other error types? client-go doesn't care about log redaction at all.

However, by the way, I'm afraid things about redacting is questionable here, for example, the not-redacted keys might be printed when printing these kinds of errors in logs.

Then the problem also exists for other error types? client-go doesn't care about log redaction at all.

Yes. I mean, it's possible that TiDB prints an error from client-go, and the error might be of these kinds, and as a result it will introduce the risk of leaking sensitive information to the log. And I think even if there's no such case in TiDB, it can still be easily introduced.
It's not related to this PR though. I'm just thinking there might be a problem.


Revert "[gardening] Fix typo: "nul-terminated" → "null-terminated""

Reverts apple/swift#1300
Sorry, but the comments were correct. The documentation is referring to the ASCII 'nul' character, not the NULL pointer.

Just noticed that, thanks Dmitri!

Sorry for the mixup. I think a couple of changes in there indeed referred to ASCII 'nul', while a couple others referred to null-terminated strings.
null-terminated:

[Reflection.mm, L97]
[StringUTF8.swift, L250]
[CString.swift, L33]
[CString.swift, L18]


fix(curriculum): update db method used in implementation-of-social-authentication-iii

Updating the method used at implementation-of-social-authentication-iii, both for english and chinese
Checklist:

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[ ] All the files I changed are in the same world language, for example: only English changes, or only Chinese changes, etc.

Closes #39592

Updated to use the method findOneAndUpdate() instead of the deprecated findAndModify().
Also my prettier has prettified the two files, used .prettierrc in the root projects folder as configuration file.
Thank you.

I have also added a commit changing the texts from findAndModify to findOneAndUpdate in english and chinese. Hope now could be merged.

@kostaslamo The checkbox labelled All the files I changed are in the same world language, for example: only English changes, or only Chinese changes, etc. is meant to be checked off, so you will need to create a separate PR for the Chinese changes.
Please remove the Chinese file from this PR.
Thank you.

@kostaslamo The checkbox labelled All the files I changed are in the same world language, for example: only English changes, or only Chinese changes, etc. is meant to be checked off, so you will need to create a separate PR for the Chinese changes.
Please remove the Chinese file from this PR.
Thank you.

Ok, i' ve got it. Removed the Chinese file from the PR.
Thank you.

LGTM now.  @Sky020 What do you think?

Thank you, for your contribution @kostaslamo
Also, congrats on your first PR! We look forward to future contributions.

Thank you, for your contribution @kostaslamo
Also, congrats on your first PR! We look forward to future contributions.

Thank you very much @RandellDawson @Sky020 . Looking also forward for future contributions. Maybe pm someone, to discuss for a task i could get assigned?

@kostaslamo Just look at the list of GitHub issues and take on it.


Use Hold Invoice in prepareSwap

Use LND's Hold Invoice RPC in prepareSwap

@clark800 description is needed on this pr

@treygriffith @dannypaz updated


Switch from node-fetch-commonjs to cross-fetch

Description

node-fetch-commonjs uses a load mechanism that requires various Node libraries even if a fetch implementation already exists. This causes issues on Cloudflare (and probably other edge runtimes) where we don't run in a full Node environment, but do have an existing fetch implementation.
cross-fetch uses node-fetch under the hood, but provides for a nicer and safer load mechanism that does nothing if there is already an existing fetch implementation.

@asafshen

@mattolson thanks for sharing this with the details! We'll look into it

I removed the mistakenly included second commit, so this should be good to go now.

Hi @mattolson,
Can you please pull from descope:main and resolve conflicts?
Thanks!

@dorsha Ok done


[UPDATE] Form/Input Select

Component References
Figma Link

Input select item will use style from actionListItem but without pressed/active state
When Keyboard navigation & mouse ,use hover to show highlighted item
InputSelectSearch rename to InputSelect, delete prev InputSelect

Create a proper sample
Adding scrollable

@zanuarmirza

Accessibility

The menu item must close after  select with mouse
Hovering style


FLOSS fails on 64-bit shellcode (13729)

Based on the error messages, it looks like vivisect is disassembling at the wrong offsets which makes me think it's treating it as 32-bit shellcode maybe?

fixed in current version


Wrond Bank codes YESB0HPB051

IFSC BANK code is duplicated and not valid in some of the co-operative banks.
Himachal Pradesh State Co-operative Bank -- YESB
Palamoor Co-operative Urban Bank -- UTIB
Sundarlal Sawaji Urban Co-operative Bank -- UTIB

how to make a ifsc code website

Can you clarify what the issue is here?
YESB0HPB051 is owned by as per https://www.npci.org.in/national-automated-clearing-live-members-1

@VISHALDEEPSAGAR This is not a support help forum, please create a new issue if you are facing any issue with the service, or go elsewhere if you want to learn web development.


Update scala-java-time to 2.1.0

Updates io.github.cquiroz:scala-java-time from 2.0.0 to 2.1.0.
GitHub Release Notes - Changelog - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "io.github.cquiroz", artifactId = "scala-java-time" } ]

labels: test-library-update, semver-minor

Codecov Report

Merging #1623 (3061887) into master (bd9a11b) will decrease coverage by 0.22%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1623      +/-   ##
==========================================
- Coverage   85.27%   85.04%   -0.23%
==========================================
  Files          58       58
  Lines        2227     2227
  Branches      103      108       +5
==========================================
- Hits         1899     1894       -5
- Misses        328      333       +5

Impacted Files
Coverage Δ

...scala/io/circe/shapes/LabelledHListInstances.scala
92.59% <0.00%> (-3.71%)
:arrow_down:

...re/shared/src/main/scala/io/circe/JsonNumber.scala
92.77% <0.00%> (-3.62%)
:arrow_down:

.../core/shared/src/main/scala/io/circe/Decoder.scala
85.10% <0.00%> (-0.27%)
:arrow_down:

...les/core/shared/src/main/scala/io/circe/Json.scala
81.00% <0.00%> (ø)

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 bd9a11b...3061887. Read the comment docs.


ExpressRouteCircuitPeering type mismatch

When creating an ExpressRouteCircuitPeering resource the name is a required argument. However, the returned pulumi resource has a name property with the type Output<string | undefined>. This then means that said resource cannot be used in methods such as getExpressRouteCircuitPeering. Should the type instead just be Output<string>?

I'm really sorry for doing this again - wrong prop.

I'm really sorry for doing this again - wrong prop.

Maybe it should but the spec doesn't mark it as required, so we'd have to guess that a name is always there. For now, you could transform the name to an Output<string> and use it down the line:
const peering = new network.ExpressRouteCircuitPeering("test", { ... });
const name = peering.name.apply(v => v!);

Maybe it should but the spec doesn't mark it as required, so we'd have to guess that a name is always there. For now, you could transform the name to an Output<string> and use it down the line:
const peering = new network.ExpressRouteCircuitPeering("test", { ... });
const name = peering.name.apply(v => v!);

Thank you @mikhailshilkov - I'm doing that atm as an easy fix, just putting in the issue here for reference 😊

Thank you @mikhailshilkov - I'm doing that atm as an easy fix, just putting in the issue here for reference 😊


i can never export from cats

it always gives the following error

Switch to blender 2.93, or switch to blender 3.0 with CATS dev version

See https://github.com/absolute-quantum/cats-blender-plugin/issues/379