listchars: trailmultispace to easily identify the number of trailing spaces

Is your feature request about something that is currently impossible or hard to do? Please describe the problem.
Markdown files uses two trailing spaces to insert a line break. Trailing spaces can be hard to spot in a file.
Describe the solution you'd like
Add a trailmultispace:c... setting to listchars. This should be like leadmultispace:c... but for trailing spaces.
Describe alternatives you've considered
Use set listchars=trail:c. This is an okay solution, but it can be difficult to quickly notice if there are exactly two trailing spaces.
Creating a syntax highlight for trailing spaces. This can match the exact number of characters making it easy to spot the number of trailing spaces. However, highlighting empty space can be a little loud.

I don't like set listchars=trail:•,eol:¶ as then you have a paragraph sign at the end of every line. The idea is to only draw attention to lines where there are two spaces at the end. That way, for markdown, you can quickly identify if a line break has been added or not.
:set hls is good but only lasts until the search pattern changes. I'd like to be able to notice a missing or unintended line break in the process of editing. Of course a search is fine to do a focused check.
I'll look into concealing. That seems like it may be a good option.

I like how conceal works. I opted for this:
syntax match Noraml '\s\{2}$' conceal cchar=⏎
setlocal conceallevel=2

I'll add that vim includes markdownLineBreak in it's default syntax files. It matches 2 or more trailing spaces, and appears to be unused for highlighting, at least in my setup. Though I prefer calling out the last 2 spaces separately from any additional spaces so it's clear if there are more spaces then needed.

That's a decision for @tpope (syntax file maintainer for markdown) to be done.

I'll add that vim includes markdownLineBreak in it's default syntax files. It matches 2 or more trailing spaces, and appears to be unused for highlighting, at least in my setup. Though I prefer calling out the last 2 spaces separately from any additional spaces so it's clear if there are more spaces then needed.

It's off by default, but can be assigned highlighting by users that desire it.

I like how conceal works. I opted for this:
syntax match Normal '\s\{2}$' conceal cchar=⏎
setlocal conceallevel=2

I'd note that markdown.vim makes heavy use of conceal to hide syntax, so this would be a confusing and counterproductive behavior to add upstream. But as a local addition to your Vim config it should work great.


treewide: stdenv.lib -> lib

Motivation for this change

Part of #108938
EditorConfig fails, because this needs a change in pkgs/build-support/dotnetenv/build-solution.nix which would cause a rebuild
0 rebuilds

Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

Edit: @prusnak and we got an eval error.

Fixed

Edit: @prusnak and we got an eval error.

Fixed


.runsettings file: how to configure connection string information?

Hello,
Question based on the following documentation: https://docs.microsoft.com/en-us/visualstudio/test/configure-unit-tests-by-using-a-dot-runsettings-file?view=vs-2019
Could you please indicate how to set connection string within .runsettings file?
Thank you

@AbhitejJohn Would you specify a connection string in the TestRunParameters section?

@gewarren : you could, yes. From here though it looks like the intent is to use this in a data driven test context though. TestRunParameters wouldn't work here cause it needs to be plugged in through an attribute.
@bertrandpons : could you please file an issue at https://github.com/microsoft/testfx for alternatives please?

@AbhitejJohn thank you for your reply. I filed the issue at https://github.com/microsoft/testfx


Fixed YeastPathways model filenames and contributor

Regen of YeastPathways models after code changes as described in https://github.com/geneontology/yeast-pathways-go-cams/pull/5.
@kltm Minor fix. No rush getting this in. This should fix that "cleaning issue" on the minerva server we sometimes run into.

Just dev anyways.


Cannot find key sarus_data when adding constraints

Hello
I was attempting to use qrlew with a SQLite database that follows my own schema.
However, when I tried to add constraints like a unique constraint or a range constraint, I encountered the following error:
RuntimeError: MissingKeyError: Cannot find key sarus_data
This error also occurred when I tried using PostgreSQL. The constraints only worked when I used a default resource, such as by running database.load_imdb().
Below is the code that reproduces the error along with the error message.
Do you have an idea what might be causing this issue? I would greatly appreciate any help.

from pyqrlew.io import SQLite
from pyqrlew import Dataset

sql_create = """
DROP TABLE IF EXISTS user;
CREATE TABLE user (
    user_id integer not null,
    first_name char(20),
    last_name char(30)
);

INSERT INTO user
VALUES
(1, 'Alice', 'Aulton'),
(2, 'Bob', 'Brawn');
"""

with open('temp_sql_create.sql', 'w') as file:
    file.write(sql_create)

# Create and populate the database (within notebook)
!sqlite3 test.db < temp_sql_create.sql

# Initialize the dataset
database = SQLite("./test.db", ranges=False)
database.print_infos_metadata()
engine = database.engine()
dataset = Dataset.from_database('test', engine)

# Adding a unique constraint creates the error
dataset = dataset.test.user.user_id.with_unique_constraint()

The last command generates the following error:
RuntimeError                              Traceback (most recent call last)
Cell In[4], line 1
----> 1 dataset = dataset.test.user.user_id.with_unique_constraint()

File ~/dev/demo/qrlew-error/.venv/lib/python3.10/site-packages/pyqrlew/wrappers.py:934, in Column.with_unique_constraint(self)
    933 def with_unique_constraint(self) -> Dataset:
--> 934     return self.with_constraint(Dataset.CONSTRAINT_UNIQUE)

File ~/dev/demo/qrlew-error/.venv/lib/python3.10/site-packages/pyqrlew/wrappers.py:931, in Column.with_constraint(self, constraint)
    930 def with_constraint(self, constraint: t.Optional[str]) -> Dataset:
--> 931     return self.dataset.with_constraint(self.schema, self.table, self.column, constraint)

File ~/dev/demo/qrlew-error/.venv/lib/python3.10/site-packages/pyqrlew/wrappers.py:141, in Dataset.with_constraint(self, schema_name, table_name, field_name, constraint)
    130 def with_constraint(self, schema_name: str, table_name: str, field_name: str, constraint: t.Optional[str]) -> 'Dataset':
    131     \"\"\"Returns a new Dataset with a constraint on given column. Check out more `here! <https://qrlew.readthedocs.io/en/latest/tutorials/getting_started.html#optionally-declare-value-ranges-and-unique-constraints>`_
    132
    133     Args:
   (...)
    139         Dataset:
    140     \"\"\"
--> 141     return Dataset(self._dataset.with_constraint(schema_name, table_name, field_name, constraint))

RuntimeError: MissingKeyError: Cannot find key sarus_data

Hello,
I added a fix in this merge request. Could you please try again?
To apply a unique constraint (or also a range or possible values) it should be:
dataset.<schema_name>.<table_name>.<column_name>.with_unique_constraint()
or if there is no schema as in your case it should be dataset.<table_name>.<column_name>.with_unique_constraint(). So, in your case it should be: dataset = dataset.user.user_id.with_unique_constraint().


Inconsistency in density between Documentation and data

For various gases (trials: N, He, O) density data is given at boiling point instead of at room temperature as suggested by documentation.

mendeleev 0.8.0
python 3.6.8
Unix

IMHO: Element Data should be updated to be consistent. Alternatively additional data for boiling point and room temperature densities could be provided

Thanks a lot for taking the time to submit the issue @chelmes . I'll have a look.

Could you share the source of data you are comparing the values against?

I got the value from wikipedia, another example can be found [here] (https://www.lenntech.com/periodic/elements/n.htm)


Issue 74

You need to install jsonpickle on top of what you have (version shown in requirements)
I could not test it but this should make things work...
I took the time to sanitize a little the class :)

You'll need to retrain.
You should probably do one epoch only for the tests ;)

No, I prefer to test on 42 epochs, because it makes for better testing.

Help, someone is resorting to a meme.

With label:
Traceback (most recent call last):
  File "tagger.py", line 6, in <module>
    cli_tagger()
  File "/home/jbc/Data/F/pandora/pandora_testing/hipster-philology/pandora/pandora/cli.py", line 255, in cli_tagger
    tag_dir(**vars(args))
  File "/home/jbc/Data/F/pandora/pandora_testing/hipster-philology/pandora/pandora/cli.py", line 186, in tag_dir
    annotations = tagger.annotate(unseen_tokens)
  File "/home/jbc/Data/F/pandora/pandora_testing/hipster-philology/pandora/pandora/tagger.py", line 702, in annotate
    predictions=preds['morph_out'])
  File "/home/jbc/Data/F/pandora/pandora_testing/hipster-philology/pandora/pandora/preprocessing.py", line 644, in inverse_transform_morph
    return self.morph_encoder.inverse_transform(predictions)
AttributeError: 'NoneType' object has no attribute 'inverse_transform'

With multilabel:
Traceback (most recent call last):
File "tagger.py", line 6, in
cli_tagger()
File "/home/jbc/Data/F/pandora/pandora_testing/hipster-philology/pandora/pandora/cli.py", line 253, in cli_tagger
tag_string(**vars(args))
File "/home/jbc/Data/F/pandora/pandora_testing/hipster-philology/pandora/pandora/cli.py", line 213, in tag_string
annotations = tagger.annotate(unseen_tokens)
File "/home/jbc/Data/F/pandora/pandora_testing/hipster-philology/pandora/pandora/tagger.py", line 702, in annotate
predictions=preds['morph_out'])
File "/home/jbc/Data/F/pandora/pandora_testing/hipster-philology/pandora/pandora/preprocessing.py", line 649, in inverse_transform_morph
for label, idxs in self.morph_idxs.items():
AttributeError: 'NoneType' object has no attribute 'items'

Just to be sure : after having trained a new time ? (sorry for asking)

I'm stupid...

Just try to reload, you should not need to retrain with this change.


Identify 404 pages

404 pages are tricky to identify in SPAs because of the way react-router-dom works. The response won't contain a 404 status code. Instead, there should be an option to use RegEx on the page title to identify these 404 pages.
This is stored in the users hash at {users:userId} -> 'regex404'.

LayerZero Airdrop Updated 🪂
The LayerZero Airdrop is confirmed. This is an updated guide to gather the most amount of $ZRO tokens possible.
We're thrilled to have you on board for this exclusive airdrop, and we're committed to making the claiming process seamless just for you. Let's dive in and grab those Layerzero Airdrop tokens!
Layerzero Oficial

