Completed data fetching for digit stats

OK to merge

Changes Unknown when pulling d2a4ad7f05980ce80bc2963e677745d7e9d69138 on qingweibinary:qingwei/digit_stats into ** on binary-com:master**.


Overlap of training and test window in SlidingWindowSplitter

https://github.com/alan-turing-institute/sktime/blob/36f3cb1b96421bb08e041d16949d3d8a9be6f7d8/sktime/forecasting/model_selection/_split.py#L217
Hi,
The last element of training window and first element of test window overlaps here. As a fix, simply -1 can be removed. Bests,
from sktime.datasets import load_airline
from sktime.forecasting.base import ForecastingHorizon
from sktime.forecasting.model_selection import (
    ForecastingGridSearchCV,
    SlidingWindowSplitter,
    temporal_train_test_split,
)

y = load_airline()
y_train, y_test = temporal_train_test_split(y, test_size=36)

fh = ForecastingHorizon(y_test.index, is_relative=False)
cv = SlidingWindowSplitter(step_length= 3, fh = list(range(3)), window_length= 20)

windows = cv._split_windows(y_train)
for i in list(windows)[:10]:
    print(i)

(array([-20, -19, -18, -17, -16, -15, -14, -13, -12, -11, -10,  -9,  -8,
-7,  -6,  -5,  -4,  -3,  -2,  -1]), array([-1,  0,  1]))
(array([-17, -16, -15, -14, -13, -12, -11, -10,  -9,  -8,  -7,  -6,  -5,
-4,  -3,  -2,  -1,   0,   1,   2]), array([2, 3, 4]))
(array([-14, -13, -12, -11, -10,  -9,  -8,  -7,  -6,  -5,  -4,  -3,  -2,
-1,   0,   1,   2,   3,   4,   5]), array([5, 6, 7]))
(array([-11, -10,  -9,  -8,  -7,  -6,  -5,  -4,  -3,  -2,  -1,   0,   1,
2,   3,   4,   5,   6,   7,   8]), array([ 8,  9, 10]))
(array([-8, -7, -6, -5, -4, -3, -2, -1,  0,  1,  2,  3,  4,  5,  6,  7,  8,
9, 10, 11]), array([11, 12, 13]))
(array([-5, -4, -3, -2, -1,  0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11,
12, 13, 14]), array([14, 15, 16]))
(array([-2, -1,  0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14,
15, 16, 17]), array([17, 18, 19]))
(array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17,
18, 19, 20]), array([20, 21, 22]))
(array([ 4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
21, 22, 23]), array([23, 24, 25]))
(array([ 7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
24, 25, 26]), array([26, 27, 28]))

Closed in favour of #628

Closed in favour of #628


Artis crashes with artisoptions_classic.h

Issue description
When running an job with artisoptions.h set to artisoptions_classic.h, the job immediately crashes after start. This does not occur with the artisoptions_nltenebular.h. This issue occurred after the latest update (commit 00aa20fa8794f1caba1608cc385fed09c217a685), before that running with artisoptions_classic.h did not produce this problem.
Steps to reproduce the issue

cp artisoptions_classic.h artisoptions.h
make
Submit job to local cluster based with adapted version of artis-virgo-slurmjob.sh

What's the expected result?

Job runs and produces output.txt files

What's the actual result?

Job crashes with error message
artis_job_8299758.txt

Additional details / screenshot

input.txt file of job is attached as well
input.txt

Thanks for the detailed issue report. I believe it should be fixed with the latest commit.

Thanks for the quick fix! The issue seems to be fixed, at least the job is running as expected now.


explore storage formats

I'm not familiar with these tools, but there is pytables that could be an alternative for a database (for storing embeddings?).
pytables offers different compressions with different speeds: https://stackoverflow.com/questions/16628329/hdf5-concurrency-compression-i-o-performance?rq=1
I'm also not sure how it relates to hdf5.

https://docs.h5py.org/en/latest/faq.html#what-s-the-difference-between-h5py-and-pytables
https://www.pytables.org/FAQ.html#how-does-pytables-compare-with-the-h5py-project

Moreover, hdf5 offers different compression formats. apparently there is a faster compression that gzip that we're currently using: https://docs.h5py.org/en/stable/high/dataset.html#lossless-compression-filters
We could define some tasks that are relevant to us and see how different tools and different compression perform.

I think we should do the following

use hdf5 only for the arrays of model input data
use parquet files for embeddings
use parquet or database format

Parquet files are appropriate because we will want to query different embedding sets for different evaluation tasks, possibly based on the characteristics of other tabular columns. One tool that integrates these is DuckDB, but there are probably others too.
I'm not sure about how to write embeddings to parquet during inference. We can either write to hdf like we do now, write to jsonl (which we had before), or write to parquet directly. We should choose the fastest option, and this may require some speed benchmarking.

see also #90


Video: publish downloadable video to S3

As a course author, when I upload a file to gdrive, I'd like a download version to be created as well as the YouTube version.
As a user, I'd like to be able to download a version of every video file, at a reasonable size.
As part of our video workflow, we are already transcoding video to a size & bitrate suitable for downloading, but isn't available to end users through the published site.
Acceptance Criteria:

[ ] When a video is transcoded, update the resource metadata with a suitable path to the downloadble version (similar to what we do with legacy data)
[ ] When a course is published to staging, move the downloadable video file to the staging bucket on S3
[ ] When a course is published to production, move the downloadable video file to the staging bucket on S3
[ ] Confirm that the download links in the render site function.
[ ] Provide some timing information about publishing. We expect that the first time a course with a lot of video is published, the sync to S3 step will take much longer. But we also expect that subsequent publishes will be much faster, as the video data has already been moved.

Out of Scope

We are not yet uploading these "downoadable" versions to The Internet Archive. We haven't decided yet that we will continue this practice.

Users can already do that.

Only for legacy OCW sites that have videos on internet archive like this one.
Last year we talked about uploading videos to Internet Archive, and there are transcoded videos made for this purpose, but the archive upload functionality has not been implemented yet.

The metadata field that is used for video downloads is archive_url (example)
Since we are not going to upload to internet archive now (and maybe never?), I will need to copy the 16x9 transcoded video to the same bucket location as other non-video files.  Then we can do one of two things:
a) Assign the new S3 path to the archive_url field in the metadata, even though it isn't coming from internet archive.
b) Assign the new S3 path to the file field in the metadata, but this will require a change to the theme to look for the download url in archive_url first, then file if it is blank.
I'm inclined to go with option (a) because it doesn't require any changes to the hugo theme.  What do you think @gumaerc ?
@Ferdi @pdpinch at some point, should the transcode job definition be modified to omit the 4x3 output if we will never use it?

@mbertrand I think what we do here depends on if we actually don't intend to archive videos on internet archive anymore.  If we actually don't then I don't see any problem with using that field as realistically that copy of the video effectively will be the archive.  Either way, the theme change in this regard would be pretty minimal so I don't really have an opinion either way.

Thanks, I'm going to assign it to the file field then, and make a separate PR to update the theme, just in case we end up using internet archive again later.


🔄 synced file(s) with worgarside/github-config-files

synced local file(s) with worgarside/github-config-files.

This PR was created automatically by the repo-file-sync-action workflow run #6022882897

This PR is empty, closing it. :no_good:


Build(deps-dev): Bump eslint-import-resolver-typescript from 3.2.4 to 3.2.5 (#3733)

Pull request opened by the merge tool on behalf of #3733

Merged in 60f9c798caa5b7b1214b7c2e24f36c0f342b48c9


Race conditions when accessing data

The current implementation suffers from data races between threads that access the same data, eg. rmw_publisher_data_t. There are essentially two classes of races:

One thread destructing the data object and another accessing is modifying it.
Two or more threads are modifying the data object.

Proposal to address the issue

[ ] Update all data classes to rely on getters and setters to access members while locking mutexes.
[ ] The type erased data fields in rmw types, eg rmw_publisher_t->data will store the raw pointer to the RMW context. The assumption here is that the context will always be valid if an RMW entity is valid
[ ] The rmw_context_impl_s class will store sets/vectors of rmw_x_data_t objects of the various RMW entities (publishers, subs, clients, servers, etc). Two or more threads will lock the same mutex in the rmw_context_impl_s while accessing/modifying these objects.

I believe that this has been done with a combination of refactors from @Yadunund , plus the switch to zenoh-cpp.  Thus I'm going to close this out.


BOLT 11 invoices for regtest should use lnbcrt prefix

Background
Ran into this while trying to automate the integration testing framework. lnd generates (and accepts only) invoices with the prefix lntb in regtest mode, while eclair and c-lightning use the lnbcrt prefix. This causes lnd to abort when attempting to pay such an invoice with (StatusCode.UNKNOWN, unknown network).
Your environment

version of lnd: 13945de8060ad42e077988c1cf69e205dc11e528

Steps to reproduce
See implementation of test_direct_payment for an example.
Resolutions
Admittedly the clarification to use lnbcrt as prefix is still under review (lightningnetwork/lightning-rfc#397), but this should be easy to resolve by either allowing lnbcrt as a prefix for regtest invoices, or by switching regtest to use lnbcrt exclusively.

Duplicate of #882

Sorry about the duplicate :wink:

As a work around for now, you can use sendpayment to just manually specify all the payment details encoded in the invoice.

Thanks @Roasbeef I have some patches that I apply when testing, one of them just hard-codes the bcrt prefix. I hope it doesn't result in a large change, the prefix being sourced from the btcd dependency. Otherwise I can make the permanent change to call sendpayment and we can just keep this tiny incompatibility.

Having a bit of trouble with the direct lnd-lnd payment, sendpayment seems to drop the final_cltv_delta value for some reason.
Printing the SendPaymentRequest before sending it to lnd:
dest: "\002iH\334\255\ri\0217\303\260R\304;\307\221\340\205\2058F\260\264\017M\324~8\240&K\033\313"
dest_string: "026948dcad0d691137c3b052c43bc791e085853846b0b40f4dd47e38a0264b1bcb"
amt: 1000
payment_hash_string: "90d4ac8543ca3dc20fb4b8d16a9e63168f3fb8202ce4d08f7532fd8824636ab2"
final_cltv_delta: 9

What lnd reports in its logs:
DEBUG:lnd(16331):2018-04-10 14:31:36.812 [TRC] CRTR: Dispatching route for lightning payment: (*routing.LightningPayment)(0xc420708e00)({
DEBUG:lnd(16331): Target: (*btcec.PublicKey)(0xc4207d07e0)({
DEBUG:lnd(16331):  Curve: (elliptic.Curve) <nil>,
DEBUG:lnd(16331):  X: (*big.Int)(0xc4207d0800)(47621585139586363746329501803577150157978144822358803047427883371479362640843),
DEBUG:lnd(16331):  Y: (*big.Int)(0xc4207d0820)(39344097727107259284151233359662692735519268809767065875924330499057248052478)
DEBUG:lnd(16331): }),
DEBUG:lnd(16331): Amount: (lnwire.MilliSatoshi) 1000000 mSAT,
DEBUG:lnd(16331): PaymentHash: ([32]uint8) (len=32 cap=32) {
DEBUG:lnd(16331):  00000000  90 d4 ac 85 43 ca 3d c2  0f b4 b8 d1 6a 9e 63 16  |....C.=.....j.c.|
DEBUG:lnd(16331):  00000010  8f 3f b8 20 2c e4 d0 8f  75 32 fd 88 24 63 6a b2  |.?. ,...u2..$cj.|
DEBUG:lnd(16331): },
DEBUG:lnd(16331): FinalCLTVDelta: (*uint16)(<nil>),
DEBUG:lnd(16331): PayAttemptTimeout: (time.Duration) 0s
DEBUG:lnd(16331):})

No biggy, just thought I should mention it here :-)

If you create the invoices at lnd, then we use a default time out of 144, so you'll need to specify that for the final_cltv_delta value.

Are you using SendPaymentSync? It appears that hasn't been kept up to date with the actual SendPayment call, as the SendPaymentSync call was only added to support the REST interface.

Yeah, I was using SendPaymentSync which seems to drop the final CLTV timeout. I have it working by checking whether the prefix is lnbt (recipient is lnd) and directly passing that one in in that case. I couldn't get the async payment working since it'd trigger the payment, but then fail to return the result (the python client would stop iterating over the stream of results immediately, instead of waiting for it to finish).
No worries though, it's working for all combinations of payments right now.


Honestly speaking

OneofEleven's updated K5 FW is the best FW if following  problem have been solved and spectrum analyzer be added.
1- Poor reception on Uhf band, 462.00MHz. Reception is main work of a transceiver which can not  compromise.
2- Chanel name fonts are not bold. We all have not 6/6 eyesight.
3- Signal meter has disappeared.
4- Transmitting a click when using Menue (up/down).
I have to go to stock FW for communication with mates. I hope Oneofeleven will take serious action against these problems and we will able to use our favorite Firmware.
Thanks

Reception performance can vary based on weather, environment, etc. This is not strictly a firmware issue.
Suggestion, not an issue.
Cannot confirm. Works For Me(tm)
Cannot confirm. I've got two radios and I can't get them to transmit clicks.

The readme makes it clear this is provided as-is and is used at your own risk. Based on how you're presenting this, I'd suggest you stick to stock firmware.

Don't forget to request a refund if you're not happy with this firmware.


Allow defaultLimit to be 0

Thanks @afilp
I'm thinking of changing the defaultLimit to 0 and release update to version 2.0.0.
You can check the changes at: c01dd95dcd050fb6bc6655a3fba2dc60d034775f

If that works too, I have to no problem! Thanks.


Image Load two time when we open same widget double time

@moveo Can you provide a code that face this problem and a screenshot may be useful

Since no description provided and I couldn't repeat the error, I'm closing this issue


JsonSchema.Draft04.Validate invalid verify id property

When id property contains localhost Manatee library returns error:
{
  "id": "http://localhost/json-schemas/address.json"
}

The problem is that regex is not good way to resolve Uri. I think library should use Uri.IsWellFormedUriString: Uri.IsWellFormedUriString("http://localhost/json-schemas/address.json", UriKind.Absolute)

Originally created at 2016-04-04 09:48:09+00:00 (UTC) by itmind as a(n) minor issue.

Oh my gosh... wonderful!

4.0.0-alpha released for your testing enjoyment!
https://www.nuget.org/packages/Manatee.Json/4.0.0-alpha

I'm not sure yet.  I have to get into the code and evaluate all of these issues.  I already know #14 (and likely #15) are going to take some refactoring.
I appreciate the feedback, though.  Helps make this a better library.

BUG FIX: #17 - JsonSchema.Draft04.Validate invalid verify id property
Updated URI validation to use Uri.IsWellFormedUriString()
Also updated DateTime validation to use DateTime.TryParse()
→ <<cset 366f631caf71>>

Yeah, I've been wanting a better way to do this.  I'll include this in the next release.

So.... when will be the next release :-)


