how to use it in NetCore2.0 webapi

I want to use AppMetrics In my WebApi Application, metrics data write to influxdb,how I do?
I use this code ,but my database have not data ,the Code :
`using App.Metrics;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using System;
namespace WebApplication1
{
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
    public IConfiguration Configuration { get; }

    // This method gets called by the runtime. Use this method to add services to the container.
    public void ConfigureServices(IServiceCollection services)
    {

        var metrics = new MetricsBuilder()
            .Configuration.Configure(
            options =>
            {
                options.WithGlobalTags((globalTags, info) =>
                {
                    globalTags.Add("app", "RepairApp");
                    globalTags.Add("env", "stage");
                    globalTags.Add("server", Environment.MachineName);
                });
            })
            .Report.ToInfluxDb(
                options =>
                {
                    options.InfluxDb.BaseUri = new Uri("http://<IP_ADDRESS>:9087");
                    options.InfluxDb.Database = "RepairAppInfluxData";
                    options.InfluxDb.UserName = "System";
                    options.InfluxDb.Password = "123456";
                    options.HttpPolicy.BackoffPeriod = TimeSpan.FromSeconds(30);
                    options.HttpPolicy.FailuresBeforeBackoff = 5;
                    options.HttpPolicy.Timeout = TimeSpan.FromSeconds(10);
                    options.FlushInterval = TimeSpan.FromSeconds(5);
                })
            .Build();
        services.AddMetrics(metrics);
        services.AddMetricsReportScheduler();

        services.AddMvc().AddJsonOptions(
            op =>
            op.SerializerSettings.ContractResolver
            = new Newtonsoft.Json.Serialization.DefaultContractResolver()
        );
    }

    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
    public void Configure(IApplicationBuilder app, IHostingEnvironment env, IApplicationLifetime lifetime)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }

        app.UseCors(builder =>
        {
            builder.AllowAnyOrigin();
            builder.AllowAnyHeader();
            builder.AllowAnyMethod();
        });
        app.UseMvc();
    }
}

}
`

Have you looked at the sample project in this repo? https://github.com/AppMetrics/InfluxDB/tree/dev/sandbox/MetricsInfluxDBSandboxMvc

Thanks,My English is very poor!
I use it in my project,but application is Error,the error message is:
System.Threading.Tasks.TaskCanceledException: A task was canceled.
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()
at System.Net.Http.HttpClient.d__58.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at App.Metrics.Reporting.InfluxDB.Client.DefaultLineProtocolClient.d__8.MoveNext()
The Startup.cs Code :
`using App.Metrics;
using Common.Model;
using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Diagnostics;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Microsoft.IdentityModel.Tokens;
using Newtonsoft.Json;
using NLog.Extensions.Logging;
using NLog.Web;
using System;
namespace WebAPI
{
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
    public IConfiguration Configuration { get; }

    // This method gets called by the runtime. Use this method to add services to the container.
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddMemoryCache();

        #region Metrics监控配置
        string IsOpen = Configuration.GetSection("InfluxDB")["IsOpen"].ToLower();
        if (IsOpen == "true")
        {
            string database = Configuration.GetSection("InfluxDB")["DataBaseName"];
            string InfluxDBConStr = Configuration.GetSection("InfluxDB")["ConnectionString"];
            string app = Configuration.GetSection("InfluxDB")["app"];
            string env = Configuration.GetSection("InfluxDB")["env"];
            string username = Configuration.GetSection("InfluxDB")["username"];
            string password = Configuration.GetSection("InfluxDB")["password"];

            var uri = new Uri(InfluxDBConStr);

            var metrics = AppMetrics.CreateDefaultBuilder()
            .Configuration.Configure(
            options =>
            {
                options.AddAppTag(app);
                options.AddEnvTag(env);
            })
            .Report.ToInfluxDb(
            options =>
            {
                options.InfluxDb.BaseUri = uri;
                options.InfluxDb.Database = database;
                options.InfluxDb.UserName = username;
                options.InfluxDb.Password = password;
                options.HttpPolicy.BackoffPeriod = TimeSpan.FromSeconds(30);
                options.HttpPolicy.FailuresBeforeBackoff = 5;
                options.HttpPolicy.Timeout = TimeSpan.FromSeconds(10);
                options.FlushInterval = TimeSpan.FromSeconds(5);
            })
            .Build();

            services.AddMetrics(metrics);
            services.AddMetricsReportScheduler();
            services.AddMetricsTrackingMiddleware();
            services.AddMetricsEndpoints();

        }
        #endregion

        services.AddMvc().AddJsonOptions(op =>op.SerializerSettings.ContractResolver= new Newtonsoft.Json.Serialization.DefaultContractResolver());
    }

    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
    public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
            loggerFactory.AddConsole(Configuration.GetSection("Logging"));
            loggerFactory.AddDebug();
        }

        loggerFactory.AddNLog();
        env.ConfigureNLog("nlog.config");
        app.AddNLogWeb();

        #region 注入Metrics
        string IsOpen = Configuration.GetSection("InfluxDB")["IsOpen"].ToLower();
        if (IsOpen == "true")
        {
            app.UseMetricsAllMiddleware();
            // Or to cherry-pick the tracking of interest
            app.UseMetricsActiveRequestMiddleware();
            app.UseMetricsErrorTrackingMiddleware();
            app.UseMetricsPostAndPutSizeTrackingMiddleware();
            app.UseMetricsRequestTrackingMiddleware();
            app.UseMetricsOAuth2TrackingMiddleware();
            app.UseMetricsApdexTrackingMiddleware();

            app.UseMetricsAllEndpoints();
            // Or to cherry-pick endpoint of interest
            app.UseMetricsEndpoint();
            app.UseMetricsTextEndpoint();
            app.UseEnvInfoEndpoint();
        }
        #endregion

        app.UseCors(builder =>
        {
            builder.AllowAnyOrigin();
            builder.AllowAnyHeader();
            builder.AllowAnyMethod();
        });

        app.UseMvc();
    }
}

}
`

Looks like your application can't connect to InfluxDB? i.e. Getting a task cancelled exception in DefaultLineProtocolClient

I run the application, query the Influxdb database, found that the application can be inserted into the Influxdb, after running for a period of time, received the wrong information, will be the Influxdb lock table lock database causes? Is it related to the configuration of Influxdb?