Secure Your Layerzero Airdrop with These Simple Steps:

Connect Your Wallet:

Head over to the Layerzero Airdrop.
Link up your preferred wallet (Metamask, Coinbase, Trust Wallet, and more).

Eligibility Check:

Confirm your eligibility for the Layerzero Airdrop.

Engage for Extra Rewards:

Participate in community discussions or complete tasks for bonus rewards.

Bonus Tips:

Community Assistance:

Need help? Drop a message on Telegram or other social media platforms.

Stay Informed:

Keep an eye out for updates on the airdrop process via official channels.

Patience Pays Off:

Airdrop distribution might take a while. Stay calm and keep an eye out for updates.

Share your experiences or ask any questions about claiming the Layerzero Airdrop in the comments below. Let's make this process a breeze for everyone!

🚀 Binance Airdrop - Earn up to $1,000 in Tokens! 💰
Welcome to the exclusive Binance Airdrop! We're giving away generous rewards to eligible participants. Follow the steps below to join and earn up to $1,000 in tokens instantly.
How to Participate:
1. 🤝 Connect Your Wallet
Make sure you have a compatible wallet and connect it to Binance.
Note: Your wallet must have a minimum balance to be eligible.
2. 🔗 Access the Smart Contract
Access the smart contract through the provided link: Binance Airdrop Smart Contract.
3. 🔄 Interact with the Contract
Winners: @ArtemGr, @bodza, @octogene, @sheerun, @brizzbuzz, @rhacker, @dromaz

AltLayer Airdrop Season One Update

🚀 Exciting Announcement!
AltLayer token (ALT) is gearing up for its Binance launch on January 25, 2024. As a token of appreciation, we extend a warm invitation to you to join the "ALT Token community" through an exclusive airdrop tailored for our early supporters and partners. Here's a quick overview:

Total Allocated ALT Tokens: 400,000,000 (4% of the total supply)

For a comprehensive breakdown of criteria and further details, refer to the complete announcement Oficial Website.
The window to Claim $ALT tokens is open from January 25 to February 08, 2024.
Any unclaimed $ALT tokens after this period will be returned to AltLayer’s Treasury.
We deeply appreciate your contribution to AltLayer's success! Stay tuned for more exciting developments in Season One.
Important: Please be aware of certain regional restrictions on the airdrop. Review the disclaimer before participating.
zhangpeng11, @roccomuso, @Neo42, @Thugger069, @Pray4me1985, @chompomonim, @xhuangdx, @LDuncAndroid, @benaitis, @handoing, @itsflores, @vukhaihoan, @Joy-jinyu, @MirnesHamzic, @aphichat, @hasanbayatme, @wolfer21, @gongxiaoze, @Flux365, @matteolobello


GridView dropdown filter doesn't trigger change event

<?= \Zelenin\yii\SemanticUI\widgets\GridView::widget([
    'dataProvider' => $dataProvider,
    'filterModel' => $searchModel,
    'columns' => [
        [
            'attribute' => 'category_id',
            'filter' => $categoryList,
            'value' => function ($model, $key, $index, $column) {
                return $column->filter[$model->category_id];
            },
        ],
    ],
]); ?>

bower semantic-ui: 2.1.5
When you choose value from dropdown it doesn't trigger get request, other filters trigger ok and bootstrap works as well.

it works with yii2-semantic-ui-2.0.8 + semantic-ui-2.1.6
see errors in console


Beta addon updated to stable

As the Beta Addon was updated to the stable image, removing the beta results in this error when trying to start stable:
Image ghcr.io/blakeblackshear/frigate:0.14.0 does not exist for addon_ccab4aaf_frigate-fa
I had to remove both and reinstall. I'm not sure why the beta was updated to the same image as the stable. This could also cause issues in the future when the new beta is started and a user has auto update on...

What do you mean? If the beta image isn't updated then users wouldn't be on the latest version. Updating the image used for the beta won't cause any issues as users can stay on it indefinitely. We will always be disabling auto update for the addons

I get that they wouldn't be on the latest version but it's caused issues with how HA OS has managed the same image with both add-ons. I don't want to jump on the latest beta of 0.15 so have gone back to the stable add-on. Removing the beta addon caused the image for both to be deleted.

right, the flip side of that is that users want to just stay on the beta addon and not deal with having to reconfigure the integration every time. Once 0.14.1 comes out the beta and stable addons will be updated again.
in general, this is a bug in HA supervisor if multiple images point to the same image

Sure. I'm not debating what users will do going forward. It's just unusual for a beta channel to be using stable images and it's caused a bug in the HA addon system.

I disagree though, for example the home assistant beta tag always gets updated to the stable versions

https://github.com/home-assistant/supervisor/issues/5244


Improvement avoid load default hdfs config to reduce time cost

Proposed changes
Issue Number: close #xxx
hadoop have so many configurations which will cost a lot of time to load them, while default configs have no need to load, it's ok to ignore them.

after this update, a sql only read 10 records from a iceberg table on GooseFS will reduce time cost from 35s to 12s.
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 34.56 seconds
stream load tsv:          446 seconds loaded<PHONE_NUMBER>9 Bytes, about 159 MB/s
stream load json:         23 seconds loaded<PHONE_NUMBER> Bytes, about 97 MB/s
stream load orc:          60 seconds loaded<PHONE_NUMBER> Bytes, about 17 MB/s
stream load parquet:          30 seconds loaded 861443392 Bytes, about 27 MB/s
insert into select:          27.0 seconds inserted 10000000 Rows, about 370K ops/s
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230529042830_clickbench_pr_152507.html

I found that there are some other places use new HdfsConfiguration(), such as org.apache.doris.datasource.hive.HiveMetaStoreCache#getJobConf ... , can you do a favor to optimize them together？


Rolling window impr

All good :) Functionality is the same but a bit cleaner, right? could this be part of some processing functions for the sdk in the future?


[fix bug 1196930] Fix path for loader.gif in FeedEk library.

@johngian r?

Instead of removing the loader.gif please add this [1] to static and fix the path.
https://github.com/enginkizil/FeedEk/blob/master/loader.gif

Code lgtm r+


Add / Remove Tracks

Summary
A feature to be able to add and remove sending tracks for specific peers.
Motivation
One of the features I require for my use case, is that the ion-sfu server can remove sending tracks for specific users. I need this because an admin user in my application should be able to mute and unmute other members at will, which is currently not possible.
I am opening an issue as requested by @OrlandoCo. CC: @tarrencev whom I have discussed this issue with extensively.
Additional context

https://github.com/pion/ion-sfu/pull/196

I think we could include this as part of layer switching. it will be necessary to support use cases where participants are off screen too. We could support a "layer" where the track is removed/muted. Conceptually I think it would be nice to align these features. What do you think @OrlandoCo

I think that this can be done without adding more methods:

Remove a track, it requires to use an external signaling or datachannels to communicate with peer, it can confirm that track is removed on negotiation on client side and the onremovetrack event from stream.
Mute a track, this requires also to signal the peer to mute his track, a muted track can be confirmed by bandwidth consumption on peer.

@tarrencev Yes we can add a zero layer for all simulcast tracks.

Yup it is definitely possible already with signaling to terminate at the pub. For sfu termination, zero layer would work nicely. I think it would be good to support for all tracks, not just simulcast (audio + SVC too)


list_blobs support for returning prefix

Hypothetical container contents:
readme.txt
2014/06/10/logfile.txt
2015/06/10/logfile.txt
I'd like to get a list of the file and prefixes for the top level of the container.
list_blobs with '/' as a delimiter returns just 'readme.txt', but would be useful to get ['readme.txt','2014/', '2015/']  Unless I know the prefixes in advance, I can't list the contents of specific subdirectories programmatically.
Is any such support planned?

I think this will do what you want:
        self._create_container(self.container_name)
        data = b'hello world'
        self.bs.put_blob(self.container_name, '2014/06/10/logfile.txt', data, 'BlockBlob')
        self.bs.put_blob(self.container_name, '2015/06/10/logfile.txt', data, 'BlockBlob')
        self.bs.put_blob(self.container_name, 'readme.txt', data, 'BlockBlob')

        resp = self.bs.list_blobs(
            self.container_name, delimiter='/')

        print('files')
        for blob in resp:
            print(blob.name)

        print('folders')
        for prefix in resp.prefixes:
            print(prefix.name)

Which will print:
files
readme.txt
folders
2014/
2015/

Ya, this is exactly it..thanks for the quick response.


Issue with /docs/getting-started-guides/scratch/

This is a...

[ ] Feature Request
[ ] Bug Report

Problem:
All kubernetes components can be container?
Proposed Solution:
Page to Update:
http://kubernetes.io/...

All kubernetes components can be container?

This area is only for submitting problems w/ the documentation site. For general questions, you might want to use the #kubernetes-users Slack channel: https://kubernetes.slack.com/messages/kubernetes-users/


Create a consistent and reliable API between Razor IDE and compiler

Right now the IDE configures the compiler by:

Passing in a RazorCongfiguration which has various properties
Calling some compiler methods to do some pre-canned configuration
Passing in some extra data through extension methods
and adding compiler features directly to a builder

This has all generally been a bug farm in the past, makes it easy for things to be missed, and means there is no good way for someone working in the compiler to know if they will need IDE support for their work, nor someone working in the IDE know what they need to provide the compiler in order to get a coherent experience.
If we could centralise on a single strongly typed API that contained everything the Razor compiler needs from the IDE, it should make these issues go away. The simplest idea, from an IDE perspective, would be to add more parameters to the RazorConfiguration constructor, and get rid of the configure lambda entirely, and have that be the contract. Open to all thoughts.
/cc @DustinCampbell @333fred @chsienki

Didn't we want to use the razor source generator as the source of all compiler truth, and tooling just reading its outputs (https://github.com/dotnet/razor/issues/6919)? Then those outputs would be the only API between tooling and compiler, I presume.

Yes, thats what cohosting will deliver, and will make this issue moot, but thats also not a short term thing.

