Documented JavaScript variables on different templates made available for plugins

While working on https://github.com/simonw/datasette-leaflet-freedraw/issues/10 I found myself writing this atrocity to figure out the SQL query used for a specific table page:
let innerSql = Array.from(document.getElementsByTagName("span")).filter(
    el => el.innerText == "View and edit SQL"
)[0].parentElement.getAttribute("title")

This is obviously bad - it's very brittle, and will break if I ever change the text on that link (like localizing it for example).
Instead, I think pages like that one should have a block of script at the bottom something like this:
window.datasette = window.datasette || {};
datasette.view_name = 'table';
datasette.table_sql = 'select * from ...';

This should aim to be as consistent as possible with the various arguments to hooks on https://docs.datasette.io/en/stable/plugin_hooks.html

The table page should expose the query both with and without the limit clause. The above gave me back:
select id, ACCESS_TYP, UNIT_ID, UNIT_NAME, SUID_NMA, AGNCY_ID, AGNCY_NAME, AGNCY_LEV,
  AGNCY_TYP, AGNCY_WEB, LAYER, MNG_AG_ID, MNG_AGENCY, MNG_AG_LEV, MNG_AG_TYP,
  PARK_URL, COUNTY, ACRES, LABEL_NAME, YR_EST, DES_TP, GAP_STS, geometry
from CPAD_2020a_Units where "AGNCY_LEV" = :p0 order by id limit 101

But I actually wanted to run a fetch() against a version of that without the order by id limit 101 bit (I wanted to figure out the Extent() of the geometry column) - so I need something like datasette.table_sql_no_order_no_limit.

I want to get this into Datasette 0.60 - #1566 - it's a small change that can unlock a lot of potential.

This should also expose the JSON API endpoints used to execute SQL against this database.

... huh, it could even expose a JavaScript function that can be called to execute a SQL query.
datasette.query("select * from blah").then(...)

Maybe it takes an optional second argument that specifies the database - defaulting to the one for the current page.

Or...
rows = await datasette.query`select * from searchable where id > ${id}`;

And it knows how to turn that into a parameterized call using tagged template literals.

Quick prototype of that tagged template query function:
function query(pieces, ...parameters) {
  var qs = new URLSearchParams();
  var sql = pieces[0];
  parameters.forEach((param, i) => {
    sql += `:p${i}${pieces[i + 1]}`;
    qs.append(`p${i}`, param);
  });
  qs.append("sql", sql);
  return qs.toString();
}

var id = 4;
console.log(query`select * from ids where id > ${id}`);

Outputs:
p0=4&sql=select+*+from+ids+where+id+%3E+%3Ap0

No way with a tagged template literal to pass an extra database name argument, so instead I need a method that returns a callable that can be used for the tagged template literal for a specific database - or the default database.


Fix: do not automatically remount the canvas

Fixes #1089
Problem:
The editor would remount the canvas if:

the code changed
any undo redo happened
the focused view changed
unwrapping the selected view

Remounting the canvas means we reset the react state of the components, and also remove + re-add the DOM elements. This was most visible when the Dev Tools was open: especially because of the focus mode changes, all of the images would blink on the canvas.
The original reason why we introduced remounting was this: https://github.com/concrete-utopia/dystopia/issues/1995
Basically the problem it was solving is that if you are working on the style object, if you write a value which React thinks is invalid, it will not remove the existing value. So while typing code, you might think your style object looks correct, but after reloading the editor you would see that it is broken. We quickly came up with the remounting solution which also resets the components states, and we kind of thought of it as a side benefit.
The downside, though is that this is not optional and is not aligned with react-fast-refresh: in codesandbox, if you make the same style object mistakes, you will see the same (old utopia) behavior: the rendered style would not update until you typed in a correct value. Plus the component states survive the update, making it easier to debug complicated state, for example if you navigate somewhere with a router or you want to tweak the design of a popup that only comes up after a certain action happened.
Furthermore, we started to use the canvas remounting to also mean "invalidate the dom-walker cache". This meant that we started remounting the canvas when the Focus would change and lately, for unwrapping: the intention is a dom-walker reset, which we should be able to separately express.
Fix:
Instead of automatically remounting the canvas, if you change the code, the RESET_CANVAS button becomes 'active':
Look at the Refresh button on the right hand side:

Pressing that button would manually trigger a RESET_CANVAS action which remounts the canvas.
I also separated the logic for clearing the dom-walker cache so we can trigger that without remounting the canvas.
Commit Details:

next to the existing mountCount, I added canvasContentInvalidateCount and domWalkerInvalidateCount to the editor state
new RESET_CANVAS action increases mountCount
everything else just increases canvasContentInvalidateCount which makes the Reset Canvas button turn black
Plus I use domWalkerInvalidateCount where the true intention is to just reset the dom-walker cache.

@maltenuhn this PR is waiting for decision / design from you.
TLDR is that two years ago I eagerly introduced canvas remounting as a tool to make us better than React Fast Refresh – and didn't realize at the time that the price we pay is blinky images and components loosing their state.
This PR brings us inline with React Fast Refresh, but I don't know if that's what we want or not.
Rheese is right that the Reset Canvas button is not very noticable.

I've tried the test link but the code editor doesn't load for me there.

Basically the problem it was solving is that if you are working on the style object, if you write a value which React thinks is invalid, it will not remove the existing value.

I don't recall running into this issue much at all with CSB - not sure if that's driven by red squiggly lines, or if they also force a remount once lint errors are gone? In any event, I think the change here is fine as long as we follow it up with adequate linting and autocomplete. CMD+S to refresh the canvas also works for me.
Re button: we could slap a primary on it - right now it's meant more as a backup book of spells / magical mystery / have-you tried-turning-it-off.. button. But if we already map CMD+S to remount, perhaps no need? WDYT?

ping @balazsbajorics - did you want to talk about this further?

ping @balazsbajorics - did you want to talk about this further?

I think we should merge this as-is, and see how much we want to change the behavior once we used it for a few days!


Python function cannot decode the script

I have created a node

in python function I have added simple code like:

But I am getting an error like:
 s = s.decode(detect_encoding(s), 'surrogatepass')   File "C:\Users\user\AppData\Local\Continuum\anaconda3\lib\encodings\utf_32_le.py", line 11, in decode     return codecs.utf_32_le_decode(input, errors, True) UnicodeDecodeError: 'utf-32-le' codec can't decode bytes in position 16-19: code point not in range(0x110000)
Can anyone suggest any solution related to this? Like how can we use a python environment in node-red. Also I am using Anaconda environment how can I use it for node-red. I am using windows machine.