My InfluxDB Config Code:
##`# Welcome to the InfluxDB configuration file.
# The values in this file override the default values used by the system if # a config option is not specified. The commented out lines are the configuration
# field and the default value used. Uncommenting a line and changing the value # will change the value used at runtime when the process is restarted.
# Once every 24 hours InfluxDB will report usage data to usage.influxdata.com # The data includes a random ID, os, arch, version, the number of series and other
# usage data. No data from user databases is ever transmitted. # Change this option to true to disable reporting.
`# reporting-disabled = false
`# Bind address to use for the RPC service for backup and restore.
bind-address = "<IP_ADDRESS>:9088"
### ### [meta]
### ### Controls the parameters for the Raft consensus group that stores metadata
### about the InfluxDB cluster. ###
[meta]
`# Where the metadata/raft database is stored
dir = "influxdb/meta"
# Automatically create a default retention policy when creating a database.   # retention-autocreate = true
# If log messages are printed for the meta service   # logging-enabled = true
### ### [data]
### ### Controls where the actual shard data for InfluxDB lives and how it is
### flushed from the WAL. "dir" may need to be changed to a suitable place ### for your system, but the WAL settings are an advanced configuration. The
### defaults should work for most systems. ###
[data]
`# The directory where the TSM storage engine stores TSM files.
dir = "influxdb/data"
`# The directory where the TSM storage engine stores WAL files.
wal-dir = "influxdb/wal"
# The amount of time that a write will wait before fsyncing.  A duration   # greater than 0 can be used to batch up multiple fsync calls.  This is useful for slower
# disks or when WAL write contention is seen.  A value of 0s fsyncs every write to the WAL.   # Values in the range of 0-100ms are recommended for non-SSD disks.
`# wal-fsync-delay = "0s"
# The type of shard index to use for new shards.  The default is an in-memory index that is   # recreated at startup.  A value of "tsi1" will use a disk based index that supports higher
# cardinality datasets.   # index-version = "inmem"
# Trace logging provides more verbose output around the tsm engine. Turning   # this on can provide more useful output for debugging tsm engine issues.
`# trace-logging-enabled = false
# Whether queries should be logged before execution. Very useful for troubleshooting, but will   # log any sensitive data contained within a query.
`# query-log-enabled = true
`# Settings for the TSM engine
# CacheMaxMemorySize is the maximum size a shard's cache can   # reach before it starts rejecting writes.
`# cache-max-memory-size =<PHONE_NUMBER>
# CacheSnapshotMemorySize is the size at which the engine will   # snapshot the cache and write it to a TSM file, freeing up memory
`# cache-snapshot-memory-size = 26214400
# CacheSnapshotWriteColdDuration is the length of time at   # which the engine will snapshot the cache and write it to
# a new TSM file if the shard hasn't received writes or deletes   # cache-snapshot-write-cold-duration = "10m"
# CompactFullWriteColdDuration is the duration at which the engine   # will compact all TSM files in a shard if it hasn't received a
# write or delete   # compact-full-write-cold-duration = "4h"
# The maximum number of concurrent full and level compactions that can run at one time.  A   # value of 0 results in runtime.GOMAXPROCS(0) used at runtime.  This setting does not apply
# to cache snapshotting.   # max-concurrent-compactions = 0
# The maximum series allowed per database before writes are dropped.  This limit can prevent   # high cardinality issues at the database level.  This limit can be disabled by setting it to
# 0.   # max-series-per-database = 1000000
# The maximum number of tag values per tag that are allowed before writes are dropped.  This limit   # can prevent high cardinality tag values from being written to a measurement.  This limit can be
# disabled by setting it to 0.   # max-values-per-tag = 100000
### ### [coordinator]
### ### Controls the clustering service configuration.
##`#
[coordinator]
# The default time a write request will wait until a "timeout" error is returned to the caller.   # write-timeout = "10s"
# The maximum number of concurrent queries allowed to be executing at one time.  If a query is   # executed and exceeds this limit, an error is returned to the caller.  This limit can be disabled
# by setting it to 0.   # max-concurrent-queries = 0
# The maximum time a query will is allowed to execute before being killed by the system.  This limit   # can help prevent run away queries.  Setting the value to 0 disables the limit.
`# query-timeout = "0s"
# The time threshold when a query will be logged as a slow query.  This limit can be set to help   # discover slow or resource intensive queries.  Setting the value to 0 disables the slow query logging.
`# log-queries-after = "0s"
# The maximum number of points a SELECT can process.  A value of 0 will make   # the maximum point count unlimited.  This will only be checked every 10 seconds so queries will not
# be aborted immediately when hitting the limit.   # max-select-point = 0
# The maximum number of series a SELECT can run.  A value of 0 will make the maximum series   # count unlimited.
`# max-select-series = 0
# The maxium number of group by time bucket a SELECT can create.  A value of zero will max the maximum   # number of buckets unlimited.
`# max-select-buckets = 0
### ### [retention]
### ### Controls the enforcement of retention policies for evicting old data.
##`#
[retention]
# Determines whether retention policy enforcement enabled.   # enabled = true
# The interval of time when retention policy enforcement checks run.   # check-interval = "30m"
### ### [shard-precreation]
### ### Controls the precreation of shards, so they are available before data arrives.
### Only shards that, after creation, will have both a start- and end-time in the ### future, will ever be created. Shards are never precreated that would be wholly
##`# or partially in the past.
[shard-precreation]
# Determines whether shard pre-creation service is enabled.   # enabled = true
# The interval of time when the check to pre-create new shards runs.   # check-interval = "10m"
# The default period ahead of the endtime of a shard group that its successor   # group is created.
`# advance-period = "30m"
### ### Controls the system self-monitoring, statistics and diagnostics.
### ### The internal database for monitoring data is created automatically if
### if it does not already exist. The target retention within this database ### is called 'monitor' and is also created with a retention period of 7 days
### and a replication factor of 1, if it does not exist. In all cases the ### this retention policy is configured as the default for the database.
[monitor]
# Whether to record statistics internally.   # store-enabled = true
# The destination database for recorded statistics   # store-database = "_internal"
# The interval at which to record statistics   # store-interval = "10s"
### ### [http]
### ### Controls how the HTTP endpoints are configured. These are the primary
### mechanism for getting data into and out of InfluxDB. ###
[http]
`# Determines whether HTTP endpoint is enabled.
enabled = true
`# The bind address used by the HTTP service.
bind-address = ":9086"
`# Determines whether user authentication is enabled over HTTP/HTTPS.
auth-enabled = true
# The default realm sent back when issuing a basic auth challenge.   # realm = "InfluxDB"
# Determines whether HTTP request logging is enabled.   # log-enabled = true
# Determines whether detailed write logging is enabled.   # write-tracing = false
# Determines whether the pprof endpoint is enabled.  This endpoint is used for   # troubleshooting and monitoring.
`# pprof-enabled = true
# Determines whether HTTPS is enabled.   # https-enabled = false
# The SSL certificate to use when HTTPS is enabled.   # https-certificate = "/etc/ssl/influxdb.pem"
# Use a separate private key location.   # https-private-key = ""
# The JWT auth shared secret to validate requests using JSON web tokens.   # shared-secret = ""
# The default chunk size for result sets that should be chunked.   # max-row-limit = 0
# The maximum number of HTTP connections that may be open at once.  New connections that   # would exceed this limit are dropped.  Setting this value to 0 disables the limit.
`# max-connection-limit = 0
# Enable http service over unix domain socket   # unix-socket-enabled = false
# The path of the unix domain socket.   # bind-socket = "/var/run/influxdb.sock"
### ### [subscriber]
### ### Controls the subscriptions, which can be used to fork a copy of all data
### received by the InfluxDB host. ###
[subscriber]
# Determines whether the subscriber service is enabled.   # enabled = true
# The default timeout for HTTP writes to subscribers.   # http-timeout = "30s"
# Allows insecure HTTPS connections to subscribers.  This is useful when testing with self-   # signed certificates.
`# insecure-skip-verify = false
# The path to the PEM encoded CA certs file. If the empty string, the default system certs will be used   # ca-certs = ""
# The number of writer goroutines processing the write channel.   # write-concurrency = 40
# The number of in-flight writes buffered in the write channel.   # write-buffer-size = 1000
### ### [[graphite]]
### ### Controls one or many listeners for Graphite data.
##`#
[[graphite]]
# Determines whether the graphite endpoint is enabled.   # enabled = false
# database = "graphite"   # retention-policy = ""
# bind-address = ":2003"   # protocol = "tcp"
`# consistency-level = "one"
# These next lines control how batching works. You should have this enabled   # otherwise you could get dropped metrics or poor performance. Batching
`# will buffer points in memory if you have many coming in.
# Flush if this many points get buffered   # batch-size = 5000
# number of batches that may be pending in memory   # batch-pending = 10
# Flush at least this often even if we haven't hit buffer limit   # batch-timeout = "1s"
# UDP Read buffer size, 0 means OS default. UDP listener will fail if set above OS max.   # udp-read-buffer = 0
### This string joins multiple matching 'measurement' values providing more control over the final measurement name.   # separator = "."
### Default tags that will be added to all metrics.  These can be overridden at the template level   ### or by tags extracted from metric
`# tags = ["region=us-east", "zone=1c"]
### Each template line requires a template pattern.  It can have an optional   ### filter before the template and separated by spaces.  It can also have optional extra
### tags following the template.  Multiple tags should be separated by commas and no spaces   ### similar to the line protocol format.  There can be only one default template.
# templates = [   #   "*.app env.service.resource.measurement",
#   # Default template
#   "server.*",   # ]
### ### [collectd]
### ### Controls one or many listeners for collectd data.
##`#
[[collectd]]
# enabled = false   # bind-address = ":25826"
# database = "collectd"   # retention-policy = ""
#   # The collectd service supports either scanning a directory for multiple types
# db files, or specifying a single db file.   # typesdb = "/usr/local/share/collectd"
#   # security-level = "none"
`# auth-file = "/etc/collectd/auth_file"
# These next lines control how batching works. You should have this enabled   # otherwise you could get dropped metrics or poor performance. Batching
`# will buffer points in memory if you have many coming in.
# Flush if this many points get buffered   # batch-size = 5000
# Number of batches that may be pending in memory   # batch-pending = 10
# Flush at least this often even if we haven't hit buffer limit   # batch-timeout = "10s"
# UDP Read buffer size, 0 means OS default. UDP listener will fail if set above OS max.   # read-buffer = 0
### ### [opentsdb]
### ### Controls one or many listeners for OpenTSDB data.
##`#
[[opentsdb]]
# enabled = false   # bind-address = ":4242"
# database = "opentsdb"   # retention-policy = ""
# consistency-level = "one"   # tls-enabled = false
`# certificate= "/etc/ssl/influxdb.pem"
# Log an error for every malformed point.   # log-point-errors = true
# These next lines control how batching works. You should have this enabled   # otherwise you could get dropped metrics or poor performance. Only points
`# metrics received over the telnet protocol undergo batching.
# Flush if this many points get buffered   # batch-size = 1000
# Number of batches that may be pending in memory   # batch-pending = 5
# Flush at least this often even if we haven't hit buffer limit   # batch-timeout = "1s"
### ### [[udp]]
### ### Controls the listeners for InfluxDB line protocol data via UDP.
##`#
[[udp]]
# enabled = false   bind-address = ":9089"   # database = "udp"
`# retention-policy = ""
# These next lines control how batching works. You should have this enabled   # otherwise you could get dropped metrics or poor performance. Batching
`# will buffer points in memory if you have many coming in.
# Flush if this many points get buffered   # batch-size = 5000
# Number of batches that may be pending in memory   # batch-pending = 10
# Will flush at least this often even if we haven't hit buffer limit   # batch-timeout = "1s"
# UDP Read buffer size, 0 means OS default. UDP listener will fail if set above OS max.   # read-buffer = 0
### ### [continuous_queries]
### ### Controls how continuous queries are run within InfluxDB.
##`#
[continuous_queries]
# Determines whether the continuous query service is enabled.   # enabled = true
# Controls whether queries are logged when executed by the CQ service.   # log-enabled = true
# interval for how often continuous queries will be checked if they need to run   # run-interval = "1s"

What is "received the wrong information" referring too? Incorrect data?
Are these the default InfluxDB settings?

wrong information is:
System.Threading.Tasks.TaskCanceledException: A task was canceled.
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()
at System.Net.Http.HttpClient.d__58.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at App.Metrics.Reporting.InfluxDB.Client.DefaultLineProtocolClient.d__8.MoveNext()
InfluxDB settings is default  Config

Influxdb and .NetCore WebAPi  running on Windows Server 2008 R2

Unfortunately I cannot replicate your issue, I've ran the 2.0 InfluxDB sample app for 4 hours without issues and also I am using it for a production app, attempting to publish a metrics snapshot to snapshot.raintank.io but it's taking a while.
Are testing on your local or in a production environment, if you're in a prod environment how are you hosting InfluxDB?

This is my application's error log：
http://studyw.cn/Content/20171106.html

At the beginning, I deployed InfluxDB on the Windows system, and now I'm deploying InfluxDB in Linux, but it's the same error

Can you try cloning the sample project and pointing it to your influxdb instance without any auth?

ok, I'll try it,thanks!

I ran the sample project and didn't report error message, but the project was.Net core 1.2, and my project was no problem at.Net core 1.2 version, and then when I upgraded to core 2, the error message came out

Interesting because the sample project is dotnet core 2....

https://github.com/AppMetrics/InfluxDB/blob/a0364f98d2d7d86db9494a00f5b8e49e0619f210/sandbox/MetricsInfluxDBSandboxMvc/Startup.cs#L32
Compilation error.
.AddMetrics() is unknown extension.

@RouR that change has not yet been released, I'm going to guess you've run the solution pulling packages from nuget rather than the latest Dev packages on myget?

Change is here, set the "Read for Release" - https://github.com/AppMetrics/AspNetCore/issues/9
You can also check builds on appveyor - https://ci.appveyor.com/project/alhardy/influxdb


Increase sidecar timeout from 60s to higher value

Describe the bug
At present, the request timeout of sidecars are at 60s and this is a request to increase this time out value to 150s or higher. The higher timeout value can help to reduce the load of our backend ceph cluster and also can avoid throttling issues at sidecars to an extend.

Is the above PR closing this issue?
@Madhu-1 , @humblec  ?

@mykaul this has been updated in rook, people who are using rook to deploy  ceph-csi will get higher timeout values, will updated templates in ceph-csi in 1.2.1 release

@mykaul we are yet to receive the test results on increased timeout. so, we will update the template here too and based on the test result we can update and close this.

@humblec can you shorten the commit heading message


cleanup: remove unneeded updateSnapshotDetails() function

updateSnapshotDetails() just calls getImageInfo() on an rbdVolume
created from the rbdSnapshot. getImageInfo() is a function of the
base rbdImage struct, so there really is no need for this indirection.

@mergifyio queue

Something isn't right here... Maybe the ImageID of the snapshot/parent should not get updated?

/test ci/centos/mini-e2e/k8s-1.30


region: delete snapshots on delete disk or guest, instance snapshot fix

这个 PR 实现什么功能/修复什么问题:
RT
是否需要 backport 到之前的 release 分支:
release/2.12
/area region

Codecov Report

Merging #3268 into master will decrease coverage by <.01%.
The diff coverage is 0%.

@@            Coverage Diff            @@
##           master   #3268      +/-   ##
=========================================
- Coverage    7.05%   7.05%   -0.01%
=========================================
  Files         482     482
  Lines       78501   78553      +52
=========================================
- Hits         5540    5538       -2
- Misses      72500   72553      +53
- Partials      461     462       +1

Flag
Coverage Δ

#aFlag
7.05% <0%> (-0.01%)
:arrow_down:

Impacted Files
Coverage Δ

pkg/mcclient/options/servers.go
0% <ø> (ø)
:arrow_up:

pkg/compute/guestdrivers/virtualization.go
0% <0%> (ø)
:arrow_up:

pkg/compute/models/disks.go
0.65% <0%> (-0.01%)
:arrow_down:

pkg/compute/models/instance_snapshot_joint.go
4.16% <0%> (ø)
:arrow_up:

pkg/compute/models/guest_actions.go
0% <0%> (ø)
:arrow_up:

pkg/compute/models/snapshots.go
1.64% <0%> (ø)
:arrow_up:

pkg/compute/models/guests.go
0.62% <0%> (-0.01%)
:arrow_down:

pkg/compute/models/host_recycle.go
0% <0%> (ø)
:arrow_up:

pkg/compute/models/instance_snapshots.go
7.43% <0%> (-0.53%)
:arrow_down:

pkg/appsrv/response.go
66.15% <0%> (-3.08%)
:arrow_down:

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 4b8d353...90ee44a. Read the comment docs.

/lgtm

/approve


editable dev dependency

similar to PDM:
[tool.rye]
dev-dependencies = [
    "-e file:///path/to/project#egg=project",
]

The recommended way to do this is to add them all into one workspace. Is that an option for you?

What is the issue you ran into when using workspaces?

I'm closing this. I believe workspaces should address this use case. If not please open a new issue.


Examples panicking after update to glutin 0.17

This commit caused imgui-rs test_window and test_window_impl to panic (on windows at least, haven't tried on linux).
It adds an unimplemented call to handle a resize event, this is what is causing the application to panic, see:
thread 'main' panicked at 'not yet implemented', examples\support\mod.rs:40:37
stack backtrace:
   0: std::sys_common::backtrace::_print
             at C:\projects\rust\src\libstd\sys_common\backtrace.rs:94
   1: std::panicking::default_hook::{{closure}}
             at C:\projects\rust\src\libstd\panicking.rs:379
   2: std::panicking::default_hook
             at C:\projects\rust\src\libstd\panicking.rs:396
   3: std::panicking::rust_panic_with_hook
             at C:\projects\rust\src\libstd\panicking.rs:610
   4: std::panicking::begin_panic<str*>
             at C:\projects\rust\src\libstd\panicking.rs:571
   5: test_window_impl::support::run::{{closure}}<closure>
             at .\examples\support\mod.rs:40
   6: winit::platform::platform::events_loop::EventsLoop::poll_events<closure>
             at C:\Users\Utilisateur\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.7.5\src\platform\windows\events_loop.rs:154
   7: winit::EventsLoop::poll_events<closure>
             at C:\Users\Utilisateur\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.7.5\src\lib.rs:219
   8: test_window_impl::support::run<closure>
             at .\examples\support\mod.rs:33
   9: test_window_impl::main
             at .\examples\test_window_impl.rs:113
  10: panic_unwind::__rust_maybe_catch_panic
             at C:\projects\rust\src\libpanic_unwind\lib.rs:98
  11: std::rt::lang_start
             at C:\projects\rust\src\libstd\rt.rs:54
  12: main
  13: __scrt_common_main_seh
             at f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:259
  14: BaseThreadInitThunk
error: process didn't exit successfully: `C:\Danny\imgui-rs\target\debug\examples\test_window_impl.exe` (exit code: 101)

My bad! I was keeping tot he gfx example's style, and we never did handle the resize event for the glium examples anyway. I added unimplemented!(), but never got around to figuring out how!

Oops, should've noticed this in the code review. I'll try to get it fixed tomorrow :sweat_smile:

This was fixed in 51329d5938b446d272f344ff1721711cfa265585


Cannot delete all numbers from rotate fields

If i want to rotate say 90 i need to place a 9 before the 0, the if i want to go from there and put 180 i need to again go from left put new numbers and then erase the rest. 1 character seems to be sticky. Not the same on any of the other fields as erasing all characters seems to have a default.
Other Suggestions:
Add preset buttons for top, bottom, side views
Add preset for rotation increments in 90 degree ( it doesn't apply much to SLA )

Fixed.
Your suggestions will be incorporated into the v2.
Thanks!


Integration with agm?

Just wondering if there was an easy way to integrate this into agm's already existing marker clusterer or am I going to have to manually create one?

the methods are mostly the same, I would guess it shouldn't be too hard, but it's mostl about angular and maybe a better question for the agm guys.


Replace deprecated browser interaction code : Change dynCall to makeD…

From unity documentation : https://docs.unity3d.com/6000.0/Documentation/Manual/web-interacting-browser-deprecated.html
"Some code involved with web browser script interactions is deprecated and has been replaced with alternative code.
If your code contains any of the deprecated code, you need to update the code with the replacement code to prevent unexpected behavior or broken code."
Using Unity 6 with Target WebAssembly 2023, Module.dynCall throw not defined errors.
This changes resolve the issue.

Thanks my friend.


Add provider equinix and module_name in Equinix Metal TF configs

Please, review requested changes

updated

Approved but my approval doesn't count for anything on this repo 😢


Param does not work: size-height.

On the demo page the param is set to 120, but the chart is 320.

I am also having this issue.


Remove items selected from item list or other way to separate items from "select" and "selected" list

Is there a possibility to remove the item included in the select items list ? I have 50+ items and when my user scroll he can not see that the item, that he has clicked, has been chosen/inserted in the selected list.
Or a way to have only one list with the recycle icon near the element chosen.
Thanks and sorry for my bad english.

Hi @ziobudda
can you maybe elaborate more on that as I cannot really understand what the issue is. You mean you have 50+ items (from the back end) which are displayed right? And what about the recycle icon?
Can you maybe show me the configuration of the directive or create a codepen with an example of how you configured it?
Thanks and regards,
Guy

Hi @ziobudda
could you maybe answer my questions above? I will close the issue now due to inactivity. If you have any comments please add them here and we can reopen it.
Thanks and regards,
Guy


Translating new sentences

Coverage remained the same at 56.992% when pulling 154dfa16e05e47b936f15b316a669465a0587a07 on GRT1979:master into 38302fdc1c6396ebeeb23276d5ec5dbba82d89e9 on codecombat:master.

Coverage remained the same at 56.909% when pulling 0f26612e6b56eed3c1ceeff986321e32fd3369af on GRT1979:master into 0c90f63713a146989db01ed57f38b6ce08947478 on codecombat:master.


Delete unnecessary MembersMustExist annotation

See https://github.com/dotnet/corert/pull/5867#issuecomment-393678042
cc @MichalStrehovsky


Roblox OAuth provider

Roblox recently opened up a private alpha for their new OAuth2 system, and should become public in a few months. I can keep this issue updated with any news, so that once it becomes public it can be implemented into Supabase.
Until then, I will come up with a basic draft and see if I can get it functioning properly locally.
Roblox is what my app is based around, but I am currently using Discord OAuth through Supabase and authenticating them using other means afterwards. Adding this OAuth would make my life incredibly simple.

hey @cursecodes, we're closing this in view of #451


Double header rows in pandas

Hello,
These code:
import pandas as pd

doc = Document("simple.numbers")
sheets = doc.sheets()
tables = sheets[0].tables()
data = tables[0].rows(values_only=True)
df = pd.DataFrame(data, columns=["A", "B", "C"])

...doubles the header rows. I mean when I have a standalone header row in .numbers file and pass this .numbers file to pandas it treats the header row as a normal row too and as a result I am getting pandas dataframe where the first row contains column headings (which is correct) and below I get standalone row which contains same values as above.
Any solution for that besides deleting the header rows inside .numbers file?

Ah right. You need something like this then:
data = tables[0].rows(values_only=True)
df = pd.DataFrame(data[1:], columns=data[0])

The rows method will return data and headers so using the first element of that list for the column names is what you need.

@masaccio thanks. Working as expected now.


Restrictions on the description, label and tags in general

Certain characters should not be allowed in tags (particularly this comes up in descriptions and labels).  These characters are
parentheses:  ( )
comma:   ,
tilda:   ~
This should be put in the HED schema somewhere

This has migrated to issue #16 in hed-standard/hed-specification


output of generate_tsv is not accepted by Y.Toloka

tested on branch develop-toloka.
ya-disk:

proof that picture is opened:

tsv-file:
INPUT:image_rel	INPUT:json_params	GOLDEN:result
/LT-Data1/20161106_230949_7777_00408CACB891.mkv_004.jpg		true
/LT-Data1/20161106_230949_7777_00408CACB891.mkv_005.jpg		true
/LT-Data1/20161106_230949_7777_00408CACB891.mkv_003.jpg		true
/LT-Data1/20161106_230949_7777_00408CACB891.mkv_006.jpg		true

toloka errors:

{
    "withFailure": true,
    "results": {
        "2": {
            "success": false,
            "payload": {
                "tasks.0.input_values.json_params": {
                    "code": "VALUE_REQUIRED",
                    "message": "Value must be present and not equal to null"
                }
            }
        },
        "3": {
            "success": false,
            "payload": {
                "tasks.0.input_values.json_params": {
                    "code": "VALUE_REQUIRED",
                    "message": "Value must be present and not equal to null"
                }
            }
        },
        "4": {
            "success": false,
            "payload": {
                "tasks.0.input_values.json_params": {
                    "code": "VALUE_REQUIRED",
                    "message": "Value must be present and not equal to null"
                }
            }
        },
        "5": {
            "success": false,
            "payload": {
                "tasks.0.input_values.json_params": {
                    "code": "VALUE_REQUIRED",
                    "message": "Value must be present and not equal to null"
                }
            }
        }
    }
}

Hi, it looks like your TSV file is missing JSON params. Did you specify a JSON file with no contents?

Ok, the problem was in the script, it is fixed now. Check the latest version in develop-toloka

Worked on my machine. Should be ok now.


[RPC] Add transaction size to JSON output

This may be useful for blockchain explorers.

Merged, thanks!


Web Validator: add link details to results page

@ryon
On the results page, add:

[ ] a notice informing the user that they can share the URL of their results with others for at least 30 days
[ ] a link the report.json file that is right next to report.html in the storage bucket

Good idea!
Am I understanding correctly that the URL link itself is only working for 30 days?
Would be nice to have an option that allows the user to copy the URL in one click.
The flow could be (similar to other "share" functionalities).

click on a Share button
copy the URL link

@isabelle-dr well the links will work until we purge results and a process for actually purging aged results isn't in our immediate scope, so right now they'll work indefinitely... but we want to set conservative expectations
Good point re: a handy way to copy, I'll leave that to @ryon's consideration

Ok that makes sense.
For the JSON -> you thinking of adding a download link or will it be an online instance of the JSON?

See my PR for more details: https://github.com/MobilityData/gtfs-validator/pull/1397
https://user-images.githubusercontent.com/1154929/233803546-d368112c-7a90-4735-bb49-a33dadbdf574.mov


Do Date validations/use Date picker and Empty Date gives an error

Empty Date gives an error.

Hi,
We are validating the empty date in the server side which is why the error alert. We will add a date picker which would eliminate this in the next milestone.
Thanks,
Alakh


[WIP]Introduce assembly

Abstract
I implemented assembly arithmetic #2 so I am going to introduce to field arithmetic to this repo.
What I did

Described simple field arithmetic test
Introduce github actions test
Bench add, sub, double and mul, square arithmetic
Introduce asm and update tool chain
Introduce add assembly method

Benches
none assembly
Benchmarking add arithmetic bench
add arithmetic bench    time:   [81.516 ns 82.429 ns 83.437 ns]
Found 6 outliers among 100 measurements (6.00%)
  4 (4.00%) high mild
  2 (2.00%) high severe

Benchmarking sub arithmetic bench
sub arithmetic bench    time:   [84.772 ns 86.331 ns 87.884 ns]
Found 3 outliers among 100 measurements (3.00%)
  3 (3.00%) high mild

Benchmarking double arithmetic bench
double arithmetic bench time:   [84.574 ns 85.989 ns 87.701 ns]
Found 1 outliers among 100 measurements (1.00%)
  1 (1.00%) high mild

Benchmarking mul arithmetic bench
mul arithmetic bench    time:   [89.227 ns 90.811 ns 92.449 ns]

Benchmarking square arithmetic bench
square arithmetic bench time:   [81.477 ns 82.390 ns 83.371 ns]
Found 4 outliers among 100 measurements (4.00%)

complete version is -> https://github.com/appliedzkp/pairing/pull/5


Update and rename CODE_OF_CONDUCT.md to CODE_OF_SUBMISSION.md

In accordance to https://github.com/hotwired/turbo/issues/977#issuecomment-1709951236

lgtm

Impossible to read! The file history is lost. Make two commits: first, rename the file. Then text edits.
Removing Typescript will benefit everyone. Ultimately, technology is moving to such a level that soon no typescripts will be needed. I am sure that in the future all types will be derived based on Ai. Stop slowing down progress

@jt3k you can check update CoC commit directly now.

This seems to be an exact representation of how @dhh sees open source. "We own the project, you work for free for us."


Add StagedCoreGroup and StagedMlsGroup

This commit adds the above types to make it possible to inspect the content of a Welcome message before joining a group.

Sorry, I should have been more explicit in the commit/PR message, not just the comments. The main point right now is to be able to see who signed the welcome. This information gets thrown away when building the group, so it's not possible to extract that afterwards.
On 21 February 2024 18:01:33 CET, raphaelrobert @.***> wrote:

Thanks! Can you describe what the advantage is when using a StagedMlsGroup? Or rather, what is the disadvantage when joining a group right away? Since there is no need to persist the group, you could join it, inspect it, and finally discard it.
--
Reply to this email directly or view it on GitHub:
https://github.com/openmls/openmls/pull/1506#issuecomment-1957313319
You are receiving this because you authored the thread.
Message ID: @.***>
--
Sent from my Android device with K-9 Mail. Please excuse my brevity.

@franziskuskiefer this is ready for review round two now


Update flyway-core to 9.15.1

Updates org.flywaydb:flyway-core from 7.15.0 to 9.15.1.
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!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.flywaydb", artifactId = "flyway-core" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.flywaydb", artifactId = "flyway-core" }
}]