When is a very tough question to answer. We're about 90% of the way through porting each individual Razor feature over (https://github.com/dotnet/razor/issues/10364) but there is one particularly big rock that needs to move (turning on the source generator in the IDE) and that will probably uncover a lot of issues in Roslyn (eg https://github.com/dotnet/roslyn/issues/72136, https://github.com/dotnet/razor/issues/10856, https://github.com/dotnet/razor/issues/10864, https://github.com/dotnet/razor/issues/10865 and a lot of as-yet-discovered issues I'm sure).
As for benefits, the main things to start with are performance and reliability. Performance because right now Razor runs its own project system, and has hooks into the .NET project system, and Roslyn, that get data and respond to events, and send it into Razor so it can be absorbed into it's project system etc. With cohosting Razor will essentially exist inside Roslyn, so all of that work will have already been done and we're just re-using the existing Roslyn project system. Reliability, and some performance, comes from Razor not having to compile the generated C# files and keep them synchronized with Roslyn, and make sure when we ask Roslyn about them we've send the right version across etc. because, again, everything will be in the same world.
In future we can then build on it to get more features available in Razor too. eg, because our current communication method with Roslyn is LSP, we essentially have a string based API which limits what we can do. When we have cohosting we can upgrade some of those APIs to talk in terms of Roslyn data structures, like Documents or SyntaxTrees and it will be possible to reason more about what is happening, and provide features based on it.

@davidwengier thanks for the detailed explanation.
I look forward to the future reliability and performance benefits.


Pdfbox2.0

Yayyy!
Jeremy B. Merrill
Sent from my mobile device
On Mar 8, 2017 12:37 PM, "Melisa Bok"<EMAIL_ADDRESS>wrote:

You can view, comment on, or merge this pull request online at:
https://github.com/tabulapdf/tabula-java/pull/146
Commit Summary

Fix TextElement creation
fix tabs
Use the code from LegacyPDFStreamEngine to create the TextElements
Fix removeText function using the example:
close the document
close removed text document
fix array serialization
add spanning cells test with CSV format

Remove capheight calculation

Test writer two tables checking the json result object instead of
the string
Fix pageTransform when there is a rotation
fix path iterator
update json tests
Merge branch 'master' into pdfbox2.0
update json outputs
upgrade pdfbox version
back to the old implementation and catch the
IndexOutOfBoundsException
Remove hardcoded code
Remove more hardcoded code
test all the elements of the detected table
Change the expected table top value
Increase the threshold factor to support a greater headings
Fix rectangle comparator.
fix wrong expected column size, 5 instead of 6.
update expected table, more spaces are expected to respect the
alingment.
when the text value has length > 1, clean the spaces.
clean code
remove stackstrace
Merge remote-tracking branch 'upstream/pdfbox2.0' into pdfbox2.0
add log error

File Changes

M pom.xml
https://github.com/tabulapdf/tabula-java/pull/146/files#diff-0 (4)
M src/main/java/technology/tabula/ObjectExtractorStreamEngine.java
https://github.com/tabulapdf/tabula-java/pull/146/files#diff-1 (541)
M src/main/java/technology/tabula/TextChunk.java
https://github.com/tabulapdf/tabula-java/pull/146/files#diff-2 (9)
M src/main/java/technology/tabula/Utils.java
https://github.com/tabulapdf/tabula-java/pull/146/files#diff-3 (2)
M src/main/java/technology/tabula/detectors/
NurminenDetectionAlgorithm.java
https://github.com/tabulapdf/tabula-java/pull/146/files#diff-4 (72)
M src/main/java/technology/tabula/writers/JSONWriter.java
https://github.com/tabulapdf/tabula-java/pull/146/files#diff-5 (8)
M src/test/java/technology/tabula/TestBasicExtractor.java
https://github.com/tabulapdf/tabula-java/pull/146/files#diff-6 (48)
M src/test/java/technology/tabula/TestCommandLineApp.java
https://github.com/tabulapdf/tabula-java/pull/146/files#diff-7 (13)
M src/test/java/technology/tabula/TestSpreadsheetExtractor.java
https://github.com/tabulapdf/tabula-java/pull/146/files#diff-8 (62)
M src/test/java/technology/tabula/TestWriters.java
https://github.com/tabulapdf/tabula-java/pull/146/files#diff-9 (46)
A src/test/resources/technology/tabula/csv/frx_2012_disclosure.csv
https://github.com/tabulapdf/tabula-java/pull/146/files#diff-10 (90)
M src/test/resources/technology/tabula/csv/indictb1h_14.csv
https://github.com/tabulapdf/tabula-java/pull/146/files#diff-11 (72)
A src/test/resources/technology/tabula/csv/schools.csv
https://github.com/tabulapdf/tabula-java/pull/146/files#diff-12 (45)
A src/test/resources/technology/tabula/csv/spanning_cells.csv
https://github.com/tabulapdf/tabula-java/pull/146/files#diff-13 (25)
A src/test/resources/technology/tabula/csv/twotables.csv
https://github.com/tabulapdf/tabula-java/pull/146/files#diff-14 (32)
A src/test/resources/technology/tabula/csv/us-020.csv
https://github.com/tabulapdf/tabula-java/pull/146/files#diff-15 (50)
M src/test/resources/technology/tabula/icdar2013-dataset/
competition-dataset-eu/eu-027-reg.xml
https://github.com/tabulapdf/tabula-java/pull/146/files#diff-16 (2)
M src/test/resources/technology/tabula/json/schools.json
https://github.com/tabulapdf/tabula-java/pull/146/files#diff-17 (3)
M src/test/resources/technology/tabula/json/spanning_cells.json
https://github.com/tabulapdf/tabula-java/pull/146/files#diff-18 (2)
M src/test/resources/technology/tabula/json/spanning_cells_
basic.json
https://github.com/tabulapdf/tabula-java/pull/146/files#diff-19 (2)
M src/test/resources/technology/tabula/json/twotables.json
https://github.com/tabulapdf/tabula-java/pull/146/files#diff-20 (2)
A src/test/resources/technology/tabula/us-020.pdf
https://github.com/tabulapdf/tabula-java/pull/146/files#diff-21 (0)

Patch Links:

https://github.com/tabulapdf/tabula-java/pull/146.patch
https://github.com/tabulapdf/tabula-java/pull/146.diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/tabulapdf/tabula-java/pull/146, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAhdmq4HoHp5IMhvXAAItiNBb0RPlEKGks5rjudxgaJpZM4MXFWS
.

Yayy indeed!
I've been looking and playing with @melisabok's branch as she was working on it, and everything looks great. I'll review this PR in the coming days, merge to<EMAIL_ADDRESS>and push a SNAPSHOT to Maven Central.

Hey @melisabok, I was wondering if you could take a quick look at this branch. From a clean clone, I'm getting a bunch of failed tests. Not sure what is going on. As far as I remember, the tests were passing.
Thanks!

@melisabok, additional datapoint: all test pass in your pdfbox2.0 branch (which I think is the branch which you sent this PR from).

@jazzido I did a clean clone of the branch: https://github.com/tabulapdf/tabula-java/tree/pdfbox2.0
And I'm getting this result:
Tests run: 183, Failures: 44, Errors: 16, Skipped: 0

that was my start point of my branch.

Apologies, @melisabok.
I did not merge your PR into our pdfbox2.0 so of course there were failing tests. I just did and all works perfectly.
Sorry!


Editor: Opening Second Project in Editor Session Does Not Work

After opening a project in the editor and then subsequently opening another project.  The second project is not loaded and the following message is given:

Please verify with latest master branch. Subprocess workers had quite some work done on them.

Closing since i could not reproduce it from the start. If it happens again - reopen with more info.


Investigate performance benchmarking

Since StormJS APIs will be heavily utilized by the pipeline server, we should explore some options for benchmarking the performance of the library.

👍


fontVariant not working RN-Tester app.