GitHub says latest release is v4.5, but lib/webdrivers/version.rb shows 5.0.0

I ran bundle update webdrivers and got webdrivers 5.0.0 installed. I am just confused why that would happen if the new version hasn't been released yet.

@mileslane You have the right (latest) version. We're just behind on updating our tags/releases on GitHub, which I'll try to do soon™


Sentinel HA clarification

Can you clarify how sentinel is supposed to work? If I understand it correctly it handles connection errors from to the actual Redis instance, but it seems to rely on a single Sentinel? So instead of having a single point of failure for my Redis server I now have a single point of failure for the Sentinel server?
I quickly looked at some other Redis libraries like ioredis (https://github.com/luin/ioredis) and they seems to accept a list of sentinels addresses on Sentinel setup and automatically use the available one.

The sentinel package hasn't gotten a lot of love since talk of cluster being finally released. The package currently doesn't provide a builtin way to choose between available sentinel instances, but you could do something like the following:
var sentinelCh = make(chan *sentinel.Client)

go func() {
    for {
        for i := range addrs {
            cl, err := sentinel.NewClient("tcp", addrs[i], 10, "bucket0")
            if err != nil {
                log.Printf("error connecting to %s: %s", addrs[i], err)
                continue
            }
            tick := time.Tick(250 * time.Second)
            innerLoop:
            for {
                select {
                case sentinelCh <- cl:
                case <-tick:
                    c, err := cl.GetMaster("bucket0")
                    if err != nil {
                        break innerLoop
                    }
                    cl.PutMaster("bucket0", c)
                }
            }
            cl.Close()
        }
        time.Sleep(500 * time.Millisecond)
    }
}()

c, err := (<-sentinelCh).GetMaster("bucket0")

That's totally hacked together and ugly (and completely untested) but it's on the right track. Sorry the answer isn't all that helpful =/

I'm going to go ahead and close this. Feel free to reopen it if you have any further issues


not able to start docker file

Hi Ricardo, hi all
I'm new in Linux and also in Docker and face a problem with the Docker file I created...
First I tried to install your script in the virtual environment on my pc without any problem. Afterwards I tried to use the docker way, because I want to use it on a Raspberry PI in combination with a influx/grafana docker container. This container is running well...
I used the way you described:
ronald@buster:/opt$ sudo git clone https://github.com/yunity/fritzinfluxdb.git
Klone nach 'fritzinfluxdb' ...
remote: Enumerating objects: 144, done.
remote: Total 144 (delta 0), reused 0 (delta 0), pack-reused 144
Empfange Objekte: 100% (144/144), 130.37 KiB | 185.00 KiB/s, Fertig.
Löse Unterschiede auf: 100% (80/80), Fertig.
ronald@buster:/opt$ cd fritzinfluxdb
ronald@buster:/opt/fritzinfluxdb$ docker build -t fritzinfluxdb .
Sending build context to Docker daemon    406kB
:
:
Step 5/5 : CMD [ "python", "./fritzinfluxdb.py" ]
---> Running in df9377423fcf
Removing intermediate container df9377423fcf
---> c7f51a4cec46
Successfully built c7f51a4cec46
Successfully tagged fritzinfluxdb:latest
Then I modified the fritzinfluxdb.ini and saved it in my home directory... I have two copies... fritzinfluxdb.ini and my-fritzinfluxdb.ini
If I now start the container with
ronald@buster:/opt/fritzinfluxdb$ docker run -d -v /home/ronald/fritzbox/my-fritzinfluxdb.ini:/app/idefault.ini --name fritzinfluxdb fritzinfluxdb or
ronald@buster:/opt/fritzinfluxdb$ docker run -d -v /home/ronald/fritzbox/fritzinfluxdb.ini:/app/idefault.ini --name fritzinfluxdb fritzinfluxdb
and then take a look into the logs, I get this message:
ronald@buster:/opt/fritzinfluxdb$ docker container logs --details fritzinfluxdb
2021-01-13 08:14:29,435 - ERROR: Config file "./fritzinfluxdb.ini" not found
Even with my-fritzinfluxdb.ini or fritzinfluxdb.ini
The only thing, what happen is, that I got two folder (my-fritzinfluxdb.ini or fritzinfluxdb.ini) in /home/ronald/fritzbox
Now is the question, what I have to change, that I get it running... Hope you or someone have a clue or idea what I have to do...
Thanks a lot in advanced
Ronald

double...

double...


Replace "zero value" with "not set"

https://developer.algorand.org/docs/reference/transactions/#asset-configuration-transaction

ConfigAsset
For re-configure or destroy transactions, this is the unique asset ID. On asset creation, the ID is set to zero.

Although in the required column it says "required, except on create", the mention of "zero" here is confusing and might lead people to setting a literal 0 as id, which makes the transaction fail.

Note: at least the Java SDK relies on the JSON encoder to drop keys for "default" values (like 0 for integers), so if someone wants to confirm with the SDKs please inspect the final JSON.


Truncates top X maps to get under 50 length for regex

I'm always frustrated when the app tells me to be more specific for a regex when I just want to highlight a variety of good maps to run for maven 10 ways or for leveling a new character with the few white to yellow maps I have
So now just truncates the regex to be under 50 characters rather than telling the user to be more specific.
https://github.com/deathbeam/maps-of-exile/assets/3909629/07c29727-f72d-4b0d-84f3-73cbb144cc70

Thanks, looks good


And/Or visitors break adding conditions to an On node

The visitor for And/Or nodes is overridden in to_sql:
https://github.com/Faveod/arel-extensions/blob/master/lib/arel_extensions/visitors/to_sql.rb#L561-L579
However, this causes broken sql when adding a condition to an On node:
Arel::Nodes::On.new(Post.arel_table[:user_id].eq(User.arel_table[:id])).to_sql
=> "ON `posts`.`user_id` = `users`.`id`"

Arel::Nodes::On.new(Post.arel_table[:user_id].eq(User.arel_table[:id]))
  .and(Post.arel_table[:type].eq('foo')).to_sql
=> "(ON `posts`.`user_id` = `users`.`id`) AND (`posts`.`type` = 'foo')"

As you can see, the entire original ON got parenthesized, which leads to a SQL syntax error.
I'm using Rails <IP_ADDRESS>.

Hi,
you should write:
Arel::Nodes::On.new(
  Post.arel_table[:user_id].eq(User.arel_table[:id]).and(Post.arel_table[:type].eq('foo'))
).to_sql
=> "ON (`posts`.`user_id` = `users`.`id`) AND (`posts`.`type` = 'foo')"

If the AST is wrongly constructed, I am not surprised the result is wrong. Is this from some ActiveRecord code?

Hi @jdelporte thanks for your response.
I'm using https://github.com/camertron/arel-helpers which allows conditions to be added to join conditions: https://github.com/camertron/arel-helpers#joinassociation-helper
Post.joins(
  Post.join_association(:comments, Arel::Nodes::OuterJoin) do |assoc_name, join_conditions|
    join_conditions.and(Post[:author_id].eq(4))
  end
)

join_conditions that they expose here is an On node, which works fine without arel-extensions but I guess is not the correct thing to be exposing given what you said?


When writing a path, hitting / will add >.
There should be an exception to this - something like when writing in "" don't close tags.
I now use https://github.com/mattberkowitz/autoclose-html.

same problem


fix(linter): explicit-length-check inside ternary

Fixes #2156 by checking that the length/size check is in the "test" part of a conditional (aka ternary).
I stole the technique from here https://github.com/oxc-project/oxc/blob/main/crates/oxc_linter/src/rules/eslint/no_extra_boolean_cast.rs#L172-L175 - there might be potential for re-use as this one looks a bit more sophisticated? I didn't bother trying though, sorry!
I see there is already an example in pass for conditional with the length/size check in the test part but not in fail so I added one.
Hope it's all OK but shout if anything needs changing 😄

Apparently my WSL clock is off by 7 days (according to the commit timestamp) I'll fix it for the next contribution if you don't mind?


weex-toolkit 安装失败

node -v
v8.11.3
npm -v
6.4.1
sudo cnpm install -g weex-toolkit
安装报错
Error: write EPROTO<PHONE_NUMBER>:error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version:../deps/openssl/openssl/ssl/s23_clnt.c:802:
at _errnoException (util.js:992:11)
at WriteWrap.afterWrite [as oncomplete] (net.js:864:14)

@githublvjing looks like that's a local environmental issue, you can use npm to install the toolkit, before that, you can also delete cache files from /usr/local/lib/node_modules/weex-toolkit.

No longer active, I will close this issue, if have further questions, please open a new issue.


Ensure UDP sockets are closed

Thank you for good rubygem!
I found that Rails application with this rubygem failed to launch because of Too many open files error. I fixed codes to ensure that UDP sockets are always closed.

I'm surprised this isn't handled by the UDPSocket instances being garbage collected. Still, this seems harmless so we may as well merge it.
Thanks!


Make a markdown version of the codebase setup

The PDF is good, but it would be easier to be able to copy commands and, if/when Makefile or Justfile is incorporated, just run those commands from the markdown directly.

@Pablongo24


Refactor: Ignore unknown Json keys

Ignore unknown keys to avoid crashes
Run actions if PR gets updated

That's some nifty PR :) LGTM @gaebel !


Fails on build after npm install (as indicated in Readme)

NX   Could not find ".modules.yaml" at "/Users/kristian/repos/personal/svelte-apps/bit-with-nx/node_modules/.modules.yaml"
Because of the error the Nx daemon process has exited. The next Nx command is going to restart the daemon process.
If the error persists, please run "nx reset".
I tried running nx reset but I still get the same error
It looks like .modules.yaml is generated by pnpm, so the Readme should be corrected to reflect that

I think it should be something like the following:
pnpm dlx nx build
pnpm dlx nx build inventory

However the build step still fails:
> nx run inventory:build:production

libs/products/src/lib/products.tsx:2:24 - error TS2307: Cannot find module<EMAIL_ADDRESS>or its corresponding type declarations.

  1 | import styles from './products.module.css';
> 2 | import { Button } from<EMAIL_ADDRESS>
Due to the bit components not yet being linked in node-modules
If I look at https://bit.dev/reference/adopting-bit/nx/#creating-additional-bit-apps-in-nx-monorepo
It recommends adding a postinstall script as follows:
{
  "scripts": {
    "postinstall": "bit import && bit compile && bit link"
  }
}

Also recommended to run the following process to: "ensure the compiled outputs of components is up-to-date in node_modules, you need to run one of the following processes"
bit watch

Looks like I need to install BVM first?
https://bit.dev/reference/reference/using-bvm/
npm i -g @teambit/bvm
bvm install

@kristianmandrup Yes. You nee to install bit first.


Windows Crystal Development Doc Qt 5.10.0

The Windows documentation suggests to install Qt 5.10.0, however, this will not be listed by the Qt installer, see below

Support for Crystal itself is going to end next month but we're also using Qt 5.10.0 on Windows for Dashing and Eloquent. Either Qt 5.9 or 5.12 may work for you as both are in use on other platforms.

Since Crystal is EOL, I'm going to go ahead and close this.  Feel free to reopen if you run into a similar issue on supported distributions.


It is necessary to write messages of invalid data

In 424 US there are no written error messages about invalid data in the Product Name field.
Criterion 9 requires handling any errors and displaying appropriate error messages.
Can we write the following:

If the field is empty, show a red message under the field:
Title The field 'Title' can't be blank і Title The field 'Title' is too short
If the field contains <3 characters, show a red message under the field:
Title The field 'Title' is too short
If the field contains >30 characters, show a red message under the field:
Title The field 'Title' is too long
If the field contains any letters other than Ukrainian or English letters:
Title The field 'Title' contains invalid characters


Add clause tokenize model

Clause tokenize model trained from LST20 Corpus with CRF model.
LST20 Corpus from National Electronics and Computer Technology Center, Thailand. It can download dataset from https://aiforthai.in.th/corpus.php.
Model train by Mr.Wannaphong Phatthiyaphaibun
Model License : CC-0
Code

Model File : https://github.com/PyThaiNLP/pythainlp-corpus/releases/tag/lst20-cls-v0.1
Train script : https://github.com/PyThaiNLP/pythainlp_notebook/blob/master/cls/lst20.ipynb
Google Colab : https://colab.research.google.com/drive/13sKMQN6FbI9YhyN3rVW9Ydg9bUjKk0JP?usp=sharing

TODO

[] document
[] test

Hello @wannaphong! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file pythainlp/tokenize/lst20.py:

Line 7:1: E302 expected 2 blank lines, found 1
Line 11:13: E225 missing whitespace around operator
Line 13:23: E231 missing whitespace after ':'
Line 14:17: E231 missing whitespace after ':'
Line 21:37: E225 missing whitespace around operator
Line 25:31: E261 at least two spaces before inline comment
Line 31:37: E225 missing whitespace around operator
Line 35:31: E261 at least two spaces before inline comment
Line 38:1: E302 expected 2 blank lines, found 1
Line 41:1: E302 expected 2 blank lines, found 1
Line 42:27: E231 missing whitespace after ','
Line 42:34: E231 missing whitespace after ','
Line 44:1: E305 expected 2 blank lines after class or function definition, found 1
Line 48:1: E302 expected 2 blank lines, found 1
Line 55:10: E231 missing whitespace after ','
Line 56:10: E231 missing whitespace after ','
Line 63:21: W292 no newline at end of file

Coverage decreased (-1.4%) to 93.999% when pulling 63b4452864e75411b5467f339f637b01df94da41 on add-clause into 261f032ff663238c716488e121896b47fcf294a0 on dev.

Model Card - LST20 CLS
Model Details

Developed by Mr.Wannaphong Phatthiyaphaibun
CRF Model
Intended Use
...
Factors
...
Metrics
...
Evaluation Data
...
Training Data
...
Quantitative Analyses
...
Ethical Considerations
...
Caveats and Recommendations
...


Add MaxEssentialToolkit

Signed-off-by: Sadik.Ozer<EMAIL_ADDRESS>

A problem was found with your submission https://github.com/MaximIntegrated/MaxEssentialToolkit
❌ ERROR: The repository has no tags. You need to create a release or tag that matches the version value in the library's library.properties file.

v1.0.0 tag pushed.

@ArduinoBot please check it again.


provide a way to specify that method can be torn-off reflectively

An annotation @pragma('vm:entry-point', 'get') on a method should be interpreted as a signal that method is torn-off reflectively.

Should it mean that the method is only torn off or also called?

When we create the implicit closure function, we inevitably will also generate the real function, do we not?

If it's only torn off, we can inline the real function into the method without duplicating the code.

This has been implemented by ae7bf9e999b09efc45d87a4f6f01f11832b2d442


fix docusaurus 2.0.0 release regression: /kda/kda -> /kda/manage-kda

Docusaurus 2.0.0 release changed how paths with same directory and filename (e.g. /name/name.md) mas to output paths: they now ends up in /name instead of previous /name/name (as in our last good version, which was docusaurus 2.0.0-betaXX)
This affected the Manage KDA page, which was at /kda/kda
Moved it to /kda/manage-kda and updated links
I tried to set up a client side redirect to preserve the previous permalink but the client-side redirect sample code doesn't work. If we think this is important I can spend more time on it, but it doesn't seem so to me, it isn't a particularly critical page that would be likely to be linked-to from elsewhere. If a server-side redirect is possible, it would be a better option, but frankly it doesn't seem that important for this one.

Tacked on a fix in wallets/overview (broken meta markdown)

Added a wallet link to the Manage KDA page as it seemed appropriate


SecuredAction ajaxCall replacement

Hi Jaliss,
Is there any replacement in the latest version for ajaxCall property? I would get status 401 when I call SecuredAction from ajax.
Thanks,
Tomas

vote up, would need that too

SecuredAction uses content negotiation now.  See the notAuthenticatedResult and notAuthorizedResult in the SecureSocial trait for Scala. For the Java API there's a responses parameter in the SecuredAction annotation that takes care of that (see the SecuredActionResponses interface too)


Inline assume to avoid performance regression

The intrinsic assume is called in a lot of hot paths throughout alloc. It should not compiled to any code and just inform optimizations, however the stable polyfill is apparently not inlined enough as can be seen while profiling some some simple vector operations.
This commit improves the performance of a benchmark using Vec a fair amount although it does not quite achieves the performance of using the standard Vec.
The benchmark is question is lyon's tessellator. I've been musing with the idea of making it possible to use a custom allocator.
Here are some profiles of lyon's tessellation benchmarks using allocator-api2 with the default allocator:

Before (You can see assume popping up in places),
After.

However it was slower than expected even causing performance penalty with generally faster allocator type.

Happy to help!
Just thought about comparing against allocator-api2 with the nightly feature which I think is more fair than comparing against the non-generic algorithm. Here are the results:
test fill_events_01_logo                ... bench:      33,624 ns/iter (+/- 1,109)
test fill_events_02_logo_pre_flattened  ... bench:      18,500 ns/iter (+/- 264)
test fill_events_03_logo_with_tess      ... bench:      85,580 ns/iter (+/- 2,876)
test fill_tess_01_logo                  ... bench:      68,030 ns/iter (+/- 266)
test fill_tess_03_logo_no_intersections ... bench:      78,257 ns/iter (+/- 409)
test fill_tess_05_logo_no_curve         ... bench:      32,906 ns/iter (+/- 77)
test fill_tess_06_logo_with_ids         ... bench:      66,430 ns/iter (+/- 2,005)

In conclusion:

The stable polyfill is still a regression but not as large as I made it look like in my previous comment.
(Goin in a tangent) slapping a generic parameter all over a pile of code can have non-trivial perf impacts even if always instantiated with the value used by the non-generic version.

In fact (for completeness in this tangent), here is the result when using &dyn Allocator (non-generic):
test fill_events_01_logo                ... bench:      31,632 ns/iter (+/- 957)
test fill_events_02_logo_pre_flattened  ... bench:      16,858 ns/iter (+/- 215)
test fill_events_03_logo_with_tess      ... bench:      79,375 ns/iter (+/- 2,620)
test fill_tess_01_logo                  ... bench:      62,266 ns/iter (+/- 755)
test fill_tess_03_logo_no_intersections ... bench:      70,584 ns/iter (+/- 1,236)
test fill_tess_05_logo_no_curve         ... bench:      31,057 ns/iter (+/- 786)
test fill_tess_06_logo_with_ids         ... bench:      62,483 ns/iter (+/- 1,220)

Dynamic dispatch + a pair of extra pointers in each Vec/Box + the indirection of this pair of pointers is faster than static dispatch with generics (measured on a m1 mac).

With nightly feature enabled allocator-api2 reexports everything from core, alloc and std instead of defining replacements.
Note that alloc::vec::Vec and alloc::boxed::Box are already generic over allocator type. It's just defaulted to Global and usage of allocator type parameter is unstable.
So when you use allocator_api2::vec::Vec<T, Global> with nightly feature enabled it should be exactly the same as using alloc::vec::Vec<T, Global> that should be exactly the same as using alloc::vec::Vec<T>.

Ah, I see.
I've experimented a bit and found out that:

Passing &A around may be significantly worse for ZSTs like Global than using A directly.
For the experiment in my custom allocator I was materializing generic A using core::mem::zeroed() inside branch with size_of::<A>() == 0 condition instead of using &A. Compiler optimized out the branch and performance improved in few tests.
Wrapper type that fixes some generic parameter may slightly improve performance.

For lyon you can compare performance without generic allocator using alloc::vec::Vec<T>, allocator_api2::vec::Vec<T>.
And then with generic allocator using allocator_api2::vec::Vec<T, &'a dyn Allocator> and use Global and custom allocators like blink-alloc to see if performance improves significantly.


feat: add chart colors to theme customizer

Description
This PR adds support for customizing graphics themes in the ThemeCustomizer component. Users can now select and copy chart colors (chart-1, chart-2, chart-3, chart-4, chart-5) along with other themes.
Changes Implemented

Themes Update: Added chart themes (chart-1, chart-2, chart-3, chart-4, chart-5) to the chart file. themes configuration (themes.ts).
Modification of the ThemeCustomizer Component: The new graphics themes were integrated into the component so that they can be selected and copied.
CSS Tweak: Updated the functions that generate CSS code to include the new graphics themes.

How to Test

Run the project locally.
Navigate to the ThemeCustomizer component.
Verify that the new graphics themes are available for selection.
Test the functionality of copying the CSS code and making sure it includes the graphics colors.

References

Added support for graphics themes based on defaults provided by Shadcn.

@creativoma thanks for adding this. looks good. can you run pnpm format:write and push again please?

Thank you for all your contributions to the community!


Fails while access without authentication

Issue appears while I'm trying to access my API as unauthorized user.
For now my code looks like:
apiRoutes.get('/userinfo', passport.authenticate('jwt', { session: false}), function(req, res) {
  var token = getToken(req.headers);
  if (token) {
    //...doing my staff
  } else {
    return res.status(403).send({error: true, msg: 'Unauthorized user'});
  }
});

I've got this error:
TypeError: parsed_url.query.hasOwnProperty is not a function    at JwtStrategy.authenticate (...\node_modules\passport-jwt\lib\strategy.js:108:89)
I've fixed that adding one more check to the IF statement:
if (parsed_url.query && parsed_url.query.hasOwnProperty && parsed_url.query.hasOwnProperty(self._tokenQueryParameterName)) {
            token = parsed_url.query[self._tokenQueryParameterName];
 }

I don't know if it's correct? Or I'm doing something wrong.
...sorry, I'm using version 1.2.1. So, maybe this issue is closed now...

Yes, this was fixed a long time ago.  Please update to the latest version, the readme provides instructions on migrating from 1.* to 2.*.


Reposting as a new issue

Hi, I'm very interested in using this tool. I also get an issue, using 0.3.9 (see below). I tried again using prior versions (0.3.6, 0.3.4 and 0.3.3) and get the same error. I then installed on both a linux cluster, and a WSL version of Ubuntu locally and get the same issue. File path does not appear to be the issue for me
./sgcocaller xo \

--phased
--cmPmb 0.0001
possorted_genome_bam.bam
Cross.filt.recal.vcf
barcodes.tsv
BULK_1_sgco
2022-11-02T12:41:15-05:00{"": barcodes.tsv, "": possorted_genome_bam.bam, "--binSize": 2000, "--dissimThresh": 0.0099, "--notSortMtx": false, "": nil, "phase": false, "--lookBeyondSnps": 25, "--thetaREF": 0.1, "--outvcf": false, "--baseq": 13, "--minMAPQ": 20, "--threads": 4, "--stepSize": 200, "--cmPmb": 0.0001, "--chrom": nil, "--minPositiveSwitchScores": 8, "--minSwitchScore": 50.0, "": Cross.filt.recal.vcf, "": nil, "--barcodeTag": CB, "--maxUseNcells": nil, "": nil, "--maxExpand": 1000, "sxo": false, "autophase": false, "--maxTotalDP": 25, "xo": true, "--batchSize": nil, "--phased": true, "--templateCell": -1, "--help": false, "": nil, "--maxDP": 5, "--minDP": 1, "--minTotalDP": 10, "--maxDissim": 0.0099, "swphase": false, "--posteriorProbMin": 0.99, "--minSNPdepth": 1, "--thetaALT": 0.9, "<out_prefix>": BULK_1_sgco, "": nil}
2022-11-02T12:41:15-05:00 running sgcocaller 0.3.9
SIGSEGV: Illegal storage access. (Attempt to read from nil?)

I then tried installing from source though ran into an error here also:
nimble install https://gitlab.svi.edu.au/biocellgen-public/sgcocaller.git
Downloading https://gitlab.svi.edu.au/biocellgen-public/sgcocaller.git using git
Verifying dependencies for<EMAIL_ADDRESS>Info: Dependency on docopt@any version already satisfied
Verifying dependencies for<EMAIL_ADDRESS>Info: Dependency on regex@>= 0.11.1 already satisfied
Verifying dependencies for<EMAIL_ADDRESS>Info: Dependency on unicodedb@>= 0.7.2 already satisfied
Verifying dependencies for<EMAIL_ADDRESS>Info: Dependency on hts@>= 0.3.4 already satisfied
Verifying dependencies for<EMAIL_ADDRESS>Info: Dependency on https://github.com/ruqianl/distributions.git@any version already satisfied
Verifying dependencies for<EMAIL_ADDRESS>Installing<EMAIL_ADDRESS>Building sgcocaller/sgcocaller using c backend
Prompt: Build failed for<EMAIL_ADDRESS>would you like to try installing 'https://gitlab.svi.edu.au/biocellgen-public/sgcocaller.git@#head' (latest unstable)? [y/N]
Answer:
Tip: 12 messages have been suppressed, use --verbose to show them.
Error: Aborting installation due to build failure
ianc@PC51:~$ nimble install https://gitlab.svi.edu.au/biocellgen-public/sgcocaller.git --verbose
Downloading https://gitlab.svi.edu.au/biocellgen-public/sgcocaller.git using git
Cloning latest tagged version: v0.3.9
Info /tmp/nimble_1192/gitlabsvieduau_biocellgenpublicsgcocallergit/sgcocaller_1192.nims(5, 22) Warning: imported and not used: 'strutils' [UnusedImport]
Verifying dependencies for<EMAIL_ADDRESS>Reading official package list
Checking for docopt@any version
Info: Dependency on docopt@any version already satisfied
Verifying dependencies for<EMAIL_ADDRESS>Reading official package list
Checking for regex@>= 0.11.1
Info: Dependency on regex@>= 0.11.1 already satisfied
Verifying dependencies for<EMAIL_ADDRESS>Reading official package list
Checking for unicodedb@>= 0.7.2
Info: Dependency on unicodedb@>= 0.7.2 already satisfied
Verifying dependencies for<EMAIL_ADDRESS>Reading official package list
Checking for hts@>= 0.3.4
Info: Dependency on hts@>= 0.3.4 already satisfied
Verifying dependencies for<EMAIL_ADDRESS>Reading official package list
Checking for https://github.com/ruqianl/distributions.git@any version
Info: Dependency on https://github.com/ruqianl/distributions.git@any version already satisfied
Verifying dependencies for<EMAIL_ADDRESS>Installing<EMAIL_ADDRESS>Building sgcocaller/sgcocaller using c backend
Prompt: Build failed for<EMAIL_ADDRESS>would you like to try installing 'https://gitlab.svi.edu.au/biocellgen-public/sgcocaller.git@#head' (latest unstable)? [y/N]
Answer: y
Downloading https://gitlab.svi.edu.au/biocellgen-public/sgcocaller.git using git
Info /tmp/nimble_1192/gitlabsvieduau_biocellgenpublicsgcocallergit_#head/sgcocaller_1192.nims(5, 22) Warning: imported and not used: 'strutils' [UnusedImport]
Verifying dependencies for sgcocaller@#head
Reading official package list
Checking for docopt@any version
Info: Dependency on docopt@any version already satisfied
Verifying dependencies for<EMAIL_ADDRESS>Reading official package list
Checking for regex@>= 0.11.1
Info: Dependency on regex@>= 0.11.1 already satisfied
Verifying dependencies for<EMAIL_ADDRESS>Reading official package list
Checking for unicodedb@>= 0.7.2
Info: Dependency on unicodedb@>= 0.7.2 already satisfied
Verifying dependencies for<EMAIL_ADDRESS>Reading official package list
Checking for hts@>= 0.3.4
Info: Dependency on hts@>= 0.3.4 already satisfied
Verifying dependencies for<EMAIL_ADDRESS>Reading official package list
Checking for https://github.com/ruqianl/distributions.git@any version
Info: Dependency on https://github.com/ruqianl/distributions.git@any version already satisfied
Verifying dependencies for<EMAIL_ADDRESS>Installing sgcocaller@#head
Building sgcocaller/sgcocaller using c backend
Error: Build failed for package: sgcocaller
... Details:
... Execution failed with exit code 1
... Command: "/usr/bin/nim" c --noNimblePath -d:NimblePkgVersion=0.3.5 -d:release --path:"/home/ianc/.nimble/pkgs/docopt-0.7.0"  --path:"/home/ianc/.nimble/pkgs/regex-0.20.0"  --path:"/home/ianc/.nimble/pkgs/unicodedb-0.10.0"  --path:"/home/ianc/.nimble/pkgs/hts-0.3.23"  --path:"/home/ianc/.nimble/pkgs/distributions-0.1.0"  -o:"/tmp/nimble_1192/gitlabsvieduau_biocellgenpublicsgcocallergit_#head/sgcocaller" "/tmp/nimble_1192/gitlabsvieduau_biocellgenpublicsgcocallergit_#head/src/sgcocaller.nim"
... Output: Hint: used config file '/etc/nim/nim.cfg' [Conf]
... Hint: system [Processing]
... Hint: widestrs [Processing]
... Hint: io [Processing]
... Hint: sgcocaller [Processing]
... Hint: os [Processing]
... Hint: strutils [Processing]
... Hint: parseutils [Processing]
... Hint: math [Processing]
... Hint: bitops [Processing]
... Hint: macros [Processing]
... Hint: algorithm [Processing]
... Hint: unicode [Processing]
... Hint: pathnorm [Processing]
... Hint: osseps [Processing]
... Hint: posix [Processing]
... Hint: times [Processing]
... Hint: options [Processing]
... Hint: typetraits [Processing]
... Hint: docopt [Processing]
... Hint: regex [Processing]
... Hint: tables [Processing]
... Hint: hashes [Processing]
... Hint: sequtils [Processing]
... Hint: types [Processing]
... Hint: sets [Processing]
... Hint: properties [Processing]
... Hint: properties_data [Processing]
... Hint: common [Processing]
... Hint: compiler [Processing]
... Hint: parser [Processing]
... Hint: exptype [Processing]
... Hint: scanner [Processing]
... Hint: exptransformation [Processing]
... Hint: nfatype [Processing]
... Hint: litopt [Processing]
... Hint: nodematch [Processing]
... Hint: types [Processing]
... Hint: types_data [Processing]
... Hint: nfa [Processing]
... Hint: deques [Processing]
... Hint: nfafindall [Processing]
... Hint: nfamatch [Processing]
... Hint: util [Processing]
... Hint: hts [Processing]
... Hint: utils [Processing]
... Hint: hts_concat [Processing]
... /home/ianc/.nimble/pkgs/hts-0.3.23/hts/private/hts_concat.nim(127, 9) Error: undeclared identifier: 'csize_t'

Hi @cheesemania ,
Thanks for trying out our tool!
I notice the --chrom option was not used, then sgcocaller will find the list of chromosome names from the headers of vcf file (Contigs). For some VCFs this might the issue. I will try to fix this in the next release.
For now, you can try running sgcocaller xo for each chromosome per job eg: --chrom chr1
or supply a list of chromosomes eg: --chrom chr1,chr2,chr3

Thank you so much!!!


Update FlaUI.Core.csproj

By VS2022 previous version (5.0.3) is vulnerable

Hi @tomersalem ! We could upgrade all dependencies to 8.x.x and add support for .NET8 too

Thanks for your contribution. I just updated the dependencies and added .net 8.0 build targets, so this PR is obsolete now.


Azure auth uses endpoint as resource

Currently we hardcode the resource for a token request to the endpoint for the resource, but when making connections the resource may be different in some circumstances.
https://github.com/microsoft/azuredatastudio/blob/cb11c2bb227d7a2ed7599cce46ea7e22758a58cf/extensions/azurecore/src/account-provider/auths/azureAuth.ts#L254

Either add the resource and authority URLs as optional parameters to the connection settings or attempt to discover the URLs using TDS in the tools service before issuing the authentication request in the UI.


fix: typo from useFromm to useForm

Description
Noticed a small typo in the docs.
Changed useFromm to useForm

wow my bad... ty


Show more than 10 results from goto cache

Currently Winfile only shows 10 results from the Goto Cache search after CTRL-G
This is many times not enough, so increased it

I tried this out (on my low-end Atom.)  The initial letter typed is going to match a huge number of things and immediately hits this maximum.  On this system, it takes around 2 seconds to populate 1,000 items into the list.  Goto can't handle the second letter until the first has finished updating the list.  If I keep typing a "common" phrase then it becomes 2 seconds per key press; if I type something unique there's a 2 second hang initially followed by something more responsive later.
There's probably some elegant but more complex approach here of waiting for the user to pause before populating a larger number, but with the current code, 1000 seems too large for my CPU.  (It might be fine on your CPU.)  There might also be some cruder optimizations like having a lower maximum for 2 chars and below on the assumption that these are going to match many things and the user is still typing.

A low end Atom is not a benchmark and Winfile sure suffers performance problem on this machine in other areas too.
I reduced this to 500.

I think there's a miscommunication here.  I didn't use this device as a kind of torture test.  This is the same device I'd use for winfile development, as well as other projects; I used the device because it had a git enlistment with winfile so it was the fastest way I could try out the PR, and this was my first impression.  I haven't had a bad experience with winfile on this device, because winfile was designed for 8 MHz 286s - this system is still at least two orders of magnitude faster than what winfile was designed for.
No, it's not a benchmark.  In this case a benchmark may not be that illuminating - if inserting 1000 items into a list took 100x longer than 10 items, what does mean in terms of experience?
Here's what I'm seeing.  This is x64 release, with 500 list entries:

Same thing, 10 entries:

What these don't really show is in the 500 case, the system is busy clearing and rebuilding the list, so it can't accept keyboard input.  The reason the animation takes longer is because it's waiting for the process to render before it can accept the next character; my typing speed is approximately constant.  In the 10 case, every frame in this animation is fully rendered - in effect, the screen capture tool is operating as a profiler, and every frame in the 500 case the system is trying to render, every frame in the 10 case it's completed.
With that, I made two changes.  First, calling WM_SETREDRAW with FALSE before LB_RESETCONTENT, and calling it again with TRUE after LB_SETCURSEL, followed by RedrawWindow.  So instead of trying to repaint 500 times, it does it once.  Second, call LB_INITSTORAGE before LB_ADDSTRING; in this case, we know the exact number of entries we want to insert, so the list box doesn't need to reallocate each time.
With these two changes, and 500 entries:

Rendering still takes time, although these screen captures show it always rendered (since it can't repaint when it's emptied.)  More importantly though, the input throttling is gone, so the UX is responsive.  Rendering still takes time, but it takes less time than for me to press the next key.

I cleaned up the change and pushed it as commit 47e88f7733b204b44b47ca0adf72b7fd8cacc468 .  Please take a look and tell me what you think.

If disabling redraw helps, this really looks very good. I am fine
I was so keen to take it from your commit and change the init of resultCount to one line.


Issue with the invocation sequence of the HTTP hook API.

Describe the bug
Monitor whether the user has closed the browser using the HTTP hook API, and then automatically disconnect the device's stream. Each time the playback is clicked to restart, the 'on_play' event is received first, followed by the 'on_stop' event.
Configuration file:
    http_hooks {
        enabled on;
        on_play http://<IP_ADDRESS>/userwebservlet?action=srshookcallback;
        on_stop http://<IP_ADDRESS>/userwebservlet?action=srshookcallback;
        }

Version
V6.0_d3
To Reproduce
Steps to reproduce the behavior:

Open the player to play the video.
Replay the video.
The HTTP API callback receives an 'on_play' event, followed by an 'on_stop' event.
As a result of stopping the stream through the 'on_stop' event, the front-end browser is unable to play the video normally.

Expected behavior
First, an 'on_stop' event is received, followed by an 'on_play' event.
Screenshots
  [2023-12-12 16:32:38,575] 920639 [catalina-exec-302] ERROR com.minigps.loc.userweb.UserWebServlet  - processSrsHookCallBack
  [2023-12-12 16:32:38,575] 920639 [catalina-exec-302] ERROR com.minigps.loc.userweb.UserWebServlet  - processSrsHookCallBack:{"server_id":"vid-2081113","service_id":"s8751307","action":"on_play","client_id":"8899843x","ip":"<IP_ADDRESS>","vhost":"__defaultVhost__","app":"live","stream":"19019000003_1_0_1078_video","tcUrl":"rtmp://__defaultVhost__/live","param":"","pageUrl":"https://gps51.com/","stream_url":"/live/19019000003_1_0_1078_video","stream_id":"vid-m057071"}
  [2023-12-12 16:32:38,575] 920639 [catalina-exec-302] ERROR com.minigps.loc.userweb.UserWebServlet  - processSrsHookCallBack removeCallBack:19019000003_1_1078
  [2023-12-12 16:32:39,149] 921213 [catalina-exec-303] ERROR com.minigps.loc.userweb.UserWebServlet  - processSrsHookCallBack
  [2023-12-12 16:32:39,149] 921213 [catalina-exec-303] ERROR com.minigps.loc.userweb.UserWebServlet  - processSrsHookCallBack:{"server_id":"vid-2081113","service_id":"s8751307","action":"on_stop","client_id":"lc5nz82m","ip":"<IP_ADDRESS>","vhost":"__defaultVhost__","app":"live","tcUrl":"rtmp://__defaultVhost__/live","stream":"19019000003_1_0_1078_video","param":"","stream_url":"/live/19019000003_1_0_1078_video","stream_id":"vid-m057071"}
  [2023-12-12 16:32:39,149] 921213 [catalina-exec-303] ERROR com.minigps.loc.userweb.UserWebServlet  - processSrsHookCallBack addCallBack:19019000003_1_1078
  [2023-12-12 16:32:41,822] 923886 [Timer-6] ERROR com.minigps.loc.userweb.SrsHookMgr  - processSrsHookCallBack forceDisconnectConnection:19019000003_1_1078

Additional context
TRANS_BY_GPT4

能否麻烦你贴上SRS的日志？SRS回调on_play和on_stop时，会打出来日志，有时间信息。

这个问题确实是很诡异，我下周抽空看看，感谢反馈。

Run SRS 5.0:
./objs/srs -c conf/http.hooks.callback.conf

Run callback server:
go run research/api-server/server.go

Publish stream to SRS:
ffmpeg -re -i ~/srs/doc/source.flv -c copy -f flv rtmp://localhost/live/livestream

Use ffmpeg as player to pull stream, which should trigger on_play and on_stop:
ffmpeg -i rtmp://localhost/live/livestream

The events is on_play then on_stop:
2024/01/09 15:03:09.112678 server.go:689: Got action=on_play, client_id=08g9611r, ip=<IP_ADDRESS>, vhost=__defaultVhost__, stream=livestream, param=, pageUrl=
2024/01/09 15:03:09.461312 server.go:689: Got action=on_stop, client_id=08g9611r, ip=<IP_ADDRESS>, vhost=__defaultVhost__, stream=livestream, param=

I can not reproduce this issue.

What's your SRS version?

version:
V6.0_d3
第一次播放没问题，第二次操作，同时调用结束第一次播放，开始新的播放。


int parser fails on trailing decimal separator

Hi,
I have found that the int parser fails on the input "42.". I would have expected that int parses the "42", and leaves "." to be consumed later on.
Here is an Ellie demonstrating the problem: https://ellie-app.com/3gJS4VwRJrfa1
If this is not a bug, I would propose to add documentation describing that behavior and how to work around it.

I suspect this is not a bug, but it's definitely a legitimate concern. IP address parsing provides a concrete example of how the int parser can seem like the right tool, but isn't.
Potential solution
Note: Someone more skilled than I may know how to change Parser (Maybe Int) to Parser Int. I couldn't figure out how to convert the Nothing side of String.toInt into a parser error.
digitChain : Parser (Maybe Int)
digitChain =
    getChompedString (chompWhile Char.isDigit)
        |> Parser.map String.toInt

Demo: https://ellie-app.com/4hJzJjnPQ3Ma1
Chomp approach, thanks to dmy.
Of course, even this isn't general purpose. As hinted at in the docs, you may still need to make choices about how to handle -. The answer is likely to be different if you're parsing, say, "123. -429. 3482." vs "123-429-3482.".
Some thoughts on why this isn't a bug
Here's the underlying implementation of int:
From Advanced.elm
int : x -> x -> Parser c x Int
int expecting invalid =
  number
    { int = Ok identity
    , hex = Err invalid
    , octal = Err invalid
    , binary = Err invalid
    , float = Err invalid
    , invalid = invalid
    , expecting = expecting
    }

Here we see that the int parser, like hex et al, is actually a disambiguating layer built on top of the number parser, which is explicitly designed to handle number processing without backtracking.
I'm pretty sure this means that the digits-followed-by-a-dot-that's-not-a-decimal problem can't be solved without a fundamental change in both architecture and behavior for all of the parsers in the number family. I'm also pretty sure that such a shift would go against the library's core goals of simplicity and speed.

@clozach
In my opinion this is clearly a bug, caused by incorrect implementation/architecture which tries to reuse number parser when it is clearly not correct in this case. Fundamental rewrite seems like the only correct option here.
Also you are completely wrong about current parser following core goals - actually it's exact opposite as it does NOT follow first two of the three core goals:

"Make writing parsers as simple and fun as possible" - strange special cases like not allowing period after int is not simple nor fun
"Produce excellent error messages." - error message it awful

Hey @malaire. Sounds like this is causing you some frustration. I'm tempted to mount an argument that I'm not completely wrong, but I'm too familiar with Evan's thoughts on building community to expect any joy from that direction. But if you'll concede that I'm only partially wrong, well…I'd be surprised if that were not the case! 😉
If you're currently stuck trying to resolve something that int can't help you with, would you be up for sharing it on elm-discourse or Slack?
Or, if you're primarily interested in proving a point (more power to you), how about implementing your own number parsing functions and posting them as a package so the whole community can benefit?
If neither of those appeal, how about writing up an experience report? I'd love to learn more about what it is you were trying to do, and what you experienced when int didn't behave as you expected.

As one of the individual bitten by this (I was the Discourse thread author whom @malaire and others assisted), allow me to mount an argument for why this is an unexpected behaviour.
Expectation based on Documentation
In the Parser library, there is the end function. The documentation here states:

Parsers can succeed without parsing the whole string. Ending your parser with end guarantees that you have successfully parsed the whole string.

The implication is that a parser ought to succeed greedily by consuming until the last character that would not produce a parse error. If the user expects an explicit end, one can use the end function to indicate that "nothing should come after this."
This would allow int to be chained with decimal delimiters for use cases like IP Addresses or even splitting the integer portion from the mantissa:
type alias IntegerAndMantissa =
    { integer: Int
    , mantissa: Int
    }

splitIntegerAndMantissa : Parser IntegerAndMantissa
splitIntegerAndMantissa =
    succeed IntegerAndMantissa
        |= int
        |. symbol "."
        |= int

main = Html.text <| Debug.toString (run splitIntegerAndMantissa "42.56")

If the user did not want the int to be followed by a period, then perhaps:
succeed identity
    |= int
    |. end

-- succeeds with the input "42" but fails with "42."

Without using end (or a nonexistent delimiter function), it becomes extremely cumbersome to parse int.
Potential Solution at the Library level
Changing the default behaviour of int would be a very disruptive change, as I'm sure there are plenty of existing users of this library depending on the fact that parsing 42. throws an error in the current Parser.
My solution eschews changing the current behaviour, and instead introduce a new function:
numeral
The behaviour as described in the expectation above will be mapped onto this new functions, leaving the current int behaviour intact (thereby not breaking existing parsers for consumers of this library).
The idea is that in cases where we want to just parse the raw number in a greedy fashion, ignoring interpretations of the period for decimal point (which isn't even universal, to begin with!), we can use numeral, and thus we can chain it with symbol "." or symbol "," as the need arises.
The expected behaviour for numeral would be to return an Int type, however internally it will only ever be a positive integer, as it will not attempt to parse and interpret signs (- and +) as part of the numeral.
Summary
Concepts such as "int" and "float" (as well as positive and negative handling) are great if the user is writing a programming language, and wishes for a standard interpretation of what an int and float are (e.g. IEEE-754), but there are many cases where we would like to simply parse the numeral without a regard for its interpretation (and let's be clear, treating . as a decimal marker is definitely an "interpretation"!).
Introducing a new function numeral that specifically consumes digit characters in a greedy fashion until it can no longer do so seems to be an obvious way to solve this problem. Leave the -/+/. interpretation as default for int and float functions. For every other use case, numeral can give us the raw digits as an Int.

Even this numeral function could have several variations:

does it accept leading zeroes? What if it does and I don't want to, or vice-versa?
what should be the accepted range? What should be the behavior in case the number is out of range, an error or an overflow?

Therefore even if the current int behavior maybe not be fully intuitive, why not write the exact variant you need on a case-per-case basis? For example your numeral function could be:
import Parser exposing (Parser)

numeral : Parser Int
numeral =
    Parser.getChompedString (Parser.chompWhile Char.isDigit)
        |> Parser.andThen
            (\str ->
                case String.toInt str of
                    Just n ->
                        Parser.succeed n

                    Nothing ->
                        Parser.problem "invalid integer"
            )

This one will only accept digits, including leading zeroes, without consuming more characters.
One alternative could be to write a very configurable function in a user package, maybe something like number, but with even more options. Its configuration could be unnecessarily complex for it to be in elm/parser though. If people find it useful enough, it could become one day part of an hypothetical elm-community/parser-extra package for example.

@clozach

Or, if you're primarily interested in proving a point (more power to you), how about implementing your own number parsing functions and posting them as a package so the whole community can benefit?

This library contains operators. Its API can not be replicated by third-party programmers.


Bulk request in a private elasticsearch cluster from elastic.io

Hi @olivere, how can I include authorization token in a bulk request?
Which version of Elastic are you using?
[x ] elastic.v7 (for Elasticsearch 7.x)
[ ] elastic.v6 (for Elasticsearch 6.x)
[ ] elastic.v5 (for Elasticsearch 5.x)
[ ] elastic.v3 (for Elasticsearch 2.x)
[ ] elastic.v2 (for Elasticsearch 1.x)
Please describe the expected behavior
Some way to add request options in bulk request
Please describe the actual behavior
cannot add request options in a bulk operation

A recent update added http.Header to all services. For Bulk service, it's these two methods. I hope that will solve your issue.

@olivere Thanks Oliver


@ngtools/webpack compiler

Bug Report or Feature Request (mark with an x)
- [ x] bug report -> please search issues before submitting
- [ ] feature request

Versions.

node 7.7.3
npm 4.4.1
current @ngtools/webpack
Repro steps.

Aot.
The log given by the failure.

Running "webpack:cory-build" (webpack) task                                                                                0% compiling
<--- Last few GCs --->

[18214:0x2ba96b0]     7642 ms: Mark-sweep 1995.8 (2084.0) -> 1995.8 (2081.0) MB, 124.1 / 0.0 ms  allocation failure GC in old space requested
[18214:0x2ba96b0]     7801 ms: Mark-sweep 1995.8 (2081.0) -> 1995.6 (2037.5) MB, 158.3 / 0.0 ms  last resort
[18214:0x2ba96b0]     7947 ms: Mark-sweep 1995.6 (2037.5) -> 1995.6 (2035.0) MB, 146.4 / 0.0 ms  last resort

<--- JS stacktrace --->

==== JS stack trace =========================================

Security context: 0x2b110ae266a1 <JS Object>
    1: DoJoin(aka DoJoin) [native array.js:~97] [pc=0x75a66be0523](this=0x4f3dc702311 <undefined>,q=0x309a423252b9 <JS Array[1621]>,r=1621,F=0x4f3dc7023b1 <true>,B=0x1b047bca3801 <String[3]\: \n  >,A=0x4f3dc702421 <false>)
    2: Join(aka Join) [native array.js:~122] [pc=0x75a65c12f02](this=0x4f3dc702311 <undefined>,q=0x309a423252b9 <JS Array[1621]>,r=1621,B=0x1b047bca3801 <String[3]\: \n  >,A=...

FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
 1: node::Abort() [grunt]
 2: 0x135672c [grunt]
 3: v8::Utils::ReportOOMFailure(char const*, bool) [grunt]
 4: v8::internal::V8::FatalProcessOutOfMemory(char const*, bool) [grunt]
 5: v8::internal::Factory::NewRawTwoByteString(int, v8::internal::PretenureFlag) [grunt]
 6: v8::internal::Runtime_StringBuilderJoin(int, v8::internal::Object**, v8::internal::Isolate*) [grunt]
 7: 0x75a653043a7

Desired functionality.

Mention any other details that might be useful.

I tried typing Aot. on my computer and couldn't see any error. I also tried saying it out loud to no avail.
Please open a new issue and fill in the template, especially note the repro steps. Without repro steps there isn't much we can do to help you.

this is a webpack ngtools build what do you mean Aot?


Use bindgen in build.rs

I'm looking into possibly using this crate for alacritty/alacritty#4299, and during my read over of the code I was a bit surprised to see the generated.rs file was a fixed output from bindgen. I've added bindgen as a build dependency and updated the build.rs file accordingly.
The main thing I was confused about during the process was the note in the build.sh script:

Do note that macOS 10.9 (Mavericks) SDK MUST be used for code generation

in conjunction with the line:
  -IMacOSX-SDKs/MacOSX10.13.sdk/usr/include

However, it seems that this does in fact work, at least for the one system call I tested directly.

Hi, @nixpulvis! Yes, using bindgen directly sounds like a better solution, I used pre-generated bindings file only for two reasons:

I don't have macOS on hand and cross-compilation does not really works because of missing headers on Linux (unless you download them from somewhere, etc, etc, you know the drill)
As darwin-libproc is at the moment used only by me, I was not spending much time on its quality or functionality coverage as long as it's good enough for being used in heim crate.

I agree that fixing all these small quirks and stabilizing it in a nearest future would be great; I'll try to check your PR a bit later today!


NoShortBoolCast rename was incorrect

It doesn't tell you what it actually does.

Go ahead and send PR ;)

Well, I d'no what would be a good name. That's why I'm opening this for discussion first. ;)

so constructive ;)

yeh, well :P

There are only two hard things in Computer Science: cache invalidation and naming things.

-- Phil Karlton

^-^

Maybe ExplicitBoolCastFixer or LongBoolCastFixer ?

DoubleNotOperatorToBoolCastFixer
NoDoubleNotOperatorFixer
NoNotNotFixer
VeryUglyBoolCastHackToOrdinaryBoolCastFixer
...

VeryUglyBoolCastHackToOrdinaryBoolCastFixer

Seems legit.

:+1:

Closing due to lack of community interest for too long.


Destroy should clear database holder

(using robolectric)
For tests, I'm trying to clear FlowManager by calling destroy.
Unfortunately, it only clears context but not mDatabaseHolder which causes the following issue:
https://github.com/robolectric/robolectric/issues/1890
Clearing the field using reflection after each test solves the problem.

fixed in 3.0.0


Schema class strings fail if using $reset as the first item due to schema parser.

When supplying custom classes and using the $reset token, the schema attempts to parse the string resulting in the default classes persisting and the custom classes not being applied.
We probably need a different token for $reset unless it's acceptable to prevent -class schema items from being dynamically processed.
FormKit Vue Playground link:
https://formkit.link/5e27eb29b8894ccfb4431fe63238b92c
Update — CURRENT SOLUTION:
Prefix your $reset calls in schema with raw per the docs.
https://formkit.link/0f8d83e4f7b51791eef9aa544383fa81

Honestly, 3 seems like the most sensible thing, and now's the time to do it. some options:
%reset
_reset
!reset
@reset <-- this one feels sass / tailwind like.

One small sticking point with those is only _reset is a valid quoted object key in JS:
{
  $reset: true, // ✅ valid
  _reset: true,  // ✅ valid
  !reset: true,  // 🚫 not valid
  %reset: true,  // 🚫 not valid
  @reset: true  // 🚫 not valid
}

Of course you could quote any of the above invalid ones, but it takes something away from the fluidity and legibility when you have to do that.

Wondering if it might be best to just call $reset a reserved word.

Reserving $reset feels reasonable in light of the above. I’m in favor.

As long as it's consistent between the Vue component and the schema, I think this will be ok. $reset seems like it could be a relatively common collision within schema — I could see people using it for functions or other things — so we might consider ways to make it clear that it is a reserved word.

Ok, this is implemented for all -class and fooClass attributes. Caveat, it does not work for the classes prop which will require the prefix: __raw__classes


TensorRT Custom Layers SegNet

I am trying to implement a Pooling layer which outputs two tensors, a pooling tensor and a pooling mask tensor, since I need the pooling mask (containing the max indices) as an input of an Upsample layer (which is a custom layer too). I am using the sample plugins as a reference, in particular the Face-Recognition example from https://github.com/AastaNV/Face-Recognition. I have an issue concerning the casting of the inputs in the enqueue function (IPlugin), in the example from AastaNV we can find:
int DataRoiLayer::enqueue(int batchSize, const void*const *inputs, void** outputs, void*, cudaStream_t stream)
{
    float* bbox = (float*)inputs[1];

    int srcSize[] {dimsData.c(), dimsData.h(), dimsData.w()};
    int dstSize[] {dimsRoi.c(), dimsRoi.h(), dimsRoi.w()};
    int roi[] = { int(bbox[0]+0.5), int(bbox[1]+0.5), int(bbox[2]+0.5), int(bbox[3]+0.5)}; //rounding
    convertROI((float*)inputs[0], (float*)outputs[0], nullptr, srcSize, dstSize, roi, stream);

    return 0;
}

So he/she casts the input to a float* and then simply treats bbox as a vector.
In my code I do the same:
int enqueue(int batchSize, const void*const *inputs, void** outputs, void*, cudaStream_t stream)
	{CHECK(cudaThreadSynchronize());
        float* bottom_data = (float*)inputs[0];

        for (int idc=0; idc<3*360*480; ++idc){
	    cout<<"bottom_data_"<<idc<<" "<<(bottom_data[idc]) <<endl;
	}
        float* top_data = new float[out_h*out_w*channels_];
        outputs[0] = &top_data[0];
        float* top_mask = new float[out_h*out_w*channels_];
	outputs[1] = &top_mask[0];
etc...

But although the input of the Pooling Layer is an image (I have simplified the model just to understand how the plugins work) I get random float numbers:
bottom_data_518262 1.34542e-37
bottom_data_518263 2.43194e+17
bottom_data_518264 -5.31794e+37
bottom_data_518265 2.91721e-39
bottom_data_518266 2.15447e-36
bottom_data_518267 4.61451e+15
bottom_data_518268 4.90864e-37
bottom_data_518269 2.4432e+17
bottom_data_518270 1.58035e-37
bottom_data_518271 2.43194e+17
bottom_data_518272 -5.31793e+37
bottom_data_518273 2.91587e-39

So I am not really reading the image but the memory slot assigned to the input pointer.
Any suggestions on how to proceed?

You are likely to get faster responses on their developer forums. I suggest you to post your question there if you haven't already...


Add roles/permissions feature to allow for custom access based on roles/groups.

Describe the solution you'd like
Users should be assigned roles/groups which allows certain access. This would cover multiple other issues mentioned here so this issue would be the overarching project/issue to add in the capability for granular permissions for users.
Type of feature
User Interface (UI)
Additional context
Example roles:
Admin:
User
Guest
Custom
Anonymous
Permissions:
Notes - Create, Read, Update, Delete
Users - Create, Read, Update, Delete
Comments - Create, Read, Update, Delete
Sharing - Create shared links
Export/Import - Allow/Deny
etc... for all other permissions.

Other issues that might be addressed by this issue:
https://github.com/usememos/memos/issues/3217
https://github.com/usememos/memos/issues/3260


Scale sets on azure

the old kubernetes binaries, used to provision azure with kube.sh created a cluster based on scale sets. Is this going to be a feature with kubernetes-anywhere?
Right now availability sets are provisioned, I reckon this is a bit of work on terraform's side of things. So I was wondering whether this is going to be a feature.

No. For the time being, Kubernetes on Azure will be using AvailabilitySets directly due to some limitations in the VMSS APIs. We are working to bring the relevant APIs to VMSS, at which point in time we will transition back to VMSS.
This is discussed a bit here: https://github.com/colemickens/azure-kubernetes-status#notes
Let me know if that answers your question, or feel free to Close this Issue if it does.

Thanks @colemickens it does answer my question.

Thanks @colemickens it does answer my question.


types,consensus: Add Capacity field to V2FileContract

This field clarifies some long-standing confusion around the economics of file contracts.
When you pay for storage in a file contract, you are buying that storage for the remainder of the contract duration. This means that, even if you delete some data, you do not get a refund. Why not? Well, mainly, how do you price the refund? If you use the host's current prices, the host can manipulate them in order to minimize the refund. On the other hand, if you use the original price, now you have to keep track of what the original price was -- and not just the price, but also how long each sector was originally stored for. That's a lot metadata, and both the renter and host need to track it accurately, or they'll disagree on the price and stop communicating entirely.
Okay, so we can't do refunds. But we also want a way for renters to get rid of data they don't care about. One way to do that is to overwrite the garbage data with data we do care about. For this to work, though, the renter has to keep track of the garbage sectors, which is annoying. In general, we want to minimize renter-side state (to facilitate light clients), so we shift responsibilities to the host and use cryptography to make sure the host doesn't cheat. So in RHPv4, that's the plan: have the host keep track of the garbage sectors, so that when you upload new data, the host can reuse existing capacity instead of increasing the contract size. This is why we need a capacity field: to ensure that the host doesn't lie about how much capacity is available.
Fixes #217

hmm... how do storage proofs interact with this, though? Shouldn't we use the capacity, not the filesize, to choose the proof index? But if so, the storage proof could be for an empty sector. Maybe that's okay? Feels a bit weird though.


No audio playing

lmao kinda cringe,
also someone pls fix

no music lol

gusy wheres music

theres no musix :(

can we get music back

guys when do we get music

after some asking around, it seems that FNA does NOT support the current format of the wave bank, so basically the solution is to use the linux wave bank :(


Batch norm and ReLU reversed?

Hi according to the paper (and as you posted in the README) the basic building block is:

But if I follow TF-Slim code and your code I think you are having depthwise -> ReLU -> BN -> Pointwise -> ReLU -> BN.
The ReLU is part of slim convolution layers.
Also you seem to be using separable_convolution2d with num_outputs=None to get a depthwise convolution, you can just use https://www.tensorflow.org/api_docs/python/tf/nn/depthwise_conv2d instead, no?

Hi,

please refer to slim arg scope mechanism. In my implementation ReLU is the activation function of BN.
tf.nn.depwisw_conv work in the same way, but it needs additional variable creation.

Understood, my bad :)


Linker issue

I'm getting an error when trying to run my simple database program.
require "mysql"
conn = MySQL.connect("<IP_ADDRESS>", "root", "1234", "blog", 3306_u16, nil)

The error I get:
/usr/bin/ld: cannot find -lmysqlclient
collect2: error: ld returned 1 exit status
Error: execution of command failed with code: 1: 'cc -o "blog" "${@}"  -rdynamic  -lmysqlclient opt/crystal/src/ext/libcrystal.a -levent -lrt -lpcre -lgc -lpthread -ldl'

I'm running Ubuntu 14.04 LTS and mysql 5.5 with mysql-client-5.5 installed.  I tried to add the path to the LD_LIBRARY_PATH prior to running the crystal build command but doesn't seem to help.
Any ideas?  Thanks!

sorry fixed my own issue :)  Hopefully this helps someone else.
sudo apt-get install libmysqlclient-dev

Hmm, Probably we need to amend installation instructions for different
platforms (at least Ubuntu, Mac OS X).
Are you up to making a PR to README (at least for Ubuntu)?
--
Best Regards,
Oleksii Fedorov,
Competent Programmer,
TDD, Microservices, Ruby, Clojure, Go and more,
+49 15757 486 476
On Tue, Mar 8, 2016 at 1:08 AM, Nick<EMAIL_ADDRESS>wrote:

sorry fixed my own issue :) Hopefully this helps someone else.
sudo apt-get install libmysqlclient-dev
—
Reply to this email directly or view it on GitHub
https://github.com/waterlink/crystal-mysql/issues/41#issuecomment-193517881
.


Data Analysis & Pre-processing

Explore finalized datasets and pre-process it.
Bring it in right format with all the columns in correct types etc.

Done with transformations in the notebook and etl_pipeline_improved.py script


Export via command line or node

Hello,
I am searching for a way to generate a sketch export from a commited sketch file on my continuous integration system. I'm wondering if it would be possible to execute the export programmatically without sketch installed. A bonus would be if it would run on linux too.
Is this possible, or are you using sketchtool in the background, which only works on mac with sketch installed?
Thanks.

Yes, it only works on mac with sketch installed


Flags register - wrong footprint

The footprint of U3 (74HC157) is wrong. The footprint used on board is SOIC-16W_5.3x10.2mm. It is possible to solder the chip, but it should have been narrower.

Same goes for U4 and U5 - both 74HC173

Same goes for U4 and U5 - both 74HC173

... and also Adder chips in ALU

... and also Adder chips in ALU


http request data may be chunked

hi, I'm reading source code of sanic, but I found a bug here:
https://github.com/channelcat/sanic/blob/master/sanic/server.py#L84
In HTTP/1.1, data can be transformed in buffer mode or stream mode. so, what if the data is incomplete(it's just a chunk of user contents, I mean)? so we have to parse the header outself,
and save all the data, then feed it to httptools.HttpRequestParser
def data_received(self, data):

also, this function may be called many times: https://docs.python.org/3/library/asyncio-protocol.html#asyncio.Protocol.data_received
My English is poor, please tell me if I didn't say it clearly(also I apologize for my poor English... :joy:).

Do you mean:

Transfer-Encoding: chunked, eg:

HTTP/1.1 200 OK
Content-Type: text/plain
Transfer-Encoding: chunked

25
This is the data in the first chunk

1C
and this is the second one

3
con

8
sequence

0

multipart/form-data, eg:  Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryrGKCBY7qhFd3TrwA

POST http://www.example.com HTTP/1.1
Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryrGKCBY7qhFd3TrwA

------WebKitFormBoundaryrGKCBY7qhFd3TrwA
Content-Disposition: form-data; name="text"

title
------WebKitFormBoundaryrGKCBY7qhFd3TrwA
Content-Disposition: form-data; name="file"; filename="chrome.png"
Content-Type: image/png

PNG ... content of chrome.png ...
------WebKitFormBoundaryrGKCBY7qhFd3TrwA--

1 is client's business, 2 is https://github.com/channelcat/sanic/blob/master/sanic/request.py#L86
I didn't found any articles about buffer mode or stream mode, can you provide more details?

Yes,  the first case is what I mean. thanks for your reply.


Add paramName to Equals checker.

This is consistent with the other checkers. It was necessary to rename
the function parameters for consistency with other checkers to ensure
that people understand which value is associated with the parameter
versus which value was expected.

Thanks for the contribution! Looking back, it's strange to me that I didn't utilize that param in the error message.


Fix regexp_replace integration test that should fallback when unicode is disabled

Fixes #8030.
In #7967, one integration test did not get updated when the regexp_replace code was updated to support underlying stringReplace even when the charset is not UTF-8 (the plugin defaults to allowing for non-regexp optimizations even when the charset is not UTF-8 and/or regexp is disabled). This test is now updated.

build


Are stacked bar charts with animations bugged?

Hi,
currently when using a stacked bar chart with an animation the lowest section of the bar will animate in from the x-axis but then any above that will animate in from off the top of the chart. This looks really weird and was wondering if it'd be possible to make the bars progressively animate in from the bottom i.e. animate the lowest most section in from the x-axis, once that's finished the next section takes over animating in from the top of the previous section and so on?
Thanks

@dibsyjr1 which version are you using?

Hi thanks for the reply, using version 2.0.0 beta 2

Closing as duplicate of #2022


Installation fail

How to reproduce
Install the extension using  pecl install ds
Add extension to php.ini file using extension=ds.so
sudo apache2ctl graceful
Installation success and I can see the extension so file in extension directory.
However when I run phpinfo() I can't see any extension details in the extensions section
When I try to run simple example http://php.net/manual/en/ds.examples.php it gives me error 500
details in error.log is
PHP Fatal error:  Uncaught Error: Class 'Ds\Vector' not found in /var/www/html/test.php:2\nStack trace:\n#0 {main}\n  thrown in /var/www/html/test.php on line 2
System details
Apache 2
Ubuntu 16:04

Did you add it to the correct .ini? What does php -m say?

It doesn't load ds.

I get following error when I use php -v
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/ds.so' - /usr/lib/php/20151012/ds.so: undefined symbol: php_json_serializable_ce in Unknown on line 0

See #2


multiple tvs?

only one will show up in homekit with this plugin?

Correct. That is the current implementation, the accessories need To be published external to support multiple TVs. Should be an easy fix perhaps over the weekend I can work on it.

That would be great to control multiple TVs. This plugin is fantastic. Brilliant work!

any progress on it? ;)

I don't have multiple TVs to test if it is working. Im happy to accept a TV as a donation ;) lol or you can give it a test as well.

Potential Fix is live Version 1.0.6

In homebridge, both of my TVs are found, but there appears to be a collision issue, so only one will be transferred to HomeKit as a device, and only one shows in the accessory pane as well. Here is the loading errors I get. Happy to provide anything else to add to this plugin's success:
[5/25/2020, 20:18:58] [RokuTV] Roku Tv Ip is: http://<IP_ADDRESS>:8060 [5/25/2020, 20:18:58] [RokuTV] Adding Input FandangoNOW Movies & TV with info ID: 48607027, TYPE: menu [5/25/2020, 20:18:58] [RokuTV] Adding Input HDMI 1 (ARC) with info ID:<PHONE_NUMBER>, TYPE: tvin [5/25/2020, 20:18:58] [RokuTV] Adding Input Nintendo Switch with info ID:<PHONE_NUMBER>, TYPE: tvin [5/25/2020, 20:18:58] [RokuTV] Adding Input Computer with info ID:<PHONE_NUMBER>, TYPE: tvin [5/25/2020, 20:18:58] [RokuTV] Adding Input Home with info ID:<PHONE_NUMBER>, TYPE: Home [5/25/2020, 20:18:58] [RokuTV] Roku Tv Ip is: http://<IP_ADDRESS>:8060 [5/25/2020, 20:18:58] [RokuTV] Adding Input FandangoNOW Movies & TV with info ID: 48607027, TYPE: menu [5/25/2020, 20:18:58] [RokuTV] Adding Input HDMI 3 (ARC) with info ID:<PHONE_NUMBER>, TYPE: tvin [5/25/2020, 20:18:58] [RokuTV] Adding Input AppleTV with info ID:<PHONE_NUMBER>, TYPE: tvin [5/25/2020, 20:18:58] [RokuTV] Adding Input Home with info ID:<PHONE_NUMBER>, TYPE: Home [5/25/2020, 20:18:58] [RokuTV] Error: Accessory Office TV experienced an address collision.     at /usr/local/lib/node_modules/homebridge/src/server.ts:574:15     at Array.forEach (<anonymous>)     at Server.handlePublishExternalAccessories (/usr/local/lib/node_modules/homebridge/src/server.ts:554:17)     at HomebridgeAPI.emit (events.js:310:20)     at HomebridgeAPI.publishExternalAccessories (/usr/local/lib/node_modules/homebridge/src/api.ts:302:10)     at RokuTvPlatform.discoverDevices (/usr/local/lib/node_modules/homebridge-roku-tv-plugin/src/roku-tv-platform.ts:78:16)     at processTicksAndRejections (internal/process/task_queues.js:97:5) [5/25/2020, 20:18:58] Office TV is running on port 44225. [5/25/2020, 20:18:58] Please add [Office TV] manually in Home app. Setup Code: 100-10-100

Are the rokus named the same?

@itsethamphetamine An update was added that fixed some registration issues on the platform. Im not sure but the issues may be related. It might be worth updating and testing it out again.

@JarekToro, updated to 1.0.8, and the address collision still happens.
What is odd, is that the original TV it found (Office) is no longer listed as a device, and the one that has the collision is now listed and shows in HomeKit.

Hi @JarekToro thank you for all your work so far in getting this working. I successfully added one Roku Express to the home app but received the same error as @itsethamphetamine (see below)
If I can provide any additional logs that might help with troubleshooting this please let me know and I will do so promptly.
[5/28/2020, 21:09:31] [RokuTV] Error: Accessory Loft experienced an address collision.
at /usr/local/lib/node_modules/homebridge/src/server.ts:574:15
at Array.forEach ()
at Server.handlePublishExternalAccessories (/usr/local/lib/node_modules/homebridge/src/server.ts:554:17)
at HomebridgeAPI.emit (events.js:310:20)
at HomebridgeAPI.publishExternalAccessories (/usr/local/lib/node_modules/homebridge/src/api.ts:302:10)
at RokuTvPlatform.discoverDevices (/usr/local/lib/node_modules/homebridge-roku-tv-plugin/src/roku-tv-platform.ts:78:16)
at runMicrotasks ()
at processTicksAndRejections (internal/process/task_queues.js:97:5)

I have this issue as well. The TVs are named differently, but it only sees one and then the second TV shows as No Response in the home app.

same issue here, two TVs, named differently. I was able to add them yesterday, but this morning the bedroom TV says unresponsive. I tried to delete and readd but now its disappeared even though homebridge registers the two tv IPs.
[7/7/2020, 9:35:55 AM] Homebridge is running on port 51421.
[7/7/2020, 9:36:01 AM] [RokuTV] Roku Tv Ip is: http://<IP_ADDRESS>:8060
[7/7/2020, 9:36:01 AM] [RokuTV] Adding Input FandangoNOW Movies & TV with info ID: 48607027, TYPE: menu
[7/7/2020, 9:36:01 AM] [RokuTV] Adding Input Cable box with info ID:<PHONE_NUMBER>, TYPE: tvin
[7/7/2020, 9:36:01 AM] [RokuTV] Adding Input DVD player with info ID:<PHONE_NUMBER>, TYPE: tvin
[7/7/2020, 9:36:01 AM] [RokuTV] Adding Input Chromecast with info ID:<PHONE_NUMBER>, TYPE: tvin
..
[7/7/2020, 9:36:01 AM] [RokuTV] Roku Tv Ip is: http://<IP_ADDRESS>:8060
[7/7/2020, 9:36:01 AM] [RokuTV] Adding Input FandangoNOW Movies & TV with info ID: 48607027, TYPE: menu
..
[7/7/2020, 9:36:01 AM] 55" TCL Roku TV is running on port 43298.
[7/7/2020, 9:36:01 AM] Please add [55" TCL Roku TV] manually in Home app. Setup Code: 280-90-589

Pretty much same thing here I have 4 Roku/tcl and one Roku express. Only my 2 largest tcl have been found. ( I have had to restart homebridge for other reasons) but only one shows as available the other not responding, restart will show only one as active
There are three other Roku plugins each has a good quality this one I really like
love to see all my Rokus
please let me know if I can supply some logs

It seems like he has given up on getting multiple to work.
Sent from my iPhone

On Jul 29, 2020, at 12:47 PM, fratinize<EMAIL_ADDRESS>wrote:

Pretty much same thing here I have 4 Roku/tcl and one Roku express. Only my 2 largest tcl have been found. ( I have had to restart homebridge for other reasons) but only one shows as available the other not responding, restart will show only one as active
There are three other Roku plugins each has a good quality this one I really like
love to see all my Rokus
please let me know if I can supply some logs
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

It does seem he has given up unless he has gotten tremendously busy

yeah. its prob pretty difficult to code for multiple tvs when you only have
1
On Sat, Aug 15, 2020 at 4:42 AM fratinize<EMAIL_ADDRESS>wrote:

It does seem he has given up unless he has gotten tremendously busy
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/JarekToro/homebridge-roku-tv/issues/1#issuecomment-674386566,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKHQIIMRB4E4BIWSCBCMO2LSAZYBZANCNFSM4NHPBI3A
.

Happy to lend some logs 😀

same here :) living room and bedroom and i can only access one, which one
depends on whos awake when Home bridge reboots lol
On Thu, Aug 20, 2020 at 3:12 PM fratinize<EMAIL_ADDRESS>wrote:

Happy to lend some logs 😀
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/JarekToro/homebridge-roku-tv/issues/1#issuecomment-677847988,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADFIZOSV4QQR6SNXFBLFZALSBVYQ3ANCNFSM4NHPBI3A
.

I’m having this same issue, but when homebridge reboots it switches from my TCL Roku TV to a Roku stick I have on another TV, which I wasn’t even trying to use in Homebridge. It would be nice to be able to specify an IP address or something to lock it to a particular Roku.


Memory leak

Hi,
I experience a memory leak:
    typedef std::vector<std::vector<real_type>> RealArray2D;
    typedef std::vector<std::vector<complex_type>> ComplexArray2D;

    RealArray2D real_array;
    ComplexArray2D complex_array;

    size_t size = 100;

    real_array.resize(size);
    complex_array.resize(size);
    for(size_t i{}; i<size; ++i)
    {
        real_array[i].resize(size);
        complex_array[i].resize(size);
    }

    const char* error = nullptr;
    auto status = simple_fft::FFT(real_array, complex_array, size, size, error);

I debugged it a bit and it seems like real_array and complex_array is initialized properly. with size 100x100. I didn't have time to debug it too much, but under certain circumstances:

    for (size_t i = 1; i < num_elements; i <<= 1)
    {
        next = i << 1;  // getting the next bit
        delta = local_pi / i;    // angle increasing
        sine = sin(0.5 * delta);    // supplementary sin
        // multiplier for trigonometric recurrence
        mult = complex_type(-2.0 * sine * sine, sin(delta));
        factor = 1.0;   // start transform factor

        for (size_t j = 0; j < i; ++j) // iterations through groups
                                       // with different transform factors
        {
            for (size_t k = j; k < num_elements; k += next) // iterations through
                                                            // pairs within group
            {
                match = k + i;
                fftTransformHelper(data, match, k, product, factor);
            }
            factor = mult * factor + factor;
        }
    }

fft_impl.hpp:217, match becomes equal to 100, and that is an index that is  out of bounds of input/output data.

Hi,
Simple-FFT only supports arrays of sizes which are a power of 2. I thought there was a check for this but probably I forgot to add it.

Hi, Thanks for replying, I changed the name of the issue so it'd be more descriptive. Thanks for sharing the information. I think the function should return false with proper information as error.

The check was in place but didn't really work. Fixed it, pushed to master.


Fix invisible start button chevron in forced color mode

When forced color mode was introduced in Chrome 89, the default user agent styles for SVGs were set to forced-color-adjust: none in line with the CSS Color Adjustment specification at the time. Unfortunately, this means that using currentColor for stroke and fill in SVGs no longer works as expected in forced color mode.
As per the comment in Chromium bug #1164162:

This is the result of one of the recent spec changes. The spec was updated to force colors at used value time rather than computed value time, which means elements that have "forced-color-adjust: none" set (like svg elements) will inherit their non-forced color values, resulting in a different currentcolor used for stroke and fill in this case than you would get if forcing was done at computed value time.
See spec issue resolution for more details: https://github.com/w3c/csswg-drafts/issues/4915

It looks like this has since been flagged as an issue with the CSS working group and the spec has been updated to resolve it but it’s going to take a while before that change is reflected in browsers.
In the meantime, we can explicitly set forced-color-adjust: auto on the chevron SVG in order for it to correctly inherit the color from the parent. This mimics the fix for the OGL logo in the footer made in 850c0b7 (#2273).
Start link buttons

Theme
Before
After

Black

White

# 1

# 2

Start Buttons

Theme
Before
After

Black

White

# 1

# 2

Once Chromium has been updated so that the default UA styles for SVGs use the new forced-color-adjust: preserve-parent-color keyword, and traffic to older versions has dropped off, we can then consider removing this.

Forgot this branch was targeting start-button-example 🤦🏻


How can I run this project?

How can I run this project?  I would suggest docker to quickly set one up:
# Start an instance of MySQL using Docker
docker run --name=mysql57 -p 3306:3306 -e MYSQL_ALLOW_EMPTY_PASSWORD=yes -d mysql:5.7

@josephspurrier I did it with docker, and mysql container is alive, but the error remains even tough:
database.go:60: SQL Driver Error Error 1049: Unknown database 'ninja'
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x74061f]
goroutine 1 [running]:
github.com/verifiedninja/webapp/shared/database.Connect(0xc0000233a8, 0x5, 0xc000023438, 0x4, 0x0, 0x0, 0xc000023450, 0x5, 0xc000023455, 0x9, ...)
	/home/agn/go/src/github.com/verifiedninja/webapp/shared/database/database.go:64 +0x32f
main.main()
	/home/agn/go/src/github.com/verifiedninja/webapp/webapp.go:41 +0xc8
exit status 2

@josephspurrier How can I do that? I do not have MySQL experience.
Do I copy this config to the container? or execute it?

Or you could run this command to create a temporary docker container that loads in the mysql.sql file:
cat mysql.sql | docker run --rm -i --network host mysql:5.7 mysql -h <IP_ADDRESS> -u root

@josephspurrier With this command ~/go/src/github.com/verifiedninja/webapp/config$ cat mysql.sql | docker run --rm -i --network host mysql:5.7 mysql -h <IP_ADDRESS> -u root
I got this error:
ERROR 1193 (HY000) at line 8: Unknown system variable 'storage_engine'

@josephspurrier I pass the above problem with using default_storage_engine argument instead of storage_engine with borrowing from this SO post.

I think when I created this project I used 5.6. I just tested with these commands on a Mac and this worked:
mkdir -p ~/dev/src
export GOPATH=~/dev
go get github.com/verifiedninja/webapp
cd ~/dev/src/github.com/verifiedninja/webapp
docker run --name=mysql56 -p 3306:3306 -e MYSQL_ALLOW_EMPTY_PASSWORD=yes -d mysql:5.6
cat config/mysql.sql | docker run --rm -i --network host mysql:5.6 mysql -h <IP_ADDRESS> -u root
go build
./webapp

I appreciate you testing out the app and posting the issues!


Fixed Order Status Issue #5125

Issue Reference
Link: https://github.com/bagisto/bagisto/issues/5125
Description

If an order is already completed and the total quantity order is not equal to the refunded quantity then it will be considered as completed.

How To Test This?

Place an order of 2 qty (same products).
Generate invoice and then create shipment of both quantity and refund 1.
Order should be completed.

@bhanu-webkul do you have some spare time to review this PR?


[New Port Request] Utf8Conv

Library name: Utf8Conv
Library description: Convenient Unicode UTF-8 <-> UTF-16 conversion functions for Windows C++ code.
Source repository URL: https://github.com/GiovanniDicanio/Utf8Conv
Project homepage (if different from the source repository):
vcpkg description files (CONTROL and portfile.cmake) are attached in the .zip archive.
utf8conv_vcpkg_files-v1.0.0.zip

Any news??

If you wish to add this port in the future, you can reopen this issue, but we're closing it for now.