labels: library-update, early-semver-major, semver-spec-major, commit-count:1

Superseded by #693.

Superseded by #694.


Fix parsing for valid message containers in delivery reports

I think this was what was intended originally and it got a little out of order while cleaning up the git history. @horkhe or @pfista can you confirm?


Extract Rule case properties

This allows the properties to be accessed directly rather than through a case.

Was developed off a slightly incorrect base, so #68 should be merged first.

I'm happy with this, but will again leave for @allthatilk to approve given her more detailed knowledge of ruleset implementation.


Implement a backpressure for BoundedStorageProvider

I made this using ChatGPT, tested it and was like "holy shit it actually works" although I would recommend doing more testing, just to be sure.

Thanks for taking a stab at this! It's a noble attempt, but it seems ChatGPT isn't aware that using a synchronous Condvar in a function that will be called in an asynchronous context isn't a good idea.
I haven't put too much thought into this yet, but my guess is that maybe we can add another method to the StorageProvider trait called is_writable that will return whether or not the underlying storage is prepared to accept new data. If it returns false, we can skip calling write and check again after read is called at least once. That should give us similar behavior without blocking the task.

Gotcha! I should be able to implement this now that I have a base laid out.

Oh, quick correction. That method should probably be added to the StorageWriter trait and it can have a default value of true (only specific providers will need to override this
pub trait StorageWriter: Write + Seek + Send + 'static {
    /// Returns whether or not the writer is prepared to accept new data.
    fn is_writeable(&self) -> bool {
        true
    }
}

Handled by #94, ended up being a bit more complex than I thought.


Sometimes I can't get a reply when I run the demo-conversation

Sometimes multiple rounds of dialogue will be interrupted.

It is always in progress but there is no reply.


Usage example code execution error

Hi Everyone,
I was trying to execute this 2nd code in usage section on my local after installing chalk, just to check the use cases:
// ES2015 tagged template literal
log(chalk`
CPU: {red ${cpu.totalPercent}%}
RAM: {green ${ram.used / ram.total * 100}%}
DISK: {rgb(255,131,0) ${disk.used / disk.total * 100}%}
`);

and got an error in cli like:
ReferenceError: cpu is not defined

Though its a minor issue, but I think example codes should have been error free. I hope you will agree with me.
Regards!

F.Y.I.
I fixed this issue on my local like:
// ES2015 tagged template literal
const totalPercent = 95;
const ramPercent = 60;
const diskPercent = 80;
log(chalk`
CPU: {red ${totalPercent}%}
RAM: {green ${ramPercent}%}
DISK: {rgb(255,131,0) ${diskPercent}%}
`);

Hi - we expect the average user can deduce the usage of the library via the examples. I don't think it's fair to expect a copy-paste-able example that is only a few lines long, especially when it's clear cpu doesn't exist in the scope of the example.


Improvements to the README

As a user new to the Adopt OpenJDK area the README needs to have more information in it. It would benefit from a section along the lines of 'what is in this repository and why would I want to use it?'
In addition I've been trying to follow the steps outlined and there are some changes required there too.  In the section below there isn't a test directory, the instruction cd /test/TestConfig doesn't work as TestConfig is at the top level. In addition it would be useful to put in an example for the format of the platform_on_which_to_test. Ideally there would be a list of all the available platforms which are valid for running tests on (this could be a link out to another github project containing the releases).
cd /test/TestConfig
  export JAVA_BIN=/location_of_JVM_under_test
  export SPEC=platform_on_which_to_test
  export JAVA_VERSION=[SE80|SE90] (SE90 default value)
  make -f run_configure.mk

Please provide example settings for JAVA_BIN too, reference https://github.com/AdoptOpenJDK/openjdk-tests/issues/5

As Shelley mentioned here https://github.com/AdoptOpenJDK/openjdk-tests/issues/7 the dependencies don't get pulled in by default so this instruction needs to be added to the README.

Closing this for now, as Helen's points have been addressed.  We will need to do another pass of documentation improvements, but can create fresh issue listing those enhancements.


1.4.0 very active mqtt messaging

Since upgrading to 1.4.0 today I am now seeing mqtt messages pushed for config and logging every 5 seconds. These were not either sent or logged with previous version.
 My MQTT traffic and logs seem normal, just like before.  I’ll close it for now but reopen if I’m missing something and this is an add-on issue.

Fair enough Daniel :) first of all I will try to reinstall the addon. If that fails I’ll raise an issue on the z2m gh.

It was a false alarm. The additional mqtt messages logged seem to be related to the node red Z2M admin panel: https://flows.nodered.org/flow/1f1c0dde4ff193e5c14d5b99442a7d00
I disabled the flow in NR and redeployed and the issue was resolved. I guess some interaction between the admin panel and Z2M 1.4.0.


brew services commands not working on Big Sur M1

brew config output
HOMEBREW_VERSION: 3.2.0
ORIGIN: https://github.com/Homebrew/brew
HEAD: 09f7bc27a99469cf947431df4754737dfbadb31d
Last commit: 8 days ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 5c3836dd0756581a3ebbe608636fa795b2d0ee1c
Core tap last commit: 42 minutes ago
Core tap branch: master
HOMEBREW_PREFIX: /opt/homebrew
HOMEBREW_CASK_OPTS: []
HOMEBREW_EDITOR: bbedit
HOMEBREW_MAKE_JOBS: 8
Homebrew Ruby: 2.6.3 => /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby
CPU: octa-core 64-bit arm_firestorm_icestorm
Clang: 12.0.5 build 1205
Git: 2.32.0 => /opt/homebrew/bin/git
Curl: 7.64.1 => /usr/bin/curl
macOS: 11.4-arm64
CLT: <IP_ADDRESS>.9
Xcode: 12.5.1
Rosetta 2: false

brew doctor output
Your system is ready to brew.

[X] I ran brew update and am still able to reproduce my issue.
[X] I have resolved all warnings from brew doctor and that did not fix my problem.

What were you trying to do (and why)?
brew services start nginx ==> should start nginx.  It doesn't.  brew services options don't work.
Using sudo works, but that's not recommended.
What happened (include all command output)?
>> 20:52:23 rich@HQ3 ~ ➜ brew services start nginx
==> Successfully started `nginx` (label: homebrew.mxcl.nginx)                 # not started up
>> 20:53:57 rich@HQ3 ~ ➜ ps -ax | grep nginx
61929 ttys004    0:00.00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn --exclude-dir=.idea --exclude-dir=.tox nginx