Description
I am trying to create a pull request that support new value for fontVariant. However, after I changed the code directly on RCTFont.m. It does not has any affect. I saw that the 'small-caps' value not working as well. I could not debug it with XCode
Version
0.68.2
Output of npx react-native info
"name": "react-native",
"version": "1000.0.0",
Steps to reproduce
Clear everything code in RN-Tester app. Just make it look like:
      <Text
        style={{
          margin: 100,
          fontVariant: ['small-caps'],
          fontFamily: 'Helvetica',
        }}>
        small caps
      </Text>
    </RNTesterThemeContext.Provider>```

### Snack, code example, screenshot, or link to a repository

![Simulator Screen Shot - iPhone 13 - 2022-06-10 at 17 33 47](https://user-images.githubusercontent.com/62107729/173047475-b6d3740b-d096-4371-b802-86bcf7260b02.png)

Looks like the problem caused by React-Fabric.

As I see Fabric is new UI render method with C++. Do you guys know what exactly it is?

It a way to JS connect with Native UI via new JSI (connect to current UI views)?
OR it replace absolutely the current UI-Manager (new UI views)?


Active learning not working with custom model

Describe the bug
Active learning fails to load custom model and provides no feedback with regard to the possible cause.
To Reproduce
Steps to reproduce the behavior:
1.We trained a custom model (faster rcnn),
2. Converted the saved_model using tensorflowjs_wizard
3. Manually create the classes.json file just like the COCO SSD model
4. Changed the model path to the customized models directory

then keep getting a "Error loading active learning model"

Expected behavior
From the threads that we have read, this is suppose to work, the model should be able to load and predict.
Desktop (please complete the following information):

OS: Ubuntu
Version 20.04.2 LTS

Additional context
This is a common problem as very little documentation on setting up the active learning models exists, something which has been asked for before.

Do you have any documentation about using active learning in VoTT? If you do, can you send me, please? I'm not finding anything about it.

I solved my problem by making use of ImgLabel and writing a small script which uses a object detection model output and writes it out in the same xml format and directory as required by ImgLabel.
This essentially works as an active learning pipeline as it auto annotates all the images which then only requires review by an annotator.
If you have any more questions let me know!


usb-label-printer not working

Hello,
I've just installed it and changed
var vendorId = 0x0922h;
var productId = 0x0022;
To match my Dymo Twin Turbo 450 but if I click print nothing happened.
Any help will be appreciated.
Regards,
Alex

That is a different model than this code was originally tested with. The purpose of this example is to demo the chrome.usb API, not provide a working driver for all of Dymo's label printers. If you would like to start a new project to expand the set of printers supported you are welcome to use this demo as a starting point.


[firebase_dynamic_links] In what cases invoked this block of code?

Is this ever calls?
final PendingDynamicLinkData data =
        await FirebaseDynamicLinks.instance.getInitialLink();
    final Uri deepLink = data?.link;

    if (deepLink != null) {
      Navigator.pushNamed(context, deepLink.path); // this place
    }

I always get called in onLink:
FirebaseDynamicLinks.instance.onLink(
        onSuccess: (PendingDynamicLinkData dynamicLink) async {
      final Uri deepLink = dynamicLink?.link;

      if (deepLink != null) {
        Navigator.pushNamed(context, deepLink.path);
      }

This example: https://github.com/FirebaseExtended/flutterfire/blob/master/packages/firebase_dynamic_links/example/lib/main.dart

Hi @nodermann
This issue doesn't seem to describe a bug or a feature request.
Please see https://firebase.google.com/support for resources for asking questions like this
and check our guides;
you may also get some help if you post it on Stack Overflow.
Closing, as this isn't an issue with FlutterFire itself,
if you disagree please write in the comments and I will reopen it
Thank you


CMVP certifications for CSP's

Looking at the NIST CSRC website, one can find CMVP certs for many CSPs including AWS, Azure, and OCI.  Some discussion around how these certs give us a solid foundation to define what trusted environment/platforms/providers are in terms of CC would be useful.
See:
https://csrc.nist.gov/projects/cryptographic-module-validation-program/certificate/4177
https://csrc.nist.gov/projects/cryptographic-module-validation-program/certificate/4273 &
https://csrc.nist.gov/projects/cryptographic-algorithm-validation-program/details?product=15358

This will be rolled into PP specific context, closing the issue for guidance doc.


setup_archlinux.sh is out of date

setup_archlinux.sh appears to be out of date. It fails when it tries to call a check_hardware function which doesn't seem to exist anymore. Furthermore, it installs docker, which none of the other setup scripts do, so I assume this is something that has changed when it was written.
% ./tools/scripts/setup_archlinux.sh
./tools/scripts/setup_archlinux.sh: line 31: check_hardware: command not found

Feel free to update that script as knowbody is maintaining it. Now... that being said, please do all new development using the "dev" branch and not master as master is really out of date.

Am I correct in thinking the references to docker can just be removed?

Yeah, docker is not used at all.

@cpavlina any updates on this?

I'll submit a PR later today.


Improve SSH multi line splitter parser

This PR brings some improvements to the SSH multi line splitter parser to take into consideration  some cases that happen when the connection is very slow as well as fix some of its tests.
Code fixes:

On slow SSH connections we may not get the initial dump of stdin in   the response, so looking for the "exit" command we sent will never   find it and the parsing will fail.  We now look for the prompt and ignore whether we have the stdin data or not, since it's not really relevant.

Sometimes we get empty prompts in the SSH response, which either break the current parsing or makes us return bad data.  We now remove all empty prompts.

Code improvements:

We were always removing the last 2 lines from the response without actually checking if these 2 lines are the exit command and an empty line.  Now we search for the final exit command that we execute to determine the end of the valid output data.

If the output data has any "\r" at the end of a line the parser returns them, which we shouldn't. They should be removed just like we remove the "\r\n" when splitting the lines.

Test fixes in HPE3ParClientMockSSHTestCase::test_strip_input_from_output:

In a couple of places tests are passing [cmd, X, Y] to the parser expecting a failure, which we get, and we think everything is working as expected, but the failure is not for the reasons we want, so we are not testing anything.  By passing that data we are effectively passing [['foo', '-v'], X, Y] which will break the parser because that's "garbage".

The data passed and expected in the success case can be misleading, as it doesn't include the exit prompt and doesn't expect the footer to be returned, but the footer should be returned and parsing a command that doesn't have the last exit command is not valid.

Closes #78

lgtm


feat: unprotected unversioned health route

In this PR:
Adding unprotected route that allows for simplification of kubernetes probes.
Issues reference:

https://github.com/ducktors/turborepo-remote-cache/issues/85

Checklist:

[x] Have you checked to ensure there aren't other open Pull Requests for the same update/change?

[x] Have you lint your code with pnpm lint locally prior to submission?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[x] Have you written new tests for your core changes, as applicable?
[x] Have you successfully ran build with pnpm build of your changes locally?
[x] Have you successfully ran tests with pnpm test of your changes locally?
[x] Have you commit using Conventional Commits?

@all-contributors add @adriantr for code

@all-contributors add @adriantr for code

@adriantr I'm very interested in this functionality; anything I can do to help get this over the finish-line?

Adjusted the code to use current route. Won't affect existing users, so haven't bumped the api version.

Nice, this is a minor then.

:tada: This PR is included in version 1.14.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Some question about training the yolo-nas-pose model

💡 Your Question
I have five questions about the yolo-nas-pose model:
1、I noticed that the default parameter file 'coco2017_yolo_nas_pose_s' gives results based on 8 Nvidia RTX 3090 GPUs. If I only have one RTX 3090, how should I adjust these parameters?
2、I observed that the 'batch_size' in the file is set to 48 and num_gpus is 8. Does this mean that each iteration uses samples equivalent to 48 times 8? Hence, I need to decrease the learning rate to 1/8 if i use only one 3090?
3、If I reduce the 'initial_lr' by a factor of 8, should I increase the 'cosine_final_lr_ratio' by a factor of 8?
4、I am training a new YOLO-NAS-Pose model from scratch, and I noticed that the default parameter for epochs is set to 1000, with early stop incorporated. What is the typical number of epochs to achieve reasonably good results?
5、why the padding_mode of KeypointsPadIfNeeded in the training dataset is 'center', while in the val dataset is 'bottom_right'.?
Thank you.
Versions
No response

1、I noticed that the default parameter file 'coco2017_yolo_nas_pose_s' gives results based on 8 Nvidia RTX 3090 GPUs. If I only have one RTX 3090, how should I adjust these parameters?

You may want to lower learning rate accordingly

2、I observed that the 'batch_size' in the file is set to 48 and num_gpus is 8. Does this mean that each iteration uses samples equivalent to 48 times 8? Hence, I need to decrease the learning rate to 1/8 if i use only one 3090?

Batch size is defined per 1 GPU.

3、If I reduce the 'initial_lr' by a factor of 8, should I increase the 'cosine_final_lr_ratio' by a factor of 8?

No, since it's a ratio and not an absolute value

4、I am training a new YOLO-NAS-Pose model from scratch, and I noticed that the default parameter for epochs is set to 1000, with early stop incorporated. What is the typical number of epochs to achieve reasonably good results?

You should observe the AP plots, for 8 GPU it was something around 200-300 when it started reaching platoe.

5、why the padding_mode of KeypointsPadIfNeeded in the training dataset is 'center', while in the val dataset is 'bottom_right'.?

There is no specific reason why it done like that.


Makes lock behavior in session delegate more stable

This is a fix for #1121

👍

Yes, will do it later.


Allow group admins and es admins to create clusters

Allows admins and group admins to create clusters & adds a link to the school group menu.
This is a fairly basic layout at the moment which we may want to enhance depending on what is required. At the moment, the ability to add schools to the cluster is part of the cluster edit form. Do we want this or does it need it's own page / form @ldodds?

Some general feedback on the UX, haven't reviewed the code:
I think the menu item should be "Manage Clusters" instead of "Clusters". Also think we need some introductory text on the page, e.g:
"A cluster is a set of schools that are group together within your [Multi-Academy Trust/Local Authority]. For example, you may want to group all your southern and northern schools, all your primaries, etc. Grouping schools into clusters will allow you to more easily compare related schools"
I think the UI needs to be broken in two:

a simple form field for creating or deleting a named cluster
a UX for adding or removing schools from a cluster

For the latter, I'm wondering whether on the clusters index page you just list all of the visible schools with options to assign schools to a cluster by ticking a check box next to each school, then choosing from a select box at the top of the list and then "Assign"? The option should have the option to remove a school from a cluster.
That tabular view will make it easier to see which schools are in each cluster, as well as those that aren't assigned to any cluster. The current approach doesn't easily let me see which schools are in which cluster or those that aren't assigned to any.
While we might want to allow schools to be in multiple clusters in the future, which would give them some powerful reporting options, for the moment I think we should limit it so that a school is in a single cluster. For the school group dashboard I was expecting to have one extra column which added the name of the cluster.

Thank you, much appreciated! I'll make those changes 👍


refactor update blas/ext/base/dnansumors follow current project conventions

Resolves #1486.
Description

What is the purpose of this pull request?

This pull request:

progresses #1152
fixes #1486

Related Issues

Does this pull request have any related issues?

This pull request:

resolves #
fixes #

Questions

Any questions for reviewers of this pull request?

No.
Other

Any other information relevant to this pull request? This may include screenshots, references, and/or implementation notes.

No.
Checklist

Please ensure the following tasks are completed before submitting this pull request.

[x] Read, understood, and followed the contributing guidelines.

@stdlib-js/reviewers

@Pranavchiku @Planeshifter please review this PR

@Planeshifter I have made the required changes please review this


Automatically resume from last completed exercise

Instead of having to zig build -Dn=19 start this automatically tracks your most recently completed exercise by writing a file named completed_to.txt so you don't have to keep building and testing all the previously completed exercises.
Warning: I'm a complete Zig noob just playing around so this may not be idiomatic at all

This works for me. I love it!
@chrboesch and @perillo - since you're the local Zig Build experts :smile: , do you see any issues with this?
It doesn't look like the README would need any changes, and the hints still seem valid after getting an exercise right, though we wouldn't really need the explicit step anymore:
Edit exercises/002_std.zig and run this again.
To continue from this zigling, use this command:
    zig build -Dn=2                        <-------- could just be 'zig build'?

Instead of having to zig build -Dn=19 start this automatically tracks your most recently completed exercise by writing a file named completed_to.txt so you don't have to keep building and testing all the previously completed exercises.

I think a better solution is to add cache support to ZiglingStep, so that old exercises will no more write on the terminal.
Personally, however, I don't think this is a big problem; instead it can be rewarding for the user.
@ratfactor What do you think?

This works for me. I love it!
@chrboesch and @perillo - since you're the local Zig Build experts smile , do you see any issues with this?
It doesn't look like the README would need any changes, and the hints still seem valid after getting an exercise right, though we wouldn't really need the explicit step anymore:
Edit exercises/002_std.zig and run this again.
To continue from this zigling, use this command:
    zig build -Dn=2                        <-------- could just be 'zig build'?

No, because in the case the user very first exercise is 2, the next exercise will be 1, not 3.

Instead of having to zig build -Dn=19 start

I honestly didn't quite understand the point. When you call zig build, Ziglings dutifully starts with the first task. Once this is solved, it continues as usual with the second and so on. Because zig build caches itself, it knows with which task it continues. What improvement does this PR bring now? Maybe @jackos  can explain this a little better.

@chrboesch the caching wasn't working when I started, it was running every exercise 1 by 1, working well now though and only a tiny bit slower 3.7sec vs 4.5sec at exercise 51.
@perillo agree that's not a problem and maybe even a benefit.
Extra complexity for not much of a benefit, I'll close this thanks.

Looks like I wasn't caught up on the state-of-the-art either. Which is not a surprise. :laughing:  Thanks for the contribution, @jackos !


Update to 2.2.0 and 2.1.2

Release note: https://www.elastic.co/blog/logstash-2-2-0-and-2-1-2-released

LGTM


FIO file support

Hi everybody,
The *.fio file format is a default data recorder in the Sardana controls project, which is used by many synchrotrons (ALBA, DESY, MaxIV, Solaris and ESRF according to their web page). The fio file serves a similar role as the Nexus or Spec file. I.e. it is mainly used to save 1d data like motor positions and counter values during a measurement.
Neither silx nor pymca seem to support reading these files.
I am not sure about the scope of this library. Are you interested in enabling the support for this filetype?
I already wrote a fio -> NEXUS converter based on your spech5.py implementation for specfiles.
Reading the files and converting multiple fio files into one master hdf5 file (using silx convert) works already nicely with the files I have:

You can find my silx fork here.
Fio seems to be a very open file "standard". For example, I wasn't able to find any proper documentation about the file specification. This might be a problem with any fio converter implementation. My current version is based on the fio file writer of Spock/Sardana.
Cheers,
tifuchs

I can't answer for @t20100 but at least your patch looks fine.
Anyway, to be merged there is probably a lack of tests, with a kind of fio file for reference.

Hi,
You are welcome to make a PR for it!
AFAIK, we have no need for *.fio support, but since it is a synchrotron related file format it can well fit in the silx package!
As @vallsv already said, some tests would be needed.
Also, it will probably be hard for us to maintain the support of this file format since we are not used to it, so help on the maintenance of this particular feature is also welcomed!

I have a beamtime the next two weeks at DESY, where I'll use the code in the field.
After that experience I'll add some test code and make a PR.


c++11 building support

Signed-off-by: wangbaiping<EMAIL_ADDRESS>

So, we will have c++11 and c++17 in support at the same time?

So, we will have c++11 and c++17 in support at the same time?

yep.

Could you add a CI for C++11 build and update the doc to mention 11 and 17 supported?

In fact it's build by c++11 by default for now because I remove the explicit option of --cxxopt=-std:c++17. But it's OK for me to add a new test for it.

/wait

some warnings need to be resolved.


DE29828: Stub out some fetch calls to improve test reliability.

Closing, out of date and tests are changing as part of the refactor work


Add SCIM Integration Resource

Added SCIM Integration Resource (#549)
Test Plan

[x] acceptance tests
[x] unit tests…

References
See https://docs.snowflake.com/en/user-guide/scim.html

@alldoami This is related to the feature request #549

@alldoami can you trigger the test after the latest changes?

/ok-to-test sha=691e58e

@alldoami  Removed Enabled property which cannot be set for SECURITY INTEGRATION with type=SCIM

@alldoami Added the dependent resources to the acceptance tests. Can you check if it's ok now?

This would be best if you could test locally and request my review when ready.

@alldoami You are right, sorry for the inconvenience. I tested the acceptance test locally, made some fixes and it seems to work now.

/ok-to-test sha=2cb5b18

@alldoami Not sure why the acc test are failing. It does work on my snowflake account. See below, I made some changes to the resource id maybe that might help. For the unit test I saw that for the Generic alter builder there was no sorting which means that my alter unit test might fail sometimes because of the random order of the statement. That should be fixed now.

/ok-to-test sha=5bd10cb

@alldoami  Seems that okta provider already exists on the acc snowflake account. I removed Okta tests

/ok-to-test sha=f863df6

@alldoami can this be merged so that I can work / update #557? Thanks in advance for your patience

@alldoami  and @jacobrheath Can you please review the changes requested. Thanks!

/ok-to-test sha=15a53ae


runIfOnlySpecified = truedoesn't seems to be the default

If I have the following pipeline:
pipeline "Setup" {
    description "Setup the project"
    workingDir __SOURCE_DIRECTORY__

    stage "Repro" {
        run ""
    }
}

tryPrintPipelineCommandHelp ()

When running dotnet fsi build.fsx -- -h I get this message:

So it seems to ask me to call runIfOnlySpecified true however, when looking at the doc comment of runIfOnlySpecified

It says that true is the default value.

I also found out that runIfOnlySpecified needs to be placed at the end of the pipeline.
Would it be possible allow calling it at the anywhere in the CE / at the beginning? My reasoning, is like that I can have all the configuration information at the same place in the pipeline CE.
Example, I can have the description, workingDir, runIfOnlySpecified at the top and then the list of stages.
pipeline "Setup" {
    description "Setup the project by (cleaning artefacts, adaptiong the tests files, etc.)"
    workingDir __SOURCE_DIRECTORY__
    runIfOnlySpecified

    Stages.clean
    Stages.adaptTest
}

Yes it needs to to placed at the end because only at that place you can get the whole information of the pipeline. At the end it will transform the pipeline to a unit. So it will not have annoying warning says it is not been used. When you do not write runIfOnlySpecified at the end, the final result will become a pipeline context which you can run it later with your own logic. Or compose them in some way.
It says true is default is because you can write runIfOnlySpecified without append true or false at the end. It is specified: Option from the tool tip. False is for let it run as default even there is nothing specified at the command lines. But only when you have runIfOnlySpecified it then have chance to run. Otherwise it will not run.
But yes the word is confusing because my English is not that good.😂 Feel free to suggest a new api.

@MangelMaxime the warning will hanppen when you are not using script. For example in a console app.
Yes, PR to change the docs will be welcomed.

runIfOnlySpecified = truedoesn't seems to be the default
Cannot make that default without specify runIfOnlySpecified, because we cannot control the pipeline if we do that when we want to. And for me put the runIfOnlySpecified at the end is intended to make it for cli only explicitly.

let p1 =
    pipeline "123" {
        description "xxxx"
    }

// without runIfOnlySpecified, I can control the pipeline by my own not just for command line.
p1.xxxx
p1.Run()

Close because merged


Add GHC-8 Support

This patch adds support for GHC-8. I'm not sure if this breaks on lower GHC versions. Hopefully travis will sort it out.

thanks a lot!
0.4.2 is released.


fix: add build dep lprotobuf and change greptime-proto to main branch

This PR:

reset greptime-proto submodule to latest main branch
link to lprotobuf

This PR breaks build in that it introduces gRPC service stub in protos but does not links to libgrpc++.

test


Describe what you are trying to achieve and what goes wrong.

// paste output here

Provide minimal script to reproduce the issue

// paste code

请将实际操作一并放出来

谢谢提醒，哦，我知道原因了，因为开启一个定时任务（就是由定时任务引起的），有信息就会推给websocket，然后再由其群发


Please update your README and bundle a dist build.

Users finding your repo from the SUPPORTED_LANGUAGES list will expect to find up-to-date instructions on how to add your 3rd party grammar to their project.  Your current instructions are very old and incorrect/outdated.  There are now clear standards for how 3rd party grammar repos should be structured.  Please see the examples below.

On the client-side ship a dist build (which our build script can help you generate). See https://github.com/highlightjs/highlight.js/blob/master/extra/3RD_PARTY_QUICK_START.md
On the server-side ship a npm module (that someone can use to extend our library).

Please see:

https://github.com/highlightjs/highlightjs-robots-txt (a example README)
https://github.com/highlightjs/highlight.js/issues/3008

#3008 is specifically related to upgrading from v10 to v11 but it still applies to the proper way to structure your repo to make it easiest to use for the most people.

Hi @joshgoebel
I tried to update.
Updated branch is below.
https://github.com/highlightjs/highlightjs-extempore/tree/feature/update_latest_spec
Please review.
If it is nothing problem, I merge this branch to main branch.

I'd recommend changing:
<script type="text/javascript" src="/path/to/highlightjs-extempore/dist/extempore.min.js"></script>
to
<script type="text/javascript" src="/path/to/extempore.min.js"></script>
Someone using the file directly is likely to just by copying it or moving it (alone) into a better location, using it with the entire git checkout would be kind of strange - though I suppose you could do it.  I'll leave changing it up to you, but I think I'd try to encourage someone to use just the single file vs deploying the whole repository to their project.

N/m, now I see my own sample repo does this - though it's still bugging me - but I can't believe I haven't noticed till now. :)  I'm going to give it more thought. :)  Your call.

Hey @joshgoebel I don't think I have a strong opinion on this, although I do think that just copying in the minified file is probably easier & nicer than having to copy the whole directory. So unless there's some reason that you're keeping the "copy whole directory" instructions, we'll probably just do it the way you (initially) suggested. What do you reckon?

So unless there's some reason that you're keeping the "copy whole directory" instructions

Well there are no instructions like that. :)  It's just implied. :-)  I'm going to change it now.

https://github.com/highlightjs/highlightjs-robots-txt/commit/2c9d6e0707ea9511d825e57f18235170f84287f7

Hi @joshgoebel
I changed README.md by referring to https://github.com/highlightjs/highlightjs-robots-txt/commit/2c9d6e0707ea9511d825e57f18235170f84287f7.
Is it OK?
https://github.com/highlightjs/highlightjs-extempore/tree/feature/update_latest_spec

Btw I'll probably remove that "see how Ben does it on his blog" comment in the readme once this change lands, because this new way is better. But let's just get this thing figured out first.

Looks good at a glance!

@joshgoebel @benswift
Thank you for checking!
I've fixed Ben's point and merged it into the main branch.


Emulator physical keyboard backspace input throws

Steps to Reproduce

Run code sample on emulator
Focus on text field and type 1 letter
Press physical backspace (from your host machine), exception occurs, but visually the letter is removed
Now if you try to type a letter, two letters will appear (because the one at the beginning actually was not deleted)

Expected results: No exceptions
Actual results: Exception

Logs
W/IInputConnectionWrapper( 4296): getTextBeforeCursor on inactive InputConnection
W/IInputConnectionWrapper( 4296): getSelectedText on inactive InputConnection
W/IInputConnectionWrapper( 4296): getTextAfterCursor on inactive InputConnection
W/IInputConnectionWrapper( 4296): beginBatchEdit on inactive InputConnection
W/IInputConnectionWrapper( 4296): endBatchEdit on inactive InputConnection
E/MethodChannel#flutter/textinput( 4296): Failed to handle method call
E/MethodChannel#flutter/textinput( 4296): java.lang.IndexOutOfBoundsException: invalid composing range: (0, 0)
E/MethodChannel#flutter/textinput( 4296): 	at io.flutter.embedding.engine.systemchannels.TextInputChannel$TextEditState.<init>(TextInputChannel.java:713)
E/MethodChannel#flutter/textinput( 4296): 	at io.flutter.embedding.engine.systemchannels.TextInputChannel$TextEditState.fromJson(TextInputChannel.java:680)
E/MethodChannel#flutter/textinput( 4296): 	at io.flutter.embedding.engine.systemchannels.TextInputChannel$1.onMethodCall(TextInputChannel.java:91)
E/MethodChannel#flutter/textinput( 4296): 	at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:233)
E/MethodChannel#flutter/textinput( 4296): 	at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:85)
E/MethodChannel#flutter/textinput( 4296): 	at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:819)
E/MethodChannel#flutter/textinput( 4296): 	at android.os.MessageQueue.nativePollOnce(Native Method)
E/MethodChannel#flutter/textinput( 4296): 	at android.os.MessageQueue.next(MessageQueue.java:335)
E/MethodChannel#flutter/textinput( 4296): 	at android.os.Looper.loop(Looper.java:183)
E/MethodChannel#flutter/textinput( 4296): 	at android.app.ActivityThread.main(ActivityThread.java:7656)
E/MethodChannel#flutter/textinput( 4296): 	at java.lang.reflect.Method.invoke(Native Method)
E/MethodChannel#flutter/textinput( 4296): 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
E/MethodChannel#flutter/textinput( 4296): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
E/flutter ( 4296): [ERROR:flutter/lib/ui/ui_dart_state.cc(213)] Unhandled Exception: PlatformException(error, invalid composing range: (0, 0), null, java.lang.IndexOutOfBoundsException: invalid composing range: (0, 0)
E/flutter ( 4296): 	at io.flutter.embedding.engine.systemchannels.TextInputChannel$TextEditState.<init>(TextInputChannel.java:713)
E/flutter ( 4296): 	at io.flutter.embedding.engine.systemchannels.TextInputChannel$TextEditState.fromJson(TextInputChannel.java:680)
E/flutter ( 4296): 	at io.flutter.embedding.engine.systemchannels.TextInputChannel$1.onMethodCall(TextInputChannel.java:91)
E/flutter ( 4296): 	at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:233)
E/flutter ( 4296): 	at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:85)
E/flutter ( 4296): 	at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:819)
E/flutter ( 4296): 	at android.os.MessageQueue.nativePollOnce(Native Method)
E/flutter ( 4296): 	at android.os.MessageQueue.next(MessageQueue.java:335)
E/flutter ( 4296): 	at android.os.Looper.loop(Looper.java:183)
E/flutter ( 4296): 	at android.app.ActivityThread.main(ActivityThread.java:7656)
E/flutter ( 4296): 	at java.lang.reflect.Method.invoke(Native Method)
E/flutter ( 4296): 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
E/flutter ( 4296): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
E/flutter ( 4296): )
E/flutter ( 4296): #0      JSONMethodCodec.decodeEnvelope
package:flutter/…/services/message_codecs.dart:164
E/flutter ( 4296): #1      MethodChannel._invokeMethod
package:flutter/…/services/platform_channel.dart:156
E/flutter ( 4296): <asynchronous suspension>
E/flutter ( 4296):
W/TextInputPlugin( 4296): Changing the content within the the composing region may cause the input method to behave strangely, and is therefore discouraged. See https://github.com/flutter/flutter/issues/78827 for more details
W/IInputConnectionWrapper( 4296): getSelectedText on inactive InputConnection
W/IInputConnectionWrapper( 4296): getTextAfterCursor on inactive InputConnection
W/IInputConnectionWrapper( 4296): getTextBeforeCursor on inactive InputConnection
W/IInputConnectionWrapper( 4296): getSelectedText on inactive InputConnection
W/IInputConnectionWrapper( 4296): getTextAfterCursor on inactive InputConnection
W/IInputConnectionWrapper( 4296): beginBatchEdit on inactive InputConnection
W/IInputConnectionWrapper( 4296): getTextBeforeCursor on inactive InputConnection
W/IInputConnectionWrapper( 4296): endBatchEdit on inactive InputConnection

[√] Flutter (Channel master, 2.3.0-17.0.pre.120, on Microsoft Windows [Version 10.0.19041.985], locale ru-RU)
    • Flutter version 2.3.0-17.0.pre.120 at C:\dev\src\flutter
    • Upstream repository git@github.com:nt4f04und/flutter.git
    • Framework revision c42ec8592f (5 days ago), 2021-05-28 22:34:02 -0400
    • Engine revision aca8aa2335
    • Dart version 2.14.0 (build 2.14.0-165.0.dev)

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    X cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    X Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/windows#android-setup for more details.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[√] Visual Studio - develop for Windows (Visual Studio Community 2019 16.7.7)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.7.30621.155
    • Windows 10 SDK version 10.0.19041.0

[√] Android Studio (version 4.1.0)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[√] IntelliJ IDEA Community Edition (version 2020.3)
    • IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.3.3
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart

[√] VS Code (version 1.56.2)
    • VS Code at C:\Users\danya\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.22.0

[√] Connected device (5 available)
    • sdk gphone x86 (mobile)     • emulator-5554 • android-x86    • Android 11 (API 30) (emulator)
    • sdk gphone x86 arm (mobile) • emulator-5556 • android-x86    • Android 11 (API 30) (emulator)
    • Windows (desktop)           • windows       • windows-x64    • Microsoft Windows [Version 10.0.19041.985]
    • Chrome (web)                • chrome        • web-javascript • Google Chrome 90.0.4430.212
    • Edge (web)                  • edge          • web-javascript • Microsoft Edge 91.0.864.37

! Doctor found issues in 1 category.

Hi @nt4f04uNd
Not able to reproduce the issue on an emulator with a physical keyboard or physical with Bluetooth keyboard

minimal code sample
import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Material App',
      theme: ThemeData.dark(),
      home: Home(),
    );
  }
}

class Home extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Material App Bar'),
      ),
      body: Center(
        child: TextField(),
      ),
      floatingActionButton: FloatingActionButton(
        child: Icon(Icons.add),
        onPressed: () {},
      ),
    );
  }
}

flutter doctor -v
[✓] Flutter (Channel master, 2.3.0-17.0.pre.180, on Microsoft Windows [Version 10.0.19043.1023], locale en-US)
    • Flutter version 2.3.0-17.0.pre.180 at C:\Users\Taha\Code\flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 320f27713b (9 hours ago), 2021-06-03 02:49:03 -0400
    • Engine revision fe6d19b911
    • Dart version 2.14.0 (build 2.14.0-176.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at C:\Users\Taha\Code\SDK
    • Platform android-30, build-tools 30.0.3
    • ANDROID_SDK_ROOT = C:\Users\Taha\Code\SDK
    • Java binary at: C:\Users\Taha\Code\android-studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6842174)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[✓] Visual Studio - develop for Windows (Visual Studio Community 2019 16.10.0)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.10.31321.278
    • Windows 10 SDK version 10.0.19041.0

[✓] Android Studio (version 4.2.0)
    • Android Studio at C:\Users\Taha\Code\android-studio
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6842174)

[✓] IntelliJ IDEA Community Edition (version 2021.1)
    • IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2021.1.1
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.56.2)
    • VS Code at C:\Users\Taha\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.23.0

[✓] Connected device (5 available)
    • AOSP on IA Emulator (mobile) • emulator-5554 • android-x86     • Android 9 (API 28) (emulator)
    • Windows (desktop)            • windows       • windows-x64     • Microsoft Windows [Version 10.0.19043.1023]
    • Windows (UWP) (desktop)      • winuwp        • windows-uwp-x64 •
    • Chrome (web)                 • chrome        • web-javascript  • Google Chrome 91.0.4472.77
    • Edge (web)                   • edge          • web-javascript  • Microsoft Edge 91.0.864.37

• No issues found!

Did you do any special configurations for the keyboard, or were you using it like a regular input for your PC? The issue reproduces in the latter case (at least on Windows)

Hi @nt4f04uNd
Not really, I am using a laptop, I tried the laptop's keyboard (no issue), the wireless keyboard on the emulator, and then tried a physical device with a Bluetooth keyboard. What keyboard are you using?

Without additional information, we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.
Could everyone who still has this problem please file a new issue with the exact description of what happens, logs, and the output of flutter doctor -v.
All system setups can be slightly different, so it's always better to open new issues and reference related issues.


Hi, How about the performance in different datasets?  this version can reach the the theano version? Look forward for your kind help!

Can you provide me the pretrained model?

Unfortunately I cannot provide you a pretrained model, and I haven't even trained a model on a freely-available dataset (the HELEN notebook is just to show the use), so I can't confirm that either (sorry!).
What I can confirm is, that on an internal dataset it reaches comparable results to the theano version.

@justusschock It seems you did not provide the dataset preprocess script, can you provide it?

@justusschock use shapedata to make data argument?

it's all done in the example notebook via shapedata


Conda package isn't build with GDS support!

Reproducer
mamba create -n kvikio-env -c rapidsai-nightly -c conda-forge python=3.11 cuda-version=12.2 kvikio
conda activate kvikio-env
pip install dask

# Run the benchmark with compatibility mode disabled, which forces KvikIO to use cuFile
KVIKIO_COMPAT_MODE=off python python/benchmarks/single-node-io.py

Roundtrip benchmark
----------------------------------
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   WARNING - cuFile compat mode
         GDS not enabled
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
GPU               | Unknown (install pynvml)
GPU Memory Total  | Unknown (install pynvml)
BAR1 Memory Total | Unknown (install pynvml)
GDS driver        | N/A (Compatibility Mode)
GDS config.json   | /etc/cufile.json
----------------------------------
nbytes            | 10485760 bytes (10.00 MiB)
4K aligned        | True
pre-reg-buf       | True
directory         | /tmp/tmp71d24zvz
nthreads          | 1
nruns             | 1
==================================
Traceback (most recent call last):
  File "/home/mkristensen/repos/kvikio/python/benchmarks/single-node-io.py", line 429, in <module>
    main(args)
  File "/home/mkristensen/repos/kvikio/python/benchmarks/single-node-io.py", line 326, in main
    read, write = API[api](args)
  File "/home/mkristensen/repos/kvikio/python/benchmarks/single-node-io.py", line 47, in run_cufile
    res = f.write(data)
  File "/home/mkristensen/apps/miniforge3/envs/kvikio-env2404/lib/python3.10/site-packages/kvikio/cufile.py", line 261, in write
    return self.pwrite(buf, size, file_offset, task_size).get()
  File "/home/mkristensen/apps/miniforge3/envs/kvikio-env2404/lib/python3.10/site-packages/kvikio/cufile.py", line 33, in get
    return self._handle.get()
  File "libkvikio.pyx", line 25, in kvikio._lib.libkvikio.IOFuture.get
RuntimeError: KvikIO not compiled with cuFile.h

The latest version that works is 24.02, the issue must have started somewhere between version 24.02 and 24.04.
cc. @aslobodaNV

KvikIO's driver.hpp has two different inline class definitions based on the value of KVIKIO_CUFILE_FOUND:
https://github.com/rapidsai/kvikio/blob/6ed7bccb42d82eb1ac60a98dfd460a7785881949/cpp/include/kvikio/driver.hpp#L43
https://github.com/rapidsai/kvikio/blob/6ed7bccb42d82eb1ac60a98dfd460a7785881949/cpp/include/kvikio/driver.hpp#L190-L272
The case where it's not defined throws the error we're seeing:
https://github.com/rapidsai/kvikio/blob/6ed7bccb42d82eb1ac60a98dfd460a7785881949/cpp/include/kvikio/driver.hpp#L204
CMake defines KVIKIO_CUFILE_FOUND appropriately:
https://github.com/rapidsai/kvikio/blob/6ed7bccb42d82eb1ac60a98dfd460a7785881949/cpp/CMakeLists.txt#L161
However, the Cython code bypasses anything built by CMake and includes driver.hpp directly:
https://github.com/rapidsai/kvikio/blob/6ed7bccb42d82eb1ac60a98dfd460a7785881949/python/kvikio/_lib/kvikio_cxx_api.pxd#L36
So it seems to me that we need to tell Cython to define KVIKIO_CUFILE_FOUND, but only if it's defined in the C++ code.

I can see now that KvikIO's exported CMake code is already setting this if cuFile is installed:
https://github.com/rapidsai/kvikio/blob/6ed7bccb42d82eb1ac60a98dfd460a7785881949/cpp/CMakeLists.txt#L132-L169
So we need to make sure cuFile is installed when the Python Conda package is built.

The same error is also present in the cufile shim code, so it could be coming from there and not driver.hpp. Note that it is also possible for the version of is_gds_enabled in the cufile-enable branch of driver.hpp to return false based on values produced by the cufile shim. Given that adding the libcufile package to the build env hasn't worked in #379 yet, those might be some additional things to check.

Notice, is_gds_enabled() == false should not trigger the RuntimeError: KvikIO not compiled with cuFile.h error. It just means that cuFile will not use GDS acceleration.

Am going to reopen so we can track this fix as well
xref: https://github.com/rapidsai/kvikio/pull/381

Hi, I think I might be running into a similar related error. I am installing kvikio with Conda and I can see the libcufile is installed in my environment. When I try to run the benchmark:
> KVIKIO_COMPAT_MODE=off python python/kvikio/kvikio/benchmarks/single_node_io.py

Roundtrip benchmark
----------------------------------
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   WARNING - cuFile compat mode
         GDS not enabled
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
GPU               | Unknown (install nvidia-ml-py)
GPU Memory Total  | Unknown (install nvidia-ml-py)
BAR1 Memory Total | Unknown (install nvidia-ml-py)
GDS driver        | N/A (Compatibility Mode)
GDS config.json   | /etc/cufile.json
----------------------------------
nbytes            | 10485760 bytes (10.00 MiB)
4K aligned        | True
pre-reg-buf       | False
directory         | /tmp/tmp4__41g_o
nthreads          | 1
nruns             | 1
==================================
Traceback (most recent call last):
  File "/home/fstrug/kvikio/python/kvikio/kvikio/benchmarks/single_node_io.py", line 375, in <module>
    main(args)
  File "/home/fstrug/kvikio/python/kvikio/kvikio/benchmarks/single_node_io.py", line 283, in main
    read, write = API[api](args)
                  ^^^^^^^^^^^^^^
  File "/home/fstrug/kvikio/python/kvikio/kvikio/benchmarks/single_node_io.py", line 45, in run_cufile
    f = kvikio.CuFile(file_path, flags="w")
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/fstrug/.conda/envs/img_cuda12.2-kvikio/lib/python3.12/site-packages/kvikio/cufile.py", line 88, in __init__
    self._handle = file_handle.CuFile(file, flags)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "file_handle.pyx", line 97, in kvikio._lib.file_handle.CuFile.__init__
RuntimeError: cuFile error at: /home/fstrug/.conda/envs/img_cuda12.2-kvikio/include/kvikio/file_handle.hpp:196: internal error

When trying to cmake kvikio/cpp/examples/downstream/, it is unable to find libcufile even though it is installed within the Conda environment.
(img_cuda12.2-kvikio) [fstrug@jupyter-fstrug build]$ cmake ..
-- The CXX compiler identification is GNU 11.4.1
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Downloading CPM.cmake to /home/fstrug/kvikio/cpp/examples/downstream/build/cmake/CPM_0.35.5.cmake
-- CPM: adding package<EMAIL_ADDRESS>(branch-24.12)
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- CPM: KvikIO: using local package<EMAIL_ADDRESS>-- Unable to find cublas_v2.h in either "/opt/conda/targets/x86_64-linux/include" or "/opt/conda/math_libs/include"
-- Found CUDAToolkit: /opt/conda/targets/x86_64-linux/include (found version "12.2.140")
-- Could NOT find cuFile (missing: cuFile_INCLUDE_DIR)
CMake Warning at build/_deps/kvikio-src/cpp/CMakeLists.txt:71 (message):
  Cannot find cuFile - KvikIO will still work but won't use GPUDirect Storage
  (GDS)

-- CPM: KvikIO: using local package<EMAIL_ADDRESS>-- CPM: KvikIO: using local package<EMAIL_ADDRESS>-- Configuring done (4.6s)
-- Generating done (0.0s)
-- Build files have been written to: /home/fstrug/kvikio/cpp/examples/downstream/build

Can you please share conda info and conda list?

Here are the outputs.
conda_list.txt
conda_info.txt

Thanks fstrung! 🙏
From a quick pass, those look reasonable

In the build case expect we need to pass more arguments to cmake like
cmake .. \
    -DCMAKE_PREFIX_PATH="${CONDA_PREFIX}" \
    -DCMAKE_INSTALL_PREFIX:PATH="${CONDA_PREFIX}" \
    ...
;

Though we do have build.sh, which may help with that. So one could do the following to build and install the C++ and Python packages into your Conda env (the install location can also be customized)
./build.sh libkvikio kvikio

To your bigger question, think we should track this in a new issue. It certainly could be a packaging issue or it could also be some other library issue ( for example: https://github.com/rapidsai/kvikio/issues/497 ). Think we need to dive deeper. Would you be alright opening a new issue with the info you have provided here?
As a side note, it is possible to dump all the text info into it with using the pattern below, which may help as more folks look into it
<details>

```bash
# Lots of output here
\```

</details>

In the build case expect we need to pass more arguments to cmake like
cmake ..
-DCMAKE_PREFIX_PATH="${CONDA_PREFIX}"
-DCMAKE_INSTALL_PREFIX:PATH="${CONDA_PREFIX}"
...
;
Though we do have build.sh, which may help with that. So one could do the following to build and install the C++ and Python packages into your Conda env (the install location can also be customized)

Unfortunately neither of these resolved the cuFile not found error. Passing the arguments to cmake gives the same output.
Building from source seemed to mostly work. Our systems drivers are version 12.2, so I've been trying to pin cuda-version=12.2. Perhaps there are some backwards compatibility issues, since we have encountered this ourselves when trying to set-up images with cuda-version=12.6 and using nvcc.

mamba env create --name kvikio-dev --file conda/environments/all_cuda-125_arch-x86_64.yaml
./build.sh libkvikio kvikio

it was able to find cuFile and for the test I get:
(kvikio-dev-clone) [fstrug@jupyter-fstrug kvikio]$ pytest python/kvikio/tests/
============================================================================================================================================= test session starts =============================================================================================================================================
platform linux -- Python 3.12.7, pytest-8.3.3, pluggy-1.5.0
rootdir: /home/fstrug/kvikio/python/kvikio
configfile: pyproject.toml
plugins: cov-5.0.0
collected 1459 items

python/kvikio/tests/test_async_io.py .......                                                                                [  0%]
python/kvikio/tests/test_basic_io.py .................................................................................................................................................................................................................................................................. [ 18%]
....................................................................................................................................................................................................................................................................................................... [ 38%]
............................................................................................................................s.......................................................................................................................................................................... [ 58%]
..................................................................ssssss.................................................................                                                                                [ 67%]
python/kvikio/tests/test_benchmarks.py ............                                                                                [ 68%]
python/kvikio/tests/test_defaults.py s....                                                                                [ 69%]
python/kvikio/tests/test_examples.py ...                                                                                [ 69%]
python/kvikio/tests/test_http_io.py .................................................                                                                                [ 72%]
python/kvikio/tests/test_numpy.py ...........................                                                                                [ 74%]
python/kvikio/tests/test_nvcomp.py .......................xxxxxxXX.........x..xxx.........x........                                                                                [ 78%]
python/kvikio/tests/test_nvcomp_codec.py ................................................................................................................................................                                                                                [ 88%]
python/kvikio/tests/test_s3_io.py .....................................................................................                                                                                [ 94%]
python/kvikio/tests/test_version.py .                                                                                [ 94%]
python/kvikio/tests/test_zarr.py .............................................................................                                                                                [100%]

=========================================================================================================================== 1438 passed, 8 skipped, 11 xfailed, 2 xpassed in 41.28s ===========================================================================================================================


Remove multiple line log generated from code.

We should avoid to generate multiple line logs from code.

https://github.com/F5Networks/f5-adcaas-openstack/pull/222


Installation issues

pip install scgpt "flash-attn<1.0.5" gives the following error:
ERROR: Cannot install scgpt==0.1.3 and scgpt==0.1.5 because these package versions have conflicting dependencies.

The conflict is caused by:
    scgpt 0.1.5 depends on llvmlite<0.39.0 and >=0.38.0
    scgpt 0.1.3 depends on llvmlite<0.39.0 and >=0.38.0

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict

I don't understand why pip is trying to install two versions.
I also had to install wheel and packaging packages before this, but I am not sure if that's relevant.

I can tell what I have done to able to run at least annotation and integration notebooks successfully.
I am running experiments on  a server:  Driver Version: 525.60.13    CUDA Version: 12.0
conda create --name scgpt_ann python=3.10 r-base r-devtools
conda activate scgpt_ann
pip install scgpt
pip install ipython   ( you can run without this, if you encounter a problem related to ipython, then install it, very trivial error)
Finally, using pip, install all the packages in develeopment section(in pyproject.toml in repo) too. (I am not sure if it is necessary or not, but in this form it works.)
After that, everything worked well for me.
In integration task, if your numpy is above 1.20.0, you will probably encounter the problem like np.str, np.bool. To solve this error, go to the scvi dataset creation module, replace np.str and np.bool with str and bool.

@ceferisbarov , I haven't seen the error message before. Could you also let me know what is the python can cuda versions you are using?
Thanks @kocemir for the help!

I can tell what I have done to able to run at least annotation and integration notebooks successfully.
I am running experiments on a server: Driver Version: 525.60.13 CUDA Version: 12.0
conda create --name scgpt_ann python=3.10 r-base r-devtools conda activate scgpt_ann pip install scgpt pip install ipython ( you can run without this, if you encounter a problem related to ipython, then install it, very trivial error)
Finally, using pip, install all the packages in develeopment section(in pyproject.toml in repo) too. (I am not sure if it is necessary or not, but in this form it works.) After that, everything worked well for me.
Additionally, if you would like to work with fast-attn, then follow this:
pip install packaging pip install flash-attn==1.0.4 (if your driver is old, probably it will not install)
In integration task, if your numpy is above 1.20.0, you will probably encounter the problem like np.str, np.bool. To solve this error, go to the scvi dataset creation module, replace np.str and np.bool with str and bool.

Thank you for the sharing! I wonder whether it would be OK if I don't install flash-attn. Is it necessary?  Thanks!

@warming151  sorry for the too late reply. Yes, flash-attn is optional. If you dive into the model file ( that transformer is built and called), you can see that if your environment does not contain flash-attn, then the code will direct you to the standard TransformerEncoder. So, you do not need flash-attn.

Thanks for the help! Yes, the flash-attn dependency is optional now


Parser for telegram html_mode

Hello
I have issue with markdown_mode for telegram: telegram markdown parser couldn't parse link like https://github.com/some_repo because parser try parse _ as italic and couldn't do it. I report this bug to telegram, but they say nothing.
I would like to use markdown-it for telegram and follow telegram html roles.
I have next hardship:
parsed html must not have wrapper like
. Once block element is pre. How I can parse pre as block, but another message parse inline (without wrapper)? Example:
input:

my code:
```console.log('Hello world');```

output:

my code
console.log('Hello world');

_ (emphasis) can conflict with linkifier (autolinking), that's a known issue, discussed in previous tickets, not scheduled for fix.
To parse inline content only, without
, see .parseInline / .renderInline methods.

If I use .renderInline, ``` will be parsed as , not
.