having the same issue. The json of my node-red application is pretty simple (check below). All the app does is inject a (json)message (  {"id": "datapoint1",     "value": "124.6215",     "timestamp": "1601477603842888960" }), the python function should forward it, and the debug node should receive it:
[{"id":"7bc803fa.fe25ac","type":"tab","label":"1","disabled":false,"info":""},{"id":"d3811b80.53c9e8","type":"inject","z":"7bc803fa.fe25ac","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"  { \"id\": \"datapoint1\",     \"value\": \"124.6215\",     \"timestamp\": \"1601477603842888960\" }","payloadType":"json","x":240,"y":180,"wires":[["de1f02dd.008a9"]]},{"id":"de1f02dd.008a9","type":"python-function","z":"7bc803fa.fe25ac","name":"","func":"\nreturn msg","outputs":1,"x":490,"y":180,"wires":[["2b9229e3.b17286"]]},{"id":"2b9229e3.b17286","type":"debug","z":"7bc803fa.fe25ac","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":780,"y":180,"wires":[]}]

Well, I also facing the same issue. did you figure out how to do that.???

We discovered this on Windows, could you potentially share your OS version?
Anyway, on Windows 10 message passed to Python  is prepended by 16 bytes. had no time to investigate, ripping out the first 16 bytes worked, however on Windows sending message back is not working.

We discovered this on Windows, could you potentially share your OS version?
Anyway, on Windows 10 message passed to Python  is prepended by 16 bytes. had no time to investigate, ripping out the first 16 bytes worked, however on Windows sending message back is not working.

I can also confirm this on Windows 10

I can also confirm this on Windows 10

Ola, você pode dar um exemplo de como utilizar esse nó, não encontrei nada sobre o mesmo e tentei utilizar de todas as formas sem sucesso

2 years later same issue......
5 May 11:42:00 - [error] [python-function:40137cc40ebc0341] Traceback (most recent call last):
  File "<string>", line 67, in <module>
  File "C:\Python312\Lib\json\__init__.py", line 341, in loads

5 May 11:42:00 - [error] [python-function:40137cc40ebc0341]     s = s.decode(detect_encoding(s), 'surrogatepass')
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Python312\Lib\encodings\utf_32_le.py", line 11, in decode
    return codecs.utf_32_le_decode(input, errors, True)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
UnicodeDecodeError: 'utf-32-le' codec can't decode bytes in position 16-19: code point not in range(0x110000)
decoding with 'utf-32-le' codec failed

5 May 11:42:00 - [error] [python-function:40137cc40ebc0341] Python Function process exited with code 1


Output built image location after building

It would be very helpful to have the image location printed out at the end of the build process. That way I can copy it easily instead of needing to look in the config file or at timestamps for which one I built last.

I thought this would be an easy fix, but the full image location isn't actually known to EIB. EIB only knows about the directory mounted into the EIB container; it has no idea what directory on the host machine was used for the build. I'll add a message that shows the name of the built image, but there's no way to have it output the full location.


die not found

On Opensuse 15.5 line 74 complains about too few X in the mktemp template and then the 'die' command not being available: https://github.com/LangLangBart/gh-find-code/blob/8f5598f05c5eb16c1b03a8cdfe09559d4d970ab8/gh-find-code#L74
Maybe
#  gh-find-code (lines 139-142)
die() {
	echo ERROR: "$*" >&2
	exit 1
}

could be defined earlier to avoid the latter issue?

Thanks for the report. I will remove the die command from these two lines because the enabled errexit will terminate the script and provide sufficient information on its own.

about too few Xs in the mktemp template

I can reproduce the issue on macOS with mktemp after installing coreutils and adding /usr/local/opt/coreutils/libexec/gnubin to my PATH.
mktemp -dt test
# mktemp: too few X's in template 'test'

I will just remove the -t flag and its argument.

the enabled errexit will terminate the script and provide sufficient information on its own.

As a suggestion, maybe the following snippet helps localizing the error:
shopt -s inherit_errexit # enable errexit inside functions
error_handler() { # print the line where script errored out
  echo >&2 "Error: In ${BASH_SOURCE[0]}, Lines $1 and $2, Command $3 exited with Status $4"
  pr -tn "${BASH_SOURCE[0]}" | tail -n+$(($1 - 3)) | head -n7 | sed '4s/^\s*/>> /' >&2
  exit "$4"
}
trap 'error_handler $LINENO "$BASH_LINENO" "$BASH_COMMAND" $?' ERR

the enabled errexit will terminate the script and provide sufficient information on its own.

As a suggestion, maybe the following snippet helps localizing the error:
shopt -s inherit_errexit # enable errexit inside functions
error_handler() { # print the line where script errored out
  echo >&2 "Error: In ${BASH_SOURCE[0]}, Lines $1 and $2, Command $3 exited with Status $4"
  pr -tn "${BASH_SOURCE[0]}" | tail -n+$(($1 - 3)) | head -n7 | sed '4s/^\s*/>> /' >&2
  exit "$4"
}
trap 'error_handler $LINENO "$BASH_LINENO" "$BASH_COMMAND" $?' ERR

Thank you for the inspiration; it looks great.

Attempted to enhance the function by using bat for syntax-highlighting the error trace, which makes it easier to read.
set -o errtrace
# Enable 'errtrace' to ensure the ERR trap is inherited by functions, command substitutions and
# commands executed in a subshell environment.
error_handler() {
	echo
	echo "ERROR TRACE: ${BASH_SOURCE[0]##*/}:$1 command '$2' exited with status $3" >&2
	command "$bat_executable" --color always --number --language bash \
		--terminal-width $((${COLUMNS:-$(tput cols)} - 2)) --highlight-line "$1" \
		--line-range=$(($1 - 3)):+7 "${BASH_SOURCE[0]}"
	exit "$3"
}
trap 'error_handler $LINENO "$BASH_COMMAND" $?' ERR

Haven't decided to add it yet; it requires shuffling some code around.

Attempted to enhance the function by using bat for syntax-highlighting the error trace, which makes it easier to read.

That looks very nice indeed. Bash scripting is becoming comfortable...


Added malayalam Localization

new file ml.js
:star:

Thank you very much~

Sorry, I can not see the traviceCI result on git app, so please check the test result, and fixed it.

#19 ml is added.


Why does file youtube-dl output "youtube-dl: data"?

I'm 70% sure I tried the latest `file' command, and yet this still happens:
cd ~/Downloads #good
wget https://yt-dl.org/downloads/latest/youtube-dl #good
file youtube-dl #bad
youtube-dl: data
What is this file? How is it executable? This is wrong. If `file' can't detect the filetype, how can the OS?

It's a zipped python app.

And yet there is no indication otherwise by file'. Is there a file' magic file that can at least say something like:
youtube-dl: Stand-alone python zip executable

Wrong:

$ file youtube-dl
youtube-dl: a /usr/bin/env python script executable (binary data)

What? That's impossible!
psycho23@shiva ~ $ file --version
file-5.14
magic file from /etc/magic:/usr/share/misc/magic
psycho23@shiva ~ $ cat /etc/os-release | grep PRETTY_NAME
PRETTY_NAME="Ubuntu 14.04.3 LTS"

5.14 is 4 years old.


[FLINK-4115] FsStateBackend filesystem verification can cause classpath exceptions

There are two changes to FsStateBackend to avoid classpath exceptions when submitting a job from a Flink client which does not have the necessary file system classes on its classpath:

The filesystem is no longer initialised in the FsStateBackend constructor
The verification checks for the checkpoint directory in the FsStateBackend constructor are skipped if Flink does not have built-in support for the URI scheme

Thanks for the PR! I'll have a look and try and figure out if it's the right way to go.

Thanks for your work again! I merged it. 😃

Cool, thanks!


seccomp=profile.json path isn't relative

How is a path to a seccomp profile file specificed?
The doesn't work when seccomp.json is in same folder as devcontainer-feature.json
{
  "securityOpt": ["seccomp=seccomp.json"]
}

seccomp accepts a path https://docs.docker.com/engine/security/seccomp/
$ docker run --rm \
             -it \
             --security-opt seccomp=/path/to/seccomp/profile.json \
             hello-world

Perhaps you have the wrong repository to create the issue?
That sounds like an https://github.com/devcontainers/cli problem.

you're probably right. Reposting there :)


Problems with vite

Do not know how to load path  pockebase
On solid-start-0.2.5, with SSR and without SSR enabled

Could you provide a little more details - what PocketBase JS SDK version do you use, how are you loading the SDK, do you use TypeScript, etc.

I cannot reproduce the issue.
I've tested with the default solid-start template:

npm init solid
npm install pocketbase --save
Initialized the client using the ES import:import PocketBase from "pocketbase";

const pb = new PocketBase("https://pocketbase.io");

I'll close the issue because I don't think it is related to the SDK but feel free to provide more details about your setup and I'll try to help.

Here are my dependencies
 "devDependencies": {     "solid-start-node": "^0.2.0",     "typescript": "^4.8.4",     "vite": "^3.1.8"   },   "dependencies": {     "@solidjs/meta": "^0.28.0",     "@solidjs/router": "^0.5.0",     "pocketbase": "0.8.0-rc4",     "solid-js": "^1.6.0",     "solid-start": "^0.2.0",     "undici": "^5.11.0"   }
The src/routes/index.tsx file to reproduce the issue :
import { Title } from "solid-start";
import Counter from "~/components/Counter";
import PocketBase from "pocketbase";
import { createServerAction$ } from "solid-start/server";

export default function Home() {
const pb = new PocketBase("http://<IP_ADDRESS>:8090");

const data = {
  username: "test_username",
  email<EMAIL_ADDRESS>  emailVisibility: true,
  password: "12345678",
  passwordConfirm: "12345678",
  name: "test",
};

const [acting, act] = createServerAction$(async (args) => {
  // do something
  const record = await pb.collection("users").create(data);
  // (optional) send an email verification request
  await pb.collection("users").requestVerification("dishankbhoyar@gmail.com");
});

return (

    <Title>Hello World</Title>

Hello world!

    <Counter />

      Visit{" "}

        start.solidjs.com
      {" "}
      to learn how to build SolidStart apps.

    <button onClick={() => act()}>click me</button>

);
}

And this is the error

@ganigeorgiev trying pocketbase for first time, unsure how to setup in this case.

@DivyanshuBhoyar
I'm not sure what is the reason for the error and as mentioned previously I cannot reproduce it with the starter template (aka. npm init solid).
Make sure that the PocketBase JS SDK was instanlled by checking if there is a pocketbase folder inside your node_modules (also you can use the latest PocketBase 0.8.0 release).
Also make sure that the PocketBase binary is not placed inside the src/routes/ directory, because depending how your node resolver is configured it is also possible that import PocketBase from "pocketbase" will try to load the binary instead of the node module.
As an alternative you can also start from scratch and try to reproduce the error by initializing new starter template (aka. npm init solid).

Thanks @ganigeorgiev
Renaming pocketbase binary to pocketbase-bin seems to solved the problem with same code.


Feature request: ability to extract a portion of a page as image

Hi, I'm not really sure if this qualifies more as a feature request or as a question.
I got interested in pdfminer because I want to contribute to a downstream project : pdfannots (python script that extracts pdf annotation to markdown).
I decided to reach out to you at the end of this issue thread
My goal is to implement a way to extract rectangular selection annotation from a pdf as images in my markdown files.
However, after reading your docs I can't be certain that this is not already possible, because "image" in this topic always mean "image inside the pdf" instead of "rendering the pdf as image".
I really hope that here is the correct place to ask this : could you tell me if it's possible to turn a specific location of a pdf page to an image? And if not, can you consider implementing this? Or can you recommend another method?
Thanks a lot!

It may be hard to find a way of doing this that is compatible with keeping the package MIT unless the functionality was optional on install as pretty much all of the Python packages that convert a page to an image are dependent on copy left licences.

Currently it is not possible to convert (a portion of) a PDF to images with pdfminer.six.
Perhaps you could use py-pdf-parser made by @jstockwin. Or use it as inspiration.

Thank you both for the quick answer and the suggestion. I'll think about it more.


Memory card dev

Merge memory-card-dev into master branch.

@huan merge  memory-card-dev branch into master branch. Need you to approve it.


domNodeIsReferenced is over-checking

The basic strategy to work out if a sub tree is referenced is to find the root then check if any  nods in the tree can be referenced, What this function is actually doing is:
// scan siblings and children
for (cur = self; cur != NULL; cur = cur->next) {
    xmlNodePtr kids = cur->children;
    if (cur->_private != NULL
        || (kids != NULL && domNodeIsReferenced(kids))) {
    ...
   }

So its revisiting peers that have already been referenced check by its parents.

Needs a simple refactor to only visit heck nodes at this point.

It was actually under-checking after 286a717 - fortunately pick up when running tests through valigrind.
We do need to examine sibling nodes, but just once at the top level. Refixed with eed1ec1.


Problem with transcripts being only partially retrieved

Hi, thx for developing the plugin.
Unfortunately, I get transcripts missing text at the end.

Hi! Thanks for your comment :)
Please provide link and info from which timestamp transcript is missing. Please also check if you can retrieve this missing part from transcript option directly on youtube

Eg: https://www.youtube.com/watch?v=4gFi285OhrQ --- a fairly long video.
If I want all the text, I change the lines in settings to say 50 or 60.
What it does is grab some batches, with an exception of the last one.
If I change then back to 5, I can see them coming through. Same again, except the last batch which would be less than 5.
If I change then to15, I can see those final lines.
I think an option for those wanting to copy the entire transcript as raised in:
https://github.com/lstrzepek/obsidian-yt-transcript/issues/8
... might be to set it to 1000, bit this brings back nothing as of now.
Hope this helps you get to the source of the issue.
Love the plugin, just these fine-tuning bits I feel will make it an everyday tool for me!

Sorry I can't reproduce this issue. For mentioned video I'm getting following transcript: "[Applause] the science delusion is the belief that science already understands the nature of reality ...... life affirming thank you [Applause] you"
I have it through "Copy all" option. Please check again

That's perfect. I actually just hadn't thought to right click!
It might be a worthy enhancement to put it up visibly as an icon up top.
https://lucide.dev/icon/clipboard-copy?search=copy

Thanks for feedback! I'll check what is possible to make it more visible 🙂


Add a feature to analyze collected viral

[x] #82
[x] #78
[x] #76
[x] #77
[ ] #53
[ ] #79

Add a feature: qty analysis - by source by day

Add a feature: qty analysis - by source by keyword by day

Eleminate last year, last month dataframe


Minimum of Numbers Python

Why:
Closes https://github.com/codinasion/codinasion/issues/90
What's being changed:

Added a Python program that prints the minimum of given numbers

Check off the following:

[x] I have reviewed my changes in staging (look for "Automatically generated comment" and click Modified to view your latest changes).
[x] For content changes, I have completed the self-review checklist.

Preview : https://codinasion--pr16-dev-2cf6nybl.web.app/programme/minimum-of-numbers/
(expires Wed, 02 Mar 2022 17:36:37 GMT)

LIVE : https://codinasion.web.app/programme/minimum-of-numbers/


Setting up authorization and authentication.

Create an authentication controller with below-mentioned methods. (Use JWT to authorize user as it will help when the project will scale, sessions maintenance is costly).
1.For user -
login, register, getCurrentUserDetails, forgotPassword, resetPassword, roleCheck

For admin -
login, getCurrentAdminDetails, forgotPassword, resetPassword.

For publisher -
login, getCurrentPublisherDetails, forgotPassword, resetPassword.

All method names are self-explanatory.
roleCheck function - this will be a middleware function to check if the routes being accessed by the user are permitted to him/her or not.
For example - admin routes can not be accessed by user.

I am interested to work on this issue.

I want to work on this issue please


Update popover.ts

Short description of what this resolves: Documenation of Popover's dismiss behavior.
Changes proposed in this pull request: Documentation / comments only
Ionic Version: 2.x
Fixes:
Clarify that that unfortunately-named Popover.onDidDismiss() is not a callback, but rather sets up an arbitrary callback. Also explain dismiss()'s argument and its relation to said callback.

Thanks!


Update

Which classical function are you going to use for your task guys? I saw there is  no any update to your repository.

Yes I have same question?

@tirthbha Please check issue section of your group. we are using periodic time function.

Yeah, we can, but it will be better for us to observe at your repository.

From: pratibha77118 @.>
Sent: Tuesday, October 3, 2023 11:05 AM
To: ubsuny/23-Homework3G1 @.>
Cc: Tirth Bhatta @.>; Mention @.>
Subject: Re: [ubsuny/23-Homework3G1] Update (Issue #16)
@tirthbhahttps://github.com/tirthbha Please check issue section of your group. we are using periodic time function.
—
Reply to this email directly, view it on GitHubhttps://github.com/ubsuny/23-Homework3G1/issues/16#issuecomment-1745384400, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BCH6UVYL6E3YXMLOL57VNVTX5RAUNAVCNFSM6AAAAAA5RHZU6KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONBVGM4DINBQGA.
You are receiving this because you were mentioned.Message ID: @.***>


Simulating Pulse Trains

Please describe the expected enhancement
Context

Simulating some pulse trains by simulating every single time step is inefficient
Some pulse segments can be simulated in a single step with a unique analytical unitary form/creation method

e.g. single qubit rotation gates or Jaynes-Cummings unitaries

Some pulse segments are simulated using ordinary simulations of time-dependent systems

e.g. simulating a transmon under a drag pulse field

Some pulse segments will be repeated in a pulse train while others will be differ from prior segments by only some single-step post-processing

e.g. the unitary of the falling edge of a smooth trapezoidal pulse is the transpose of the rising edge unitary

Suggested Implementations
Instead of using nested simulations to simulate these pulse trains, we should use nested protocols:
risingEdge = qg.pulse(system=total_sys, simulation=simulation)
flatTop = qg.protocol(system=total_sys, createUnitary=qg.UJC)
fallingEdge = risingEdge.transpose

pulseTrain = qg.protocol(steps=[risingEdge, flatTop, fallingEdge])

There are some key points to this implementation:

The pulseTrain protocol generates its unitary in a single step, getting the unitaries from each of the protocols nested within it
Here risingEdge is a special protocol class: a pulse object. These objects generate their unitaries using their own simulation
The flatTop protocol generates its unitary in a single step using any user-defined function. Here, its unitary creation method points at the built in UJC function
The fallingEdge object is a copyStep whose superSys is the risingEdge pulse object. The unitary is generated and stored within itself by applying any user defined function to the unitary of the risingEdge object. Here, the function is a transpose function, however, risingEdge.fnName for any arbitrary user-defined function fnName will suffice.

Note the unitary for fallingEdge should be stored within ITSELF

Let's discuss and divide it into tasks that we can individually implement. we want:

[ ] to be able to create the unitary of a protocol/step by running its internal simulation (I think this will be implemented as part of #211 ?). we may not need a new class for this.
[ ] to be able to use user-defined methods for unitary creation instead of simulation
[ ] a generic method to be able to apply any matrix operation on protocol unitary to use it as another step of the protocol

[ ] to store the transformed unitary in the copy-step but still be _paramUpdated aware.

Is this list complete?

Hey Cahit,
Sorry for getting back late, but yes, this list is complete :)
Just some notes in response to the first dot point:

I think the use of a protocols own simulation object to generate its
unitary falls outside of issue #211
Issue #211 is less of a priority for simulating pulse trains, since
#212 now completely encompasses the tools needed to do this

Issue #211 can now focus on the niche function of nested simulation
objects
This functionality doesn't have any clear purpose now that we have
the proposed functionalities of issue #212, but it may prove useful down
the track

Although creating a new class may not be necessary for the
implementation of of issue #212, I think it makes it clear to users how the
unitary will be generated for any given set of nested protocols

In fact, I think it is more conceptually consistent to create a new
child class (perhaps called "pulse")
Any implementation where the protocol uses its own simulation to
generate the unitary requires that the _createUnitary method
point to some
function where the protocol's simulation object is run
Currently, all protocol child classes are more specialised protocol
classes which generate specific types of unitaries
The main variance between these child classes is what function
their _createUnitary method points to
It makes sense to me that we should have a new protocol child class
which specialises in generating unitaries from their simulation objects

On Fri, Oct 14, 2022 at 1:51 AM Cahit Kargı @.***>
wrote:

Let's discuss and divide it into tasks that we can individually implement.
we want:

to be able to create the unitary of a protocol/step by running its
internal simulation (I think this will be implemented as part of #211
https://github.com/CirQuS-UTS/QuanGuru/issues/211 ?). we may not
need a new class for this.
to be able to use user-defined methods for unitary creation instead
of simulation
a generic method to be able to apply any matrix operation on
protocol unitary to use it as another step of the protocol

to store the transformed unitary in the copy-step but still be
_paramUpdated aware.

Is this list complete?
—
Reply to this email directly, view it on GitHub
https://github.com/CirQuS-UTS/QuanGuru/issues/213#issuecomment-1277740762,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APANT345BT466URZ6DAY6NDWDAOWRANCNFSM6AAAAAARB36AYM
.
You are receiving this because you were assigned.Message ID:
@.***>

Yes, this list is complete :)
Just some notes in response to the first dot point:

I think the use of a protocols own simulation object to generate its unitary falls outside of issue #211
Issue #211 is less of a priority for simulating pulse trains, since #212 now completely encompasses the tools needed to do this

Issue #211 can now focus on the niche function of nested simulation objects
This functionality doesn't have any clear purpose now that we have the proposed functionalities of issue #212, but it may prove useful down the track

Although creating a new class may not be necessary for the implementation of issue #212, I think it makes it clear to users how the unitary will be generated for any given set of nested protocols

In fact, I think it is more conceptually consistent to create a new child class (perhaps called "pulse")
Any implementation where the protocol uses its own simulation to generate the unitary requires that the _createUnitary method point to some function where the protocol's simulation object is run
Currently, all protocol child classes are more specialised protocol classes which generate specific types of unitaries
The main difference between these child classes is what function their _createUnitary method points to
It makes sense to me that we should have a new protocol child class which specialises in generating unitaries from their simulation objects


Unit Test Failure in Flutter Master: "host_cross_arch.shard" Test Case

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce

Install Android Studio Giraffe | Version 2022.3.1 Patch 4.

Clone the Flutter packages repository: git clone flutter/flutter

Use the Pixel 7 API 34 emulator.

Run the following commands in the console:

cd flutter
cd packages/flutter_tools && flutter test test/host_cross_arch.shard >> flutter-host_cross_arch.shardM-logs.txt

Expected results
Successful execution of all tests.
Actual results
The "host_cross_arch.shard" test case fails.
Code sample
Code sample
[Paste your code here]

Screenshots or Video

Screenshots / Video demonstration
[Upload media here]

Logs
Logs
00:40 +1 -1: /Users/josefinadiz/Desktop/frame/flutter/packages/flutter_tools/test/host_cross_arch.shard/ios_content_validation_test.dart: iOS app validation build in debug mode flutter build ios builds a valid app [E]

  Expected: <0>

    Actual: <1>

  package:matcher                                                     expect

  test/host_cross_arch.shard/ios_content_validation_test.dart 144:11  main.<fn>.<fn>.<fn>

  dart:async                                                          runZoned

  test/src/common.dart 214:14                                         testWithoutContext.<fn>

  test/src/common.dart 183:18                                         test.<fn>

flutter-host_cross_arch.shardM-logs.txt
Flutter Doctor output
Doctor output
 [✓] Flutter (Channel master, 3.17.0-10.0.pre.42, on macOS 14.0 23A344 darwin-arm64, locale en-US)

Flutter version 3.17.0-10.0.pre.42 on channel master at /Users/josefinadiz/Desktop/flutter/flutter

Upstream repository GitHub - flutter/flutter: Flutter makes it easy and fast to build beautiful apps for mobile and beyond

Framework revision e9de448420 (19 hours ago), 2023-11-17 02:08:13 +0100

Engine revision 5064aeff00

Dart version 3.3.0 (build 3.3.0-143.0.dev)

DevTools version 2.30.0-dev.4

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)

Android SDK at /Users/josefinadiz/Library/Android/sdk

Platform android-34, build-tools 34.0.0

Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java

Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231)

All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.0.1)

Xcode at /Applications/Xcode.app/Contents/Developer

Build 15A507

CocoaPods version 1.12.1

[✓] Chrome - develop for the web

Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.3)

Android Studio at /Applications/Android Studio.app/Contents

Flutter plugin can be installed from:

      🔨 Flutter - IntelliJ IDEs Plugin | Marketplace

Dart plugin can be installed from:

      🔨 Dart - IntelliJ IDEs Plugin | Marketplace

Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231)

[✓] VS Code (version 1.84.2)

VS Code at /Applications/Visual Studio Code.app/Contents

Flutter extension version 3.76.0

[✓] Connected device (2 available)

macOS (desktop) • macos  • darwin-arm64   • macOS 14.0 23A344 darwin-arm64

Chrome (web)    • chrome • web-javascript • Google Chrome 119.0.6045.159

[✓] Network resources

All expected network resources are available.

@rzambroni Please make sure to check the repository in the issues you are filing; several have listed flutter/packages instead of flutter/flutter, which causes mis-routing.

Assigning to myself to improve this test to use the ProcessResultMatcher.

Actually, the full logs DO have the process result stdout and stderr, and this is the true error:
[  +10 ms] Application not configured for iOS
[        ]
           #0      throwToolExit (package:flutter_tools/src/base/common.dart:10:3)
           #1      _BuildIOSSubCommand.buildableIOSApp.<anonymous closure> (package:flutter_tools/src/commands/build_ios.dart:617:7)
           <asynchronous suspension>
           #2      _BuildIOSSubCommand.runCommand (package:flutter_tools/src/commands/build_ios.dart:648:33)
           <asynchronous suspension>
           #3      FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1388:27)
           <asynchronous suspension>
           #4      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:153:19)
           <asynchronous suspension>
           #5      CommandRunner.runCommand (package:args/command_runner.dart:212:13)
           <asynchronous suspension>
           #6      FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:349:9)
           <asynchronous suspension>
           #7      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:153:19)
           <asynchronous suspension>
           #8      FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:294:5)
           <asynchronous suspension>
           #9      run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:118:9)
           <asynchronous suspension>
           #10     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:153:19)
           <asynchronous suspension>
           #11     main (package:flutter_tools/executable.dart:90:3)
           <asynchronous suspension>

I'm not sure why we're seeing this error, however I doubt it is at all related to Android Studio version, so I will close this.


created a symlink for python virtual environment

Created a symlink "stream_example.yml" to test the method process_compiler_config
Added test to test_builders.py

@Mariamajib Please assign this PR to yourself
Please retitle this PR to be a message about the general objective

@Mariamajib Make sure to link your issue to this pull request.

Please retitle your pull request to point towards the overall objective of your issue.
@Mariamajib Please assign this to yourself

@Mariamajib please remove the .swp file

The tests all ran to completion; however, something I noticed is that coverage was not added to the file specified in the original issue. Instead, Coverage was added to 3 different files as seen here
@shahzebsiddiqui What would be the next steps?

I discovered that the coverage was added to the file specified in the original issue base.py but it was under the indirect changes @shahzebsiddiqui @Mendi03 . Here is the link https://app.codecov.io/gh/buildtesters/buildtest/pull/1515/blob/buildtest/builders/base.py

You're right! Let's wait and see what @shahzebsiddiqui has to say


GE Make load state more obvious

In our most recent user research sessions for Gene Expression we found that the loading indicator was easily missed, people were not sure if the application was responding to their feedback or just broken.
This work ticket captures the work to improve the loading state to make it more obvious when results are loading.
cc @hthomas-czi for design, @ainfeld for analytics, @signechambers1 for product questions
UX Design
Figma
Skeleton Loader Animation Example (MUI)

Figure out what is feasible technical wise, and scope prior to taking on ticket! Thanks!


Add support for LocalListener

As opposed to the ClusterListener this listener will only listen to the local event bus.
Possible listeners in the future

email listener
sms listener
filesystem listener

Local subscribers are handled internally.


How to do a complex query in AWS Amplify?

With Amplify API I am trying to implement something like a social network website. In the website, users can follow people and add posts. In the timeline, users can see the posts of people they follow.
Schema is something like this:
type User @model {
  id: ID!
  name: String!
  following: [UserFollow] @connection(name: "UserFollowing")
  followers: [UserFollow] @connection(name: "UserFollowers")
  posts: [Post] @connection(name: "UserPosts")
}

type Post @model {
  id: ID!
  content: String
  user: User @connection(name: "UserPosts")
}

type UserFollow @model {
  id: ID!
  user: User @connection(name: "UserFollowing")
  followee: User @connection(name: "UserFollowers")
}

While implementing the timeline feature, I need to do a listPosts query.
let filter = {
    // need help with this.
};
const result = await API.graphql({ query: listPosts, variables: { filter: filter}}));

Can somebody please help me with implementing the filter?
I asked this sometime back here https://github.com/aws-amplify/amplify-cli/issues/7798 but github is not allowing me to reopen the issue when closed by the contributor.

what have you tried? have you read the documentation on graphql filters? More detailed documentation can be found in the AppSync docs as well

Yes I have read these.
I was thinking of first fetching all the followees of the user and then adding all of the followee user ids in an OR filter.
This had two problems

It needs two queries. It would be much simpler if we could do this directly in one call.
graphql listPosts query was not allowing to filter on connection field. Any user related field was not there in the generated code.

You can use
@key(name: "byUserid", fields: ["ID"])
or
@key(name: "byUsername", fields: ["name"])

Thanks @rudyhadoux. This will solve problem 2.
Is there any solution for problem 1?

What is exactly Problem 1 ?

I proposed one solution that we first query the followee list of the user and then filter the posts using the followee list. This method involves two API calls. Is there any way to do it in one?

I do not understand "the posts using the followee list". What do you mean ?

@rudyhadoux can you please provide a sample code for the filter? I think that you as thinking of some other way to query.

I can't ask you because I do not understand your question. Sorry.
Read this whole page.
https://docs.amplify.aws/cli/graphql-transformer/dataaccess

Let me explain in more detailed form.
I want to get posts of the people that a user follows.
This is one way to do it:

const getFollowees = async (userId: string) => {
    // Makes a graphql call to get the userIds of users which the user follows.
    const result = await API.graphql ( { query: listUserFollows, variables: { filter: { 'userId': userId } } } ) );
    return result.data.items;
}

let filter = {
    'or' : [ ],
};

for(var user in getFollowees(userId)) {
    filter['or'].append( { 'userId' : user.id } );
}

const followeePosts = await API.graphql({ query: listPosts, variables: { filter: filter} } ) );

The problem with this approach is that it involves two API calls: listUserFollows and listPosts. I want to do it in one API call only. I want to find a way to do this.

Don't use filters but only @key.
Everything you need is here :
https://docs.amplify.aws/cli/graphql-transformer/dataaccess
To get the posts of the people that a user follows, you have to add results from a loop of requests with :
@key(name: "byUserName", fields: ["name"])

If you add A MEMBER posts to UserFollow (like User), you can have all posts of following or/and followers.
With :
@key(name: "byUserFollowing", fields: ["following"])    OR
@key(name: "byUserFollowers", fields: ["followers"])

Note that we would want to support pagination. For that the results have to be in a single query call.

It is a many-to-many.
https://docs.amplify.aws/cli/graphql-transformer/connection#many-to-many-connections
I can't help you any more sorry.

I think I have found what you need here :
https://github.com/aws-amplify/amplify-cli/issues/4106

I don't think that #4106 is applicable to my question.  Please paste a code snippet if you got the solution.

Already done. Bye.

Thanks for helping but it will not work.
@johnpc Can you please help.

Alright, I can add a couple more alternatives:

following the many-to-many documentation and traversing the graphql structure

here is an example of that method in action and here is the underlying source code. What you might not like about this is that, although it can initially be fetched in a single request, each followee is paginated independently.

following the lambda resolver docs to write a custom script

here is an example of that method in action and here is the underlying source code. For this method, you'll have to add your own pagination logic to the lambda function. If you have highly relational data, it might be easier to use RDS instead of dynamo db as your data store.
There are a number of ways to implement what you're trying to do and the optimal solution for you depends on the specifics of your app. Amplify provides the tools you need to invent creative solutions but there's not a catch-all best answer in this case.

Thanks @johnpc. This answers my question.


ci.yml Include Only Proof of Concept

This PR is a proof of concept where ci.yml, ci.data.yml, and ci.mgmt.yml configurations are updated to use include paths only when configuring what triggers build. Previously, both a generic include and specific exclude paths were being used to determine build triggering which led to drift over time where new sub-paths were not being excluded when expected leading to additional builds being triggered.

@weshaggard

@weshaggard


Initialize Spring boot project

use:

[ ] Maven

Hi, I would like to contribute in your project.

Hi, no thanks, it's a simple school exercise.


ES 6.0 deprecation: path.data CANNOT contain cluster name

Module version: any
Puppet version: any
OS and version: any

Feature Description
I stumbled upon this deprecation warning:
[2017-06-01T14:16:14,014][WARN ][o.e.d.e.NodeEnvironment  ] ES has detected the [path.data] folder using the cluster name as a folder [/opt/elasticsearch/data/dev_something], Elasticsearch 6.0 will not allow the cluster name as a folder within the data path

Keeping in mind this breaking change will cost a lot for someone :cactus: ...
The module is adding the cluster name, probably to handle multiple installs on the same machine, which is a nice idea, but makes it incompatible with 6.0...

@lucabelluccini I tried to reproduce this a few different ways but couldn't get Elasticsearch to emit the types of logs you're seeing. The module doesn't interpolate the cluster name anywhere into the data path - by default on most linux systems, the module will define path.data as /var/lib/elasticsearch/$instance without the cluster in the path, just the instance name. Do you have an example manifest that causes the behavior?

Hello @tylerjl
the culprit is the usage of the cluster name as instance name, but I didn't saw anything wrong doing so (and I do not understand why it should be forbidden).
I am using hiera, strongly relying on it.
Given the hierarchy

role (elasticsearch)
cluster (phase_project)
fqdn (hostname.domain)

Here it is a sample of each
Role level: elasticsearch.yml
---
classes:
  - profile::elasticsearch

profile::limit::memlock::user: 'elasticsearch'
profile::limit::memlock::value: 'unlimited'
profile::limit::nproc::user: 'elasticsearch'
profile::limit::nproc::value: '50000'
profile::limit::nofile::user: 'elasticsearch'
profile::limit::nofile::value: '65536'
profile::sysctl::vm__max_map_count::value: '262144'

java::repository: 'http://ayumrepo/java'
java::version: '1.8.0_102-1'
java::package: 'oracle-jdk8'
java::symlink: {
  'source': '/usr/lib/jvm/java-1.8.0-oracle',
  'target': '/usr/lib/jvm/java-1.8.0-oracle-1.8.0_102.x86_64'
}

profile::elasticsearch::java_home: '/usr/lib/jvm/java-1.8.0-oracle'

elasticsearch::init_defaults:
  MAX_LOCKED_MEMORY: 'unlimited'
  MAX_OPEN_FILES: 65535
  MAX_MAP_COUNT: 262144
  JAVA_HOME: '/usr/lib/jvm/java-1.8.0-oracle'

profile::elasticsearch::ssl_files_path: /opt/elasticsearch/ssl

Cluster level: phase_project.yml
---
profile::elasticsearch::repository: 'http://ayumrepo/elastic-5.x/'

elasticsearch::version: '5.4.0'
elasticsearch::security_plugin: 'x-pack'

elasticsearch::config:
  cluster.name: "%{::cluster}"
  network.host: "%{::hostname}"
  http.enabled: True
  http.port: 9200
  transport.tcp.port: 9300
  bootstrap.memory_lock: True
  bootstrap.system_call_filter: False
  action.destructive_requires_name: true
  discovery.zen.minimum_master_nodes: 2
  discovery.zen.ping.unicast.hosts: ['hostname0.domain', 'hostname1.domain', 'hostname2.domain']
  xpack.monitoring.enabled: False
  xpack.security.enabled: True
  xpack.watcher.enabled: False
  xpack.graph.enabled: False
  xpack.ml.enabled: False
  xpack.security.audit.enabled: True
  xpack.security.audit.outputs: [ logfile ]
  xpack.security.audit.logfile.events.exclude: ['access_granted', 'authentication_success']
  xpack.security.dls_fls.enabled: True
  xpack.security.authc.accept_default_password: false
  xpack.security.authc.anonymous:
    username : anonuser
    roles : ['monitoring']
    authz_exception : true
  xpack.security.authc.realms:
  ...

elasticsearch::plugins:
  'x-pack':
    url: 'https://somewebserver/elasticsearch-5-plugin/x-pack-5.4.0.zip'

profile::elasticsearch::logdir: '/opt/elasticsearch/log'

Fqdn level: hostname0.domain
profile::elasticsearch::datalvm_lv_size: 50G
profile::elasticsearch::loglvm_lv_size: 150G

elasticsearch::jvm_options: ['-Xms1800M', '-Xmx1800M']
elasticsearch::instances:
  "%{::cluster}":
    config:
      node.name: "%{::hostname}"
      node:
        master: True
        data: False
        ingest: False
        ml: False

@lucabelluccini so, I can't reproduce the issue, but I trust that it's happening in your environment for some reason. If Elasticsearch won't let you name the data directory with the cluster name in the path for some reason, there are a few options:

You can set your data paths directly on the instance with datadir, which won't append the instance name as a directory to the data path.
You could use the elasticsearch::datadir_instance_directories parameter to tell the module not to create dedicated directories for instances.

Although moving those data directories will be painful for existing deployments, it sounds like it's a backwards-incompatible change making its way into 6.x so it'll just have to be part of the upgrade process, but the module should fully support helping you deploy it in a way that's compatible with what 6.x expects.

I think I'll remove all the instances and recreate them when moving to 5.4.1.
Data path and log paths are separate and I can manage them via a rename.

Sounds good. Do you think there's any changes that need to be made in the module for the issue, either in the documentation or any of the class/instance defaults? Or should this issue be closed?

Hello @tylerjl, thank you as usual for the great help.
No explicit problem in the puppet module itself. I didn't saw this issue coming.
I think I'll keep the cluster name as name of each instance

we explicitly forbid to install multiple instances on the same VM
the command on each node will be the same (E.g. service name)

I'll use

the datadir_instance_directories: false
the datadir: /somewhere_without_clustername
copy/move the existing data folder to point /somewhere_without_clustername

I am going to close this.
Sorry for the provoked noise.

FYI
With an additional investigation, I found out the problem was the fact we migrated from Elasticsearch 2.4 to 5.x
Elasticsearch 2.x was creating a new folder itself (so we ended up having /somepath/clustername/clustername/node...).
So the path.data can actually contain the cluster name.


Support for USB V/FAT/16/32 for Live CD Baremetal Installs

In order to run a baremetal install, it would be useful to have the ability to mount USB flash storage easily in order to grab cloud-configs and other necessary installation bits and pieces. It may currently be possible to mount ext2/3/4 formatted drives (still working on verifying that it is possible), but around our shop at least, most people keep their drives in a FAT-esque format for the widest cross-platform useability.
RancherOS Version: (ros os version)
0.8
Where are you running RancherOS? (docker-machine, AWS, GCE, baremetal, etc.)
baremetal

@k00p do you mean like https://github.com/rancher/os/pull/1898 ?

Yes. Closing this in favor of that. Thank you.


Support _redirects file in /public/_redirects and/or /{publish}/_redirects

per internal convo sparked by https://github.com/netlify/netlify-plugin-nextjs/issues/158#issuecomment-846070934 cc @zomars
our docs say to put _redirects in the publish dir, but since NoN was created way back, NoN has always looked for _redirects at the project root
perhaps we should support it being at all:

root
/public (per https://nextjs.org/docs/basic-features/static-file-serving)
/{publish_dir}

will be resolved by rewrite.


Add support for etherscan resolved checkpoints

What was wrong?
This adds support for a checkpoint URI that automatically resolves a trusted checkpoint via the etherscan API.
Relates to #892
How was it fixed?
I considered a different design for this initially, one that would have consulted the etherscan API in an async fashion at a later stage of the boot. But here's why I went for this instead:

Trinity already depends against the request library and that library is entirely synchronous

Making synchronous requests at this super early stage (it's pretty much the very first thing that happens) will only delay the boot a bit but doesn't cause trouble anywhere else so that might be acceptable

It's very simple. The whole change only happens on the argument parsing stage and is otherwise transparent (uses the existing checkpoint processing pipeline)

Usage: -beam-from-checkpoint="eth://block/byetherscan/latest"
To-Do

[x] Clean up commit history

[x] Add entry to the release notes

Cute Animal Picture

FYI, I'm :+1: with the current approach, but when we do want async requests: https://asks.readthedocs.io/en/latest/


Twilio demo that doesn't require internet

Any updates on this?

It's in https://github.com/hackclub/twilio-demo

Still in progress

I take that back. it is done, but needs to be tested. I'll close this issue

Let's reopen this until it's tested and deployed :-).

I've tested it locally. We might want to try it out with more than 2 numbers, but that's all I have.

@zachlatta I don't have access to convox right now. Would you be interested in deploying this when you have the time?

Does this require Convox? Could it be hosted on GitHub pages (i.e. does it use our modified Twilio library that works on the frontend or the default one)?
--
Zach Latta
Hack Club |<EMAIL_ADDRESS>On Jan 11, 2016, 1:17 AM -0800, Max<EMAIL_ADDRESS>wrote:

@zachlatta(https://github.com/zachlatta)I don't have access to convox right now. Would you be interested in deploying this when you have the time?
—
Reply to this email directly orview it on GitHub(https://github.com/hackclub/meta/issues/422#issuecomment-170479048).

@zachlatta It's a koa server.

This protects us from scenarios like Downtown High School, where people who are demoing don't have access to internet.

Ah, fair. Can you take point on deploying this and setting up auto-deploy?
You should have enough access to the Convox to deploy this and for the
auto-deploy, you can basically just copy and paste what's in the circle.yml
of hackclub/packrat and modify it for the repo you made for the demo.
On Mon, Jan 11, 2016 at 1:14 PM, Max Wofford<EMAIL_ADDRESS>wrote:

This protects us from scenarios like Downtown High School, where people
who are demoing don't have access to internet.
—
Reply to this email directly or view it on GitHub
https://github.com/hackclub/meta/issues/422#issuecomment-170691796.

--
Zach Latta
http://zachlatta.com
https://github.com/zachlatta
https://twitter.com/zachlatta

Is there a Hack Club official twilio account? My @hackclub.io twilio account was overextended and banned.

@MaxWofford you can create a new Twilio account for this with our promo code.

Wait, how does this work without an internet connection to Twilio?

@jonleung The server records every number that sends an SMS to it. It inspects the contents of the message looking for a secret phrase. Once the demo-er sends the secret phrase in SMS to the Twilio number, everyone gets a reply SMS.

The code should be pretty readable, feel free to check it out!

@MaxWofford Updates on this?

Oh, forgot to update the issue. @zachlatta removed the deployment from Convox because it was just  sitting there. If you ever need to spin it up, feel free to msg me.

Going to go ahead and close this :-).


Update README

Since this version is not kept up-to-date please point people to a more recent version (not mine though :)).

Merged, thank you!


Revert PR #3542

Closes #3616
Revert PR https://github.com/weaveworks/weave-gitops/pull/3542
Let's revert it for now and re-merge it after fixing this issue related to secret names.

Will this fix be available in a release soon? I think it might fix our issue upgrading the Helm chart from 4.0.17 to 4.0.18. We got this error in all our clusters:
reconciliation failed: Helm upgrade failed: template: weave-gitops/templates/role.yaml:26:13: executing "weave-gitops/templates/role.yaml" at <concat (or .Values.rbac.viewSecretsResourceNames .Values.rbac.viewSecrets) (list (or .Values.adminUser.secretName (include "chart.adminUserSecret" .)))>: error calling concat: runtime error: invalid memory address or nil pointer dereference

@erikgb yes, the new release is being cut and it will contain the fix. I will post a notification here when the new release is done.

@opudrovs The newest release seems to work like a charm. Thanks!


Statusline integration

I think this is the first multicursor plugin that is worth using in (n)vim for me and that's a big deal because i have a LOT of small features I have hacked around out of different approaches that can be potentially better addressed via multiple cursors.
One thing I noticed (and that we all really like) about this multicursor plugin is that you can actually do vim motions and manipulations and enter and exit visual mode when multiple cursors are active. It's insanely powerful and makes all the capabilities we set up in vim more powerful. it seems to even work with other plugins that modify behavior (e.g. spider which i use, the individual multicursors correctly word-hop and i didn't need to integrate anything).
As a result though it looks like we now stack on 2 more states, multicursor mode, and multicursor visual mode, and we use <esc> to exit them, that is to say if we end up in multicursor visual mode i have to hit esc 2 times to return to normal mode.
Sometimes it's possible to end up with cursors that are not in view and depending on what we configured for highlight it may be hard to see them. Even though it is possible to have binds to cycle the focused cursor around the set of multicursors i would definitely want to integrate the multicursor mode state into my statusline/bufbar/etc.
So I reckon I would just require('multicursor-nvim') from heirline config to do that... An example would be great though!

I'm not sure how status lines know when to update. I might need to add some sort of mode change event. For the time being you can use mc.hasCursors() to check whether virtual cursors exist, and then use vim.fn.mode() like you normally would. Visual cursor char mode = mc.hasCursors() and vim.fn.mode() == "v"
I'll play with this when I have time and put a working config in the readme somewhere.

I threw together a basic little statusline function:
---@function Function to render the MultiCursor statusline
---@return table status The MultiCursor status object
local function .mc_statusline()
  local mc = require("multicursor-nvim")
  local status = {}
  if mc.hasCursors() then
    status.enabled = true
    if vim.fn.mode() == "v" then
      status.icon = "󰚕 "
      status.short_text = "V"
      status.text = "VISUAL"
      status.color = "lualine_a_visual"
    else
      status.icon = "󰬸 "
      status.short_text = "N"
      status.text = "NORMAL"
      status.color = "lualine_a_normal"
    end
  else
    status.enabled = false
    status.icon = "󰘪 "
    status.short_text = "NO"
    status.text = "SINGLE"
    status.color = "lualine_a_normal"
  end
  status.icon_short_text = status.icon .. status.short_text
  status.icon_text = status.icon .. status.text
  return status
end

which I use in my lualine_a section after the mode:
{ -- MultiCursors
  function()
    return mc_statusline().icon
  end,
  cond = function()
    return mc_statusline().enabled
  end,
  color = function()
    return mc_statusline().color
  end,
  padding = { left = 0, right = 0 },
  separator = { left = "", right = "" },
}

if anyone wants something basic to start with

function CustomStatuslineFunction()
    local mc = require("multicursor-nvim")
    if mc.hasCursors() then
        local enabled = mc.numEnabledCursors()
        local disabled = mc.numDisabledCursors()
        return enabled .. " Cursor" .. (enabled == 1 and "" or "s")
            .. (disabled == 0 and "" or " [" .. disabled .. " disabled]")
    else
        return "multicursor inactive"
    end
end

vim.o.laststatus = 2
vim.o.statusline = "%{v:lua.CustomStatuslineFunction()}"

added mc.numCursors(), mc.numEnabledCursors() and mc.numDisabledCursors() which you can integrate into any statusline as shown above, or should be easy to integrate into any statusline plugin.

I don't think I'll bother adding an example statusline to the readme. The new signs means people don't need anything in their statuslines. I'll update the doc with these new functions though.

Sweet! The signs are nice, can be easily configured to be as visually salient as desired, and provide a LOT more information on cursor positioning compared to anything that can be done in the status line. Awesome.

Not a bad idea. I will open a new issue

Not a bad idea. I will open a new issue

all done


refactor: move from io/ioutil to io and os packages

What does this PR do?

The io/ioutil package has been deprecated in Go 1.16 (See https://pkg.go.dev/io/ioutil). This PR replaces the existing io/ioutil functions with their new definitions in io and os packages.

ioutil.Discard => io.Discard
ioutil.NopCloser => io.NopCloser
ioutil.ReadAll => io.ReadAll
ioutil.ReadDir => os.ReadDir (returns a slice of os.DirEntry rather than a slice of fs.FileInfo, this may improve performance in some cases as os.ReadDir is more efficient [1])
ioutil.ReadFile => os.ReadFile
ioutil.TempDir => os.MkdirTemp
ioutil.TempFile => os.CreateTemp
ioutil.WriteFile => os.WriteFile

Motivation

Code cleanup to replace deprecated functions.
Additional Notes

No user-facing changes introduced.
Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

All tests should continue to pass. go build should not fail.
Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the k8s/<min-version> label, indicating the lowest Kubernetes version compatible with this feature.
[ ] If applicable, the config template has been updated.

Rebased and resolved conflicts in
pkg/network/tracer/tracer_test.go
pkg/secrets/check_rights_windows_test.go


The problems that arise with distributed training using the dino model do not occur with deformable detr

RuntimeError: Expected to mark a variable ready only once. This error is caused by one of the following reasons: 1) Use of a module parameter outside the forward function. Please make sure model parameters are not shared across multiple concurrent forward-backward passes2) Reused parameters in multiple reentrant backward passes. For example, if you use multiple checkpoint functions to wrap the same part of your model, it would result in the same set of parameters been used by different reentrant backward passes multiple times, and hence marking a variable ready multiple times. DDP does not support such use cases yet.

I fixed the problem by changing with_cp in the configuration file to False, but I don't know why it happened

What is the function of this configuration item with_cp? Will it affect the training result? If anyone knows about this, please let me know. Thank you very much

with_cp means the number of checkpointing layers in the transformer encoder. It only affects the training memory and speed.

with_cp表示变压器编码器中的检查点层数。它只影响训练记忆和速度。

Thank you very much. I am a novice, I would like to ask what graphics card you use for training, I can not run Swin-L + DINO with 3090 24G video memory

We use A100 80G GPUs.
You can enable backbone checkpointing by setting use_checkpoint=True.

We use A100 80G GPUs.
You can enable backbone checkpointing by setting use_checkpoint=True.
Thank you very much. I'll try

hi @yimeng436
can u successfully run the [Swin-L + DINO] with use_checkpoint=True？

We use A100 80G GPUs.
You can enable backbone checkpointing by setting use_checkpoint=True.

hi @yimeng436
can v100 graphics card can train the ViT-L which get 66.0%mAP model with use_checkpoint=True？

hi @yimeng436 can u successfully run the [Swin-L + DINO] with use_checkpoint=True？

yeah, With this configuration I was able to successfully run with the co_dino_5scale_swin_large_3x configuration file. However, the co_dino_5scale_swin_large_16e_o365tococo file still does not work with the maximum data enhancement (1536, 2048)

model

I'm a newbie, I don't know how to use the ViT-L model, I just ran up with the author's profile

We use A100 80G GPUs.
You can enable backbone checkpointing by setting use_checkpoint=True.

hi @yimeng436 can v100 graphics card can train the ViT-L model which get 66.0%mAP with use_checkpoint=True？

I'm a newbie, I don't know how to use the ViT-L model, I just ran up with the author's profile。
I just want to ask how to use the ViT-L model to train, can you teach me

We use A100 80G GPUs.
You can enable backbone checkpointing by setting use_checkpoint=True.

hi @yimeng436 can v100 graphics card can train the ViT-L model which get 66.0%mAP with use_checkpoint=True？

I'm a newbie, I don't know how to use the ViT-L model, I just ran up with the author's profile。 I just want to ask how to use the ViT-L model to train, can you teach me

We have not released the ViT settings. And the 3090 GPU has insufficient memory to train the ViT-L model.

We use A100 80G GPUs.
You can enable backbone checkpointing by setting use_checkpoint=True.

hi @yimeng436 can v100 graphics card can train the ViT-L model which get 66.0%mAP with use_checkpoint=True？

I'm a newbie, I don't know how to use the ViT-L model, I just ran up with the author's profile。 I just want to ask how to use the ViT-L model to train, can you teach me

We have not released the ViT settings. And the 3090 GPU has insufficient memory to train the ViT-L model.

Thank you very much for your answer. Do you plan to release the configuration of VITL later

We use A100 80G GPUs.
You can enable backbone checkpointing by setting use_checkpoint=True.

hi @yimeng436 can v100 graphics card can train the ViT-L model which get 66.0%mAP with use_checkpoint=True？

I'm a newbie, I don't know how to use the ViT-L model, I just ran up with the author's profile。 I just want to ask how to use the ViT-L model to train, can you teach me

We have not released the ViT settings. And the 3090 GPU has insufficient memory to train the ViT-L model.

hi @TempleX98
can u share some configs about how to train the ViT model, like the what kind of graphics card  to use and the batch size, whether need gradient accumulation, and so on,
thanks.

@zimenglan-sysu-512 Hi, we may release the ViT model and config in the future. The model settings are presented in the appendix of our paper. We used 56 A100 80G GPUs with img_per_gpu set to 4 during pretraining. If you want to train this model with smaller graphics cards, you may need to use FSDP.

We use A100 80G GPUs.
You can enable backbone checkpointing by setting use_checkpoint=True.

hi @yimeng436 can v100 graphics card can train the ViT-L model which get 66.0%mAP with use_checkpoint=True？

I'm a newbie, I don't know how to use the ViT-L model, I just ran up with the author's profile。 I just want to ask how to use the ViT-L model to train, can you teach me

We have not released the ViT settings. And the 3090 GPU has insufficient memory to train the ViT-L model.

Hi, I used 3090 run Swin-L+DINO and could not achieve the accuracy difference of 0.8 mentioned in your paper. Is this normal?

We use A100 80G GPUs.
You can enable backbone checkpointing by setting use_checkpoint=True.

hi @yimeng436 can v100 graphics card can train the ViT-L model which get 66.0%mAP with use_checkpoint=True？

I'm a newbie, I don't know how to use the ViT-L model, I just ran up with the author's profile。 I just want to ask how to use the ViT-L model to train, can you teach me

We have not released the ViT settings. And the 3090 GPU has insufficient memory to train the ViT-L model.

Hi, I used 3090 run Swin-L+DINO and could not achieve the accuracy difference of 0.8 mentioned in your paper. Is this normal?

Can you show me your training log and config?

dataset_type = 'CocoDataset'
data_root = '/mnt/share/zyh/mmdetection-master/data/coco/'
img_norm_cfg = dict(
mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375], to_rgb=True)
train_pipeline = [
dict(type='LoadImageFromFile'),
dict(type='LoadAnnotations', with_bbox=True),
dict(type='RandomFlip', flip_ratio=0.5),
dict(
type='AutoAugment',
policies=[[{
'type':
'Resize',
'img_scale': [(480, 1333), (512, 1333), (544, 1333), (576, 1333),
(608, 1333), (640, 1333), (672, 1333), (704, 1333),
(736, 1333), (768, 1333), (800, 1333)],
'multiscale_mode':
'value',
'keep_ratio':
True
}],
[{
'type': 'Resize',
'img_scale': [(400, 4200), (500, 4200), (600, 4200)],
'multiscale_mode': 'value',
'keep_ratio': True
}, {
'type': 'RandomCrop',
'crop_type': 'absolute_range',
'crop_size': (384, 600),
'allow_negative_crop': True
}, {
'type':
'Resize',
'img_scale': [(480, 1333), (512, 1333), (544, 1333),
(576, 1333), (608, 1333), (640, 1333),
(672, 1333), (704, 1333), (736, 1333),
(768, 1333), (800, 1333)],
'multiscale_mode':
'value',
'override':
True,
'keep_ratio':
True
}]]),
dict(
type='Normalize',
mean=[123.675, 116.28, 103.53],
std=[58.395, 57.12, 57.375],
to_rgb=True),
dict(type='Pad', size_divisor=1),
dict(type='DefaultFormatBundle'),
dict(type='Collect', keys=['img', 'gt_bboxes', 'gt_labels'])
]
test_pipeline = [
dict(type='LoadImageFromFile'),
dict(
type='MultiScaleFlipAug',
img_scale=(1333, 800),
flip=False,
transforms=[
dict(type='Resize', keep_ratio=True),
dict(type='RandomFlip'),
dict(
type='Normalize',
mean=[123.675, 116.28, 103.53],
std=[58.395, 57.12, 57.375],
to_rgb=True),
dict(type='Pad', size_divisor=1),
dict(type='ImageToTensor', keys=['img']),
dict(type='Collect', keys=['img'])
])
]
data = dict(
samples_per_gpu=1,
workers_per_gpu=1,
train=dict(
type='CocoDataset',
ann_file='/mnt/share/zyh/mmdetection-master/data/coco/annotations/instances_train2017.json',
img_prefix='/mnt/share/zyh/mmdetection-master/data/coco/train2017/',
pipeline=[
dict(type='LoadImageFromFile'),
dict(type='LoadAnnotations', with_bbox=True),
dict(type='RandomFlip', flip_ratio=0.5),
dict(
type='AutoAugment',
policies=[[{
'type':
'Resize',
'img_scale': [(480, 1333), (512, 1333), (544, 1333),
(576, 1333), (608, 1333), (640, 1333),
(672, 1333), (704, 1333), (736, 1333),
(768, 1333), (800, 1333)],
'multiscale_mode':
'value',
'keep_ratio':
True
}],
[{
'type': 'Resize',
'img_scale': [(400, 4200), (500, 4200),
(600, 4200)],
'multiscale_mode': 'value',
'keep_ratio': True
}, {
'type': 'RandomCrop',
'crop_type': 'absolute_range',
'crop_size': (384, 600),
'allow_negative_crop': True
}, {
'type':
'Resize',
'img_scale': [(480, 1333), (512, 1333),
(544, 1333), (576, 1333),
(608, 1333), (640, 1333),
(672, 1333), (704, 1333),
(736, 1333), (768, 1333),
(800, 1333)],
'multiscale_mode':
'value',
'override':
True,
'keep_ratio':
True
}]]),
dict(
type='Normalize',
mean=[123.675, 116.28, 103.53],
std=[58.395, 57.12, 57.375],
to_rgb=True),
dict(type='Pad', size_divisor=1),
dict(type='DefaultFormatBundle'),
dict(type='Collect', keys=['img', 'gt_bboxes', 'gt_labels'])
],
filter_empty_gt=False),
val=dict(
type='CocoDataset',
ann_file='/mnt/share/zyh/mmdetection-master/data/coco/annotations/instances_val2017.json',
img_prefix='/mnt/share/zyh/mmdetection-master/data/coco/val2017/',
pipeline=[
dict(type='LoadImageFromFile'),
dict(
type='MultiScaleFlipAug',
img_scale=(1333, 800),
flip=False,
transforms=[
dict(type='Resize', keep_ratio=True),
dict(type='RandomFlip'),
dict(
type='Normalize',
mean=[123.675, 116.28, 103.53],
std=[58.395, 57.12, 57.375],
to_rgb=True),
dict(type='Pad', size_divisor=1),
dict(type='ImageToTensor', keys=['img']),
dict(type='Collect', keys=['img'])
])
]),
test=dict(
type='CocoDataset',
ann_file='/mnt/share/zyh/mmdetection-master/data/coco/annotations/instances_val2017.json',
img_prefix='/mnt/share/zyh/mmdetection-master/data/coco/val2017/',
pipeline=[
dict(type='LoadImageFromFile'),
dict(
type='MultiScaleFlipAug',
img_scale=(1333, 800),
flip=False,
transforms=[
dict(type='Resize', keep_ratio=True),
dict(type='RandomFlip'),
dict(
type='Normalize',
mean=[123.675, 116.28, 103.53],
std=[58.395, 57.12, 57.375],
to_rgb=True),
dict(type='Pad', size_divisor=1),
dict(type='ImageToTensor', keys=['img']),
dict(type='Collect', keys=['img'])
])
]))
evaluation = dict(interval=1, metric='bbox')
checkpoint_config = dict(interval=1)
log_config = dict(interval=50, hooks=[dict(type='TextLoggerHook')])
custom_hooks = [dict(type='NumClassCheckHook')]
dist_params = dict(backend='nccl')
log_level = 'INFO'
load_from = None
resume_from = '/mnt/share/zyh/Co-DETR-new/tools/co_detr_dino/log/latest.pth'
workflow = [('train', 1)]
opencv_num_threads = 0
mp_start_method = 'fork'
auto_scale_lr = dict(enable=False, base_batch_size=16)
num_dec_layer = 6
lambda_2 = 2.0
model = dict(
type='CoDETR',
backbone=dict(
type='SwinTransformerV1',
embed_dim=192,
depths=[2, 2, 18, 2],
num_heads=[6, 12, 24, 48],
out_indices=(0, 1, 2, 3),
window_size=12,
ape=False,
drop_path_rate=0.3,
patch_norm=True,
use_checkpoint=True,
pretrained='/mnt/share/zyh/Co-DETR-base/tools/pretrain_weights/swin_large_patch4_window12_384_22k.pth'),
neck=dict(
type='ChannelMapper',
in_channels=[192, 384, 768, 1536],
kernel_size=1,
out_channels=256,
act_cfg=None,
norm_cfg=dict(type='GN', num_groups=32),
num_outs=5),
rpn_head=dict(
type='RPNHead',
in_channels=256,
feat_channels=256,
anchor_generator=dict(
type='AnchorGenerator',
octave_base_scale=4,
scales_per_octave=3,
ratios=[0.5, 1.0, 2.0],
strides=[4, 8, 16, 32, 64, 128]),
bbox_coder=dict(
type='DeltaXYWHBBoxCoder',
target_means=[0.0, 0.0, 0.0, 0.0],
target_stds=[1.0, 1.0, 1.0, 1.0]),
loss_cls=dict(
type='CrossEntropyLoss', use_sigmoid=True, loss_weight=12.0),
loss_bbox=dict(type='L1Loss', loss_weight=12.0)),
query_head=dict(
type='CoDINOHead',
num_query=900,
num_classes=80,
num_feature_levels=5,
in_channels=2048,
sync_cls_avg_factor=True,
as_two_stage=True,
with_box_refine=True,
mixed_selection=True,
dn_cfg=dict(
type='CdnQueryGenerator',
noise_scale=dict(label=0.5, box=1.0),
group_cfg=dict(dynamic=True, num_groups=None, num_dn_queries=100)),
transformer=dict(
type='CoDinoTransformer',
with_pos_coord=True,
with_coord_feat=False,
num_co_heads=2,
num_feature_levels=5,
encoder=dict(
type='DetrTransformerEncoder',
num_layers=6,
with_cp=False,
transformerlayers=dict(
type='BaseTransformerLayer',
attn_cfgs=dict(
type='MultiScaleDeformableAttention',
embed_dims=256,
num_levels=5,
dropout=0.0),
feedforward_channels=2048,
ffn_dropout=0.0,
operation_order=('self_attn', 'norm', 'ffn', 'norm'))),
decoder=dict(
type='DinoTransformerDecoder',
num_layers=6,
return_intermediate=True,
transformerlayers=dict(
type='DetrTransformerDecoderLayer',
attn_cfgs=[
dict(
type='MultiheadAttention',
embed_dims=256,
num_heads=8,
dropout=0.0),
dict(
type='MultiScaleDeformableAttention',
embed_dims=256,
num_levels=5,
dropout=0.0)
],
feedforward_channels=2048,
ffn_dropout=0.0,
operation_order=('self_attn', 'norm', 'cross_attn', 'norm',
'ffn', 'norm')))),
positional_encoding=dict(
type='SinePositionalEncoding',
num_feats=128,
temperature=20,
normalize=True),
loss_cls=dict(
type='QualityFocalLoss',
use_sigmoid=True,
beta=2.0,
loss_weight=1.0),
loss_bbox=dict(type='L1Loss', loss_weight=5.0),
loss_iou=dict(type='GIoULoss', loss_weight=2.0)),
roi_head=[
dict(
type='CoStandardRoIHead',
bbox_roi_extractor=dict(
type='SingleRoIExtractor',
roi_layer=dict(
type='RoIAlign', output_size=7, sampling_ratio=0),
out_channels=256,
featmap_strides=[4, 8, 16, 32, 64],
finest_scale=56),
bbox_head=dict(
type='Shared2FCBBoxHead',
in_channels=256,
fc_out_channels=1024,
roi_feat_size=7,
num_classes=80,
bbox_coder=dict(
type='DeltaXYWHBBoxCoder',
target_means=[0.0, 0.0, 0.0, 0.0],
target_stds=[0.1, 0.1, 0.2, 0.2]),
reg_class_agnostic=False,
reg_decoded_bbox=True,
loss_cls=dict(
type='CrossEntropyLoss',
use_sigmoid=False,
loss_weight=12.0),
loss_bbox=dict(type='GIoULoss', loss_weight=120.0)))
],
bbox_head=[
dict(
type='CoATSSHead',
num_classes=80,
in_channels=256,
stacked_convs=1,
feat_channels=256,
anchor_generator=dict(
type='AnchorGenerator',
ratios=[1.0],
octave_base_scale=8,
scales_per_octave=1,
strides=[4, 8, 16, 32, 64, 128]),
bbox_coder=dict(
type='DeltaXYWHBBoxCoder',
target_means=[0.0, 0.0, 0.0, 0.0],
target_stds=[0.1, 0.1, 0.2, 0.2]),
loss_cls=dict(
type='FocalLoss',
use_sigmoid=True,
gamma=2.0,
alpha=0.25,
loss_weight=12.0),
loss_bbox=dict(type='GIoULoss', loss_weight=24.0),
loss_centerness=dict(
type='CrossEntropyLoss', use_sigmoid=True, loss_weight=12.0))
],
train_cfg=[
dict(
assigner=dict(
type='HungarianAssigner',
cls_cost=dict(type='FocalLossCost', weight=2.0),
reg_cost=dict(
type='BBoxL1Cost', weight=5.0, box_format='xywh'),
iou_cost=dict(type='IoUCost', iou_mode='giou', weight=2.0))),
dict(
rpn=dict(
assigner=dict(
type='MaxIoUAssigner',
pos_iou_thr=0.7,
neg_iou_thr=0.3,
min_pos_iou=0.3,
match_low_quality=True,
ignore_iof_thr=-1),
sampler=dict(
type='RandomSampler',
num=256,
pos_fraction=0.5,
neg_pos_ub=-1,
add_gt_as_proposals=False),
allowed_border=-1,
pos_weight=-1,
debug=False),
rpn_proposal=dict(
nms_pre=4000,
max_per_img=1000,
nms=dict(type='nms', iou_threshold=0.7),
min_bbox_size=0),
rcnn=dict(
assigner=dict(
type='MaxIoUAssigner',
pos_iou_thr=0.5,
neg_iou_thr=0.5,
min_pos_iou=0.5,
match_low_quality=False,
ignore_iof_thr=-1),
sampler=dict(
type='RandomSampler',
num=512,
pos_fraction=0.25,
neg_pos_ub=-1,
add_gt_as_proposals=True),
pos_weight=-1,
debug=False)),
dict(
assigner=dict(type='ATSSAssigner', topk=9),
allowed_border=-1,
pos_weight=-1,
debug=False)
],
test_cfg=[
dict(max_per_img=300, nms=dict(type='soft_nms', iou_threshold=0.8)),
dict(
rpn=dict(
nms_pre=1000,
max_per_img=1000,
nms=dict(type='nms', iou_threshold=0.7),
min_bbox_size=0),
rcnn=dict(
score_thr=0.0,
nms=dict(type='nms', iou_threshold=0.5),
max_per_img=100)),
dict(
nms_pre=1000,
min_bbox_size=0,
score_thr=0.0,
nms=dict(type='nms', iou_threshold=0.6),
max_per_img=100)
])
optimizer = dict(
type='AdamW',
lr=0.0002,
weight_decay=0.0001,
paramwise_cfg=dict(custom_keys=dict(backbone=dict(lr_mult=0.1))))
optimizer_config = dict(grad_clip=dict(max_norm=0.1, norm_type=2))
lr_config = dict(policy='step', step=[11])
runner = dict(type='EpochBasedRunner', max_epochs=12)
pretrained = '/mnt/share/zyh/Co-DETR-base/tools/pretrain_weights/swin_large_patch4_window12_384_22k.pth'
work_dir = './co_detr_dino'
auto_resume = False
gpu_ids = [0]
It is my config

This is the information for the last epoch

@yimeng436, I notice that you use only 1 GPU for training (1 image per GPU). Our default batch size is 16 and the learning rate should be linearly scaled: 0.0002*1/16=1.25e-05.

@yimeng436, I notice that you use only 1 GPU for training (1 image per GPU). Our default batch size is 16 and the learning rate should be linearly scaled: .0.0002*1/16=1.25e-05

oh thanks a lot.

@yimeng436, I notice that you use only 1 GPU for training (1 image per GPU). Our default batch size is 16 and the learning rate should be linearly scaled: .0.0002*1/16=1.25e-05

oh thanks a lot


USER STORY: Income Entry for Goal-Based Financial Planning

User Story

Metadata
Description

Theme
Budget app

Epic
Collaborative budget

User Story
Enter user's income

Story Points
-

Description
As a User ,I want add my income(s), So that the website can calculate the plan for my goal.
Acceptance Criteria

to have a form where the user can insert his income details, form fields:

income title - string - required
amount - float - required
how frequent(in months) - int - optional (default is once a month)
date - date - optional (default is the first of the month)
details - text - optional

the form should be reachable from the homepage.
the form should have input validation
the form should show hints
There is an option to add more than one income
show a (success/failure) message after submitting the form

Tasks

[x] Create UI, that shows the income form.
[ ] Add validation
[ ] Add Hints
[x] submit the form to the backend
[x] show submit status message

I have done the UI in #57 and #58.

We can use the in-built form validation.

@JesseRoss001 Does anything else need to be done on this one or can it be closed off?


Is it possible flash root.tar.xz file to emmc via uuu

Hi,
We can flash root.tar.bz2 to emm via uuuc, but when I flash a root.tar.xz to emmc, it is not success.
So it is possilbe flash root.tar.xz file to emmc via uuu thanks.

are you use linux kernel to burn root.tar.bz2?
yes,  I using kernel to burn root.tar.bz2 is ok, but burn root.tar.xz is failed.
I attached my script
example_kernel_emmc - Copy.zip

Thanks.

are you use linux kernel to burn root.tar.bz2?
yes, I using kernel to burn root.tar.bz2 is ok, but burn root.tar.xz is failed.
I attached my script
Thanks.
example_kernel_emmc - Copy.zip

you build initramfs by yourself to add xz support.

Get it, I will try later, thanks.


Add all-contributors

Add all-contributors bot

Hey @all-contributors please add @mdelgadodiaz83-erni for code, content, doc, design, ideas, maintenance, test, example, review

Hey @all-contributors please add @omaramalfi for code, content, doc, design, ideas, maintenance, test, example, review


[LiveComponent] add support for testing file uploads in actions

Q
A

Bug fix?
no

New feature?
yes

Issues
Fix #...

License
MIT

Excellent, thanks Marcus!


Accommodate breaking changes for geometry refactoring

Accommodate changes from:

https://github.com/LArSoft/larcoreobj/pull/19
https://github.com/LArSoft/larcorealg/pull/37

N.B.: This PR should not be merged until the above PRs have been merged into a LArSoft release.

All looks good except the potential math mistake in my comment. We changed a sqrt() to a sqr(). I think it should remain a sqrt(). Can you double-check my work on the math?

You are correct, @aolivier23.  It should be sqrt().  Sorry about that.

Thank you for confirming.  I will revert that one line to sqrt() before merging after lunch.  Everything else looks good.


I can't send mqtt data to sitewhere 3.0

Some of the internal features required for round-trip processing used by the agent aren't completely implemented in SiteWhere 3.0 yet. We are in the process of making the changes.

can i use mqtt features another way? Are the sitewhere 3.0 capable to interract over mqtt protocol?


Throw exception containing Error model when appropriate

Currently, the Error model is unused, and the library just crashes whenever the web API sends an error. This should be resolved by throwing an exception containing the Error model when that happens, so users can catch that exception and handle it gracefully.

Resolved as of f7ff4b0ade84cb938e4a2cef4f8ab546afc09158


Node HTTP: Handling Request Body Conversion

Hi,
I'm using @edge-csrf/node-http in my project which has a form that sends data from Next.js ( using custom Node server ) to Drupal CMS. After integrating @edge-csrf/node-http in my project the Post request payload was in the format of Buffer instead of an array, example:
array:1 [
"{"type":"Buffer","data":_110,97,109,101,61,97,100,109,105,110,38,101,109,97,105,108,61,38,99,115,114,102,95,116,111,107,101,110,61,65,65" => ""
]

Instead of :
array:7 [
  "name" => "user"
  "email" =><EMAIL_ADDRESS>  "csrf_token" => "b9300a66319b9aee5668f451ffe31250404c6813078be82f8733bb201cacj9Sd"
  "subject" => "Testing forms title"
  "message" => "Testing forms desc"
  "webform_id" => "contact"
]

Problem: The @edge-csrf/node-http package was improperly converting request bodies to strings without considering their content type, leading to issues with specific formats like application/x-www-form-urlencoded.
Solution: A patch was implemented to check the Content-Type header and appropriately convert the Buffer to a string or JSON, ensuring correct downstream processing.

What does your middleware chain look like without @edge-csrf/node-http? In particular, I'm curious how the request is processed before Drupal without @edge-csrf/node-http in the picture.
Ideally, Edge-CSRF should leave request body parsing decisions to code further downstream since that isn't the purpose of the project. This is the intention of line 33:
req.body = Buffer.concat(buffer);

which passes along the raw content of the request body without parsing it. Drupal is probably checking to see if the request body attribute is present and then assuming it was already parsed so I'm wondering if there's a way to signal to Drupal that this isn't the case or to avoid setting body altogether.

@mkoumila Have you had a chance to try the suggested patch?

Hey @amorey ,
Sorry for late answering, i out-of-office.
I will test it this Friday and let you know 🙏🏻
Thanks for your support

@mkoumila Have you had a chance to try the patch?

@mkoumila Any updates? Would be great to patch the code and close this pr.


Add gene_alias for RNA-seq

The CI here will fail until the vitessce-python is released: https://github.com/vitessce/vitessce-python/pull/174
Towards https://github.com/hubmapconsortium/portal-ui/issues/2393

Reminder to self: When this is merged, move https://github.com/hubmapconsortium/portal-ui/pull/2656 out of draft.


[Feature] Add link to UIGF/SRGF standard

Checklist

[X] I have already read docs/Tips.md, but my feature is not implemented.
[X] My suggested feature was not mentioned by others, and it is not a duplicate feature.

Summary
According to the UIGF/SRGF standard, "Application must declare support of UIGF/SRGF data format only after [...] provide link [sic] to UIGF-Org in the associated page."[^1] However, such links are not present on Starward.
[^1]: Found on their official website. For UIGF, see https://uigf.org/en/standards/uigf.html. For SRGF, see https://uigf.org/en/standards/srgf.html.
Solution or Design
A "question mark" more information button can be added next to the export/import function. Upon clicking it, it shows a message saying "Supports importing JSON files in the UIGF data format," where UIGF/SRGF points to the specification page or the UIGF-Org main page.
After adding this like, we can also officially declare support for UIGF/SRGF data.
Examples:

Thanks for your suggestion, I will implement latter.


Windows: address further comments from docker-library

Start-Process may silently mishandle error handling even with error handling setup. Explicitly check exit codes. Switch to the Windows base image with Python from Microsoft to help shave off ~1G from the image size and reduce complexity. Unfortunately, this requires a bit more work on our side to setup - we need to setup some environment variables.
Remove the 20H2 image as it was silently failing to install python and there are not preexisting tags for the base image with python.
Tested on Windows 11 Pro 22H2 (22621.2428).

@swift-ci please test

@swift-ci please test


Update addons.html

Changed forums.minecraftforge.net to files.minecraftforge.net

Yeah, makes sense to redirect to downloads instead of forums (if there were a page with "What is forge" i would like to redirect to that, but we have what we have)
Thank you for Your contribution! (again :) )


Because flutter_tools depends on file 5.0.6 which doesn't match any versions, version solving failed

Downloading Dart SDK from Flutter engine 58a1894a1cd798de2f9a206f157a90d45944028b...
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
100 93.6M  100 93.6M    0     0  1436k      0  0:01:06  0:01:06 --:--:-- 1451k
Building flutter tool...
Because flutter_tools depends on file 5.0.6 which doesn't match any versions, version solving failed.
Error: Unable to 'pub upgrade' flutter tool. Retrying in five seconds... (9 tries left)

The same problem after upgrading.

+1

Please add the output of flutter doctor -v.

Using "add reaction" on the initial comment would increase priority while +1 comments are rather pointless and cause lots of people to get notified for no reason.
To get notified use the [Subscribe] button to the top right instead.

+1

The same problem after upgrading.
Upgrade to 0.9.2 solution

how to do

Is there something special about your network? Self-signed certificate, proxy, ...?
Did you install Flutter into a directory where your user account doesn't have write permissions? (C:\Program Files...)?

Is there something special about your network? Self-signed certificate, proxy, ...?
Did you install Flutter into a directory where your user account doesn't have write permissions? (C:\Program Files...)?

with MacOS,even use proxy

Please check https://www.dartlang.org/tools/pub/troubleshoot

Also check https://github.com/flutter/flutter/wiki/Using-Flutter-in-China if applicable

Also check https://github.com/flutter/flutter/wiki/Using-Flutter-in-China if applicable

https://pub.flutter-io.cn/packages/file
I see file package build status is failing

@yuhaocan I don't think that matters. It's failing for the master branch of a not-yet-published commit

@zoechi I try again use China wiki with same steps ,but it same as before "Command 'pub upgrade' still failed after 10 tries"

@zoechi I try again use China wiki with same steps ,but it same as before "Command 'pub upgrade' still failed after 10 tries"

Have you solved it?

@zoechi   Finally it success, I  try so many times that  run it background.Too disappointed with the GW firewall.

Today it`s ok

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.


"Rest parameters" exercise has a blank display

https://learn.svelte.dev/tutorial/rest-params
This is because content/tutorial/common/src/routes/+page.svelte exists.

closed via 81eb254dab39f4e7290d56ad9c54a9942d83b95b

thank you!


Fix external refs and renamed files to original filename.

Fix external refs and renamed files to original filename.

Danke!


UnhandledPromiseRejectionWarning: FetchError: request to https://fast-serve-track.azurewebsites.net/api/track failed fix for 1.4.1 version

Hello Sergei
I saw that is already fixed for version .13 .14, can be possible to add this to version supporting 1.4.1? Or somehow disable call to fast serve track?
https://github.com/s-KaiNet/spfx-fast-serve/issues/68
Thanks in advance.
PS. Your advices and help around community helps me couple of times, I'm really grateful.

Hi, please try the 1.4.7 version of spfx-fast-serve-helpers (npm i<EMAIL_ADDRESS>-DE), it should work now.

@s-KaiNet Thank you, this week I will have the opportunity to check it and give you feedback.

@s-KaiNet happy new year! I had opportunity to test new spfx-fast-serve-helpers and working perfectly fine! Message is gone.


Added Darkmode to pages

Description
Added Darkmode to pages
Fixes #192
Type of change

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Explain the Testing instructions
https://rohank2502.github.io/SFC-foundations/pages/Sampuran.html
Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules

ATTACH SCREEN-SHOTS
https://rohank2502.github.io/SFC-foundations/pages/Sampuran.html

Have a look @himanshu007-creator  @SnehaVeerakumar  @divyashukla23


including busybox image in rancher-images.txt for airgap setups

Addresses: https://github.com/rancher/rancher/issues/20780

LGTM


token-cli: reverse logic for --recipient-is-ata-owner

Pull request for issue https://github.com/solana-labs/solana-program-library/issues/1805
Retained --recipient-is-ata-owner as a hidden flag and, if passed, warn the user that the behavior is now default, the flag is deprecated and can be removed.
New flag called --no-recipient-is-ata-owner to match convention of other CLI tools. Reverse the logic for the flag.

Looking good! Now you just need to rebase onto master, fix the merge conflict, then we can get this in


Can't Work with ION SETUP or /dev/ttyO2

Hello , i am using ION Setup program for read devices. i am also trying to make rtu/tcp gateway with my custom emb linux board. when i try to read devices with ION Setup program , just nothing happens.
so dou you have any idea ?

It looks like ION Setup program prematurely closes connection before request has been completed. Could you try to issue same read request using a different Modbus/TCP client?


How to get the the now position (x,y,z,velocity,corner) of ego vehicle or goal position (x,y)?

How to get the the now position (x,y,z,velocity,corner) of ego vehicle or goal position (x,y)?
Sim.absolute_self_observation_tensor() What meanings does each variable represent

How to get the "ref_line_info"?

@hu-hwb: You can find all this information in the GlobalEgoState in datatypes/observation
@huwenbo-edu: Not sure what exact variable you are referring to, but all road graph information is found in datatypes/roadgraph

For both, see an example for how to use these in env_torch.py


Show a visual indicator on the new position of the box element

Undo the visual indicator and replace it with a glowing effect instead (see #8)

Closed by 10cbb16e7807959b9c1922bb5ae1b00df39f4270


Fix for CLOUDSTACK-9253

Fix for CLOUDSTACK-9253, the instructions listed here should now work correctly.

@pfarmer thanks, please rebase against latest master, squash commits to a single commit; the version need to be changes to 4.9.0
tag:easypr

ACS CI BVT Run
Sumarry:
Build Number 147
Hypervisor xenserver
NetworkType Advanced
Passed=68
Failed=5
Skipped=3
Link to logs Folder (search by build_no): https://www.dropbox.com/sh/yj3wnzbceo9uef2/AAB6u-Iap-xztdm6jHX9SjPja?dl=0
Failed tests:

test_vpc_vpn.py

ContextSuite context=TestRVPCSite2SiteVpn>:setup Failing since 12 runs

ContextSuite context=TestVpcRemoteAccessVpn>:setup Failing since 12 runs

ContextSuite context=TestVpcSite2SiteVpn>:setup Failing since 12 runs

test_volumes.py

test_06_download_detached_volume Failing since 2 runs

test_vm_life_cycle.py

test_10_attachAndDetach_iso Failing since 2 runs

Skipped tests:
test_vm_nic_adapter_vmxnet3
test_static_role_account_acls
test_deploy_vgpu_enabled_vm
Passed test suits:
test_deploy_vm_with_userdata.py
test_affinity_groups_projects.py
test_portable_publicip.py
test_over_provisioning.py
test_global_settings.py
test_scale_vm.py
test_service_offerings.py
test_routers_iptables_default_policy.py
test_routers.py
test_reset_vm_on_reboot.py
test_snapshots.py
test_deploy_vms_with_varied_deploymentplanners.py
test_login.py
test_list_ids_parameter.py
test_public_ip_range.py
test_multipleips_per_nic.py
test_regions.py
test_affinity_groups.py
test_network_acl.py
test_pvlan.py
test_nic.py
test_deploy_vm_root_resize.py
test_resource_detail.py
test_secondary_storage.py
test_disk_offerings.py

Thanks @pfarmer for the pull request, given it's not applicable to master/4.11 anymore I'll close this. Kindly re-submit a new PR. Thanks again for your contribution.