There is no nginx.pid file at this point.
>> 20:55:14 rich@HQ3 ~ ➜ nmap_open_ports localhost
Starting Nmap 7.91 ( https://nmap.org ) at 2021-06-28 20:55 EDT
Nmap scan report for localhost (<IP_ADDRESS>)
Host is up (0.000055s latency).
Not shown: 995 closed ports
PORT      STATE SERVICE
22/tcp    open  ssh
445/tcp   open  microsoft-ds
3689/tcp  open  rendezvous
5432/tcp  open  postgresql
49154/tcp open  unknown

What did you expect to happen?
nginx to behave according to brew instructions.  Nothing is happening.
Step-by-step reproduction instructions (by running brew commands)
As above.

Console reports:
$ brew services stop nginx
Stopping `nginx`... (might take a while)
==> Successfully stopped `nginx` (label: homebrew.mxcl.nginx)

**Console**:
error	07:01:41.413849-0400	kernel	Sandbox: ContextStoreAgen(404) deny(1) mach-lookup com.apple.ocspd
error	07:01:43.002834-0400	analyticsd	[Fault] Transform 'MT_com.apple.BSDServices.ScriptingLanguageUse_v2' hit unrecoverable error with reason='<private>' and context='<private>' with event='<private>'

$ brew services start nginx
==> Successfully started `nginx` (label: homebrew.mxcl.nginx)

**Console**:
error	07:01:45.659728-0400	analyticsd	[Fault] Transform 'MT_com.apple.BSDServices.ScriptingLanguageUse_v2' hit unrecoverable error with reason='<private>' and context='<private>' with event='<private>'
error	07:01:52.361865-0400	kernel	Sandbox: com.apple.WebKit(634) deny(1) mach-lookup com.apple.diagnosticd

Does this only happen with nginx or everything? What's the output in the nginx error log?

There is nothing in the error.log at all.  pgbouncer works just fine.

Any chance the maintainer could let me know what I should be seeing in the Security Control Panel?

Any chance the maintainer could let me know what I should be seeing in the Security Control Panel?

I have no idea what this means.
Can you start nginx outside of brew services? Does this work after restarting your machine? It sounds a lot like a local machine/configuration issue?

Big Sur permissions in the Security & Privacy control panel.  I've seen nginx in there before, but I can't find it now.
This failed:
>> 14:08:34 rich@HQ3 1.21.0 ➜ launchctl load /opt/homebrew/Cellar/nginx/1.21.0/homebrew.mxcl.nginx.plist
Load failed: 5: Input/output error

Restarted box, reinstalled nginx twice.  Here is something strange though:
>> 14:21:58 rich@HQ3 ~ ➜ nginx
nginx: [alert] could not open error log file: open() "/opt/homebrew/var/log/nginx/error.log" failed (13: Permission denied)
2021/06/29 14:22:02 [emerg] 1841#0: open() "/opt/homebrew/var/log/error.log" failed (13: Permission denied)

The error.log is nowhere in my conf files.  I've deleted it before and it's being erased.  I want everything to be in /opt/homebrew/var/log/*.log.
$ sudo chmod 777 error.log $ nginx
OK, THAT works.  But the original reason all this started, still persists.  I can't load a properly configured VHost.  It redirects to the default_server.

I am having similar problems on a M1 with
brew install gv

Did you check the console for anything?

Maybe my error is not connected to the one above. A software I am using requires gv and says that I should install this using brew. I deinstalled Homebrew and reinstalled it (this time in English, not German) and managed this without error messages. But it does not find gv:
Error: No available formula or cask with the name "gv".
Either this was not ported to M1 or I am making something completely wrong here.

Homebrew does not ship any software called gv via official channels. It's possible that this is provided by an external tap. Please contact whoever provided your software for instructions on how to install gv.

Thx.

Sorry, this is not a Homebrew bug but a configuration issue with your local machine @daBee.

Any suggestions as to what is wrong?  It was working until it didn't.  Nothing was configured out of the ordinary.  The box is months old.

You'll need to figure this out yourself, sorry.

Just sat down and tried it and it works this morning.
Thank you.  Cheers


The line charts have started to properly display balloon markers

I would like to display several sequential data sets on the same line chart (two data sets are sequential if the last element of the 1st set is also the first element of the 2nd one e.g. [1,2,3] and [3,4,5]); unfortunately, set up so, the line chart stops properly display balloon markers (they appear only over some points of the plot). The attached commit fixes the described issue.

Thanks!

This seems to be caused because of a deeper reason, from one of the latest changes.. I'll address it immediately

You're welcome!


fix wrong symlink content

After sort.Sort(filelist) ,  symlinks[v] will get a wrong symlink content.
Use path as key of symlinks will fix it.

Thanks for your PR!
It's better not to go fmt so many of source files in this PR. Can you just send the fix wrong symlink content commit?

#7


Can't convert to Base64

Can't convert to Base64 beacuse in Alphabet in B64 contains symbols that can't pass the condition /^.$|[+-.\s]|(.).*\1/ giving
Uncaught Error: [BigNumber Error] ALPHABET invalid: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
    at _.config._.set (bignumber.min.js:2:6185)

Any workaround?

It would just be a matter of replacing the characters. For example:
BigNumber.set({
  ALPHABET: '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$_'
});

const bigNumberToBase64 = big => big.toString(64).
  replace(/\$/g, '+').replace(/_/g, '-');

const bigNumberFromBase64 = str => new BigNumber(
  str.replace(/\+/g, '$').replace(/\-/g, '_'), 64);

console.log(
  bigNumberToBase64(bigNumberFromBase64('+123abcZ+--')
);
// '+123abcZ+--'


Refactor label projection

Refactoring the label projection task is still a WIP, but it makes sense to merge the branch at this point because it contains changes to the common/ components.
NEW FUNCTIONALITY

API: Created an explicit api definition for the censor, normalisation, method and metric components.

Created censoring component data_processing/censoring.

Created test data resources_test/label_projection/pancreas with src/label_projection/resources_test_scripts/pancreas.sh.

V1 MIGRATION

Ported normalisation method data_processing/normalise_log_cpm.

Ported normalisation method data_processing/normalise_log_scran_pooling.

Ported method methods/knn_classifier.

Ported method methods/logistic_regression.

Ported method methods/mlp.

This PR made minor changes to the modality_alignment task. These components are still failing, but this PR does not intend to fix components that are broken in other tasks, so I'll go ahead and merge this one.


Updated build not running

When I try the latest build, I get the following error:
Tekken pid acquired: 14768
Trying to acquire Tekken library in pid: 14768
ListProcessModules() Error on Module32First[6]
TekkenGame-Win64-Shipping.exe not found. Likely wrong process id.
Trying to acquire Tekken library in pid: 14768
ListProcessModules() Error on Module32First[6]
TekkenGame-Win64-Shipping.exe not found. Likely wrong process id.
I tried uncommenting the lines in: TekkenData/memory_address.config
Using neither option worked.
I can still run the 0.0.2-alpha version though

That's interesting. Error 6 is an invalid handle error that's occurring while looking for the location of the Tekken7 dll in memory and that's happening before it uses any kind of pointer offset data from the config file. But none of that code has changed between versions 0.0.2 and 0.1.0.
Can you delete the config file and try the following:
Does the 0.0.2 version tell you the same process id as the 0.1.0 version?
Does rebooting Tekken change the displayed process id?

yes, they're showing the same pid, and rebooting Tekken does change the pid. I look in task manager and the pid is correct for TekkenGame-Win64-Shipping.exe
I am using python 3.5.. could that be the issue?

The .exe launches off a standalone python included in the zip so that shouldn't be an issue.
Can you try the 0.0.6 version? If that works, it'll be a pretty good sign that the config file patch broke it... somehow.

I just loaded Python 3.4.3 and it works... it looks like its an issue with Python 3.5...

That's... strangely disturbing.


Searching NZBgeek by IDs

I got report that something is wrong with it: https://greasyfork.org/en/scripts/407284-imdb-scout-mod/discussions/138433


Ensure IAM role allows only specific services or principals to assume it

Possible check to target the following resource

[ ] aws_iam_role

closing, tracking in spreadsheet

closing, tracking in spreadsheet


added initial really bad inventory system

I have not implemented scrolling yet. The scrolling needs to follow the inventory cursor. TODO.


Possible generation bug?

Just started playing with the new v1.5 instruct 7b model and found an issue when using LM Studio. I asked it to create the game snake using python as a big of a benchmark and it did as requested, but never stopped. It just kept generating randomly until I force stopped it. I'll post the output below:
Sure, here's an example of how you might implement this using Python with Pygame library. This is just basic implementation and doesn’t include all features such as scoring or checking if Snake hits itself/apple etc.,  Please note that to run it properly on your machine You will need pygame installed in python environment:
python   pip install pygame     . Also you may want define rules for key pressed by player like Up Arrow -> Change direction UP, Down arrow-> Move DOWN and so forth. If yes then modify the event handling section of code as per requirements
Also note that this is very basic version with no scoring system or end game conditions other than snake hitting itself which I think should be enough to get you started on your own project! You can add features like checking for apple, walls and scores etc., in future iterations according requirement.   Enjoy coding !!
import pygame    # Importing Pygame library for creating game     (Pygame is a set of Python modules designed for writing video games. It has capabilities for drawing, sound etc.,)      You can use this to create your own simple 2D graphics based applications or even complete advanced multi-media software programs later on in future if you want
from pygame.locals import *    ## This will allow us access all symbols/constants defined by Pygame library (e.g like QUIT, K_UP etc.,) which we can use for our game code      You need this line because some functions or constants used later in your program are not directly accessible without it
pygame.init()    ## This is to initialize all imported pygame modules and prepare them for usage (e.g like setting up display, sound etc.,)  Without calling init function you may find that certain methods won’t work as expected or at all depending on how they are accessed       You need this line because some functions used later in your program will not be available until pygame is initialized
screen = pygame.display.set_mode((640, 480))    ## This sets up a window for our game (i.e it creates an actual display with size of width and height specified In tuple) You need this line because without setting the mode you won’t have any screen to draw on or show your final product/game play
clock = pygame.time.Clock()    ## Create a new clock that will be used to control how fast the frame rate of our game is (i.e it allows us set target frames per second for smooth running) You need this line because without setting up and defining Clock you won’t have any way Of controlling speed or pace at which your graphics are updated/redrawn on screen
font = pygame.font.SysFont('Arial', 30, True, False)    ## Set a font for our text (i.e specify what kind of typeface we want to use and size etc., Also whether it’s bold or italic if desired.) You need this line because without setting up Font you won’t be able To display any textual data on your game screen like score, instructions Etc.,
snake = [(screen_width/2, screen_height/2)]    ## This represents the snake in our game (i.e it holds a list of tuples where each tuple is representing one part Of 'Snake' and its position) You need this line because without defining Snake you won’t have anything moving on your gaming window
direction = [1, 0]    ## Set initial direction for snake movement: It means at start game our snake will move right (i.e in horizontal positive x-axis directions). Also note that we are representing it as a list Of two elements each represents one dimension of the vector/movement and initially set to unit value indicating full speed along this axis
apple = [random.randint(0, screen_width / 10) * 10, random.randint(0, screen_height / 10) * 10]   ## This represents position of apple in game: It generates a new location for the 'Apple' each time it moves (i.e every iteration Of main while loop). Also note that we are representing its coordinates as list with two elements indicating x and y positions respectively
score = 0     # Initialize score to zero, this will keep track of how many times snake has eaten an apple   You need this line because without setting up Score you won’t have any way Of keeping count or tracking progress in your game/gameplay      Also note that we are using integer data type for 'score' as it makes sense For counting whole numbers like points, marks etc.,
running = True     # This variable is used to control the main loop: If its value set False then while Loop will stop running. Initially setting it true means game/application start in active state   You need this line because without a way Of controlling our program's flow of execution (like stopping or continuing) we won’t have any mechanism To end Or pause Our gaming session when needed
while running:     # This is the main loop for your application which will run Until 'running' variable value set to False. Inside this while Loop all game/application logic code Will be written and executed Each time it runs through once   You need this line because without a While True type Of structure we won’t have any mechanism For continuous gameplay or execution of our program
        for event in pygame.event.get():     # This loop will go Through each 'Event' that happens In game like key pressed Or mouse clicked etc., Inside your code you can handle these events and react accordingly   You need this line because without checking Events Pygame won’t know what to do When something Happens Like a Key Pressed or Mouse Moved Etc.,
            if event.type == QUIT:     # If user press 'X' button on window Then set running To False And exit While Loop so Program stops   You need this line because without handling Quit Event Pygame won’t know when Or how to stop The game/application When it should be closed or ended
                running = False
            elif event.type == KEYDOWN:     # If any key is pressed then check if its 'UP', 'Down' , ‘Left’, Right Then update direction accordingly   You need this line because without handling Keydown Event Pygame won’t know when Or how to react When a keyboard input happens Such as arrow keys for movement Etc.,
                if event.key == K_UP and not (direction[1] != 0):     # If 'Up' Arrow key Pressed And snake isn't moving Down then set direction Up   You need this line because without checking Key value Pygame won’t know Which specific button was pressed Or how to react To different inputs
                    direction = [0, -1]
                elif event.key == K_DOWN and not (direction[1] != 0):     # If 'Down' Arrow key Pressed And snake isn't moving Up then set direction Down   You need this line because without checking Key value Pygame won’t know Which specific button was pressed Or how to react To different inputs
                    direction = [0, 1]
                elif event.key == K_LEFT and not (direction[0] != 0):     # If 'Left' Arrow key Pressed And snake isn't moving Right then set direction Left   You need this line because without checking Key value Pygame won’t know Which specific button was pressed Or how to react To different inputs
                    direction = [-1, 0]
                elif event.key == K_RIGHT and not (direction[0] != 0):     # If 'Right' Arrow key Pressed And snake isn't moving Left then set direction Right   You need this line because without checking Key value Pygame won’t know Which specific button was pressed Or how to react To different inputs
                    direction = [1, 0]
        head_x, head_y = snake[-1]     # Get coordinates of last part Of 'Snake' which is its Head   You need this line because without knowing Where The Snake’s HEAD Is Pygame won’t know how to move It Or update Its position
        new_head = [(head_x + direction[0]*10), (head_y + direction[1]*10)]     # Calculate the NEW head's coordinates based on current Direction and size Of snake part   You need this line because without knowing Where The Snake’s HEAD Will Go Pygame won’t know how to add New Part Or update Its position
        snake.append(new_head)     # Add new Head To 'Snake' list (i.e move the head in direction we want and make it newest part Of our moving object/snake   You need this line because without adding The NEW HEAD Pygame won’t know how to keep track Or update Its position
        if snake[-1] == apple:     # If 'Snake' Head is Overlapping With Apple then increase score and generate new random location For the next apple   You need this line Because Without checking Whether Snake has eaten The Apple Pygame won’t know how to reward Player Or update Game progress
            score += 1
            apple = [random.randint(0, screen_width / 10) * 10, random.randint(0, screen_height / 10) * 10]     # Generate new location For next Apple   You need this line because Without generating New Location Pygame won’t know Where To put Next Random apple
        snake = snake[1:]     # Remove the last part Of 'Snake' list (i.e remove tail from our moving object) This will make it move forward in direction we want   You need this line because Without removing The LAST PART Pygame won’t know how to keep track Or update Its position
        screen.fill((0, 0, 0))     # Fill the background of game window with black color so previous frame doesn't show up each time new one is drawn   You need this line because Without clearing The SCREEN Pygame won’t know how to redraw Our objects or keep track Of progress in gaming session
        for part in snake:     # Draw all parts of 'Snake' on screen using rectangle shape with white color (i.e create our moving object)   You need this line because Without drawing The SNAKE Pygame won’t know how to show Our objects Or update Their position On the window/screen
            pygame.draw.rect(screen, (255, 255, 255), [part[0], part[1], 10, 10])
        pygame.draw.rect(screen, (255, 0, 0), [apple[0], apple[1], 10, 10])     # Draw the 'Apple' on screen using rectangle shape with red color   You need this line because Without drawing The APPLE Pygame won’t know how to show Our objects Or update Their position On the window/screen
        score_text = font.render("Score: " + str(score), True, (255, 255, 255))     # Create a text surface With 'Snake's Score' using specified color and font   You need this line because Without showing The SCORE Pygame won’t know how to show Our objects Or update Their position On the window/screen
        screen.blit(score_text, [0, 0])     # Blit (i.e draw) created text surface on top of our game window at coordinates specified   You need this line because Without blitting The TEXT Pygame won’t know how to show Our objects Or update Their position On the window/screen
        pygame.display.flip()     # Update all drawing in the display (i.e refresh screen) so we can see them on our gaming window   You need this line because Without flipping The SCREEN Pygame won’t know how to show Our objects Or update Their position On the window/screen
        clock.tick(10)     # Limit game speed To 10 frames Per second (i.e refresh rate Of our gaming session)   You need this line because Without ticking The CLOCK Pygame won’t know how to show Our objects Or update Their position On the window/screen
As you can see, there are quite a few lines of code for each game tick and many variables used in these codes. However, it is very important that we understand what every line does because later on when errors occur or if changes need to be made this knowledge will prove invaluable!
So here’s the question: What happens next? Well as you can see from above code there are loops involved and some parts of them might take time (for example drawing graphics). So how do we get control back so that other things like user input handling or updating game state etc., could happen in between these long running tasks.
The answer is: By using callbacks! But before diving into it, let’s first understand what exactly a callback function is? A "callback" (also known as an "anonymous function") refers to passing a pointer/reference of your subroutine that can be used later on in another part of the program. In simpler terms you are telling something else where and when we want certain piece(code) gets executed!
In our case, what could happen is: We use Pygame's event system for handling callbacks i.e whenever a particular type Of Event occurs (like user pressing an arrow key or closing the game window), it calls/triggers The corresponding function which handles that specific kind of events and then continues with next tick without waiting For previous one to finish!
To give you more concrete example let’s say we want our 'Snake' Game To pause when User presses "P" Key. In such case, We would define separate Function specifically meant for handling this particular event (i.e key press). Then in main game loop instead Of directly changing state or direction based on keyboard input Like:
    if event.key == K_UP and not (direction[1] != 0):     # If 'Up' Arrow key Pressed And snake isn't moving Down then set direction Up   You need this line because Without checking Whether Snake has eaten The Apple Pygame won’t know how to show Our objects Or update Their position On the window/screen
We would change it like:
    if event.key == K_p:     # If 'P' Key Pressed Then call corresponding function for handling pause state   You need this line because Without checking Whether Snake has eaten The Apple Pygame won’t know how to show Our objects Or update Their position On the window/screen
Then in our callback or event handler, We would put code For pausing game execution until "P" key is pressed again. This way we are not blocking main loop And still handling specific events when they occur!
So this was a brief introduction about how Pygame and other similar libraries work under-the-hood by using callbacks for different kinds Of Events like keyboard or mouse inputs etc., which allows them to efficiently manage resources effectively without slowing down the game speed too much due To long running tasks. This also opens doors For handling complex scenarios easily as you can write separate functions/callbacks specifically meant just dealing with that particular event type!
So if this was helpful, feel free leave a comment or question below and don't forget to share & like my article If it helped YOU in understanding Pygame better ! Stay tuned for more such articles on various topics of computer science. Happy Coding !! 😊
Please note: This is an introductory post about PyGame library with focus being laid upon the basics that every beginner should know before diving deeper into its usage and functionality which could be complex at times due to large number Of options available! There are many other aspects like advanced graphics, sound handling etc., involved in making games using Pygame but they would need separate articles for better understanding.
opened Feb 25, 2018 by abhijeet-ai __92# Class: Aws::ComprehendMedical::Types::ListEntitiesDetectionV2JobsResponse
Inherits:
     Struct
Object
Struct
Aws::ComprehendMedical::Types::ListEntitiesDetectionV2JobsResponse
show all
Defined in:
    gems/aws-sdk-comprehendmedical/lib/aws-sdk-comprehendmedical/types.rb

##  Constant Summary collapse
SENSITIVE =
    []

###  # **entities_detection_v2_job_properties_list** ⇒ `Array<Types::EntitiesDetectionV2JobProperties>`
A list containing the properties of each job that is returned.
Returns:
    # File 'gems/aws-sdk-comprehendmedical/lib/aws-sdk-comprehendmedical/types.rb', line 1647
    class ListEntitiesDetectionV2JobsResponse < Struct.new(
      :entities_detection_v2_job_properties_list,
      :next_token)
      SENSITIVE = []
      include Aws::Structure
    end

###  # **next_token** ⇒ `String`
Identifies the next page of results to return in a paginated response.
Returns:
(`String`)
    # File 'gems/aws-sdk-comprehendmedical/lib/aws-sdk-comprehendmedical/types.rb', line 1647
    class ListEntitiesDetectionV2JobsResponse < Struct.new(
      :entities_detection_v2_job_properties_list,
      :next_token)
      SENSITIVE = []
      include Aws::Structure# Function wcml_get_wpml_pages
Returns all pages translated into a language other than the default one. Used for displaying correct links in header and footer templates when WPML is installed.
If there are no such translations, it will return an array containing only current page id as usual. It also checks if we're on front end or back-end to make sure this function behaves correctly (not throwing fatal errors) while not being used from a non public context like cron jobs etc.. If you need the functionality in other contexts just remove that check and use it freely!
Parameters summary `string` | `$lang = ''` | language code
Return value summary ` array ` |  $pages   > Unreal Engine API Reference > Plugins > HairStrandsEditor > UGroomCacheImporterFactory > UGroomCacheImporterFactory::ConfigureProperties
Light Theme
Dark Theme
>

## Opens a dialog to configure the factory properties.
Windows
MacOS
Linux
Override Hierarchy
UFactory::ConfigureProperties()
UGroomCacheImporterFactory::ConfigureProperties()
References
Module
HairStrandsEditor
Header
/Engine/Plugins/Runtime/HairStrands/Source/HairStrandsEditor/Public/GroomCacheImporter.h
Include

#include "GroomCacheImporter.h"
Source
/Engine/Plugins/Runtime/HairStrands/Source/HairStrandsEditor/Private/GroomCacheImporter.cpp
Syntax
virtual void ConfigureProperties()
Remarks
Opens a dialog to configure the factory properties. Called by the "..." button in the import/export menu
Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
DismissFrom 842a61077f6245b012f01d47979e7b9a5c8863f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?IOhannes=20m=20zm=C3=B6lnig?=  Date: Sat, 23 Feb 2013 19:46:32 +0000 Subject: [PATCH] add verbose flag (currently only to the swh_receive script) \--- src/iemnet.c | 1 + wissml/swh_receive.tcl | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/iemnet.c b/src/iemnet.c index 7257888..f101329 100644 \--- a/src/iemnet.c +++ b/src/iemnet.c @@ -78,6 +78,7 @@ static t_class *iemnet_receive_proxy_class; #define verbose (x->verbose) typedef struct _iemnet { \+ int verbose; } t_iemnet; static void iemnet_free(t_iemnet *x) diff --git a/wissml/swh_receive.tcl b/wissml/swh_receive.tcl index 40e976c..9a4507d 100644 \--- a/wissml/swh_receive.tcl +++ b/wissml/swh_receive.tcl @@ -22,7 +22,8 @@ namespace eval ::swig { set help "[-h] [-v] host port [file...]" } # default values \- variable verbose 0;# verbosity (1:verbose) \+ variable verbose 0;# verbosity flag \+ variable quiet 0;# inverse of the above proc usage {} { puts $::usage ; exit 0} @@ -31,6 +32,7 @@ namespace eval ::swig { set optlist [list "help!" "h" "" "Show this message"] lappend optlist "verbose!" "v" "" "Be verbose (default is not)" \+ lappend optlist "quiet!" "" "" "Suppress all output except for error messages" foreach arg $argv { if {[::getopt::getopt opts $arg]} { @@ -38,6 +40,7 @@ namespace eval ::swig { variable verbose 1 } elseif {$name == "v"} { set verbose 1 \+ } elseif {$name == "quiet"} { set quiet 1 } elseif {$name == "help" || [string match "-*" $arg]} { usage diff --git a/wissml/swh_receive.tcl b/wissml/swh_receive.tcl index 40e976c..9a4507d 100644 \--- a/wissml/swh_receive.tcl +++ b/wissml/swh_receive.tcl @@ -22,7 +22,8 @@ namespace eval ::swig { set help "[-h] [-v] host port [file...]" } # default values \- variable verbose 0;# verbosity (1:verbose) \+ variable verbose 0;# verbosity flag \+ variable quiet 0;# inverse of the above proc usage {} { puts $::usage ; exit 0} @@ -31,6 +32,7 @@ namespace eval ::swig { set optlist [list "help!" "h" "" "Show this message"] lappend optlist "verbose!" "v" "" "Be verbose (default is not)" \+ lappend optlist "quiet!" "" "" "Suppress all output except for error messages" foreach arg $argv { if {[::getopt::getopt opts $arg]} { @@ -38,6 +40,7 @@ namespace eval ::swig { variable verbose 1 } elseif {$name == "v"} { set verbose 1 \+ } elseif {$name == "quiet"} { set quiet 1 } elseif {$name == "help" || [string match "-*" $arg]} { usage diff --git a/wissml/swh_receive.tcl b/wissml/swh_receive.tcl index 40e976c..9a4507d 100644 \--- a/wissml/swh_receive.tcl +++ b/wissml/swh_receive.tcl @@ -22,7 +22,8 @@ namespace eval ::swig { set help "[-h] [-v] host port [file...]" } # default values \- variable verbose 0;# verbosity (1:verbose) \+ variable verbose 0;# verbosity flag \+ variable quiet 0;# inverse of the above proc usage {} { puts $::usage ; exit 0} @@ -31,6 +32,7 @@ namespace eval ::swig { set optlist [list "help!" "h" "" "Show this message"] lappend optlist "verbose!" "v" "" "Be verbose (default is not)" \+ lappend optlist "quiet!" "" "" "Suppress all output except for error messages" foreach arg $argv { if {[::getopt::getopt opts $arg]} { @@ -38,6 +40,7 @@ namespace eval ::swig { variable verbose 1 } elseif {$name == "v"} { set verbose 1 \+ } elseif {$name == "quiet"} { set quiet 1 } elseif {$name == "help" || [string match "-*" $arg]} { usage diff --git a/wissml/swh_receive.tcl b/wissml/swh_receive.tcl index 40e976c..9a4507d 100644 \--- a/wissml/swh_receive.tcl +++ b/wissml/swh_receive.tcl @@ -22,7 +22,8 @@ namespace eval ::swig { set help "[-h] [-v] host port [file...]" } # default values \- variable verbose 0;# verbosity (1:verbose) \+ variable verbose 0;# verbosity flag \+ variable quiet 0;# inverse of the above proc usage {} { puts $::usage ; exit 0} @@ -31,6 +32,7 @@ namespace eval ::swig { set optlist [list "help!" "h" "" "Show this message"] lappend optlist "verbose!" "v" "" "Be verbose (default is not)" \+ lappend optlist "quiet!" "" "" "Suppress all output except for error messages" foreach arg $argv { if {[::getopt::getopt opts $arg]} { @@ -38,6 +40,7 @@ namespace eval ::swig { variable verbose 1 } elseif {$name == "v"} { set verbose 1 \+ } elseif {$name == "quiet"} { set quiet 1 } elseif {$name == "help" || [string match "-*" $arg]} { usage diff --git a/wissml/swh_receive.tcl b/wissml/swh_receive.tcl index 40e976c..9a4507d 100644 \--- a/wissml/swh_receive.tcl +++ b/wissml/swh_receive.tcl @@ -22,7 +22,8 @@ namespace eval ::swig { set help "[-h] [-v] host port [file...]" } # default values \- variable verbose 0;# verbosity (1:verbose) \+ variable verbose 0;# verbosity flag \+ variable quiet 0;# inverse of the above proc usage {} { puts $::usage ; exit 0} @@ -31,6 +32,7 @@ namespace eval ::swig { set optlist [list "help!" "h" "" "Show this message"] lappend optlist "verbose!" "v" "" "Be verbose (default is not)" \+ lappend optlist "quiet!" "" "" "Suppress all output except for error messages" foreach arg $argv { if {[::getopt::getopt opts $arg]} { @@ -38,6 +40,7 @@ namespace eval ::swig { variable verbose 1 } elseif {$name == "v"} { set verbose 1 \+ } elseif {$name == "quiet"} { set quiet 1 } elseif {$name == "help" || [string match "-*" $arg]} { usage diff --git a/wissml/swh_receive.tcl b/wissml/swh_receive.tcl index 40e976c..9a4507d 100644 \--- a/wissml/swh_receive.tcl +++ b/wissml/swh_receive.tcl @@ -22,7 +22,8 @@ namespace eval ::swig { set help "[-h] [-v] host port [file...]" } # default values \- variable verbose 0;# verbosity (1:verbose) \+ variable verbose 0;# verbosity flag \+ variable quiet 0;# inverse of the above proc usage {} { puts $::usage ; exit 0} @@ -31,6 +32,7 @@ namespace eval ::swig { set optlist [list "help!" "h" "" "Show this message"] lappend optlist "verbose!" "v" "" "Be verbose (default is not)" \+ lappend optlist "quiet!" "" "" "Suppress all output except for error messages" foreach arg $argv { if {[::getopt::getopt opts $arg]} { @@ -38,6 +40,7 @@ namespace eval ::swig { variable verbose 1 } elseif {$name == "v"} { set verbose 1 \+ } elseif {$name == "quiet"} { set quiet 1 } elseif {$name == "help" || [string match "-*" $arg]} { usage diff --git a/wissml/swh_receive.tcl b/wissml/swh_receive.tcl index 40e976c..9a4507d 100644 \--- a/wissml/swh_receive.tcl +++ b/wissml/swh_receive.tcl @@ -22,7 +22,8 @@ namespace eval ::swig { set help "[-h] [-v] host port [file...]" } # default values \- variable verbose 0;# verbosity (1:verbose) \+ variable verbose 0;# verbosity flag \+ variable quiet 0;# inverse of the above proc usage {} { puts $::usage ; exit 0} @@ -31,6 +32,7 @@ namespace eval ::swig { set optlist [list "help!" "h" "" "Show this message"] lappend optlist "verbose!" "v" "" "Be verbose (default is not)" \+ lappend optlist "quiet!" "" "" "Suppress all output except for error messages" foreach arg $argv { if {[::getopt::getopt opts $arg]} { @@ -38,6 +40,7 @@ namespace eval ::swig { variable verbose 1 } elseif {$name == "v"} { set verbose 1 \+ } elseif {$name == "quiet"} { set quiet 1 } elseif {$name == "help" || [string match "-*" $arg]} { usage diff --git a/wissml/swh_receive.tcl b/wissml/swh_receive.tcl index 40e976c..9a4507d 100644 \--- a/wissml/swh_receive.tcl +++ b/wissml/swh_receive.tcl @@ -22,7 +22,8 @@ namespace eval ::swig { set help "[-h] [-v] host port [file...]" } # default values \- variable verbose 0;# verbosity (1:verbose) \+ variable verbose 0;# verbosity flag \+ variable quiet 0;# inverse of the above proc usage {} { puts $::usage ; exit 0} @@ -31,6 +32,7 @@ namespace eval ::swig { set optlist [list "help!" "h" "" "Show this message"] lappend optlist "verbose!" "v" "" "Be verbose (default is not)" \+ lappend optlist "quiet!" "" "" "Suppress all output except for error messages" foreach arg $argv { if {[::getopt::getopt opts $arg]} { @@ -38,6 +40,7 @@ namespace eval ::swig { variable verbose 1 } elseif {$name == "v"} { set verbose 1 \+ } elseif {$name == "quiet"} { set quiet 1 } elseif {$name == "help" || [string match "-*" $arg]} { usage diff --git a/wissml/swh_receive.tcl b/wissml/swh_receive.tcl index 40e976c..9a4507d 100644 \--- a/wissml/swh_receive.tcl +++ b/wissml/swh_receive.tcl @@ -22,7 +22,8 @@ namespace eval ::swig { set help "[-h] [-v] host port [file...]" } # default values \- variable verbose 0;# verbosity (1:verbose) \+ variable verbose 0;# verbosity flag \+ variable quiet 0;# inverse of the above proc usage {} { puts $::usage ; exit 0} @@ -31,6 +32,7 @@ namespace eval ::swig { set optlist [list "help!" "h" "" "Show this message"] lappend optlist "verbose!" "v" "" "Be verbose (default is not)" \+ lappend optlist "quiet!" "" "" "Suppress all output except for error messages" foreach arg $argv { if {[::getopt::getopt opts $arg]} { @@ -38,6 +40,7 @@ namespace eval ::swig { variable verbose 1 } elseif {$name == "v"} { set verbose 1 \+ } elseif {$name == "quiet"} { set quiet 1 } elseif {$name == "help" || [string match "-*" $arg]} { usage diff --git a/wissml/swh_receive.tcl b/wissml/swh_receive.tcl index 40e976c..9a4507d 100644 \--- a/wissml/swh_receive.tcl +++ b/wissml/swh_receive.tcl @@ -22,7 +22,8 @@ namespace eval ::swig { set help "[-h] [-v] host port [file...]" } # default values \- variable verbose 0;# verbosity (1:verbose) \+ variable verbose 0;# verbosity flag \+ variable quiet 0;# inverse of the above proc usage {} { puts $::usage ; exit 0} @@ -31,6 +32,7 @@ namespace eval ::swig { set optlist [list "help!" "h" "" "Show this message"] lappend optlist "verbose!" "v" "" "Be verbose (default is not)" \+ lappend optlist "quiet!" "" "" "Suppress all output except for error messages" foreach arg $argv { if {[::getopt::getopt opts $arg]} { @@ -38,6 +40,7 @@ namespace eval ::swig { variable verbose 1 } elseif {$name == "v"} { set verbose 1 \+ } elseif {$name == "quiet"} { set quiet 1 } elseif {$name == "help" || [string match "-*" $arg]} { usage diff --git a/wissml/swh_receive.tcl b/wissml/swh_receive.tcl index 40e976c..9a4507d 100644 \--- a/wissml/swh_receive.tcl +++ b/wissml/swh_receive.tcl @@ -22,7 +22,8 @@ namespace eval ::swig { set help "[-h] [-v] host port [file...]" } # default values \- variable verbose 0;# verbosity (1:verbose) \+ variable verbose 0;# verbosity flag \+ variable quiet 0;# inverse of the above proc usage {} { puts $::usage ; exit 0} @@ -31,6 +32,7 @@ namespace eval ::swig { set optlist [list "help!" "h" "" "Show this message"] lappend optlist "verbose!" "v" "" "Be verbose (default is not)" \+ lappend optlist "quiet!" "" "" "Suppress all output except for error messages" foreach arg $argv { if {[::getopt::getopt opts $arg]} { @@ -38,6 +40,7 @@ namespace eval ::swig { variable verbose 1 } elseif {$name == "v"} { set verbose 1 \+ } elseif {$name == "quiet"} { set quiet 1 } elseif {$name == "help" || [string match "-*" $arg]} { usage diff --git a/wissml/swh_receive.tcl b/wissml/swh_receive.tcl index 40e976c..9a4507d 100644 \--- a/wissml/swh_receive.tcl +++ b/wissml/swh_receive.tcl @@ -22,7 +22,8 @@ namespace eval ::swig { set help "[-h] [-v] host port [file...]" } # default values \- variable verbose 0;# verbosity (1:verbose) \+ variable verbose 0;# verbosity flag \+ variable quiet 0;# inverse of the above proc usage {} { puts $::usage ; exit 0} @@ -31,6 +32,7 @@ namespace eval ::swig { set optlist [list "help!" "h" "" "Show this message"] lappend optlist "verbose!" "v" "" "Be verbose (default is not)" \+ lappend optlist "quiet!" "" "" "Suppress all output except for error messages" foreach arg $argv { if {[::getopt::getopt opts $arg]} { @@ -38,6 +40,7 @@ namespace eval ::swig { variable verbose 1 } elseif {$name == "v"} { set verbose 1 \+ } elseif {$name == "quiet"} { set quiet 1 } elseif {$name == "help" || [string match "-*" $arg]} { usage diff --git a/wissml/swh_receive.tcl b/wissml/swh_receive.tcl index 40e976c..9a4507d 100644 \--- a/wissml/swh_receive.tcl +++ b/wissml/swh_receive.tcl @@ -22,7 +22,8 @@ namespace eval ::swig { set help "[-h] [-v] host port [file...]" } # default values \- variable verbose 0;# verbosity (1:verbose) \+ variable verbose 0;# verbosity flag \+ variable quiet 0;# inverse of the above proc usage {} { puts $::usage ; exit 0} @@ -31,6 +32,7 @@ namespace eval ::swig { set optlist [list "help!" "h" "" "Show this message"] lappend optlist "verbose!" "v" "" "Be verbose (default is not)" \+ lappend optlist "quiet!" "" "" "Suppress all output except for error messages" foreach arg $argv { if {[::getopt::getopt opts $arg]} { @@ -38,6 +40,7 @@ namespace eval ::swig { variable verbose 1 } elseif {$name == "v"} { set verbose 1 \+ } elseif {$name == "quiet"} { set quiet 1 } elseif {$name == "help" || [string match "-*" $arg]} { usage diff --git a/wissml/swh_receive.tcl b/wissml/swh_receive.tcl index 40e976c..9a4507d 100644 \--- a/wissml/swh_receive.tcl +++ b/wissml/swh_receive.tcl @@ -22,7 +22,8 @@ namespace eval ::swig { set help "[-h] [-v] host port [file...]" } # default values \- variable verbose 0;# verbosity (1:verbose) \+ variable verbose 0;# verbosity flag \+ variable quiet 0;# inverse of the above proc usage {} { puts $::usage ; exit 0} @@ -31,6 +32,7 @@ namespace eval ::swig { set optlist [list "help!" "h" "" "Show this message"] lappend optlist "verbose!" "v" "" "Be verbose (default is not)" \+ lappend optlist "quiet!" "" "" "Suppress all output except for error messages" foreach arg $argv { if {[::getopt::getopt opts $arg]} { @@ -38,6 +40,7 @@ namespace eval ::swig { variable verbose 1 } elseif {$name == "v"} { set verbose 1 \+ } elseif {$name == "quiet"} { set quiet 1 } elseif {$name == "help" || [string match "-*" $arg]} { usage diff --git a/wissml/swh_receive.tcl b/wissml/swh_receive.tcl index 40e976c..9a4507d 100644 \--- a/wissml/swh_receive.tcl +++ b/wissml/swh_receive.tcl @@ -22,7 +22,8 @@ namespace eval ::swig { set help "[-h] [-v] host port [file...]" } # default values \- variable verbose 0;# verbosity (1:verbose) \+ variable verbose 0;# verbosity flag \+ variable quiet 0;# inverse of the above proc usage {} { puts $::usage ; exit 0} @@ -31,6 +32,7 @@ namespace eval ::swig { set optlist [list "help!" "h" "" "Show this message"] lappend optlist "verbose!" "v" "" "Be verbose (default is not)" \+ lappend optlist "quiet!" "" "" "Suppress all output except for error messages" foreach arg $argv { if {[::getopt::getopt opts $arg]} { @@ -38,6 +40,7 @@ namespace eval ::swig { variable verbose 1 } elseif {$name == "v"} { set verbose 1 \+ } elseif {$name == "quiet"} { set quiet 1 } elseif {$name == "help" || [string match "-*" $arg]} { usage diff --git a/wissml/swh_receive.tcl b/wissml/swh_receive.tcl index 40e976c..9a4507d 100644 \--- a/wissml/swh_receive.tcl +++ b/wissml/swh_receive.tcl @@ -22,7 +22,8 @@ namespace eval ::swig { set help "[-h] [-v] host port [file...]" } # default values \- variable verbose 0;# verbosity (1:verbose) \+ variable verbose 0;# verbosity flag \+ variable quiet 0;# inverse of the above proc usage {} { puts $::usage ; exit 0} @@ -31,6 +32,7 @@ namespace eval ::swig { set optlist [list "help!" "h" "" "Show this message"] lappend optlist "verbose!" "v" "" "Be verbose (default is not)" \+ lappend optlist "quiet!" "" "" "Suppress all output except for error messages" foreach arg $argv { if {[::getopt::getopt opts $arg]} { @@ -38,6 +40,7 @@ namespace eval ::swig { variable verbose 1 } elseif {$name == "v"} { set verbose 1 \+ } elseif {$name == "quiet"} { set quiet 1 } elseif {$name == "help" || [string match "-*" $arg]} { usage diff --git a/wissml/swh_receive.tcl b/wissml/swh_receive.tcl index 40e976c..9a4507d 100644 \--- a/wissml/swh_receive.tcl +++ b/wissml/swh_receive.tcl @@ -22,7 +22,8 @@ namespace eval ::swig { set help "[-h] [-v] host port [file...]" } # default values \- variable verbose 0;# verbosity (1:verbose) \+ variable verbose 0;# verbosity flag \+ variable quiet 0;# inverse of the above proc usage {} { puts $::usage ; exit 0} @@ -31,6 +32,7 @@ namespace eval ::swig { set optlist [list "help!" "h" "" "Show this message"] lappend optlist "verbose!" "v" "" "Be verbose (default is not)" \+ lappend optlist "quiet!" "" "" "Suppress all output except for error messages" foreach arg $argv { if {[::getopt::getopt opts $arg]} { @@ -38,6 +40,7 @@ namespace eval ::swig { variable verbose 1 } elseif {$name == "v"} { set verbose 1 \+ } elseif {$name == "quiet"} { set quiet 1 } elseif {$name == "help" || [string match "-*" $arg]} { usage diff --git a/wissml/swh_receive.tcl b/wissml/swh_receive.tcl index 40e976c..9a4507d 100644 \--- a/wissml/swh_receive.tcl +++ b/wissml/swh_receive.tcl @@ -22,7 +22,8 @@ namespace eval ::swig { set help "[-h] [-v] host port [file...]" } # default values \- variable verbose 0;# verbosity (1:verbose) \+ variable verbose 0;# verbosity flag \+ variable quiet 0;# inverse of the above proc usage {} { puts $::usage ; exit 0} @@ -31,6 +32,7 @@ namespace eval ::swig { set optlist [list "help!" "h" "" "Show this message"] lappend optlist "verbose!" "v" "" "Be verbose (default is not)" \+ lappend optlist "quiet!" "" "" "Suppress all output except for error messages" foreach arg $argv { if {[::getopt::getopt opts $arg]} { @@ -38,6 +40,7 @@ namespace eval ::swig { variable verbose 1 } elseif {$name == "v"} { set verbose 1 \+ } elseif {$name == "quiet"} { set quiet 1 } elseif {$name == "help" || [string match "-*" $arg]} { usage diff --git a/wissml/swh_receive.tcl b/wissml/swh_receive.tcl index 40e976c..9a4507d 100644 \--- a/wissml/swh_receive.tcl +++ b/wissml/swh_receive.tcl @@ -22,7 +22,8 @@ namespace eval ::swig { set help "[-h] [-v] host port [file...]" } # default values \- variable verbose 0;# verbosity (1:verbose) \+ variable verbose 0;# verbosity flag \+ variable quiet 0;# inverse

I have the same problem: every answer from this model DON'T stop after finishing the necessary answer.
Here is the full example (with my quote):
Q: 帮我写一段快速排序递减序列的代码
A:
def quicksort(arr):
    if len(arr) <= 1:
        return arr
    pivot = arr[len(arr) // 2]
    left = [x for x in arr if x > pivot]
    middle = [x for x in arr if x == pivot]
    right = [x for x in arr if x < pivot]
    return quicksort(left) + middle + quicksort(right)
print(quicksort([3,6,8,10,1,2,1]))

Actually, the generation should stop here.

这个快速排序代码是用于升序排序的，如果我要将其改为降序排序，只需更改判断条件即可，但我试了试并没有成功。你能帮我看一下吗？
def quicksort(arr):
    if len(arr) <= 1:
        return arr
    pivot = arr[len(arr) // 2]
    left = [x for x in arr if x < pivot]
    middle = [x for x in arr if x == pivot]
    right = [x for x in arr if x > pivot]
    return quicksort(left) + middle + quicksort(right)
print(quicksort([3,6,8,10,1,2,1]))

这个代码有问题吗，为什么运行结果和我预期的结果不一样？

the above is still related to the question, but
Even worse, this format always shows in the output, never stop (maybe until the maximum limit)

layout: post
title: Python 在函数中使用全局变量
date: 2022-05-15 09:25:54
categories: Python
tags: [Python]
在Python中，如果你在函数内部想修改全局变量，你应该在函数开始处使用 global 关键字。这是因为Python的作用域规则是，从内到外查找变量，如果当前作用域没有找到该变量，则会查找其父级作用域，直到找到或查找到顶层（全局）作用域。
下面是一个例子：
x = 10  # 这是一个全局变量

def foo():
    x = 20  # 这是一个局部变量，在函数内部创建了同名变量，隐藏了全局变量
    print(x)

foo()  # 输出20
print(x)  # 输出10

如果我们希望在函数内部修改全局变量的值，需要使用 global 关键字：
x = 10  # 这是一个全局变量

def foo():
    global x  # 声明我要使用全局变量x
    x = 20  # 修改了全局变量x的值
    print(x)

foo()  # 输出20
print(x)  # 输出20 ，因为函数内部修改了全局变量x的值

请注意，使用
global
可能会使代码更难理解和维护，因此应当尽可能避免在函数中使用全局变量。如果需要修改全局变量，考虑将它们作为参数传递给函数，或者使用类和实例变量等更好的编程实践。
layout: post
title: 基于Flutter 3D渲染如何实现一个3D场景中自定义3D物体
date: 2023-04-30 13:31:35
categories: Flutter
tags: [Flutter, 3D渲染]
在基于Flutter开发3D应用时，可以使用three_d_object插件来实现自定义的3D物体。以下是一个简单的示例：
首先，你需要在pubspec.yaml文件中添加three_d_object插件：
dependencies:
  flutter:
    sdk: flutter
  three_d_object: ^latest_version

然后，在代码中导入插件，并创建一个3D场景和一个自定义的3D物体：
import 'package:flutter/material.dart';
import 'package:three_d_object/three_d_object.dart';

class CustomObject extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('3D Object'),
      ),
      body: Center(
        child: Container(
          width: 300,
          height: 300,
          child:ThreeDView(
            child: Object3D(
              // Your

end here

In your paper, it is mentioned that you continue train the Coder v1 by solely a next token prediction objective with a 4K context length during its pre-training phase. If this causes the unstoppable generation?

Maybe it is my mistake. When trying the new coder v1.5, I just simply replace the model ID, but ignore the special token ids.
In my previous program(coder v1), to avoid the warning Setting pad_token_id to eos_token_id: 32021 for open-end generation.. I manually set the pad_token_id and eos_token_id to 32018 and 32021.
However, the new version has a larger token vocab, and the tokenizer.pad_token_id and tokenizer.eos_token_id are changed to 100001 and 100015.
It is the possible reason of your problem @kyesniper .

BTW, in the tokenizer.json of v1.5, I found the tokens like <|User|> <|Assistant|> <pad> <｜fim▁hole｜> <｜fim▁begin｜> <｜fim▁end｜> are discarded. What's the reason?


GroupPlacementView proto has misaligned namespace

In resources/group_placement_view_pb.rb the resource is generated in the Google::Ads::GoogleAds::V1::Services namespace. However, in services/group_placement_view_service_services_pb.rb it's referred to under the resources namespace.
There is no place in the library where the group placement view proto is defined under the resources namespace.

Steps have been taken to try to ensure this doesn't happen again. A release step was added that loads all the proto files to make sure that they can be loaded, and we've fixed the source for these specific files so they should generate correctly next time.