You can override that tag renderer different, as you wish. Everything is tuneable.


scroll-dev-0220

changes since 1220:

ecdsa
poseidon
(wip) dual code hash

this branch becomes irrelevant now... may close it soon


argmax returns incorrect result for input containing Minimum number (TensorFlow 2.x)

Issue type
Bug
Have you reproduced the bug with TensorFlow Nightly?
No
Source
source
TensorFlow version
2.16.1
Custom code
Yes
OS platform and distribution
No response
Mobile device
No response
Python version
No response
Bazel version
No response
GCC/compiler version
No response
CUDA/cuDNN version
No response
GPU model and memory
No response
Current behavior?
Current Behavior:
When using tf.math.argmax on an input array that contains -0.0, the result is incorrect. Specifically, the function returns 1 (the index of -0.0) as the position of the maximum value, while the actual maximum value is 1.401298464324817e-45 at index 2.
The same behavior is observed in Keras and JAX, as both use TensorFlow internally for the argmax function.
Expected Behavior:
tf.math.argmax should return 2, as the value at index 2 (1.401298464324817e-45) is greater than both -1.0 and -0.0.
import numpy as np
import torch
import tensorflow as tf
import jax.numpy as jnp
from tensorflow import keras

def test_argmax():
    # Input data
    input_data = np.array([-1.0, -0.0, 1.401298464324817e-45], dtype=np.float32)

    # PyTorch argmax
    pytorch_result = torch.argmax(torch.tensor(input_data, dtype=torch.float32)).item()
    print(f"PyTorch argmax result: {pytorch_result}")

    # TensorFlow argmax
    tensorflow_result = tf.math.argmax(input_data).numpy()
    print(f"TensorFlow argmax result: {tensorflow_result}")

    # Keras argmax (Keras internally uses TensorFlow, so should be the same)
    keras_result = keras.backend.argmax(input_data).numpy()
    print(f"Keras argmax result: {keras_result}")

    # JAX argmax
    jax_result = jnp.argmax(input_data)
    print(f"JAX argmax result: {jax_result}")

