the bugs when i run the code

Sorry, when i run the code as instuction. The following message is printed on the screen: Invalid argument(s) 'pool_size','max_overflow','pool_timeout' sent to create_engine(), using configuration SQLiteDialect_aiosqlite/NullPool/Engine. Please check that the keyword arguments are appropriate for this combination of components.

Hi can you provide me a full log with traceback?

Sure! The full log has been listed as follow. Moreover, I think I have encountered a slight problem that I can't use pip install pywin32==308.

'schema_extra' has been renamed to 'json_schema_extra'
warnings.warn(message, UserWarning)
INFO:     Started server process [1068213]
INFO:     Waiting for application startup.
2024-11-21 10:56:31,684 - app.database.DatabaseManager - ERROR - Unexpected error during database connection: Invalid argument(s) 'pool_size','max_overflow','pool_timeout' sent to create_engine(), using configuration SQLiteDialect_aiosqlite/NullPool/Engine.  Please check that the keyword arguments are appropriate for this combination of components.
2024-11-21 10:56:31,686 - app.database.DatabaseManager - ERROR - Traceback (most recent call last):
File "/data/jclu/lexu/Fast-Powerful-Whisper-AI-Services-API-main/app/database/DatabaseManager.py", line 103, in _connect
self._engine = create_async_engine(
^^^^^^^^^^^^^^^^^^^^
File "/data/jclu/anaconda3/envs/finance/lib/python3.12/site-packages/sqlalchemy/ext/asyncio/engine.py", line 120, in create_async_engine
sync_engine = _create_engine(url, **kw)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 2, in create_engine
File "/data/jclu/anaconda3/envs/finance/lib/python3.12/site-packages/sqlalchemy/util/deprecations.py", line 281, in warned
return fn(*args, **kwargs)  # type: ignore[no-any-return]
^^^^^^^^^^^^^^^^^^^
File "/data/jclu/anaconda3/envs/finance/lib/python3.12/site-packages/sqlalchemy/engine/create.py", line 697, in create_engine
raise TypeError(
TypeError: Invalid argument(s) 'pool_size','max_overflow','pool_timeout' sent to create_engine(), using configuration SQLiteDialect_aiosqlite/NullPool/Engine.  Please check that the keyword arguments are appropriate for this combination of components.

ERROR:    Traceback (most recent call last):
File "/data/jclu/anaconda3/envs/finance/lib/python3.12/site-packages/starlette/routing.py", line 693, in lifespan
async with self.lifespan_context(app) as maybe_state:
File "/data/jclu/anaconda3/envs/finance/lib/python3.12/contextlib.py", line 210, in aenter
return await anext(self.gen)
^^^^^^^^^^^^^^^^^^^^^
File "/data/jclu/anaconda3/envs/finance/lib/python3.12/site-packages/fastapi/routing.py", line 133, in merged_lifespan
async with original_context(app) as maybe_original_state:
File "/data/jclu/anaconda3/envs/finance/lib/python3.12/contextlib.py", line 210, in aenter
return await anext(self.gen)
^^^^^^^^^^^^^^^^^^^^^
File "/data/jclu/lexu/Fast-Powerful-Whisper-AI-Services-API-main/app/main.py", line 92, in lifespan
await db_manager.initialize()
File "/data/jclu/lexu/Fast-Powerful-Whisper-AI-Services-API-main/app/database/DatabaseManager.py", line 92, in initialize
await self._connect()
File "/data/jclu/lexu/Fast-Powerful-Whisper-AI-Services-API-main/app/database/DatabaseManager.py", line 103, in _connect
self._engine = create_async_engine(
^^^^^^^^^^^^^^^^^^^^
File "/data/jclu/anaconda3/envs/finance/lib/python3.12/site-packages/sqlalchemy/ext/asyncio/engine.py", line 120, in create_async_engine
sync_engine = _create_engine(url, **kw)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 2, in create_engine
File "/data/jclu/anaconda3/envs/finance/lib/python3.12/site-packages/sqlalchemy/util/deprecations.py", line 281, in warned
return fn(*args, **kwargs)  # type: ignore[no-any-return]
^^^^^^^^^^^^^^^^^^^
File "/data/jclu/anaconda3/envs/finance/lib/python3.12/site-packages/sqlalchemy/engine/create.py", line 697, in create_engine
raise TypeError(
TypeError: Invalid argument(s) 'pool_size','max_overflow','pool_timeout' sent to create_engine(), using configuration SQLiteDialect_aiosqlite/NullPool/Engine.  Please check that the keyword arguments are appropriate for this combination of components.
ERROR:    Application startup failed. Exiting.

Hello, I’ve released a new version to address this issue! In my testing environment, I was using MySQL as the database, so I overlooked testing compatibility with SQLite. During the database engine initialization, some parameters specific to MySQL were inadvertently passed, which SQLite does not support, resulting in the project failing to start. Thank you so much for catching and reporting this issue!

Oh, I know what's problem with this. I have deployed it on my server with Linux. It seems that your code is intended to be deployed on windows. That explains why I can't finish it smoothly.

I think the project is a fantastic one! It's good to find so nice open-source project!

 Yes, I did this in Windows, but it should work fine in Linux as well, though you may need to manually install the CUDA dependencies to use GPU accelerated inference, so feel free to ask me questions!


Feature Request: Add support for events

https://docs.sentry.io/api/discover/query-discover-events-in-table-format/

After integrate sentry,I found there is no event.It's so frustrate.

Hello,
We are currently exploring the possibility of integrating Sentry data into our company's Grafana dashboard. The discover events endpoint plays a vital role in our integration plans.
I wanted to reach out and inquire about the estimated timeline for the availability of this feature. Could you please provide us with an update on when we can expect it to be ready for use?
Additionally, if there is anything I can assist you with during the development or testing phase, please do not hesitate to let me know. Your support in this matter is greatly appreciated.
Thank you and have a great day!
@yesoreyeram

Is there a timeline for release for events support?

Hi @vickyyyyyyy / @aangelisc ! 👋
Do you know when the next release of this plugin will be cut? It would be great to have this feature :)

@DAcodedBEAT :wave: Hi, we should have a release out today or tomorrow, thanks!

@DAcodedBEAT released here :tada:


error when running main.py

Thanks for creating this awesome repo :D
I've just tried to run main.py (locally after cloning the repo, on macOS) and am encountering  the following error (truncated):
...
 File "/Users/rpelgrim/mambaforge/envs/gpt-app/lib/python3.11/site-packages/pathway/internals/graph_runner/operator_handler.py", line 129, in _run
    materialized_table = self.scope.connector_table(
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: No such file or directory (os error 2)
Occurred here:
    Line: sales_data = pw.io.jsonlines.read(
    File: /Users/rpelgrim/Documents/git/my-forks/chatgpt-api-python-sales/examples/api/app.py:17

When I look at app.py it seems to be looking for a jsonlines file in ./examples/data but that directory does not exist. I see examples/csv and examples/rainforest. Happy to help contribute except I'm not sure which of these directories to point to. Any help appreciated :)
Relevant lines from app.py:
 # Real-time data coming from external data sources such as jsonlines file
    sales_data = pw.io.jsonlines.read(
        "./examples/data",
        schema=DataInputSchema,
        mode="streaming"
    )

JFYI - I'm getting the same error when running the Killercoda version:
https://killercoda.com/pathway/scenario/chatgpt-api-python-sales

@rrpelgrim Thank you for reporting this issue!
Yes, it seems the data folder was removed accidentally when I upgraded the LLM App version on this commit.
https://github.com/Boburmirzo/chatgpt-api-python-sales/commit/3a08cbf148db2d2d704cc57f55eda6ea95d72286
Now it should work. Adding a data folder fixed the issue. Probably, killercoda version also runs from this repo main branch.


Allow node grpc plugin to generate empty .js files when there are no services in .proto files

This would come in handy with my Bazel setup, because we have a mix of .proto files that may or may not have services in them.
If it's ok to make it an option, or to make it the default, I can write the patch.

@murgatroid99 do you want to write this, or ok to submit a patch?

Just ran into this problem. I realise that this issue has been open for more than a year now. Any plans on fixing it, @grpc team?

@murgatroid99
There's grpc/grpc-node repo, in which the issue is fixed yet it seems the plugin for node codegen is still vendored in this repo. How do I best approach using the fixed version?

The newest version of the grpc-tools package now has this change.


No remote address specified error

I'm trying to get this running with one tunnel first.  I followed the directions for the "Linux with two ADSL uplinks for agregation and failover" documentation.  When starting the client I get the "No remote address specified error".   I first had the remotehost set to a DNS name, then tried IP.  Both have the same error.  I do not see a reference to this error in the documentation.  What am I missing?
[att1]
bindhost = "<IP_ADDRESS>"
remotehost = “xxx.xxx.xxx.74"
remoteport = 5080
#bandwidth_upload = 61440
#timeout = 25

This appears to be a problem with Mint.  I switched to Debian on the client side and was able to connect.
This brings up another issue I have run into.  I am running 2.1.2.  I see that 2.3.1 is the latest.  None of the instructions seem to work to install that version.  Trying to build from source fails.  The debian instructions from https://media.readthedocs.org/pdf/mlvpn/master/mlvpn.pdf load 2.1.2.
How does one get the latest version?


Slightly change how the label based namespace filter works

Hi @swestcott,
I'm following up with your pull request over at https://github.com/linki/chaoskube/pull/46. I just merged with the latest master and pushed it to your master branch.
However, the next change slightly alters behaviour and I didn't want to push directly to your master branch.
I changed the label-based namespace filtering you contributed a bit: instead of converting and adding it to the namespace selector filter it's now its own "filter-by-all-namespaces-that-match-this-label-selector" function. Not pretty or efficient but does what it should and also solves https://github.com/linki/chaoskube/pull/46#discussion_r151844544.
There's a slight change though: Namespaces are matched against any given label selector first (an empty selector matches all namespaces) and then against the selector based namespace selector as before. This means that given a non-matching label-selector for namespaces will always return an empty pod list. This is different to your version in which case it would match all pods (since there's no namespace to filter by). Refer to the last test in the test cases.
Let me know what you think.
Best regards,
linki

This has been merged in https://github.com/linki/chaoskube/pull/134


Can custom node communicate with outer side?

I am using a custom node with a vue component as it's view. I want it act like inline element, and show a dialog  changing some props when I click it. The problem is , if I put the dialog inside line element,the node always break a new line. If lift the dialog outside the editor, how does it perceive the state change with the node inside the editor ? i try using custom event and it not work

Use event bus it work like a charm


Add simple-linked-list exercise

The #12in23 challenge asks to do the linked-list exercise, which is currently not implemented and should be added during the month of March. As a preliminary task, we include a simpler version that can be built upon.

[x] Basic file system
[x] Write tests
[x] Write exercise stub
[x] Write an example solution
[ ] Write optional documentation files

I wonder how we can test that the student made sure that no resources have leaked.

I would like to merge this soon, so the users can get their March badges. Would you have a look @siebenschlaefer or @exercism/maintainers-admin

I'd like to get this PR merged sooner than later, as this is one of the recommended exercises for Mechanical March
@siebenschlaefer do you have time to do a review of this PR?
@vaeng could you look into fixing the diff for the config.json file to not include any formatting changes?

I'd like to get this PR merged sooner than later, as this is one of the recommended exercises for Mechanical March
@vaeng could you look into fixing the diff for the config.json file to not include any formatting changes?

I had to change the end of line sequence. I uploaded with CRLF but it was LF.

I'm late to the party, sorry.
I have one tiny suggestion: Use std::size_t instead of size_t. The latter will work on all major compilers but technically that's implementation-specific. After including <cstddef> the standard only guarantees the existence of std::size_t.


too narrow, wraps text

What purpose serves that huge stripey area left and right? Just use the whole width.

It is easier to read documentation when it does not span the whole width of a large browser.

I'd be curious how you managed to get the screenshot provided. I'm only able to get the box small enough to wrap with a screen 760px or narrower.
Regarding wrapping, I can change the white-space: pre-wrap rule to white-space: pre, which will result in a horizontal scrollbar instead; I'm not sure whether this would be a better experience.

I'm trying out white-space: pre for the time being.

It is easier to read documentation when it does not span the whole width of a large browser.

This cannot be universally true. The final arbiter about what's comfortable to read is the user. Everyone knows how to make the browser window narrower. Not everyone knows how to override styles¹, so most of those who are bothered by a narrow content width will just suffer through it. Reader mode² in Firefox is too strong of a solution because it also removes all the useful colours and borders.
I am a Web programmer and it's straight-forward for me to apply a style locally:
@namespace url(http://www.w3.org/1999/xhtml);
@-moz-document domain("perldoc.pl") {
    .container, #perldocdiv { max-width: inherit; }
}

… but this bug report now exists on behalf of those less able. Maybe you haven't noticed, but p3rl.org has started redirecting to perldoc.pl, so you now have gained a large installed user-base and the corresponding responsibility to give all of them a good user experience as well as you can.
Follow the example of s.c.o and metacpan and use most of the width. If not, it is certain that users will become resentful and treat narrow content as damage and work around it, like they did with stubborn JJ and perldoc.perl.org.
¹ The last Web browser that made that easy for everyone was Opera 12, but sadly, this era is over.
² specifically exists to negate abuse of CSS width/max-width

I'd be curious how you managed to get the screenshot provided.

That's Firefox 61, taken with Spectacle, then cropped to the exact viewport.

which will result in a horizontal scrollbar instead; I'm not sure whether this would be a better experience.

No, experts call horizontal scrolling an abomination.

You are also not the final arbiter about what's comfortable to read. I do not wish to impose people to have to remove a perldoc.pl tab from their main browser window in order to resize it, or to learn how to restyle as you have in order to get the opposite effect. I will definitely leave this issue open for additional opinions however.
Re horizontal scrollbar - I agree it's not perfect, but this link is from 13 years ago and makes no mention of using it for code which requires an unwrapped presentation.


[WIP] feat: add contribution guide and CoC

@MicPie it is still WIP, but you might see what I think might be a good setup.
It is enough for "conventional" molecular->property datasets to know what the identifier and the property columns are. With description (and units), we can then build programmatically many different prompts. We might also try binning continuos data, etc.
For data that is more "special" (e.g. reactions) we can still use the tag template you proposed

I also suggest a templating structure that I think is relatively flexible.
@MicPie would be great if you could see if you also like this and if you can understand the explanations.

We also need to keep in mind that we need to have enough info to easily select the right tokenizer (https://github.com/OpenBioML/chemnlp/issues/9)


SketchGroup should allow multiple profiles

We want to support having multiple profiles in the one sketch, (outer and inner loop).
The kcl code would be as simple as having more than one startProfileAt.
const part001 = startSketchOn('YZ')
  |> startProfileAt([32.21, 30.83], %)
  |> line([-3.16, 83], %)
  |> line([-3.16, 83], %)
  |> close(%)
  |> startProfileAt([32.21, 30.83], %)
  |> line([-3.16, 83], %)
  |> line([-3.16, 83], %)
  |> close(%)

But on top of that we also want to support "construction geometry", the concept here is that it's 2d geometry that you can reference in your sketch, but is not necessarily part of your profile for example.
const part001 = startSketchOn('YZ')
  |> constructionCircle([0,5], 3, %, 'myCirc')
  |> angledLineThatIntersects({
       angle: 201,
       offset: -1.35,
       intersectTag: 'myCirc'
     }, %)
// ...

Example code aside we'll need to change the sketch group struct, something like this would work.
// a sketch groups values, multiple profiles or construction geometry
#[derive(Debug, Clone, Deserialize, Serialize, PartialEq, ts_rs::TS, JsonSchema)]
#[ts(export)]
#[serde(tag = "type", rename_all = "camelCase")]
pub enum SketchGroupValues {
    /// a single profile Vec<Path>
    Profile(Vec<Path>),
    /// Construction geometry
    Construction(Path),
}

/// A sketch group is a collection of paths.
#[derive(Debug, Clone, Deserialize, Serialize, PartialEq, ts_rs::TS, JsonSchema)]
#[ts(export)]
#[serde(tag = "type", rename_all = "camelCase")]
pub struct SketchGroup {
    /// The id of the sketch group.
    pub id: uuid::Uuid,
    /// The paths in the sketch group.
    pub value: Vec<SketchGroupValues>,
    /// What the sketch is on (can be a plane or a face).
    pub on: SketchSurface,
    /// The starting path.
    pub start: BasePath,
    /// The position of the sketch group.
    pub position: Position,
    /// The rotation of the sketch group base plane.
    pub rotation: Rotation,
    /// The x-axis of the sketch group base plane in the 3D space
    pub x_axis: Point3d,
    /// The y-axis of the sketch group base plane in the 3D space
    pub y_axis: Point3d,
    /// The z-axis of the sketch group base plane in the 3D space
    pub z_axis: Point3d,
    /// The plane id or face id of the sketch group.
    pub entity_id: Option<uuid::Uuid>,
    /// Metadata.
    #[serde(rename = "__meta")]
    pub meta: Vec<Metadata>,
}

Since a user might want any sketch/2D geometry to be construction geometry, would it make sense to have it as a construction() function that can take any sketch geometry, whether a circle() or a startProfile()...close()? So your example would be:
const sketch001 = startSketchOn('YZ')
  |> construction(circle([0,5], 3, %, 'myCirc'), %)
  |> angledLineThatIntersects({
       angle: 201,Ï
       offset: -1.35,
       intersectTag: 'myCirc'
     }, %)
// ...

Or would that cause other problems? I'm seeing if there's a way to avoid making construction... versions of every stdlib function

Another thought: if we're going to support multiple profiles it might help readability to rename close to something that mirrors startProfileAt, like endProfileAt or closeProfileAt

@jessfraz I didn't realize @Irev-Dev already had this all written up; this is the issue I mentioned to you on Tuesday

related to https://github.com/KittyCAD/modeling-app/issues/1553 https://github.com/KittyCAD/modeling-app/issues/1554

@franknoirot can profiles within a sketch group be extruded independently? Or are they all extruded/rotated at once, with the same parameters?

@franknoirot can profiles within a sketch group be extruded independently? Or are they all extruded/rotated at once, with the same parameters?

@adamchalmers  they should be able to be extruded independently if we are to match behavior with existing CAD programs.

OK, so clarifying question: in what way are the profiles within a SketchGroup related? Why not just make two separate SketchGroups?

The profiles in a SketchGroup are related by dimensions and constraints between the profiles and their constituent elements.
Doing a number of sketch operations become significantly more tedious if each closed profile is its own sketch:

Dimensions and other constraints between those profiles and their constituent elements would require use of projected geometry which is not as secure a relationship
It muddies the top-level entities with many sketches, when a sketch would conceptually group these entities as one. In this tutorial for example it would be frustrating to users to require separate sketches for the inner and outer profiles of a simple washer/donut shape.

I agree with Franks points.
Construction geometry doesn't need to be sent to the engine.
I'm not sure about the independently extrude thing, I think it might be a good to check with @jgomez720.
Not extruded independently

Completely separate profiles are extruded together
Cases where profiles are 100% contained within another profile this becomes negative space (and then positive again if there's more nesting and so on)
Cases where there's an intersection between two profiles, it's considered an error and the extrusion fails (we give the error to the user). If you have common things between two profiles where a user might be tempted to have intersection profiles, that's what the construction geometry is for.

Extruded independently

Each profile needs to be selected and extruded separately. in which case we'll need to add tags to the startProfileAt
What does the UI look like for wanting an inner profile to be subtracted from an outer one when extruded? Does that automatically happen when you select them both?
What do we do with intersecting profiles, maybe we should still error because users probably think they'll be unioned, but the engine doesn't support that atm?

Profiles should be able to be extruded independently. When that happens, typically the designer created a profile as a reference (really similar to the purpose of construction geometry).
This is a complex example, but gears are really hard without construction geometry. Here's an example
https://www.youtube.com/watch?v=dxtq_sy7Gw0
Even if you skim through the video, you'll see how often he creates a profile to reference off of, and then deletes it afterward (deleting a construction geometry after using it is a bad practice)

I feel like if you draw two profiles A and B, and A is inside B, and you want them subtracted from each other, then the frontend code generation should generate KCL that uses the hole function to make B a hole of A.
This way you wouldn't need a rule like "generally, extrude profiles independently, but if one encloses the other then treat it as a subtraction". You could have the simpler "always extrude profiles independently" (though some profiles will have holes).

Just one small point @Irev-Dev:

Cases where profiles are 100% contained within another profile this becomes negative space (and then positive again if there's more nesting and so on)

Onshape doesn't alternate nested profiles as extrude/void; only the outer-most is extruded and the user opts into any nested profiles by clicking.
https://github.com/KittyCAD/modeling-app/assets/23481541/54163cd1-e066-4b9c-81ad-9694219e3d15

I really like that idea @adamchalmers. I think using those profiles in that generated code with hole would still require us to tag profiles, right? Then a user could create a sketch with multiple profiles, some nested within each other, and use different parts of the sketch across multiple extrusions, some with holes and some not. Like this example where I extrude in two directions using the same sketch. The first extrude takes the innermost profile and outmost two profiles, and the second extrusion goes in the opposite direct and just extrudes the space between the second and third outermost profiles:

Frank and I talked about this a bit in length and honestly I think the multi-profile code the way it is is extrememly hard to read and not user friendly.
Instead if you look in on shape when you edit a "sketch" the shared commonality for that sketch is the "plane" so we should allow anyone to edit any sketch on that same plane versus our one sketch per edit we have now. I feel like this is a problem with the constraint we put on ourselves for one sketch per edit/create mode versus being a code issue.
ill show what im talking about.
https://github.com/KittyCAD/modeling-app/assets/1445228/f8041340-6009-4b47-9bbf-9839ecb4b41c
I will try and take a look at where that forced requirement of one sketchgroup per edit/create mode is but if you've got ideas @franknoirot or @Irev-Dev let me know but i def think this is a better approach

@Irev-Dev's original idea is still what makes the most sense to me. Even if two sketches share the same plane, that does not mean they are used for similar processes
https://github.com/KittyCAD/modeling-app/assets/114548659/2ca93bda-c7b7-407a-b3e1-43970e1cc5f0
This really only touches on the multiple profiles part. Nothing about the construction geometry stuff.

I promise i think we want the same things here just I feel strongly the code as an artifact of the first idea is completely unreadable and maintainable and will get out of hand quickly so we need some sort of middle ground here, but like if we do this code it will deflect MEs from learning to code.
But i think we are saying the same thing, let me show you, the semantic is just can I edit it in here, and can I not.
They would not be combined sorry let me make this more clear. But i think we are saying the same thing.
https://github.com/KittyCAD/modeling-app/assets/1445228/9f86ccb7-8302-48b8-8957-9628b7a7f0cc

the main difference between what you are doing and what i am doing is youd be able to edit all three of those sketches on the same plane at the same time versus being constrained to the ones you explicitly put in a sketch which I dont think should matter it kinda seems like a feature but maybe im wrong

Okay, I see what you are saying. I am fine with the idea, but I do have one more artifact in my devils advocate toy box. I'll show in video one sec

and this doesnt block the extruding at the same time it would just be like
const plane001 = startSketchOn('XZ')

const profile001 = startSketchOn('XZ')
  |> startProfileAt([40.82, 240.82], %)
  |> line([235.72, -8.16], %)
  |> line([13.27, -253.07], %)
  |> line([-247.97, -19.39], %)
  |> lineTo([profileStartX(%), profileStartY(%)], %)
  |> close(%)

const profile002 = plane001
  |> startProfileAt([47.17, -71.91], %)
  |> line([247.96, -4.03], %)
  |> line([-17.26, -116.79], %)
  |> line([-235.87, 12.66], %)
  |> lineTo([profileStartX(%), profileStartY(%)], %)
  |> close(%)

extrude(10, [profile001,profile002])

i am glad! sorry im also only getting heated not because im like mad just becasuse im into finding a better solution here haha
and im hoping the you can edit them all at the same time is a win versus a blocker

also now i really like the idea of this
const plane001 = startSketchOn('XZ')

const profile001 = startSketchOn('XZ')
  |> startProfileAt([40.82, 240.82], %)
  |> line([235.72, -8.16], %)
  |> line([13.27, -253.07], %)
  |> line([-247.97, -19.39], %)
  |> lineTo([profileStartX(%), profileStartY(%)], %)
  |> close(%)

const profile002 = plane001
  |> startProfileAt([47.17, -71.91], %)
  |> line([247.96, -4.03], %)
  |> line([-17.26, -116.79], %)
  |> line([-235.87, 12.66], %)
  |> lineTo([profileStartX(%), profileStartY(%)], %)
  |> close(%)

const sketch=[profile001,profile002]

extrude(10, sketch)

where then the sketch is a vec of profiles, i like that!

https://github.com/KittyCAD/modeling-app/assets/114548659/341619b3-28b5-4506-9460-561da3fd0f46

Ok wait i gotchu i gotchu 1 sec

also this is fun you likely think im insane but i like this hahah in general the discussion ahaha
https://github.com/KittyCAD/modeling-app/assets/1445228/74e53d57-709c-4395-aebd-91d06b1b160c

also we could call it a surface for sketch on face too:
const surface001 = startSketchOn('XZ')

const profile001 = surface001
  |> startProfileAt([40.82, 240.82], %)
  |> line([235.72, -8.16], %)
  |> line([13.27, -253.07], %)
  |> line([-247.97, -19.39], %)
  |> lineTo([profileStartX(%), profileStartY(%)], %)
  |> close(%)

const profile002 = surface001
  |> startProfileAt([47.17, -71.91], %)
  |> line([247.96, -4.03], %)
  |> line([-17.26, -116.79], %)
  |> line([-235.87, 12.66], %)
  |> lineTo([profileStartX(%), profileStartY(%)], %)
  |> close(%)

const sketch=[profile001,profile002]

extrude(10, sketch)

so then its clear shared surfaces can be added or edited together, so if you sketch on a face the same goes

we could also do something cool and fade out all the code from other "surfaces" so you can see it but its lighter when in edit mode so its clear you just changing code for this surface

so then if i wanted to do a cut out it would generate like:
const surface001 = startSketchOn('XZ')

const profile001 = surface001
  |> startProfileAt([40.82, 240.82], %)
  |> line([235.72, -8.16], %)
  |> line([13.27, -253.07], %)
  |> line([-247.97, -19.39], %)
  |> lineTo([profileStartX(%), profileStartY(%)], %)
  |> close(%)

const profile002 = surface001
  |> startProfileAt([47.17, -71.91], %)
  |> line([247.96, -4.03], %)
  |> line([-17.26, -116.79], %)
  |> line([-235.87, 12.66], %)
  |> lineTo([profileStartX(%), profileStartY(%)], %)
  |> close(%)

const sketch=profile001
 |> hole(profile002)

I'm on board,
From the get-go, I preferred these proposals API, and in fact the only reason I wanted to pipe forever with sketches is because of what I think thought was pragmatic reasons around re-executing to keep code as the source of truth and the fact that in sketch mode we also make a new mini-ast for perf reasons so that when we re-execute it's not having to do all the geometry again. I'm brushing over it, but I had a quick chat with Jess to sanity check my thoughts.
The main case I was worried about was something like
const plane = startSketchOn('XZ')

const profile = startProfileAt([1.01, 0.93], plane)
  |> line([1.63, 1.25], %)
  |> line([2.69, -0.6], %)
  |> line([-0.01, -2.85], %)
  |> lineTo([profileStartX(%), profileStartY(%)], %)
  |> close(%)
const profile2 = startProfileAt([6, 0.93], plane)
  |> line([2.14, 1.77], %, 'seg01')
  |> line([2.69, -0.6], %)
  |> angledLine([
       -90,
       segLen('seg01', %) * segLen('seg01', %) / 2
     ], %)
  |> lineTo([profileStartX(%), profileStartY(%)], %)
  |> close(%)

const extrude001 = extrude(5, profile2)

const profile3 = startProfileAt([2, 3], plane)
  |> line([1.63, 5], %)
  |> line([4.85, -3.14], %)
  |> line([4.85, getExtrudeVolume(extrude001)], %)

In this case we can not allow editing profile1, profile2 and profile3 at the same time because changing profile2 effects something in 3d which profile3 relies on.
This is an edge case so not to be too concerned about but the compromise Jess and I came up with is that
a) Our AST modes will never put something 3d between two 2d profiles using the same plane
b) When a user does it, we can have a lint warning for it
c) In the case of the example where there's a legitamet reason to have 3d between 2 profile definitions, then we simply block editing both at the same time, user has to edit profile1 and profile2 together, and profile3 separately.
One other final thing I'll note is that this is our language and we can do whatever we want with it, and infact originally in the language before we swapped it out for plain old pipes
Something like
const mySketch = sketch {
  const profile001 = surface001
    |> startProfileAt([40.82, 240.82], %)
    |> line([235.72, -8.16], %)
    |> line([13.27, -253.07], %)
    |> line([-247.97, -19.39], %)
    |> lineTo([profileStartX(%), profileStartY(%)], %)
    |> close(%)

  const profile002 = surface001
    |> startProfileAt([47.17, -71.91], %)
    |> line([247.96, -4.03], %)
    |> line([-17.26, -116.79], %)
    |> line([-235.87, 12.66], %)
    |> lineTo([profileStartX(%), profileStartY(%)], %)
    |> close(%)
}

That is the key word sketch with curlies {}. The sketch having a language level feature like this might be pragmatic because

We can block 3d stuff between profiles at a language level instead of a linting/best-practise, i.e. stdLib functions like extrude, loft etc would be blocked inside of a sketch block.
The mental model for what's editable in sketch mode at the same time is very easy to grok and very easy from a AST level, because it's just everything within the sketch block, the same way as it's now "everything with in the pipe"

That would be a bigger change, but something to consider.

we could also do something cool and fade out all the code from other "surfaces" so you can see it but its lighter when in edit mode so its clear you just changing code for this surface

Hey hey I have a little draft mockup of something related to this here in Figma (obviously not including the code tweaks discussed here which I like):

const sketch=profile001
|> hole(profile002)

I think a sketch would be a vec of profiles, just a thin group, but where the piping with hole() becomes useful is when extruding a region that is made up of the space between two profiles, like in this Figma flow I just made So if I had it this sketch with two profiles:

And the user selects the region between them...

The resulting extrusion would look something like this:
const surface001 = startSketchOn(‘XY’)

const profile001 = surface001
  |> rectangleFromCenter({
      center: [0, 0],
      width: 20,
      height: 10,
    })
const profile002 = surface001
  |> circle([0, 0], 5)

const sketch001 = [
  profile001,
  profile002
]

const extrude001 = extrude(
  22.5,
  profile001 |> hole(profile002)
)

or if we wanted to show the user that we were making a region more clearly...
const surface001 = startSketchOn(‘XY’)

const profile001 = surface001
  |> rectangleFromCenter({
      center: [0, 0],
      width: 20,
      height: 10,
    })
const profile002 = surface001
  |> circle([0, 0], 5)

const sketch001 = [
  profile001,
  profile002
]

const sketchRegion001 = profile001 |> hole(profile002)
const extrude001 = extrude(
  22.5,
  sketchRegion001
)

A video walking through this flow:

I think we shouldn't convert closed sketch profiles into Solid2Ds
The way this discussion plugs into a concept of a "sketch region" for use in extrusions
Showing the user the code mod-in-progress while extruding
A question about how to discern when the user is trying to extrude the region between two sketch profiles
I like this idea of the surface being the thing you go back and edit in sketch mode

https://github.com/KittyCAD/modeling-app/assets/23481541/601e6957-76ca-41b4-ac61-08d49aa31b94

I should also note that I found a CodeMirror extension to make certain ranges read-only, so once we make a sketch surface its own top-level constant we can just make that line read-only with it.

Throw that on the thread with Marijn so we can make sure it's good :) he might suggest implementing our own

Marijn recommended against that extension in favor of making our own change filter, which is a direct CodeMirror utility. But that'd be better as its own issue.

relevant to https://github.com/KittyCAD/modeling-app/issues/2931


Version conflict detected when installing EF 2.1.1 on ASP Core 2.1

Describe what is not working as expected.
When adding a reference to Microsoft.EntityFrameworkCore 2.1.1 on a brand new ASP Core 2.1 Web API, I get the following error:
Version conflict detected for Microsoft.EntityFrameworkCore.Abstractions. Reference the package directly from the project to resolve this issue.

Sample -> Microsoft.EntityFrameworkCore 2.1.1 -> Microsoft.EntityFrameworkCore.Abstractions (>= 2.1.1)

Sample -> Microsoft.AspNetCore.App 2.1.0 -> Microsoft.EntityFrameworkCore.Abstractions (= 2.1.0).

Steps to reproduce

Create a new Website using Asp Core 2.1
Select WebApi
Manage Nuget packages
Add a reference to Microsoft.EntityFrameworkCore 2.1.1
Error...

Further technical details
EF Core version: 2.1.1
Database Provider: NA
Operating system: Windows 10 Pro
IDE:  VS Community 2017 15.7.3

@natemcmaster Any insights on this?

Sorry, commented too soon. @gnpretorius You will need to update to ASP.NET Core 2.1.1 as well, to keep all the versions in sync. This should be done by installing the new SDK, which will I believe will be available for download today.

@ajcvickers
I had this problem, but it was because I had not installed the SDK.
https://github.com/dotnet/versions/tree/7a833dddfddc27f2074b755b94234a25b9757637/build-info/dotnet/product/cli/release/2.1

Thanks guys!
I'll do that and follop up with the outcome.

Hey guys. This is still not working for me? I've reinstalled the SDK (yesterday) and it's still version 2.1
Thoughts?

@gnpretorius Please post your csproj files so we can see the dependencies.

Here you go:
<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <Folder Include="wwwroot\" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.App" />
  </ItemGroup>

</Project>

This is after I installed the latest SDK from here:
https://www.microsoft.com/net/download/visual-studio-sdks

Looks like this has finally been resoleased. Installed the 2.1.301 SDK and works fine now.
https://blogs.msdn.microsoft.com/dotnet/2018/06/22/net-core-2-1-june-update/
Thanks
Gordon

Closing as it appears this is resolved and all 2.1.301 SDK downloads are available.


Split CSS files into a main branding file and then one for each form factor???

Talk further with dad on this. It seems as if this would cause further slowdown.

For optimization reasons, it seems I will be working in the exact opposite direction. Also, with an upcoming pruning of LikeABossa.css, this shouldn't be necessary for intelligibility.


Incorrect line number for compiling error when -cover for "go test"

go test t.go t_test.go and go test t.go t_test.go -cover show different line numbers for compiling error (12 vs 14) with same error message. Is this expected?
t.go:
package t

import(
  "fmt"
)

func T() {
  fmt.Println("Hello")
}

func b() {
  var i int = ""
}

t_test.go:
package t

import(
  "testing"
)

func Test(t *testing.T) {
}

This is a dup of #6329 .  It's a known problem.


D435 on robot arm

I used D435 to measure the practical 3D coordinate of a fixed point in the real world according to a pixel of a rgb image. I used the function "rs2_deproject_pixel_to_point" to get the 3D coordinate. I calibrated the RGB camera and robot. Then I turned the 3D coordinate into the basic coordinate system of robot arm. But when the robot arm moved, it seemed that the 3D coordinate in the real world was moving too. It was confused me. How can I get the real coordinate in the robot system?

Hi @xczzz  It sounds as though your project has some similarities to https://github.com/IntelRealSense/librealsense/issues/9749 where the camera is mounted in a fixed position and captures an RGB image of the scene.  The 2D RGB coordinate is converted to a 3D world coordinate using rs2_deproject_pixel_to_point.  This information is then used to move a carriage component to a certain real-world position, whilst the camera remains stationary.
I recommend reading that case and then returning here with any new questions that arise from it.

@MartyG-RealSense Thank you very much. It seems that this issue is helpful to me. I will try as soon as I get time.

@MartyG-RealSense Thank you very much. It seems that this issue is helpful to me. I will try as soon as I get time.

You are very welcome, @xczzz - please do update here when you have results of your test.  Good luck!

Hi @MartyG-RealSense I have a question about the coordinates system of the camera. I find a pixel in RGB image and using "rs2_project_color_pixel_to_depth_pixel" to turn this pixel into depth pixel. Then I use "rs2_deproject_pixel_to_point" to get a 3D point. I wonder which coordinate system this point is relative to. RGB sensor or depth sensor? (It seems that the two systems are different.) If the point is relative to the depth coordinate system, how can I turn it into RGB system?

The depth world-origin point (0,0,0) of the coordinate system of the 400 Series cameras is the center-line of the left infrared sensor.  When facing the camera from the front, this is the infrared sensor that is on the right side of the camera.

I would think that if you needed a 2D (xy) RGB coordinate then you could store the coordinates of a particular RGB pixel before you use rs2_project_color_pixel_to_depth_pixel to convert the RGB pixel into a depth pixel.
Otherwise, after having used rs2_deproject_pixel_to_point to transform a 2D depth pixel (obtained by rs2_project_color_pixel_to_depth_pixel) into a 3D depth point then you could subsequently use rs2_project_point_to_pixel to convert a 3D xyz depth point back to a 2D xy pixel coordinate.

@MartyG-RealSense I think there is a misunderstanding between us. I want to get the 3D point relative to RGB sensor coordinate system finally. I have noticed the function "rs2_transform_point_to_point". Can I use it  to change the 3D point relative to depth coordinate system into 3D point relative to RGB coordinate system?

rs2_transform_point_to_point transforms the position of coordinates, such as taking multiple individual point clouds and positioning and rotating them so that they all occupy the same space as a single large point cloud (a process known as an 'affine transform').
I believe that what you are referring to is a rather complex subject that will involve finding the extrinsics of the position between depth and RGB sensors.  https://github.com/IntelRealSense/librealsense/issues/2948 may be a useful reference.

@MartyG-RealSense Actually I just need a transformation between RGB 3D space and depth 3D space to help me turn the 3D point in RGB coordinate system into depth coordinate system. According to the description of rs2_transform_point_to_point, it is “Knowing the extrinsic parameters between two streams allows you to transform points from one coordinate space to another, which can be done by calling rs2_transform_point_to_point(...)” which is from documentation. It seems that it's different from what you said. It confused me.

RGB coordinates should be in the depth system if they have been mapped to depth coordinates (either by converting a single RGB pixel to depth pixel with rs2_project_color_pixel_to_depth_pixel OR performing depth to color alignment on the entire image). And then, as a final step, using rs2_deproject_pixel_to_point to transform 2D pixels into 3D depth points in the depth coordinate system.

@MartyG-RealSense You mean after  converting a single RGB pixel to depth pixel with rs2_project_color_pixel_to_depth_pixel, the 3D point calculated by  rs2_deproject_pixel_to_point is relative to RGB system because the two systems are the same?

Using rs2_project_color_pixel_to_depth_pixel on a single specific pixel to convert it from an RGB pixel to a depth pixel is like using align_to to align RGB and depth for the entire image.  This is why rs2_project_color_pixel_to_depth_pixel is much more processing-efficient than align_to if you only need to map color to depth for one pixel instead of all the pixels in the image.
There is one coordinate system, with the center of the left infrared imager being the origin point of that coordinate system.  This is described in the SDK's Projection documentation.
https://dev.intelrealsense.com/docs/projection-in-intel-realsense-sdk-20

@MartyG-RealSense I refered to the issue but there is still the problem. I wonder where the camera coordinate system is? And Where are the depth sensor coordinate origin and color sensor coordinate origin respectively?

@MartyG-RealSense It is alright. Yesterday I found a new problem. I found that when I turned the center pixel coordinate (320, 240) in a 640×480 RGB image into 3D coordinate in RGB space, the x and y in 3D coordinate are both not zero. In my opinion, I think x and y should  be both zero because the pixel is in the center where they are from.  Especially the bias of x is big. The same situation happened in depth space.

Z-depth measurements have an error factor called RMS Error in them.  Depth measurement error starts at around zero at the camera lenses and increases linearly with distance from the camera.  The further away that an observed object or surface is, the greater the error factor.
On the D435 / D435i models, this error becomes particularly noticable for coordinates that are at a distance from the lens of 3 meters or more.  The newer D455 model has 2x the accuracy over distance, meaning that it has the same accuracy at 6 meters distance that a D435 / D435i has at 3 meters.
You can read more about RMS error in point 5.  Understand theoretical limit of the section of Intel's camera tuning paper linked to below.
https://dev.intelrealsense.com/docs/tuning-depth-cameras-for-best-performance#section-verify-performance-regularly-on-a-flat-wall-or-target
In regard to xy not being zero at the center (320,240) of a 640x480 image, another RealSense user in https://github.com/IntelRealSense/librealsense/issues/7100 experienced this and questioned it.  A RealSense team member provides them with advice.

Hi @MartyG-RealSense  I refered to the issue #7100 but there is still the problem. I did not wrap the x and y like this issue. I think the input is right in my code. Can you please give me some other advices?

Here is my code. @MartyG-RealSense
`
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include
#include
#include
#include
#include <librealsense2/rs.hpp>
#include <librealsense2/rsutil.h>
#include <ros/ros.h>
#include "../examples/example.hpp"
#include "locator/BlackPoint3D.h"
using namespace std;
#include <opencv2/aruco.hpp>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
using namespace cv;
int main(int argc, char** argv) {
ros::init(argc, argv, "aruco_to_point_and_talk");
ros::NodeHandle nh;
ros::Publisher pub = nh.advertiselocator::BlackPoint3D("point_coordinate", 1000);
rs2::colorizer c;
rs2::pipeline pipe;
rs2::config cfg;
cfg.enable_stream(RS2_STREAM_DEPTH, 848, 480, RS2_FORMAT_Z16, 30);
cfg.enable_stream(RS2_STREAM_COLOR, 1280, 720, RS2_FORMAT_RGB8, 30);
rs2::pipeline_profile profile = pipe.start(cfg);
auto depth_sensor = profile.get_device().firstrs2::depth_sensor();
static float depth_scale = depth_sensor.get_depth_scale();
static struct rs2_intrinsics depth_intrin;
static struct rs2_intrinsics color_intrin;
static struct rs2_extrinsics depth_extrin_to_color;
static struct rs2_extrinsics color_extrin_to_depth;
const rs2::stream_profile color_profile =profile.get_stream(RS2_STREAM_COLOR);
const rs2::stream_profile depth_profile =profile.get_stream(RS2_STREAM_DEPTH);
depth_intrin = depth_profile.asrs2::video_stream_profile().get_intrinsics();
color_intrin = color_profile.asrs2::video_stream_profile().get_intrinsics();
depth_extrin_to_color =depth_profile.asrs2::video_stream_profile().get_extrinsics_to(color_profile);
color_extrin_to_depth =color_profile.asrs2::video_stream_profile().get_extrinsics_to(depth_profile);
ros::Rate rate(30);
while (ros::ok() && waitKey(1))
{
locator::BlackPoint3D BP;
rs2::frameset frameset = pipe.wait_for_frames();

auto depth = frameset.get_depth_frame();
auto color = frameset.get_color_frame();
auto colorized_depth = c.colorize(depth);

const int depth_w = depth.as<rs2::video_frame>().get_width();
const int depth_h = depth.as<rs2::video_frame>().get_height();
const int color_w = color.as<rs2::video_frame>().get_width();
const int color_h = color.as<rs2::video_frame>().get_height();
const int colorized_depth_w = colorized_depth.as<rs2::video_frame>().get_width();
const int colorized_depth_h = colorized_depth.as<rs2::video_frame>().get_height();

Mat depth_image(Size(depth_w, depth_h), CV_8UC3, (void*)depth.get_data(), Mat::AUTO_STEP);
Mat color_image(Size(color_w, color_h), CV_8UC3, (void*)color.get_data(), Mat::AUTO_STEP);
Mat colorized_depth_image(Size(colorized_depth_w, colorized_depth_h), CV_8UC3, (void*)colorized_depth.get_data(), Mat::AUTO_STEP);

Ptr<aruco::Dictionary> dictionary = getPredefinedDictionary(aruco::DICT_ARUCO_ORIGINAL);

Ptr<aruco::DetectorParameters> parameters = aruco::DetectorParameters::create();

vector<vector<Point2f>> markerCorners, rejectedCandidates;

vector<int> markerIds;

detectMarkers(color_image, dictionary, markerCorners, markerIds, parameters, rejectedCandidates);

if (markerIds.size() > 0) {
  aruco::drawDetectedMarkers(color_image, markerCorners, markerIds);
  for (int i = 0; i < markerIds.size(); i++) {

    cout << markerIds[i] << endl;

float cx = color_w/2.0;
float cy = color_h/2.0;

    Point po;
    po.x = int(cx);
    po.y = int(cy);
    cout<<"coor in color image: "<<"x= "<<po.x<<" y= "<<po.y<<endl;
    circle(color_image, po, 2, Scalar(0, 0, 255), -1);

    float upixel[2];
    float upoint[3];
    upixel[0] = static_cast<float>(cx);
    upixel[1] = static_cast<float>(cy);

    float depth_pixel[2];

    rs2_project_color_pixel_to_depth_pixel(depth_pixel,
    reinterpret_cast<const uint16_t*>(frameset.get_data()),
    depth_scale,
    0.1,3.0,
    &depth_intrin,
    &color_intrin,
    &color_extrin_to_depth,&depth_extrin_to_color,upixel);

    Point pd;
    pd.x = int(depth_pixel[0]);
    pd.y = int(depth_pixel[1]);
    circle(colorized_depth_image, pd, 3, Scalar(0, 0, 0), -1);
    cout<<"coor in depth image: "<<"x = "<<pd.x<<" y = "<<pd.y<<endl;

    auto dist_to_object = depth.get_distance(depth_pixel[0], depth_pixel[1]);

    rs2_deproject_pixel_to_point(upoint, &depth_intrin, depth_pixel, dist_to_object);
    cout << "Point in depth: " << " x = " << upoint[0] << " y = " << upoint[1] << " z = " << upoint[2]<<endl;

    float to_point[3];
    rs2_transform_point_to_point(to_point, &depth_extrin_to_color, upoint);
    cout << "Point from depth to RGB: " << " x = " << to_point[0] << " y = " << to_point[1] << " z = " << to_point[2]<<endl;

    float color_pixel[2];
    rs2_project_point_to_pixel(color_pixel, &color_intrin, to_point);
    cout << "back to color pixel: " << " x = " << color_pixel[0] << " y = " << color_pixel[1] <<endl;

    cout<<endl;

    BP.cpoint.push_back(upoint[0]);
    BP.cpoint.push_back(upoint[1]);
    BP.cpoint.push_back(upoint[2]);

    rate.sleep();
  }
} else {
  BP.cpoint.push_back(0.0);
  BP.cpoint.push_back(0.0);
  BP.cpoint.push_back(0.0);

  ROS_INFO_STREAM("NONE coordinate : " << " x = " << BP.cpoint[0] << " y = " << BP.cpoint[1] << " z = " << BP.cpoint[2]);
}
pub.publish(BP);

rate.sleep();

imshow("color_Image", color_image);
imshow("colorized_depth", colorized_depth_image);

}
}
`

How near to the center of the image does the large drift in X occur?  There is a known issue with use of the get_distance instruction where measurements are relatively correct at the center of the image and become less accurate when moving towards the outer areas of the image.  More information about this can be found at https://github.com/IntelRealSense/librealsense/issues/9088#issuecomment-847583702

@MartyG-RealSense Hello again. I made  several tests. When the pixel is in the center of the color image, the x is about 3cm difference to the ground truth in the  real world. The y is about 1cm and the z is about 2cm. The camera is within 1m distant to the object.

You mentioned in your opening message that you calibrated the RGB.  Did you use the RealSense SDK's official Dynamic Calibration tool to do this?

The calibration is to define the transformation matrix betwewn RGB camera and robot arm. I did not use Dynamic Calibration.

Besides, I found that the the depth value calculated by "get_distance" is not accurate. There is an error about 1~2 cm. Should I use Dynamic Calibration first?

RealSense cameras usually have very good calibration when new after purchase because they are calibrated in the factory.  They may need re-calibrating after a time though, especially if they have received a physical shock such as a hard knock, drop on the floor or have experienced severe vibration (e.g when mounted on a drone or on a vehicle travelling on rough ground such as agricultural land).  Could your camera have experienced anything like this?  If so then it would definitely be worth performing a Dynamic Calibration.

I am not sure. Maybe the camera happened something during the express delivery. I think it is a good attempt to calibration the camera again. I will try it. Thank you again. When I get some progress or I find new problems, I will update my issue.

Hi @MartyG-RealSense I re-calibrated the intrinsic parameters using a circle grid board. I found that the distortion coefficients of my re-calibration was different from the camera info. The coefficients of camera info are all zero while the coefficients of my re-calibration are not zero. They are 0.023 0.918 0.0015 0.003 -3.636. I wonder if they will impact the using of camera. And how can I update the coefficients in camera info?

Ok, I got it. @MartyG-RealSense Besides, there is a problem about fx and fy of intrinsic parameters. I got the fx and fy via my re-calibration. They are about 599. But the fx and fy are about 606 according to the camera info. (By the way, the ppx and ppy are nearly the same.) Will this problem impact the accuracy when detecting via visual method? If it impacts, how can I update them?

ppx and ppy describe the pixel coordinates of the principal point (the center of projection), whilst fx and fy (which describe the focal length of the image as a multiple of pixel width and height) are allowed to be different but are commonly close.  This information is quoted from the Intrisics section of the SDK's Projection documentation.
https://dev.intelrealsense.com/docs/projection-in-intel-realsense-sdk-20#section-intrinsic-camera-parameters
The SDK's rs-enumerate-devices -c calibration mode demonstrates that ppx / ppy and fx / fy can change at different resolutions.  The image below is taken from a D435i camera model.

Ok, according to my understanding, I do not need to update the intrinsic parameters with my re-calibration value because the difference is really small. Is my understanding right?

That is my understanding that you should not need to update the intrinsics.  It is worth bearing in mind that the Dynamic Calibration tool does not calibrate intrinsics and only calibrates extrinsics, because it is extrinsics that have the most impact on the image.

Hi @xczzz  Do you require further assistance with this case, please?  Thanks!

@MartyG-RealSense No, you can help me to close the issue. Thank you again.

Thanks very much @xczzz for the update.  As you suggested, I will close the case.  Thanks again!


Organization of indicators by Sources and Topics

Improve indicators documentaiton (STHLP file), by grouping indicators by SOURCE and TOPICS

Dear Sir,
Thank you for this update.

version 16.2.1


System.MissingMethodException: Method not found: 'Microsoft.Extensions.PlatformAbstractions.IAssemblyLoadContextAccessor

I'm trying to run my asp.net 5 web app on ubuntu 14.04 and after running dnu restore and trying to run dnx command to host it I get this error:

System.MissingMethodException: Method not found: 'Microsoft.Extensions.PlatformAbstractions.IAssemblyLoadContextAccessor Microsoft.Extensions.PlatformAbstractions.PlatformServices.get_AssemblyLoadContextAccessor()'.
at Microsoft.AspNet.Hosting.WebHostBuilder.BuildHostingServices()
at Microsoft.AspNet.Hosting.WebHostBuilder.Build()
at Microsoft.AspNet.Hosting.WebApplication.Run(Type startupType, String[] args)
at Microsoft.AspNet.Hosting.Program.Main(String[] args)
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Microsoft.Dnx.Runtime.Common.EntryPointExecutor.Execute(Assembly assembly, String[] args, IServiceProvider serviceProvider)
at Microsoft.Dnx.ApplicationHost.Program.<>c__DisplayClass3_0.b__0()
at System.Threading.Tasks.Task`1.InnerInvoke()
at System.Threading.Tasks.Task.Execute()

Are you using RC1 packages?

I think I wasnt so after changing I got even scarier error:

Application startup exception: System.IO.FileLoadException: Could not load file or assembly 'kis, Culture=neutral, PublicKeyToken=null' or one of its dependencies. General Exception (Exception from HRESULT: 0x80131500)
File name: 'kis, Culture=neutral, PublicKeyToken=null' ---> Microsoft.Dnx.Compilation.CSharp.RoslynCompilationException: /var/www/kis/src/KeepItSolved/Startup.cs(17,15): DNXCore,Version=v5.0 error CS0101: The namespace 'KeepItSolved' already contains a definition for 'Startup'
/var/www/kis/Models/SolvedRepository.cs(7,15): DNXCore,Version=v5.0 error CS0101: The namespace 'KeepItSolved.Models' already contains a definition for 'SolvedRepository'
/var/www/kis/Models/Flashcard.cs(3,15): DNXCore,Version=v5.0 error CS0101: The namespace 'KeepItSolved.Models' already contains a definition for 'Flashcard'
/var/www/kis/Models/ISolvedRepository.cs(5,19): DNXCore,Version=v5.0 error CS0101: The namespace 'KeepItSolved.Models' already contains a definition for 'ISolvedRepository'
/var/www/kis/Models/SolvedContext.cs(6,15): DNXCore,Version=v5.0 error CS0101: The namespace 'KeepItSolved.Models' already contains a definition for 'SolvedContext'
/var/www/kis/ViewModels/FlashcardViewModel.cs(5,15): DNXCore,Version=v5.0 error CS0101: The namespace 'KeepItSolved.ViewModels' already contains a definition for 'FlashcardViewModel'
/var/www/kis/ViewModels/LoginViewModel.cs(5,15): DNXCore,Version=v5.0 error CS0101: The namespace 'KeepItSolved.ViewModels' already contains a definition for 'LoginViewModel'
/var/www/kis/ViewModels/RegisterViewModel.cs(5,15): DNXCore,Version=v5.0 error CS0101: The namespace 'KeepItSolved.ViewModels' already contains a definition for 'RegisterViewModel'
/var/www/kis/src/KeepItSolved/Startup.cs(21,10): DNXCore,Version=v5.0 error CS0111: Type 'Startup' already defines a member called '.ctor' with the same parameter types
/var/www/kis/src/KeepItSolved/Startup.cs(32,15): DNXCore,Version=v5.0 error CS0111: Type 'Startup' already defines a member called 'ConfigureServices' with the same parameter types
/var/www/kis/src/KeepItSolved/Startup.cs(75,21): DNXCore,Version=v5.0 error CS0111: Type 'Startup' already defines a member called 'Configure' with the same parameter types
/var/www/kis/src/KeepItSolved/Startup.cs(97,28): DNXCore,Version=v5.0 error CS0111: Type 'Startup' already defines a member called 'Main' with the same parameter types
/var/www/kis/src/KeepItSolved/Controllers/Api/CardController.cs(14,18): DNXCore,Version=v5.0 error CS0101: The namespace 'KeepItSolved.Controllers.Api' already contains a definition for 'CardController'
/var/www/kis/src/KeepItSolved/Controllers/Api/CardController.cs(18,10): DNXCore,Version=v5.0 error CS0111: Type 'CardController' already defines a member called '.ctor' with the same parameter types
/var/www/kis/src/KeepItSolved/Controllers/Api/CardController.cs(24,21): DNXCore,Version=v5.0 error CS0111: Type 'CardController' already defines a member called 'Get' with the same parameter types
/var/www/kis/src/KeepItSolved/Controllers/Api/CardController.cs(33,21): DNXCore,Version=v5.0 error CS0111: Type 'CardController' already defines a member called 'Post' with the same parameter types
/var/www/kis/src/KeepItSolved/Controllers/Web/AppController.cs(11,15): DNXCore,Version=v5.0 error CS0101: The namespace 'KeepItSolved.Controllers.Web' already contains a definition for 'AppController'
/var/www/kis/src/KeepItSolved/Controllers/Web/AppController.cs(17,10): DNXCore,Version=v5.0 error CS0111: Type 'AppController' already defines a member called '.ctor' with the same parameter types
/var/www/kis/src/KeepItSolved/Controllers/Web/AppController.cs(27,30): DNXCore,Version=v5.0 error CS0111: Type 'AppController' already defines a member called 'Index' with the same parameter types
/var/www/kis/src/KeepItSolved/Controllers/Web/AppController.cs(38,36): DNXCore,Version=v5.0 error CS0111: Type 'AppController' already defines a member called 'Index' with the same parameter types
/var/www/kis/src/KeepItSolved/Controllers/Web/AppController.cs(61,24): DNXCore,Version=v5.0 error CS0111: Type 'AppController' already defines a member called 'Cards' with the same parameter types
/var/www/kis/src/KeepItSolved/Controllers/Web/AppController.cs(68,24): DNXCore,Version=v5.0 error CS0111: Type 'AppController' already defines a member called 'Register' with the same parameter types
/var/www/kis/src/KeepItSolved/Controllers/Web/AppController.cs(74,36): DNXCore,Version=v5.0 error CS0111: Type 'AppController' already defines a member called 'Register' with the same parameter types
/var/www/kis/src/KeepItSolved/Controllers/Web/AppController.cs(98,36): DNXCore,Version=v5.0 error CS0111: Type 'AppController' already defines a member called 'Logout' with the same parameter types
/var/www/kis/Models/SolvedRepository.cs(11,10): DNXCore,Version=v5.0 error CS0111: Type 'SolvedRepository' already defines a member called '.ctor' with the same parameter types
/var/www/kis/Models/SolvedRepository.cs(16,15): DNXCore,Version=v5.0 error CS0111: Type 'SolvedRepository' already defines a member called 'AddCard' with the same parameter types
/var/www/kis/Models/SolvedRepository.cs(21,33): DNXCore,Version=v5.0 error CS0111: Type 'SolvedRepository' already defines a member called 'GetAllFlashcards' with the same parameter types
/var/www/kis/Models/SolvedRepository.cs(26,33): DNXCore,Version=v5.0 error CS0111: Type 'SolvedRepository' already defines a member called 'GetUserFlashcards' with the same parameter types
/var/www/kis/Models/SolvedRepository.cs(40,15): DNXCore,Version=v5.0 error CS0111: Type 'SolvedRepository' already defines a member called 'SaveAll' with the same parameter types
/var/www/kis/Models/ISolvedRepository.cs(7,26): DNXCore,Version=v5.0 error CS0111: Type 'ISolvedRepository' already defines a member called 'GetAllFlashcards' with the same parameter types
/var/www/kis/Models/ISolvedRepository.cs(8,8): DNXCore,Version=v5.0 error CS0111: Type 'ISolvedRepository' already defines a member called 'AddCard' with the same parameter types
/var/www/kis/Models/ISolvedRepository.cs(9,8): DNXCore,Version=v5.0 error CS0111: Type 'ISolvedRepository' already defines a member called 'SaveAll' with the same parameter types
/var/www/kis/Models/ISolvedRepository.cs(10,26): DNXCore,Version=v5.0 error CS0111: Type 'ISolvedRepository' already defines a member called 'GetUserFlashcards' with the same parameter types
/var/www/kis/Models/SolvedContext.cs(8,10): DNXCore,Version=v5.0 error CS0111: Type 'SolvedContext' already defines a member called '.ctor' with the same parameter types
/var/www/kis/Models/SolvedContext.cs(15,27): DNXCore,Version=v5.0 error CS0111: Type 'SolvedContext' already defines a member called 'OnConfiguring' with the same parameter types
/var/www/kis/Migrations/SolvedContextModelSnapshot.cs(10,6): DNXCore,Version=v5.0 error CS0579: Duplicate 'DbContext' attribute
/var/www/kis/Migrations/SolvedContextModelSnapshot.cs(13,33): DNXCore,Version=v5.0 error CS0111: Type 'SolvedContextModelSnapshot' already defines a member called 'BuildModel' with the same parameter types
/var/www/kis/Migrations/20160414215220_InitialMigration.Designer.cs(10,6): DNXCore,Version=v5.0 error CS0579: Duplicate 'DbContext' attribute
/var/www/kis/Migrations/20160414215220_InitialMigration.Designer.cs(11,6): DNXCore,Version=v5.0 error CS0579: Duplicate 'Migration' attribute
/var/www/kis/Migrations/20160414215220_InitialMigration.cs(10,33): DNXCore,Version=v5.0 error CS0111: Type 'InitialMigration' already defines a member called 'Up' with the same parameter types
/var/www/kis/Migrations/20160414215220_InitialMigration.cs(160,33): DNXCore,Version=v5.0 error CS0111: Type 'InitialMigration' already defines a member called 'Down' with the same parameter types
/var/www/kis/Migrations/20160414215220_InitialMigration.Designer.cs(14,33): DNXCore,Version=v5.0 error CS0111: Type 'InitialMigration' already defines a member called 'BuildTargetModel' with the same parameter types
/var/www/kis/Startup.cs(28,4): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'Startup.Configuration' and 'Startup.Configuration'
/var/www/kis/src/KeepItSolved/Models/SolvedContext.cs(17,29): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'Startup.Configuration' and 'Startup.Configuration'
/var/www/kis/Models/SolvedContext.cs(17,29): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'Startup.Configuration' and 'Startup.Configuration'
/var/www/kis/src/KeepItSolved/Models/SolvedRepository.cs(13,4): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'SolvedRepository._context' and 'SolvedRepository._context'
/var/www/kis/src/KeepItSolved/Models/SolvedRepository.cs(18,4): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'SolvedRepository._context' and 'SolvedRepository._context'
/var/www/kis/src/KeepItSolved/Models/SolvedRepository.cs(23,11): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'SolvedRepository._context' and 'SolvedRepository._context'
/var/www/kis/src/KeepItSolved/Startup.cs(28,4): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'Startup.Configuration' and 'Startup.Configuration'
/var/www/kis/Controllers/Web/AppController.cs(21,4): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'AppController._repository' and 'AppController._repository'
/var/www/kis/Controllers/Web/AppController.cs(22,4): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'AppController._userManager' and 'AppController._userManager'
/var/www/kis/Controllers/Web/AppController.cs(23,4): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'AppController._signInManager' and 'AppController._signInManager'
/var/www/kis/Controllers/Web/AppController.cs(33,37): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'LoginViewModel.ReturnUrl' and 'LoginViewModel.ReturnUrl'
/var/www/kis/src/KeepItSolved/Models/SolvedRepository.cs(30,12): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'SolvedRepository._context' and 'SolvedRepository._context'
/var/www/kis/src/KeepItSolved/Models/SolvedRepository.cs(42,11): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'SolvedRepository._context' and 'SolvedRepository._context'
/var/www/kis/Models/SolvedRepository.cs(13,4): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'SolvedRepository._context' and 'SolvedRepository._context'
/var/www/kis/Models/SolvedRepository.cs(18,4): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'SolvedRepository._context' and 'SolvedRepository._context'
/var/www/kis/Models/SolvedRepository.cs(23,11): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'SolvedRepository._context' and 'SolvedRepository._context'
/var/www/kis/Models/SolvedRepository.cs(30,12): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'SolvedRepository._context' and 'SolvedRepository._context'
/var/www/kis/Models/SolvedRepository.cs(42,11): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'SolvedRepository._context' and 'SolvedRepository._context'
/var/www/kis/Controllers/Api/CardController.cs(20,4): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'CardController._repository' and 'CardController._repository'
/var/www/kis/Controllers/Api/CardController.cs(26,16): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'CardController._repository' and 'CardController._repository'
/var/www/kis/Controllers/Api/CardController.cs(40,14): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'Flashcard.UserName' and 'Flashcard.UserName'
/var/www/kis/Controllers/Api/CardController.cs(43,6): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'CardController._repository' and 'CardController._repository'
/var/www/kis/Controllers/Api/CardController.cs(45,10): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'CardController._repository' and 'CardController._repository'
/var/www/kis/src/KeepItSolved/Controllers/Api/CardController.cs(20,4): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'CardController._repository' and 'CardController._repository'
/var/www/kis/src/KeepItSolved/Controllers/Api/CardController.cs(26,16): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'CardController._repository' and 'CardController._repository'
/var/www/kis/src/KeepItSolved/Controllers/Api/CardController.cs(40,14): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'Flashcard.UserName' and 'Flashcard.UserName'
/var/www/kis/src/KeepItSolved/Controllers/Api/CardController.cs(43,6): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'CardController._repository' and 'CardController._repository'
/var/www/kis/src/KeepItSolved/Controllers/Api/CardController.cs(45,10): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'CardController._repository' and 'CardController._repository'
/var/www/kis/Controllers/Web/AppController.cs(42,65): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'LoginViewModel.Login' and 'LoginViewModel.Login'
/var/www/kis/Controllers/Web/AppController.cs(42,78): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'LoginViewModel.Password' and 'LoginViewModel.Password'
/var/www/kis/Controllers/Web/AppController.cs(42,24): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'AppController._signInManager' and 'AppController._signInManager'
/var/www/kis/Controllers/Web/AppController.cs(45,38): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'LoginViewModel.ReturnUrl' and 'LoginViewModel.ReturnUrl'
/var/www/kis/Controllers/Web/AppController.cs(45,73): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'LoginViewModel.ReturnUrl' and 'LoginViewModel.ReturnUrl'
/var/www/kis/Controllers/Web/AppController.cs(47,29): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'LoginViewModel.ReturnUrl' and 'LoginViewModel.ReturnUrl'
/var/www/kis/Controllers/Web/AppController.cs(63,16): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'AppController._repository' and 'AppController._repository'
/var/www/kis/Controllers/Web/AppController.cs(78,52): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'RegisterViewModel.Login' and 'RegisterViewModel.Login'
/var/www/kis/Controllers/Web/AppController.cs(78,73): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'RegisterViewModel.Email' and 'RegisterViewModel.Email'
/var/www/kis/Controllers/Web/AppController.cs(79,61): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'RegisterViewModel.Password' and 'RegisterViewModel.Password'
/var/www/kis/Controllers/Web/AppController.cs(79,24): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'AppController._userManager' and 'AppController._userManager'
/var/www/kis/Controllers/Web/AppController.cs(82,12): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'AppController._signInManager' and 'AppController._signInManager'
/var/www/kis/Controllers/Web/AppController.cs(100,10): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'AppController._signInManager' and 'AppController._signInManager'
/var/www/kis/src/KeepItSolved/Controllers/Web/AppController.cs(21,4): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'AppController._repository' and 'AppController._repository'
/var/www/kis/src/KeepItSolved/Controllers/Web/AppController.cs(22,4): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'AppController._userManager' and 'AppController._userManager'
/var/www/kis/src/KeepItSolved/Controllers/Web/AppController.cs(23,4): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'AppController._signInManager' and 'AppController._signInManager'
/var/www/kis/src/KeepItSolved/Controllers/Web/AppController.cs(33,37): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'LoginViewModel.ReturnUrl' and 'LoginViewModel.ReturnUrl'
/var/www/kis/src/KeepItSolved/Controllers/Web/AppController.cs(42,65): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'LoginViewModel.Login' and 'LoginViewModel.Login'
/var/www/kis/src/KeepItSolved/Controllers/Web/AppController.cs(42,78): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'LoginViewModel.Password' and 'LoginViewModel.Password'
/var/www/kis/src/KeepItSolved/Controllers/Web/AppController.cs(42,24): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'AppController._signInManager' and 'AppController._signInManager'
/var/www/kis/src/KeepItSolved/Controllers/Web/AppController.cs(45,38): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'LoginViewModel.ReturnUrl' and 'LoginViewModel.ReturnUrl'
/var/www/kis/src/KeepItSolved/Controllers/Web/AppController.cs(45,73): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'LoginViewModel.ReturnUrl' and 'LoginViewModel.ReturnUrl'
/var/www/kis/src/KeepItSolved/Controllers/Web/AppController.cs(47,29): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'LoginViewModel.ReturnUrl' and 'LoginViewModel.ReturnUrl'
/var/www/kis/src/KeepItSolved/Controllers/Web/AppController.cs(63,16): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'AppController._repository' and 'AppController._repository'
/var/www/kis/src/KeepItSolved/Controllers/Web/AppController.cs(78,52): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'RegisterViewModel.Login' and 'RegisterViewModel.Login'
/var/www/kis/src/KeepItSolved/Controllers/Web/AppController.cs(78,73): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'RegisterViewModel.Email' and 'RegisterViewModel.Email'
/var/www/kis/src/KeepItSolved/Controllers/Web/AppController.cs(79,61): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'RegisterViewModel.Password' and 'RegisterViewModel.Password'
/var/www/kis/src/KeepItSolved/Controllers/Web/AppController.cs(79,24): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'AppController._userManager' and 'AppController._userManager'
/var/www/kis/src/KeepItSolved/Controllers/Web/AppController.cs(82,12): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'AppController._signInManager' and 'AppController._signInManager'
/var/www/kis/src/KeepItSolved/Controllers/Web/AppController.cs(100,10): DNXCore,Version=v5.0 error CS0229: Ambiguity between 'AppController._signInManager' and 'AppController._signInManager'
/var/www/kis/Controllers/Api/CardController.cs(16,29): DNXCore,Version=v5.0 warning CS0169: The field 'CardController._repository' is never used
/var/www/kis/src/KeepItSolved/Controllers/Web/AppController.cs(14,37): DNXCore,Version=v5.0 warning CS0169: The field 'AppController._userManager' is never used
/var/www/kis/Controllers/Web/AppController.cs(14,37): DNXCore,Version=v5.0 warning CS0169: The field 'AppController._userManager' is never used
/var/www/kis/src/KeepItSolved/Controllers/Api/CardController.cs(16,29): DNXCore,Version=v5.0 warning CS0169: The field 'CardController._repository' is never used
/var/www/kis/Controllers/Web/AppController.cs(13,29): DNXCore,Version=v5.0 warning CS0169: The field 'AppController._repository' is never used
/var/www/kis/src/KeepItSolved/Controllers/Web/AppController.cs(15,39): DNXCore,Version=v5.0 warning CS0169: The field 'AppController._signInManager' is never used
/var/www/kis/Controllers/Web/AppController.cs(15,39): DNXCore,Version=v5.0 warning CS0169: The field 'AppController._signInManager' is never used
/var/www/kis/src/KeepItSolved/Models/SolvedRepository.cs(9,25): DNXCore,Version=v5.0 warning CS0169: The field 'SolvedRepository._context' is never used
/var/www/kis/src/KeepItSolved/Controllers/Web/AppController.cs(13,29): DNXCore,Version=v5.0 warning CS0169: The field 'AppController._repository' is never used
/var/www/kis/Models/SolvedRepository.cs(9,25): DNXCore,Version=v5.0 warning CS0169: The field 'SolvedRepository._context' is never used
/var/www/kis/Startup.cs(97,28): DNXCore,Version=v5.0 error CS0017: Program has more than one entry point defined. Compile with /main to specify the type that contains the entry point.
at Microsoft.Dnx.Compilation.CSharp.RoslynProjectReference.Load(AssemblyName assemblyName, IAssemblyLoadContext loadContext)
at Microsoft.Dnx.Compilation.CompilationEngine.LoadProject(Project project, FrameworkName targetFramework, String aspect, IAssemblyLoadContext loadContext, AssemblyName assemblyName)
at Microsoft.Dnx.Runtime.Loader.ProjectAssemblyLoader.Load(AssemblyName assemblyName, IAssemblyLoadContext loadContext)
at Microsoft.Dnx.Runtime.Loader.ProjectAssemblyLoader.Load(AssemblyName assemblyName)
at Microsoft.Dnx.Host.LoaderContainer.Load(AssemblyName assemblyName)
at Microsoft.Dnx.Host.DefaultLoadContext.LoadAssembly(AssemblyName assemblyName)
at Microsoft.Dnx.Runtime.Loader.AssemblyLoaderCache.GetOrAdd(AssemblyName name, Func2 factory)    at Microsoft.Dnx.Runtime.Loader.LoadContext.Load(AssemblyName assemblyName)    at System.Runtime.Loader.AssemblyLoadContext.LoadFromAssemblyName(AssemblyName assemblyName)    at System.Runtime.Loader.AssemblyLoadContext.Resolve(IntPtr gchManagedAssemblyLoadContext, AssemblyName assemblyName)    at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)    at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)    at System.Reflection.Assembly.Load(AssemblyName assemblyRef)    at Microsoft.AspNet.Hosting.Startup.StartupLoader.FindStartupType(String startupAssemblyName, IList1 diagnosticMessages)
at Microsoft.AspNet.Hosting.Internal.HostingEngine.EnsureStartup()
at Microsoft.AspNet.Hosting.Internal.HostingEngine.EnsureApplicationServices()
at Microsoft.AspNet.Hosting.Internal.HostingEngine.BuildApplication()

@ziombo Can you put the repro project on github with instructions? My guess is you updated something to rc2 and broke yourself.

https://github.com/ziombo/KeepItSolved here is my project. So far I've managed to make almost everything work. I end up running dnx kestrel (for public access) or dnx web (for local) but nothing loads when I go to the site. I tried using curl localhost:5000 (thats the address for dnx web) but I get nothing.There is lierally 0 html being loaded. I don't understand what You mean by "with instructions". Also, is it possible that things go south because my webapp is using sql server and I don't have one on my server (I thought I'll get an error at least because of that)?  I also have this repository https://github.com/ziombo/KISDNU where I have my project published, but I believe I messed up something so I was using the non-published one lately.

First issue so far:
https://github.com/ziombo/KeepItSolved/blob/master/src/KeepItSolved/project.json#L15 You have a beta7 reference, get rid of that thing.

From what I see, this is the latest version. Should I delete it or what? https://www.nuget.org/packages/Microsoft.AspNet.Server.IIS/

@ziombo https://github.com/aspnet/Announcements/issues/69, great!
Whenever you're confused about which things you need to reference because you updated, you should make a new project and see what that does.

Well, this doesn't really change much as my app still doesnt load. Nothing, blank page.

I sent a pull request, https://github.com/ziombo/KeepItSolved/pull/1. Try it out. The error I got was that the database connection was failing.

Thanks for all the help so far but right now I am still very confused as I am new to all these things. Could You tell me what should I work on right now to make my app work? To my understanding I should add a sql server and connect my web app to it?

I got an update here. I tried to use this tutorial to add a sql db on my server and make my app use it. I changed whole configuration locally (I can do it on other branch on my repository if needed) but I get an error after running
dnu build --quiet
(actually its alot of errors for dnx 4.5.1 but for dnxcore 5.0 its only 1)

Building KeepItSolved for DNXCore,Version=v5.0
/var/www/kis/src/KeepItSolved/Models/SolvedContext.cs(21,19): DNXCore,Version=v5.0 error CS1061: 'DbContextOptionsBuilder' does not contain a definition for 'UseSqlite' and no extension method 'UseSqlite' accepting a first argument of type 'DbContextOptionsBuilder' could be found (are you missing a using directive or an assembly reference?)

This issue is being closed because it has not been updated in 3 months.
We apologize if this causes any inconvenience. We ask that if you are still encountering this issue, please log a new issue with updated information and we will investigate.


Deep links from Google Search are broken

What

Deep links from Google Search are broken

Steps to reproduce the behavior

Go to Google Search
Search for open food facts
Click on a deeplink
See error

Expected behavior

It should open the right page in the webview
NOTE: I should check if my link capture is enabled on Android, but even if it is, it should not fail like that, and now that I think of if, the capture happened, the routing just didn't work, possibly because of an extra param added by Google or something ?

Why

Path to apps, reengagements, 1st time XP

Part of

#525

Screenshot/Mockup/Before-After

@teolemon On my smartphone from "en savoir plus sur le nutriscore" I land on a web page in my browser.

@teolemon Could you provide the list of faulty URLs?


RTSP Client will panic after a long time running

https://github.com/nareix/joy4/blob/bd41a3b90ff2205431b4a74e4d45d6f63e987519/format/rtsp/client.go#L436-L443
After a long time running (13h+),
https://github.com/nareix/joy4/blob/bd41a3b90ff2205431b4a74e4d45d6f63e987519/format/rtsp/client.go#L438 will throw: panic: runtime error: makeslice: len out of range error.

So after struggling with this issue myself for some time when streaming from some cheap IP cameras I think I've narrowed down the issue to a problem with the keep-alive and my cameras' RTSP implementation.
Since this only occurs after several hours of streaming, it's a challenge to debug.
What I've seen is that the second byte in the RTSP data is normally 0 (channel 0) when the stream is running properly. Then, I stop seeing channel 0 and only see channel 1, which should be the interleaved RTCP messages. After a bunch of these the data length (bytes 3 and 4) is less than peek resulting in the calculation of a negative makeslice.
My guess here is that my cameras are still sending RTCP messages but stop sending on channel 0 because they think my client is no longer listening by not honoring OPTIONS as a keep-alive.
I've changed the OPTIONS method of the keep-alive to GET_PARAMETER which some Googling has shown to be necessary for some RTSP implementations on IP cameras. Ever since this change I've only had some TCP timeout panics instead of makeslice: len out of range.
If this resolves the issue I'll submit a PR for either configurable keepalives or maybe just 2 keepalives to cover both cases.

I just had the same issue


JS Add PDFs of Professional Development Newsletters

Description

❓What: Add a page archiving the PDF versions of the PD newsletter. I've just added it to the nav bar but happy for suggestions on where it might be more suited
🧠Why?: Suggested by Rupert to improve access to newsletter, and who is now happy for the PD newsletter to be on public facing site rather than internal NHSD (...so I will be looking at moving it here soon)
👨💻How?: Adding a newsletter page to the .yml
Checklist:
Have checked for the following:

[X] The website still builds correctly, and you can view it using mkdocs serve.
[X] There are no new "warnings" from mkdocs
[X] Does your page follow the page template (or here in Markdown)? (need to make a new one specific to NHSE Data Science)
[X] Spelling errors
[X] Consistent capitalization
[X] Consistent numbers
[X] Material features incorrectly implemented: search for code blocks and markers (e.g. !!!).
[X] Code snippets don't work
[X] Images not working
[X] Links not working

Where it was tested

Github Codespaces - 2-core, 4GB RAM, 32GB hard drive
devcontainer.json describes further settings

It looks great Jen - though it might be better moved a bit - I think it should be prominent though, so perhaps a new button on the front page. (e.g. near "how can I learn data science") - which links through to the page under What is Data Science.
Perhaps we need a design session with the PD people to throw some ideas around - because we want "how people can learn more data science" to be a decent chunk of the website, and this is a part of that!


Clicking the Add Title button then changing views causes hard crash

When the user changes view immediately after clicking the Add Title button, the NSView passed into the callback is no longer attached to the window, so showRelativeToRect:ofView:preferredEdge: crashes.
This change makes the popover default to the edge of the source list if the original NSView is no longer available.

Thanks for the contribution. The popup shouldn't show at all if the view loses focus and I reflected this change.


Latest build conventions

coverage: 96.097%. remained the same
when pulling b208cc78d440ffeab51a08b52040ef23435cb504 on latestBuild
into 8ad82f5ae973f304791f0049ba5c4181a06c9a0b on main.


[Firefox] Google Firebase errors for all sandboxes

Describe the bug
All sandboxes on Firefox are greeted by this error message:
The resource at “https://stackblitz.firebaseio.com/.lp?start=t&ser=123&cb=17&v=5” was blocked due to its Cross-Origin-Resource-Policy header (or lack thereof). See https://developer.mozilla.org/docs/Web/HTTP/Cross-Origin_Resource_Policy_(CORP)#

This is particularly annoying when using something like vite-plugin-terminal or any framework that forwards console errors on the client to the server terminal.
To make matters worse, that thing has incremental backoff, causing Non stop errors, warnings and messages

This screenshot was from the simplest possible WC after only a minute of idling!
Some of these errors are hard to filter safely as they emanate from within Stackblitz's core code.
Link to the blitz that caused the error
https://stackblitz.com/edit/feathers-lowdb-example?file=ReadMe.md,src%2Fapp.js
Steps to reproduce
Open a Sandbox on Firefox, any sandbox
Expected behavior
No errors
Parity with Local

[X] I have run the project in my local machine and I could not reproduce the issue.

Screenshots

Platform
Browser name  = Firefox
Full version  = 103.0
Major version = 103
navigator.appName = Netscape
navigator.userAgent = Mozilla/5.0 (X11; Linux x86_64; rv:103.0) Gecko/20100101 Firefox/103.0
performance.memory = undefined
Hash = b97d17a00b41a7a326ea3ef530e60b6aada4f7c7

Additional context
Chrome doesn't get errors per say... but the new flood of third party ws connections unrelated to your code isn't necessarily much better.

:wave: We're closing this due to inactivity. Please, feel free to open a new one if you're still encountering any errors.


Annual Video Review Project - See if any screens or audio outdated

https://docs.google.com/spreadsheets/d/1ESTsr5OOnPXPfB2KTPOCDP0YfT3esYZWDdy_9yaAPbo/edit?ts=5f6b8d20#gid=1443784001

@Billflorio is this all done (or at least cards made for any updates?) We can probably mark the card done if so!

Calling this task done, as we made subtasks for the few we actually will do eventually

Yep, we can just use the subtasks.


ENH: Check if fit has been called prior to predict

Check if fit has been called prior to predict: raise an exception if not.
Resolves #113.

For now, only added it for TrivialB0Model to first see how this fits into what was expected in the issue.
A few notes:

Following https://github.com/nipreps/eddymotion/pull/112#discussion_r1045142128, almost all of this has been borrowed from scikit-learn. If we keep this approach, maybe a mention to this will need to be made.
In scikit-learn:

Their base estimator does not have any is_fitted_ variable. It does not have a fit/predict either; they are left for child classes.
They rely on a list of attributes (coef_, estimator_) existing for the estimator and provided as a parameter https://github.com/scikit-learn/scikit-learn/blob/872124551/sklearn/utils/validation.py#L1551. If none is provided, the estimator is considered fitted if there exists an attribute that ends with an underscore and does not start with a double underscore (e.g. could be the is_fitted_ attribute).

Their __sklearn_is_fitted__ is defined in child classes, and is used as an alternative to the above two possibilities to check whether an estimator is fit.
For now, I've left the new modules in the eddymotion package, but they should probably be moved to an e.g. utils modules.

Useful references:
https://scikit-learn.org/stable/developers/develop.html#developer-api-for-check-is-fitted
https://scikit-learn.org/stable/auto_examples/developing_estimators/sklearn_is_fitted.html#sphx-glr-auto-examples-developing-estimators-sklearn-is-fitted-py
Slightly related:

eddymotion models (e.g. TrivialB0Model, etc.) do not inherit from BaseModel. Not sure if that is intended, but it is counter-intuitive or the rationale would need to be documented better.
Adds to the confusion having an EddyMotionEstimator class that has a fit but not a predict. Maybe model vs. estimator naming should be reworked.

eddymotion models (e.g. TrivialB0Model, etc.) do not inherit from BaseModel. Not sure if that is intended, but it is counter-intuitive or the rationale would need to be documented better.

Should they inherit from BaseModel?

I very much agree with the suggestions. I also agree that fit() was a very poor choice for the estimator object. Probably optimize() or search() would have been much better names. +1 to updating.

Not sure if optimize() or search() are less confusing to me. If I read what its fit returns, compute_transform seems more descriptive and unambiguous wrt a fit/predict paradigm. To be addressed in a separate PR.
Concerning c440406, the test_model tests will not pass on CircleCI since the models do not inherit from BaseModel. If they are not supposed to inherit from it, I would need to relocate the __model_is_fitted__ method or give the attributes to the check_is_fitted calls in TrivialB0Model, and AverageDWModel.

Should they inherit from BaseModel?

I believe they do not inherit just for historical reasons (they were written the first, then we created BaseModel to provide a gateway for DIPY models and never did the last step of including them in the hierarchy). So, the answer is yes.

Concerning c440406, the test_model tests will not pass on CircleCI since the models do not inherit from BaseModel. If they are not supposed to inherit from it, I would need to relocate the __model_is_fitted__ method or give the attributes to the check_is_fitted calls in TrivialB0Model, and AverageDWModel.

Yup, I think making them part of the hierarchy makes all sense.

Not sure if optimize() or search() are less confusing to me. If I read what its fit returns, compute_transform seems more descriptive and unambiguous wrt a fit/predict paradigm. To be addressed in a separate PR.

Yes, in a different PR :). compute_transform feels a bit wordy and even confusing (in the sense that we are actually computing a lot of transforms). What about Estimator.estimate()?

Yes, in a different PR :). compute_transform feels a bit wordy and even confusing (in the sense that we are actually computing a lot of transforms). What about Estimator.estimate()?

PR #173.
Making this a draft as addressing the inheritance issue is more complicated that what it seems.


Create documentation page with links to external resources

Before submitting (must do checklist)

[x] Did you read the contribution guide?
[x] Did you update the docs? We use Numpy format for all the methods and classes.
[ ] Did you write any new necessary tests?
[x] Did you update the CHANGELOG?

Proposed Changes
Look #1348.
Closing issues
Closes #1348.

Codecov Report

:exclamation: No coverage uploaded for pull request base (docs-prototype@a35f8f2). Click here to learn what that means.
The diff coverage is n/a.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@               Coverage Diff                @@
##             docs-prototype   #1350   +/-   ##
================================================
  Coverage                  ?   9.46%
================================================
  Files                     ?     193
  Lines                     ?   12322
  Branches                  ?       0
================================================
  Hits                      ?    1166
  Misses                    ?   11156
  Partials                  ?       0

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


KAFKA-14933: Document Kafka Connect's log level REST APIs added in KIP-495

https://issues.apache.org/jira/browse/KAFKA-14933
KIP-495 added 3 REST APIs to allow dynamically adjusting (and checking) log levels on Kafka Connect workers.
This was added a long time ago (released in AK 2.4.0) but was never publicly documented
This patch documents these REST APIs in https://kafka.apache.org/documentation/#connect_rest

Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Thanks Mickael!


[Helm Chart] Allow extraVolumes and extraVolumeMounts to be specified in values.

Is your feature request related to a problem? Please describe.
When using Superset as a subchart, it is impossible (known Helm limitation) to "inject" configuration or Python (or other) files using .Files.Get or similar. We would like to be able to define our own ConfigMaps / Secrets / other volumes and mount them into the pods. Other charts we use include extraVolumes and extraVolumeMounts in their templates for this purpose. I would like to add those to the Superset chart.
Describe the solution you'd like
What we have currently implemented (which I would gladly contribute) are extraVolumes and extraVolumeMounts objects at the root of the Superset values. Those are applied to the main containers of all 3 deployments as well as the init-job. The values looks like this:
extraVolumes:
  volume1:
    configMap:
      name: '{{ template "superset.fullname" . }}-custom-config'
  volume2:
    secret:
      secretName: my-secret
extraVolumeMounts:
  volume1:
    mountPath: /mnt/volume1
  volume2:
    mountPath: /mnt/volume2

The key for each object becomes the 'name' field (so the volume and volumeMount keys must match)
Describe alternatives you've considered
The above fits our use case well, but other use cases may not require all volumes to be mounted everywhere. One possible alternative would be to have extraVolumes and extraVolumeMounts objects under supersetNode, supersetWorker, etc. In our specific use case, it would mean some repetition and additional maintenance, but that would be an acceptable solution nevertheless.

@cccs-tom Should we move this to an "Ideas" thread for further discussion, if it's something you want to keep getting feedback on? Or, would you want to open the PR you mention contributing? CC @craig-rueda for further opinion(s) here.

@cccs-tom Should we move this to an "Ideas" thread for further discussion, if it's something you want to keep getting feedback on? Or, would you want to open the PR you mention contributing? CC @craig-rueda for further opinion(s) here.

@rusackas As far as I'm concerned, it is an oversight that this issue wasn't closed when my PR (#16361) was merged. This solution has been working great for us and our use case(s) require no further improvements at this time...


App crashes on Linux when attempting to drag an image onto the window

The title explains it all.

Does it show a dialog? An error message anywhere? Let's debug this:

Open your terminal
Enter export DEBUG=whatsie:*
Enter whatsie

(ignore my previous (deleted) comment, I thought this was for Aluxian/Whatsie (again)...)

Can you be more specific, I used this app for more than a year without encountering this problem...
I need a test case to reproduce it.
Can you also provide the distribution you are using...

Since we dont have more information I'm closing the issue


JS size reduction

withStyles should be imported from @material-ui/core, since the behavior is the same
icons should be imported individually, since otherwise all of the icons are included in the transpiled JS file, which makes every JS file that uses icons 11Mb

Before (left) vs after (right).
This PR cuts some of our files to 1/100th(!!) of their original size, making our site much more mobile-friendly.
We just need to remember going forwards to not use the {} syntax for importing icons and to use @material-ui/core instead of @material-ui/core/styles.


Topics overflow the bounding box if they are too long

Expected behavior
The topics should be always within the bounding box.
Actual behavior
When topics words are too long, they overflow the box. The box is fixed and doesn't change its size.
How to reproduce

Open editor
Input long topics so that any of them appears on the following line

Browser: Chrome / Brave
Operating system: Windows 10 / Android 7.1.2

The topics should be always within the bounding box.

Or should it be that the bounding box should automatically resize to encompass the tags?
Making the text (tags) be 'always within' the bounding box may mean resizing the font size of the tags.

Fixed in #909


⚠ Minecraft has degraded performance

In 73064d3, Minecraft (https://www.minecraft.net) experienced degraded performance:

HTTP code: 200
Response time: 1058 ms

Resolved: Minecraft performance has improved in ae1abd9.


ci: a11y automated tests

Would be nice to have a way to check through the CI that our components are accessible,
This axe jest matcher could be a nice solution

Solved into #760