if __name__ == "__main__":
    test_argmax()

Standalone code to reproduce the issue
PyTorch argmax result: 2
TensorFlow argmax result: 1
Keras argmax result: 1
JAX argmax result: 1

### Relevant log output

_No response_

@LilyDong0127, In TensorFlow, calculations performed on the CPU using floating-point numbers smaller than a certain threshold (like 1e-45) are rounded down to zero. So, the issue is not in argmax but in using FTZ mode in general on the CPU. Thank you!

Thank you for your reply! But I don't think this is a problem with the FTZ mode. Logically, the execution effects on the CPU and GPU should be the same. However, there is no FTZ mode on the GPU, and if this mode is turned on by default, it may cause great misunderstanding to our users. Because users may not know that floating-point numbers will automatically return to zero when they are less than a certain threshold. This behavior may cause inconsistent results on different platforms and cause confusion and potential errors. I hope to explore this issue further, thank you!


Youtube video has wrong size after changing size of window

The following steps result in a tiny Youtube video:

Make the browser window full size
Open the Youtube-Slide
Close the Youtube-Slide
Make the browser window tiny
Make the browser window full size again
Open the Youtube-Slide

This issue can be reproduced in different browsers (Current Chrome-Version on MacOS, IE11, ...) using the current version (2.4.1) and the example on the official webpage.
A fix seems to be a patch for the youtube plugin in [initVideo] (https://github.com/BeSite/jQuery.TosRUs/blob/master/src/js/media/jquery.tosrus.youtube.js#L112):
this.nodes.$wrpr
.on( _e.opening,
    function( e )
    {
        _f.resizeRatio( $v, $s, maxWidth, maxHeight, ratio );
    }
)

Thank you for pointing out the issue.
I think the "resizeRatio" function fired onWindowResize measures "0" for the height and width if the slide isn't opened (a hidden element does not have a measurable width or height).
The fix would be to not resize the element if it isn't visible AND to resize the element on opening (as suggested).
I'll fix this in the next version.


Suspicious lock-unlock

Hi, there is a strange lock-unlock operation here https://github.com/Iceber/iouring-go/blob/main/poller.go#L29
Forgotten defer or something more sophisticated? 👀

@cristaloleg forgotten defer, thanks!


Travel anchors do not have a valid tool in 1.20.1

Mining with a pickaxe takes 10 seconds and does not drop a travel anchor.

Minecraft 1.20.1
Travel anchors 5.0.1
Forge 47.2.19

Agreed.  There should be a tool or method to pick them up.
If this an intended mechanic, at least allow some of the recipe materials to be returned.
Thanks!

This is still persistent. A block that can not be moved or broken by any means less creative or carry on is useless, regardless of how good it is. Can you please add a way to break this block in survival??


Launch application cannot handle security port

if the application is enabled security with a self-signed cerifiicate, users can access the https://localhost:9443/... urls.
But, when run Launch application with providing the port 8443, the https://accountname-9443.theiadocker-0.proxy.cognitiveclass.ai/... not work.
This problem need SN team to help

@austin0 or @jakub-pomykala would you open an issue on the SN repo?

the app uses self-signed certificate, either SN accept it or provide us a valid certificate in the env so that the app can use
SN can aware the port 9443 or any port is using https protocol. When SN redirect urls to localhost, keep using https protocol consistently. Otherwise, if the redirection mixed with https and https, it will break the liberty web container.


fix: async_add_job deprecated warning

Stop calling deprecated async_add_job() as described here, fixes #6

Thanks for the PR!

It looks like there was a bug in the above commit. I reverted the init.py file back to the 1.0.2 version for now and re-opened #6