getting players penalty yards and if ejected

Just switched to NFLDB and trying to convert from nflgame to this new way.  I'm trying to figure out how to get stats 'description' field of the 'game' table.  Specifically player to that who committed a penalty and players who were ejected.  I'm trying to do it via SQL, but if it can be done through the nfldb I'm fine with that as well.
I'm also attempting to get the following Information as well:

TD rushed on the 10 yard line or less
Yard line where a punt was downed.

ANY help is appreciated.

TD rushed on the 10 yard line or less

There is an example on the wiki that takes on the task of filtering plays based on where they end.  I modified that to instead focus on where they begin.
import nfldb

def starting_yardline(field):
    cutoff = nfldb.FieldPosition.from_str(field)
    return lambda play: play.yardline >= cutoff

db = nfldb.connect()  # Make nfldb connection
q = nfldb.Query(db)   # Start a new query

q.game(season_year=2016, season_type='Regular')  # Filter our query by 2016 regular season games
q.play(rushing_tds__ge=1)  # Filter it further by plays that resulting in a rushing touchdown

print len(q.as_plays())  # This is now our total number of plays that resulted in rushing touchdowns

plays = filter(starting_yardline('OPP 10'), q.as_plays())  # Run our rushing TD plays through another filter, keeping only those plays that started at the opponents 10 yardline or closer

print len(plays)  # Total rushing touchdowns that started inside the 11 yard line

444
356

Yard line where a punt was downed.

This one actually isn't working as I would expect it to.
import nfldb

db = nfldb.connect()
q = nfldb.Query(db)

q.game(season_year=2016, week=17, season_type='Regular', team='NO')
q.play(punting_tot__ge=1)

for play in q.as_plays():
    print play
    for player in play.play_players:
        print '\t', player.player, player

(NO, OWN 24, Q1, 4 and 11) (14:21) T.Morstead punts 59 yards to ATL 17, Center-J.Drescher. E.Weems to ATL 32 for 15 yards (C.Banjo).
    Chris Banjo (NO, CB) {'defense_tkl': 1}
    Eric Weems (ATL, WR) {'puntret_yds': 15, 'puntret_tot': 1}
    Thomas Morstead (NO, P) {'punting_yds': 59, 'punting_tot': 1}
(NO, OWN 27, Q2, 4 and 8) (12:45) T.Morstead punts 57 yards to ATL 16, Center-J.Drescher. E.Weems to ATL 24 for 8 yards (N.Stupar; S.Barrington).
    Nate Stupar (NO, ILB) {'defense_ast': 1}
    Eric Weems (ATL, WR) {'puntret_yds': 8, 'puntret_tot': 1}
    Sam Barrington (NO, LB) {'defense_ast': 1}
    Thomas Morstead (NO, P) {'punting_yds': 57, 'punting_tot': 1}
(ATL, OWN 25, Q3, 4 and 10) (13:04) M.Bosher punts 51 yards to NO 24, Center-J.Harris, fair catch by T.Lewis.
    Matt Bosher (ATL, P) {'punting_yds': 51, 'punting_tot': 1}
    Tommylee Lewis (NO, WR) {'puntret_fair': 1}
(NO, OWN 44, Q3, 4 and 10) (10:34) T.Morstead punts 55 yards to ATL 1, Center-J.Drescher, downed by NO-T.Lewis.
    Thomas Morstead (NO, P) {'punting_yds': 55, 'punting_tot': 1, 'punting_i20': 1}
(NO, OWN 23, Q3, 4 and 12) (4:39) T.Morstead punts 53 yards to ATL 24, Center-J.Drescher. E.Weems to ATL 40 for 16 yards (J.Drescher).
    Justin Drescher (NO, LS) {'defense_tkl': 1}
    Eric Weems (ATL, WR) {'puntret_yds': 16, 'puntret_tot': 1}
    Thomas Morstead (NO, P) {'punting_yds': 53, 'punting_tot': 1}
(ATL, OPP 41, Q4, 4 and 3) (15:00) M.Bosher punts 30 yards to NO 11, Center-J.Harris, fair catch by J.Byrd.
    Matt Bosher (ATL, P) {'punting_yds': 30, 'punting_tot': 1, 'punting_i20': 1}
    Jairus Byrd (NO, FS) {'puntret_fair': 1}
(ATL, OWN 17, Q4, 4 and 11) (10:06) M.Bosher punts 57 yards to NO 26, Center-J.Harris. T.Lewis to NO 32 for 6 yards (C.Upshaw).
    Matt Bosher (ATL, P) {'punting_yds': 57, 'punting_tot': 1}
    Courtney Upshaw (ATL, DE) {'defense_tkl': 1}
    Tommylee Lewis (NO, WR) {'puntret_yds': 6, 'puntret_tot': 1}
(ATL, OWN 22, Q4, 4 and 8) (5:16) M.Bosher punts 47 yards to NO 31, Center-J.Harris. T.Lewis to NO 35 for 4 yards (C.Goodwin). PENALTY on ATL-C.Upshaw, Unnecessary Roughness, 15 yards, enforced at NO 35.
    Matt Bosher (ATL, P) {'punting_yds': 47, 'punting_tot': 1}
    C.J. Goodwin (ATL, CB) {'defense_tkl': 1}
    Courtney Upshaw (ATL, DE) {}
    Tommylee Lewis (NO, WR) {'puntret_yds': 4, 'puntret_tot': 1}

I would expect T.Lewis to get credit for a downed punt in the fourth play in the list, but only the punter was credited with any statistics in that play.
(NO, OWN 44, Q3, 4 and 10) (10:34) T.Morstead punts 55 yards to ATL 1, Center-J.Drescher, downed by NO-T.Lewis.
    Thomas Morstead (NO, P) {'punting_yds': 55, 'punting_tot': 1, 'punting_i20': 1}


doc: update version information

This commit updates the versions section with regards to the versions
now being in versions.mk and not in the Makefile.

This will no work as the page on dockerhub will use the information in the readme. I think we are forced to have this info in the readme and just make sure we update master when we publish new versions.


Add a console panel, to allow automating editing, macros, and efficient tool creation.

Applications, in general, have the problem that they impede automating one’s work away, as they offer no scriptability of the actions available inside the application. Even though automating one’s work away is the whole point of a computer.
Maya has solved this, by having an in-application Quake-style console, and having every action in the UI be a console command too. Then the user can also do the vice-versa, and just type in console commands, e.g. with loops and variables, to automate repetitive or common tasks.
He can also do editing, then select the resulting console commands, and create a tool from them, including a button.
In Godot this could take the place of the output window (make sure it’s accessible by keyboard only), be a GDScript console, and allow extremely easy and comfortable creation of GDScript tools, which could then be expanded as normal scripts in the normal script editor, if required.
It would also make tasks like “change the property X of all nodes in my selection or of a certain type to Y” very easy, or even sanely possible at all.
The best part is that it is probably very easy to implement.
Godot already has GDScript and the ability to make tools; it already offers editing code on a line with code completion; and everything that can be done in the UI is probably already available via GDScript.
So with a bit of luck, a simple version should be possible to do with a few GUI changes in a single day. — E.g. at first lacking the automatic creation of commands in the console when editing the visual way.
It would also quickly grow the set of available tools and wizards, made by users. :)

It's good that you've mentioned it just in time, before any work on 1.2 is being done. Currently there is only Scene->Run Script which executes scripts that extend EditorPlugin that isn't as helpful as the API blender provides.

:+1:

This looks quite handful even for "normal" users.

I do want it. It's tedious to make a game without a responsive and interactive editor and the ability to create stuff live.

I think I'd like to tackle this, after I finish my current overhaul of the custom type system.
Namely, I'd like to add support for EditorScript's run method to take in parameters and for it to return a value: something that would allow us to have the engine provide EditorScripts in-house, and allow users and plugins to define additional EditorScripts. And then have the interactive console panel simply be able to chain together all of the defined instructions (perhaps just use the basename of the file as the command name automatically).

Any updates? Seems like awesome feature. Anyone working on this?

Not that I know of @Anutrix. See godotengine/godot-proposals#70 for what I believe is ultimately a prerequisite for this project.
There are one or two console-like plugins out there in the world, but I believe a more fundamental, centralized coordination of editor features is needed before it will be practical/viable.

@Evi1M4chine @TheoXD @phoe What is your use case for this feature? Godot's plugin system is very nice, and I have a feeling that this feature might not be desired due to these points in the proposal template:

If this enhancement will not be used often, can it be worked around with a few lines of script?:

Is there a reason why this should be core and not an add-on in the asset library?:

It's really hard to know exactly what this feature would look like without example use cases, and once we know the use cases we can also explore the feasibility of implementing them using Godot's existing plugin system, possibly even as an asset on the Godot Asset Library.
See also: Best practices for engine contributors.

@aaronfranke
The use case is summed up as "any reason to use a Linux terminal instead of some GUI application inside Linux". Small apps to solve small problems. Easily share and build small apps together. Easily combine small apps to solve arbitrary, ad-hoc large problems that appear on the fly.
Let's just take OP's basic example and expand on it:

change the property X of all nodes in my selection or of a certain type to Y

GUI solution: EditorPlugin. Lots of work, tons of boilerplate, tons of unnecessary bloat, just to do a simple thing.
Godot's alternative? EditorScript. Only, EditorScript can't accept parameters, doesn't return any value, and can only be executed in isolation, without supplying any value to other EditorScripts of any kind. What's more, using EditorScripts for an ad-hoc solution to a problem is already cumbersome enough as it is.
Small problems:

Select a collection of nodes based on EditorSelection.
Select a collection of nodes based on type.
Merge two collections.
Map an operation over a collection.
Set a property on an Object from X to Y.

All can be achieved with the scripting API. But that means that in order to make reusable solutions for the community, you have to make utility classes that cannot be executed on their own.

create an EditorScript file.
Go to the ScriptEditor.
Open the EditorScript you made.
Write the code that actually calls the utility class's logic. and performs the operation you intend to do with that utility class.

If you don't already know how the class works, look up documentation, read the source code, w/e. There is no standardized way of doing this at all.

Press Ctrl+X to execute it (which often doesn't work for me though, so instead I have to go through the menus, bleh).
Now that you are done with your ad-hoc solution to the arbitrary problem you came across, manually delete the file to clean up your mess or build up clutter in your project by leaving it there.

The alternative, ideal case would be to easily and composably put together a solution from reusable mini-programs that can do the work for you, perhaps by headlessly interacting with the Godot Editor:
$ { getn root -t Control & getn root --selection } | unique | map set x y

Anyone who wants to migrate away from having to use the GUI controls to manipulate the editor and instead use their keyboard with quick commands and scripts of commands will want to use a console like this. In addition, if you could map these various commands to single keystrokes, you get closer and closer to a modal editing experience akin to vim or emacs.
Not everyone who uses Godot likes using a GUI editor to do their gamedev. In fact, I've encountered many on Reddit who specifically ask to what extent they can avoid using the Editor and just rely on their text editor. Right now, it's quite difficult to get away with that, but the more you empower script-based tools for live editing of the Editor state, and the more headless you make it, the easier it'll be to accommodate these users. It also naturally benefits the development of tools for power users who still enjoy using the GUI, but want to more easily automate tasks they want to perform.
As for whether or not it should be part of the engine or not, that's debatable. It would certainly be convenient for it to be part of the engine, but that alone isn't reason enough. Something like this could easily be its own separate application that communicates with the Godot Editor process headlessly and enters a REPL.
The only problem is that doing this kind of thing is still impossible to do because Editor operations are not properly centralized, nor are enough of them exposed to the scripting API to empower that kind of flexibility (which godotengine/godot-proposals#70 resolves). You then also need to empower an external application to communicate with a Godot Editor instance (not sure if there is already an Issue/Proposal for that).

Feature and improvement proposals for the Godot Engine are now being discussed and reviewed in a dedicated Godot Improvement Proposals (GIP) (godotengine/godot-proposals) issue tracker. The GIP tracker has a detailed issue template designed so that proposals include all the relevant information to start a productive discussion and help the community assess the validity of the proposal for the engine.
The main (godotengine/godot) tracker is now solely dedicated to bug reports and Pull Requests, enabling contributors to have a better focus on bug fixing work. Therefore, we are now closing all older feature proposals on the main issue tracker.
If you are interested in this feature proposal, please open a new proposal on the GIP tracker following the given issue template (after checking that it doesn't exist already). Be sure to reference this closed issue if it includes any relevant discussion (which you are also encouraged to summarize in the new proposal). Thanks in advance!


modules not installed

I'm trying to use this builder to deploy my sapper application with now. After deployment the site works. Although I'm getting the following error:
{ Error: Cannot find module 'node-fetch'
    at Function.Module._resolveFilename (module.js:547:15)
    at Function.Module._load (module.js:474:25)
    at Module.require (module.js:596:17)
    at require (internal/module.js:11:18)
    at send (/var/task/user/__sapper__/build/server/account-920fc8e5.js:8:50)
    at Object.post (/var/task/user/__sapper__/build/server/account-920fc8e5.js:51:10)
    at getApiKey (/var/task/user/__sapper__/build/server/server.js:35638:18)
    at get (/var/task/user/__sapper__/build/server/server.js:35613:27)
    at handle_route (/var/task/user/__sapper__/build/server/server.js:35803:11)
    at Array.find_route (/var/task/user/__sapper__/build/server/server.js:35817:5) code: 'MODULE_NOT_FOUND' }

I'm using node-fetch as dependency in my package.json.

Do you use import or require?

I use require:
  const fetch = process.browser ? window.fetch : require("node-fetch").default;

This project does not use node_modules, it expects all dependencies to be rolled up. You could try something along these lines:
import _fetch from 'node-fetch'
if (!process.browser) {
  window.fetch = _fetch
}

Awesome, thanks!


Shortest Common Subsequence

Description
Implementation of the shortest common subsequence with memoization.

LGTM ✅
Thank you for your contribution! 💖


Add usage instructions for gRPC plugin package

Getting ready for Alpha release.
https://github.com/open-telemetry/opentelemetry-js/tree/master/packages/opentelemetry-plugin-grpc#usage.
Another option is to add a link for gRPC example (https://github.com/open-telemetry/opentelemetry-js/pull/326).

/cc @markwolff


Roll Flutter Engine from a78f5ce743ce to aa9afcd1083f (1 revision)

https://github.com/flutter/engine/compare/a78f5ce743ce...aa9afcd1083f
2024-06-28<EMAIL_ADDRESS>[DisplayList] Add support for clipOval to leverage Impeller optimization (flutter/engine#53622)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC jimgraham@google.com,rmistry<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

PR was reverted, closing so new roll will happen.

Commit queue failed; closing this roll.


fix: issue #49 so that greyscale colormap works correctly on binary data

@maihde Can you also run grunt prep here as well and re-commit?


Add support for recognizing several library file types (static libraries .a, Windows .lib)

Add support for the magic bytes for static libraries (.a) files used on Linux, and .lib files on Windows.
Some useful references on what the magic bytes are for these files can be found at:
https://github.com/file/file/blob/c8bba134ac1f3c9f5/magic/Magdir/msvc#L22
https://www.garykessler.net/library/file_sigs.html

Hi @nightlark, can I work on this as part of hacktoberfest?

@docjon09 - go for it! As far as files that need changing, the id_magic.py file is the main (probably only) one. Essentially, it will require adding a check that recognizes whatever magic byte pattern the new file types have, then returning a string like “WINDOWS_LIB” or “STATIC_LIB_A” for files that match.
I’d need to check the file formats, but some might have interesting additional metadata for filling in SBOM information — which would involve adding a new file info extractor; if they do I think that could be treated as a separate PR.

Hi @nightlark, I looked into the links shared by you.
In https://www.garykessler.net/library/file_sigs.html, '21 3C 61 72 63 68 3E 0A' is given as the magic number for both UNIX *.ar files and Microsoft *.lib files.
Also, on stackoverflow, a user said that unix *.a files have the same format as *.ar files so I assume they have the same magic number.
In https://github.com/file/file/blob/c8bba134ac1f3c9f5/magic/Magdir/msvc#L22, I couldn't quite understand what, according to it, the magic number is.
Please verify whether what I've understood is correct.

Resolved by #68.
Thanks @docjon09!


Can we integrate swagger with ear (with multiple war file) in JBOSS

we are deploying our app as as ear and ear contains mulitple war file with different context path.
we have added the swagger as module in jboss and used as dependency in ear.
Is swagger supports doc in ear? If there is any doc or link to guide to integrate with ear?
Please help.

It really boils down to dependency management, classloaders and visibility. Since each application server has its own mechanism (which can also change between major versions), it's up to you to find the way to do it. I'm afraid we don't have the capacity to try and figure it out for every configuration out there.


Smart-ID API 2.0

Codecov Report

Merging #49 (2678c4c) into master (748a358) will increase coverage by 3.43%.
The diff coverage is 89.47%.

@@             Coverage Diff              @@
##             master      #49      +/-   ##
============================================
+ Coverage     91.15%   94.58%   +3.43%
- Complexity      461      466       +5
============================================
  Files            51       59       +8
  Lines          1108     1090      -18
  Branches         54       55       +1
============================================
+ Hits           1010     1031      +21
+ Misses           84       41      -43
- Partials         14       18       +4

Impacted Files
Coverage Δ
Complexity Δ

...java/ee/sk/smartid/exception/SmartIdException.java
100.00% <ø> (ø)
3.00 <0.00> (ø)

...xception/permanent/ServerMaintenanceException.java
100.00% <ø> (ø)
1.00 <0.00> (?)

...n/java/ee/sk/smartid/rest/SessionStatusPoller.java
84.61% <0.00%> (ø)
8.00 <0.00> (ø)

...ception/UnprocessableSmartIdResponseException.java
50.00% <50.00%> (ø)
1.00 <1.00> (?)

...smartid/rest/dao/AuthenticationSessionRequest.java
96.15% <66.66%> (-3.85%)
17.00 <2.00> (-2.00)

...e/sk/smartid/rest/dao/SignatureSessionRequest.java
96.15% <66.66%> (-3.85%)
17.00 <2.00> (-2.00)

.../main/java/ee/sk/smartid/rest/dao/Interaction.java
68.18% <68.18%> (ø)
18.00 <18.00> (?)

...ee/sk/smartid/AuthenticationResponseValidator.java
87.50% <68.42%> (-0.62%)
34.00 <0.00> (-1.00)

src/main/java/ee/sk/smartid/SmartIdClient.java
95.06% <83.33%> (+2.83%)
25.00 <3.00> (-2.00)
:arrow_up:

.../java/ee/sk/smartid/CertificateRequestBuilder.java
96.82% <85.71%> (-3.18%)
23.00 <9.00> (-7.00)

... and 46 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update efdbfcb...2678c4c. Read the comment docs.


bug: ng-switch animation doesn't work

Request Type: bug
How to reproduce:

Visit http://plnkr.co/edit/IctQYWhERYUBfzLkFq43?p=preview
Switch between slides 1 and 2

Component(s): ngAnimate
Impact: small
Complexity: small
This issue is related to: ngAnimate and ngSwitch animation
Detailed Description:
It seems when you try to ngAnimate the ngSwitch component on a form element, only the ng-leave item is animated. The ng-enter contains inline styling to remove the animation. If I alter the classes manually then I can see that the entering form should be able to be animated
Other Comments:

@intellix @Narretz can this issue be closed? It looks like @matsko already merged a fix.

Yep, works for me :)


Empty Platform Tips Details in Recurring Contributions

How to reproduce:

On https://opencollective.com/friends-of-the-earth-international/recurring-contributions

Check the recurring contribution and look at where platform tips are usually displayed.

Problem: Instead of nothing or actual platform tips details, you can see some weird looking empty values.
Order Id: 90045

@sbinlondon a small one if you have some time this week

Hey @znarf @Betree @SudharakaP , should I remove these (--, --) here on FormattedMoneyAmount and make it 0 or any text like No Contribution. I think this was made purposefully.

@saideepesh000 FormattedMoneyAmount is not the right component to update, it's doing its job by displaying --,--. We rather need to update this specific card:

To display just the amount if there's no platform tip
To make sure the platform tip value is properly displayed if there's one


I have a question about the command line

when i use the command line "phonopy-ir --ir-reps --linewidth-hdf5="kappa-m484848-g0.hdf5" --linewidth-temperature=300",it tell me"phonopy-ir: error: unrecognized arguments: --ir-reps",what is the problem？

Thanks @studyvasp.
@smismyname we recently made a significant update to the code and we have not yet updated the examples to reflect the changes.
In the new version of the code the --irreps flag has been removed - if an irreps.yaml file is present, it is read and used by default.


Step 1: Assign yourself

Step 1: Assign yourself
Unassigned issues don't have owners to look after them. When you’re assigned to an issue or pull request, it tells repository visitors and contributors that you'll be facilitating the conversation or task :muscle:.
:keyboard: Activity

On the right side of the screen, under the "Assignees" section, click the gear icon and select yourself

For a printable version of the steps in this course, check out the Quick Reference Guide.

I'll respond when I detect you've assigned yourself to this issue.

Sometimes I respond too fast for the page to update! If you perform an expected action and don't see a response from me, wait a few seconds and refresh the page for your next steps.

Originally posted by @github-learning-lab in https://github.com/bezzantsam/github-slideshow/issues/1#issuecomment-831666520

Ill assign myself to this


🐞 Fix: Remove deprecated "version" attribute from docker-compose.yml (#5162)

Fixes #5162
Summary:
Removed the "version" attribute from docker-compose.yml, as it is deprecated in Docker Compose v2 and later. This change eliminates deprecation warnings and aligns the configuration file with the updated Docker Compose standards.
Changes:

Deleted the version field from docker-compose.yml.

Impact:

No more deprecation warnings during docker-compose up or related commands.
Maintains backward compatibility with supported Docker Compose versions.

Summary by CodeRabbit

New Features

Introduced new services: Sidekiq, Solargraph, Asset Build, and Mailcatcher.

Improvements

Updated Docker Compose version to 3.1 for enhanced service configuration.
Corrected volume path for PostgreSQL to ensure data persistence.
Streamlined service configurations by centralizing build arguments and volume mappings.

Service Enhancements

Web service now remains active indefinitely and exposes multiple ports for better accessibility.

Thanks @abhis-1 , Welcome to circuit verse community.


Rename VSTS into Azure DevOps

Per #2082, this PR aims at renaming VSTS into Azure DevOps. I also updated the service documentation so that it is easier to create badges for both builds and releases.

Messages

:book:

:sparkles: Thanks for your contribution to Shields, @Thilas!

:book:

Thanks for contributing to our documentation. We :heart: our documentarians!

  Generated by :no_entry_sign: dangerJS

@chris48s, could you review this?

You get it right: the new endpoint is backward compatible with old VSO/VSTS projects. I made sure of this testing it on private projects (from my company).


all: return database/sql Rows.Err where applicable

Also fix missed Customer -> Receiver rename

Codecov Report

Merging #110 into master will not change coverage.
The diff coverage is 54.54%.


HTX does not build on standard RHEL 8

As of RHEL 8.0, RedHat no longer provides the DAPL packages. It is not possible to build HTX on RHEL 8 without a hack. We need to have HTX stop using DAPL, or convert to whatever equivalent is available on newer Linux distros.

We can not remove hxedapl exerciser, since we have to test RDMA supported adapters.
Linux team suggests to use MOFED package for the dapl library installation.
MOFED package is available at following GSA location:
http://ausgsa.ibm.com/gsa/ausgsa/home/c/l/clsoto/public/MOFED_GA/
Installation steps are at following URL:
https://apps.na.collabserv.com/wikis/home?lang=en-us#!/wiki/Wb26014eb667b_4bb4_bb9b_29ea90c3ee19/page/MOFED RHEL Instructions

We can not remove hxedapl exerciser, since we have to test RDMA supported adapters.
Linux team suggests to use MOFED package for the dapl library installation.
Please install MOFED package and continue the HTX build.

I don't think that installing MOFED is a practical solution. MOFED carries with it a lot of OS changes, and if our goal is to test a system that does not have MOFED then we deviate significantly from that test goal. If the tester is never going to need to run hxedapl, then we should be able to build an HTX without that.
Right now, there is no autoconf/configure mechanism, but at least there needs to be some sort of conf.h file or other mechanism by which one can disable the build of certain tests - for cases like this where there is a conflict.
Again, I don't view installing MOFED as a solution - it is much too disruptive in the cases where MOFED will not be tested.


TestServiceWithTrafficSplit intermittently serves 404s

Here is an example run: https://prow.knative.dev/view/gcs/knative-prow/logs/ci-knative-serving-contour-latest/1300776398222266368
The error:
    service_test.go:319: error with initial domain probing: response: status: 404, body: , headers: map[Content-Length:[0] Date:[Tue, 01 Sep 2020 13:02:18 GMT] Server:[envoy] Zipkin_trace_id:[c17a984d25bc25c15dc0ece54c18fe6f]] did not pass checks: status = 404 404 Not Found, want one of: [200]

Here's another (older) run: https://prow.knative.dev/view/gcs/knative-prow/logs/ci-knative-serving-contour-latest/1299719433362608129

A fresh one with 1.8.1: https://prow.knative.dev/view/gcs/knative-prow/logs/ci-knative-serving-contour-latest/1302769531302711296

In the logstream for the failing test, I do not see any record that the tagged hosts were probed.
If I look for Processing probe for http://latest I get zero hits (for any of the tags), but if I do that against a run of this locally, I get tons.  We should check the complete logs (to confirm logstream), but we should see all of the following successfully probed BEFORE they are checked:
util.go:63: Checking updated route http://service-with-traffic-split-dutgotfe.serving-tests.example.com
util.go:69: Checking updated route tags http://latest-service-with-traffic-split-dutgotfe.serving-tests.example.com
util.go:69: Checking updated route tags http://current-service-with-traffic-split-dutgotfe.serving-tests.example.com

Looking at the more complete logs, If I search for:
Processing probe for http://latest-service-with-traffic-split

I find hits for the other instance of this test, but as soon as I add the suffix -dutgotfe there are zero hits, so we definitely didn't probe all of the hostnames.

Alright, so I see this very odd status update from the Route controller:
Updating status with:   v1.RouteStatus{
  	Status: v1.Status{
- 		ObservedGeneration: 1,
+ 		ObservedGeneration: 2,
  		Conditions:         {{Type: "AllTrafficAssigned", Status: "True", LastTransitionTime: {Inner: {Time: s"2020-09-07 01:01:44 +0000 UTC"}}}, {Type: "CertificateProvisioned", Status: "True", LastTransitionTime: {Inner: {Time: s"2020-09-07 01:01:44 +0000 UTC"}}, Reason: "TLSNotEnabled", ...}, {Type: "IngressReady", Status: "True", LastTransitionTime: {Inner: {Time: s"2020-09-07 01:01:45 +0000 UTC"}}}, {Type: "Ready", Status: "True", LastTransitionTime: {Inner: {Time: s"2020-09-07 01:01:45 +0000 UTC"}}}},
  		Annotations:        nil,
  	},
  	RouteStatusFields: v1.RouteStatusFields{
  		URL:     &{Scheme: "http", Host: "service-with-traffic-split-dutgotfe.serving-tests.example.com"},
  		Address: &{URL: &{Scheme: "http", Host: "service-with-traffic-split-dutgotfe.serving-tests.svc.cluster.local"}},
  		Traffic: []v1.TrafficTarget{
  			{
- 				Tag:               "",
+ 				Tag:               "current",
  				RevisionName:      "service-with-traffic-split-dutgotfe-mncls",
  				ConfigurationName: "",
- 				LatestRevision:    &true,
+ 				LatestRevision:    &false,
  				Percent:           &100,
- 				URL:               nil,
+ 				URL:               s"http://current-service-with-traffic-split-dutgotfe.serving-tests.example.com",
  			},
+ 			{
+ 				Tag:            "latest",
+ 				RevisionName:   "service-with-traffic-split-dutgotfe-mncls",
+ 				LatestRevision: &true,
+ 				URL:            s"http://latest-service-with-traffic-split-dutgotfe.serving-tests.example.com",
+ 			},
  		},
  	},
  }

This is odd because the conditions haven't changed.  I'd expect Ready: Unknown while we wait for updated kingress resources to reprogram and report their own readiness back to us.
Looking a bit deeper, it looks like we are reflecting this partial status update due to an error being returned from Reconcile:
failed to create placeholder service: Operation cannot be fulfilled on resourcequotas "gke-resource-quotas": the object has been modified; please apply your changes to the latest version and try again

Good old gke-resource-quotas strikes again 🙄 (see also: https://github.com/knative/test-infra/issues/2346)


[IDEA] Auto convert MODEL_PATH model in .env

Checks model type of MODEL_PATH's model from .env and if is old ggml type, converts to ggjt and closes. If already ggjt, it just exits.
The code to check the model type is on line 863 "def lazy_load_file(path: Path) -> ModelPlus:"
Could be interesting if you could call it automatically from startllm and then after conversion change the name of your old file to oldmodel.bin and the new file to what you have in .env and then use it.

Updates:

bake in version of LlamaCpp used since it's known to cause issues.
inside .env use bool to decide if autorun this is enabled

Arrising question: should we alter startLLM or keep it seperate?

Looks good

Could potentially offer the user a OLD_MODEL_WARNING=False variable in .env to ignore warnings, and if set to the default of True, will ask the user "Old model detected, would you like to upgrade it? Turn off these warnings using OLD_MODEL_WARNING in your .env(Y/N):"when running either the ingest.py or the startLLM.py


Add link in presidentialdebatebingo to the web bingo cards

The current site at presidentialdebatebingo.com mentions a mobile app. Instead, it should have a link to the web-based bingo game.
We can fix this once we've settled on a domain for the web game.

Already done


Use HTTPS for externalFiles

#342 follow-up

I don't see the benefit of enforcing this computational overhead.


Idea for exposing the raw video stream on a GPIO pin.

I would like to use the esp32 for encoding the video but use a separate VHF band RF module for sending and receiving the data. In this case turning off the wifi transmission would be a good option power wise.
Of course this communication would be only monodirectional thus setting some default values in code for the resolution and values like that would be neccessary.

There are several issues here:

Video is jpeg compressed. You can ask the camera for uncompressed video, but the FPS would be horrible due to bandwidth issues
GPIO is digital. The ESP32 has a DAC for analog output, but and there are ppl that managed to output composite video from the DAC AFAIK, but it requires a lot of CPU to do that. And I'm not sure the DAC pins are not already used by the camera interface.

Basically what you want has not much to do with the current project. You want to take the digital, uncompressed output of the camera and make it analog composite. Very different than the goals of this project.


rpm deb: add helper script to manage repository

TODO: it follows deb, too

I've added this script not to make an unexpected broken repository.

TODO: it follows deb, too

It's already resolved, isn't it?


Optimise immediate lookups on dict literals

I want to be able to write code such as
cdef int const_1 = 1
cdef int const_2 = 2
x = X()
n = some_int
{const_1: x.foo, const_2: x.bar}[n]()

and have Cython optimize it to a switch.
Originally posted by @jonashaag in https://github.com/cython/cython/issues/4890#issuecomment-1185418895

My feeling is that this is a bit of a stretch: to be useful it has to identify that the keys are constants (and presumably the same type), to identify that the dict is never used (so doesn't need to be created), probably identify that the values are all of the same type and shouldn't be coerced to Python. And in this case preserve the "bound cdef func" aspect of the values, but that's obviously very specific to this case.
It seem like an optimization that'll be hard for a user to rely on and that there's other ways of achieving the same thing. So I'm a bit sceptical of the value.

I can see this being a nice optimisation. If it was fast, people would probably make use of this pattern (more). I've seen it being used a few times, and I'd use it for prepared, constant dicts, but would probably never instantiate a dict just for one lookup.
This isn't free of drawbacks and limits, though:

If the dict is somewhat large, hash values are pre-calculated, and/or comparisons are expensive, creating the dict and doing a lookup might actually be faster than running a long sequence of comparisons.
If we cannot determine at compile time that all keys are hashable, we might have to try to hash them at runtime in order to make sure that we still allow the dict creation to fail in some cases.
It's not clear how far we can go with the transformation. We can probably change the code into this:if 1 == n:
    result = x.foo
elif 2 == n:
    result = x.bar
else:
    raise KeyError(n)
result()

but I'm not sure if we can always change it toif 1 == n:
    x.foo()
elif 2 == n:
    x.bar()
else:
    raise KeyError(n)

Like, when there are non-trivial call arguments, for example. But the latter version would be required for allowing fast bound method calls, as you requested.

My guess is that this would be worth it in trivial cases like yours. But I would like to avoid adding optimisations for niche cases that are difficult to predict for users. If we fall back to something inefficient for a lot of code, then people might end up avoiding the feature because they'd learn that they could get more performance out of more C-ish code. People still ask about the old Pyrex "for … from …" loop these days.

Thanks for even considering :) I think for a lot of code even the simple optimization (first example) would be nice. In that case the "inline dict lookup" thing becomes an alternative syntax to switch statements. That said, maybe with Python's new match syntax we don't need this kind "workaround" for switch statements anymore.

That said, maybe with Python's new match syntax we don't need this kind of "workaround" for switch statements anymore.

The authors of match seem fairly keen to point out that it isn't really intended as a switch substitute. Obviously you can use it for whatever you like (and my preliminary Cython implementation will usually manage to optimize very simple cases to a C switch), but the intent is mainly about unpacking more complex data structures.


Annotated doesn't work in field resolver function argument (below Python 3.8)

In Python 3.8, typings doesn't support Annotated. I tried to use typing_extensions Annotated. But it doesn't work.
It has an error.
.../lib/python3.8/site-packages/graphql/type/definition.py", line 769, in fields
    raise TypeError(f"{self.name} fields cannot be resolved. {error}")

TypeError: Tag fields cannot be resolved. Unexpected type 'typing_extensions.Annotated[typing.Union[typing.List[str], NoneType], <strawberry.arguments.StrawberryArgumentAnnotation object at 0x10e2cf3a0>]'

Reproduction:
from typing_extensions import Annotated

class Tag:
   @strawberry.field
   def i18n(
     self,
     info,
     lang: Annotated[
       Optional[List[Optional[str]]],
       strawberry.argument(description="Language array")
     ]
   ) -> ...

schema = strawberry.Schema(
    query=Query,
    mutation=Mutation,
) <-- Error raised on here

This works now 😊 https://play.strawberry.rocks/?gist=056bfb79740da07d07f8c50911e4f93b


confusingly claims not to find provided binary

I've uploaded this, and the upload went through fine. However, running fez upload in the git repo does complain:
$ fez upload
---
>>= Looking in "sdist/j4khMhff.tar.gz" for META6.json
=<< File "bin/rrnm" in meta<provides> not found in tar

This is because going on another example (since I'm new to zef uploads), I listed the binary in the provides section of META6.json.
Now, I can see in the source code that fez will error this way for non-library provided files. My question: is this a bug or intentional?
It's unclear to me whether bin/<blah> files usually go into the provides section of META6.json (this is a matter of convention, and I am not yet familiar enough with the ecosystem), but I have at least the  above example of Acme::Cow to point to.

Specifically, this modification silenced the error for this particular distro:
diff --git a/lib/Fez/CLI.rakumod b/lib/Fez/CLI.rakumod
index 4356686..bde4238 100644
--- a/lib/Fez/CLI.rakumod
+++ b/lib/Fez/CLI.rakumod
@@ -158,7 +158,7 @@ multi MAIN('checkbuild', Str :$file = '', Bool :$auth-mismatch-error = False, Bo
     my @provides = |$meta<provides>.values;
     my @resources = |($meta<resources>//[]);
     my %check;
-    for @files.grep({$_ ~~ m/^'/'**0..1'lib'/ && $_ ~~ m/'.'('pm6'|'rakumod')$/}) -> $f {
+    for @files.grep({$_ ~~ m/^'/'**0..1'lib'/ && $_ ~~ m/'.'('pm6'|'rakumod')$/ || $_ ~~ m/^'/'**0..1'bin/'./}) -> $f {
       %check{$f}++;
     }
     for @provides -> $f {

I can think of fancier things (e.g. checking whether the file under bin/ is executable), but would something like this make for a reasonable PR?

Fez shouldn't be looking in the bin/ dir for files at all, if they're there then they're there but there's nothing in the META that should indicate that.  I'll take a look -

I'll take a look

Thanks for the help!

Fez shouldn't be looking in the bin/ dir for files at all,

OK, it currently isn't (looking). My proposed alteration would have it look there, but I take it that's not desirable.

if they're there then they're there but there's nothing in the META that should indicate that.

I see. If that's so, I misunderstood: I thought, based on this other example, that provides should mention both lib and bin files. Are you saying it's only lib?
In other words, for an executable-only distribution such as this one, should I just do an empty provides field?
I've tried that, setting the relevant line to "provides" : { }, in a separate branch, and fez and zef both accept that fine.
I also see in the META spec that provides should mention files intended to be used, which seems to indicate you're right (only lib, no bin in META).
But again, I'm not the only one who's confused on the matter. After all, provides reads like it should list things the user can do stuff with, and executables are just that..

@stuart-little yes that's correct, provides is used for anything intended to be used.  Because it's not described in the META I don't think it's right to check for anything in the bin dir.
For reference I'd use fez's or zef's META as a reference and both contain modules & bins, there's a lot of messy METAs out there that just happen to work.  Fez client should burp out an error for the META you linked

@stuart-little yes that's correct, provides is used for anything intended to be used. Because it's not described in the META I don't think it's right to check for anything in the bin dir.

I see, thanks for confirming!

For reference I'd use fez's or zef's META as a reference and both contain modules & bins, there's a lot of messy METAs out there that just happen to work. Fez client should burp out an error for the META you linked

Yep, got it. I see now that the issue was my misunderstanding what META6 should provide. This is not a fez issue at all, so I'd say it's safe to close it.
Thanks again!


DRAFT: NEW: Connect AnatomyTOOL (#189)

About the resumptionToken. What you can do when running the harvester is the following from a Django shell:
from datagrowth.configuration import create_config
from datagrowth.resources.http.tasks import send

config = create_config("http_resource", {"resource": "sources.AnatomyToolOAIPMH", "continuation_limit": 2})

success, error = send("anatomy_tool", "1970-01-01T00:00:00Z", config=config, method="get")

Then success will contain the ids of 2 AnatomyToolOAIPMH. You can take the resumption token from the first and put the body of the second inside fixture.anatomy_tool.initial.1.xml. Then in the factory you need to add another create call with number=1. And then the testing gears should start turning with of course some tests failing because you get more products/files.
aws.sync-repository-state --push to share the new fixture 😉


Correct casing of enum variants according to Rust conventions

Enum variant names are generated based on Rust conventions. Previously this ended up generating codes that produces warnings in case the casing in the DBC does not match the Rust convention.
previously:
"ONER" => BarThree::ONER
after fix:
"ONER" => BarThree::Oner

Good catch! I think there's some changes to the generated files that are unrelated. Can you check that?

Are you sure? It might be a little confusing since I added the value description for an existing signal. Or do you mean the extra space that is added when regenerating the files and not running cargo fmt? That is currently also the case on the main branch.

It might be a little confusing since I added the value description for an existing signal.

Oh, right, my mistake! Thanks for the quick reply!


IoT Central Rest Api Add/Update Device w/deviceTemplate returning 400 Bad Request

Looking at the docs both
here on github
and
here on the Microsoft Api reference
the example given is essentially the same:
PUT https://appsubdomain.azureiotcentral.com/api/devices/ccc?api-version=2022-07-31

{
  "displayName": "CheckoutThermostatccc",
  "template": "dtmi:contoso:testDeviceTemplate;1",
  "simulated": true,
  "enabled": true,
  "organizations": [
    "seattle"
  ]
}

Where "template" is included as a DTDL format. When I attempt to create a device, omitting the template field, I get a 200 OK from the api. When adding the DTDL @id for my created template in IoT Central I get a 400 Bad Request. I also get 400 Bad Request for the official example shown.
Here is a snippet from my template:
  "@id": "dtmi:naneticshub:soil_sensorv2;1",
    "@type": "Interface",
    "contents": [
        { ...etc

and here is the code I am using to call the api:

 public async Task<IoTDeviceDTO> AddDevice(string deviceId)
        {
            try
            {
                HttpClient client = _httpClientFactory.CreateClient();
                string endPoint = _iotString + $"devices/{deviceId}?api-version={apiVersion}";

                HttpRequestMessage msg = new HttpRequestMessage(HttpMethod.Put, endPoint);
                AddApiAuthorization(msg);

                string json = JsonConvert.SerializeObject(new
                {
                    displayName = deviceId,
                    template = "dtmi:naneticshub:soil_sensorv2;1",
                    simulated = true

                });

                msg.Content = new StringContent(json, Encoding.UTF8, "application/json");

                HttpResponseMessage result = await client.SendAsync(msg);
                if (!result.IsSuccessStatusCode)
                {
                    ErrorDetails? response = await result.Content.ReadFromJsonAsync<ErrorDetails>();

                    string errorMsg = response.message;
                    return null;

                }

                IoTDeviceDTO iotDevice = await result.Content.ReadFromJsonAsync<IoTDeviceDTO>();

                return iotDevice;
            }
            catch (Exception e)
            {
                return null;
            }

        }

The same also occurs when attempting to add the "organizations" string array as shown in the example. The displayName, enabled, and simulated properties are correctly added/updated.
Furthermore, the dynamic object I am receiving from the response body also does not include either of these properties. Can we confirm that the docs are up to date/correct?
On a final note, the required properties are also case sensitive, just a heads up to anyone else reading this.

@captainkidd5
It would be great if you could add a link to the documentation you are following for these steps? Because here there are two different links. This would help us redirect the issue to the appropriate team. Thanks!!

Sorry for the confusion. I'm specifically looking at the example for Create Device on this page

Quick update, the Error object I'm getting has a response of
"The model definition for this device was not found. You can contact support at https://aka.ms/iotcentral-support. Please include the following information. Request ID: ba7ybknx, Time: Thu, 25 May 2023 16:50:15 GMT."

For anyone who stumbles across this in the future, for device templates the dtmi @id definition is incorrect. You need to append "modelDefinition".
The correct format was
dtmi:modelDefinition:naneticshub:soil_sensorv2;1


Getting error as 'Expected 2 arguments, but got 1' while making build in production mode.

It is pointing error to
<span *ngFor="let emoji of emojiList" [innerHTML]="':'+emoji+':' | emojis" (click)="addEmoji(emoji)">.
Error is gone when pipe 'emojis' is remove. Any idea. I am using this in ionic4.
in ts file
this.emojiList = Ng2EmojiService.emojis;

Ok, Now  I understant the problem, I get it fixed by passing empty array in argument as   [innerHTML]="':'+emoji+':' | emojis:[]".


Update split-function.md

Previous string will land somebody in trouble.

Docs Build status updates of commit bfe5afc:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

Language/Reference/User-Interface-Help/split-function.md
:bulb:Suggestion
View
Details

Language/Reference/User-Interface-Help/split-function.md

Line 2, Column 1: [Suggestion-description-missing] Missing required attribute: 'description'.

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Correctly separate out webpack-helpers.d.ts

The webpack install code from https://stimulusjs.org/handbook/installing is for javascript. It should work for typescript too if the extension is changed from js to ts, but it generates the following error:
ERROR in /Users/peterfaiman/code/stimulus-example/src/index.ts
[tsl] ERROR in /Users/peterfaiman/code/stimulus-example/src/index.ts(2,40)
      TS7016: Could not find a declaration file for module 'stimulus/webpack-helpers'. '/Users/peterfaiman/code/stimulus-example/node_modules/stimulus/webpack-helpers.js' implicitly has an 'any' type.

Typescript finds the declaration once moved to webpack-helpers.d.ts.

Thanks! You can work around this for now by installing and importing the @stimulus/webpack-helpers package directly:
import { definitionsFromContext } from "@stimulus/webpack-helpers"


Simple table slot bug

The LisSimpleTableElement component disables the Shadow DOM so global styles are applied to its template. However, it has a slot that allows the table contents to be partially or completely set via HTML. Since the Shadow DOM is disabled, this content is actually appended to the element's inner HTML instead of being added inside the table where the slot is. This means none of the content added in this way is styled correctly.
There are multiple ways to fix this. The simplest "fix" is to drop the slot and wait for someone to ask for it. A way to actually may be to use class inheritance and include the slot in a class that uses the Shadow DOM and include the form in a class that disables the Shadow DOM. The first fix is definitely the way to go. The second is only mentioned for posterity ;)

It turns out there's a nice solution to this; see this conversation in PR #44. That functionality should be encapsulated in a controller that both this and the modal component (#43) will use.

Fixed in PR #49. Closing.


Build images for upgrade upstream LTS

This issue is created by a periodically running robot, for building images of the latest kubernetes LTS.

/build

Duplicate of #42


typeError state.request.abort is not a function

#516

Thanks! Can you make sure code formatting is the same, it looks a bit too indented.

@rikschennink sure I use tabs but in this case it isn't really necessary to use the brackets so switched it to a shorthand if statement.


Old version gets parsed to update.log

While updating today, i noticed that the updatelog had two identical entries in terms of version.
atrius@natrium:~/ARK$ cat /var/log/arktools/update.log
~
Jun 26, 11:49:46: update to 672599 complete
Jun 27, 02:26:15: update to 673532 complete
Jun 27, 08:56:04: update to 673532 complete

At 02:26 i updated to 180.2 successfully, and now at 08:56 - 180.4.
setCurrentVersion seems to work just fine;
atrius@natrium:~/ARK$ cat arkversion
674165

this happens with the most updated version?

Yup, pulled from master yesterday after you merged my PR.

Looking at it, we should change getAvailableVersion at tools/arkmanager#L232 and tools/arkmanager#L260 to getCurrentVersion, and integrate setCurrentVersion into getCurrentVersion.
The mismatch between arkversion and the printed update version suggests that the version returned by app_info_print doesn't match the version retrieved by the previous app_update.
It also looks steamcmd is still caching the available version somewhere, as despite removing the app info cache, it still only updated the available version after manually running steamcmd:
[2015-06-27 18:07:37] Ran arkmanager checkupdate
appinfo_log.txt:
[2015-06-27 18:07:37] RequestAppInfoUpdate: nNumAppIDs 1

arkmanager output:
Querying Steam database for latest version...
Current version:  672599
Available version:  672599
Your server is up to date!

[2015-06-27 18:08:12] Ran steamcmd interactively
appinfo_log.txt:
[2015-06-27 18:08:12] RequestAppInfoUpdate: nNumAppIDs 1
[2015-06-27 18:08:13] ProductInfoChanges: change number 0->1135150, apps: 0/0, packages: 0/0
[2015-06-27 18:08:13] UpdatesJob: requesting 84 apps, 1 packages (meta data, 1024 prev attempts)

[2015-06-27 18:09:03] Ran arkmanager update
appinfo_log.txt:
[2015-06-27 18:09:03] RequestAppInfoUpdate: nNumAppIDs 1

arkmanager output:
Querying Steam database for latest version...
Current version:  672599
Available version:  674165
Your server needs to be restarted in order to receive the latest update.
Run "arkmanager update" to do so

@klightspeed We might have to remove packageinfo.vdf before getting available version aswell.


Showing search results on selecting location

Describe the bug
Search results are open on selecting the location from events fragment.
Screenshots

Would you like to work on the issue?

[x] Yes
[ ] No
Other:

@liveHarshit There is also crash on R.id.action_search_type_to_search & R.id.action_search_type_to_search_filter. It is pretty easy to resolve, just delete a line in SearchTypeFragment:
findNavController(rootView).navigate(destFragId) - line 108. I didn't check this in my last commit. Can you also add this to this issue.

Okay, I will. Please open up an issue for it.

#1733 I have, here is the issue link


feat: Interactive Library Rewrite

This PR defines the rw?? library rewrite tactic that uses my RefinedDiscrTree.
This is a point&click tactic, letting the user click on subexpressions in the main goal. The results are sorted by relevance, and are separated into sections based on the matched pattern. It comes with a filter button that allows you to switch between the (default) filtered view, with removed duplicate lemmas and not showing lemma names, and the complete view. There is also a section for definitionally unfolding the selected expression - these rewrites do not correspond to a library lemma.

[ ] depends on: #11968
[x] depends on: #12016

please mark as awaiting-review if it's ready for review

awaiting-review

!bench
The lazy version is not persistent, so if this bench shows that, I'll make a StrictRefinedDiscrTree.

!bench

!bench


Added huntington school york

Official Website: School
Email domain they use: huntington-ed.org.uk
Course: Computer Science
Them recognising it as a school email: YT Tutorial with timestamp found on the school site listed as "How to access Microsoft Teams" Student Learning I can't really find any other mention of it online, Sorry.

@jozefbonnar Thank you for your patience while waiting for a review and processing your request. Pull request merged. Thank you!


Certificated expired

I hope you all were safe and sound.
Can you renew the ssl certificate, it's expired since yesterday and some of our buildings are failing.

What certificate do you mean? Which url?

The one who host de project:
https://repo.craftyn.com/repository/snapshots/
Can you upload the project to Maven Central?

Sorry, this project does not manage craftyn.com - so there is nothing we can do.
Creating a new release is handled in #46

Ok, well, maybe it's a good time to do the change.
Everyone CI pipelines are suppose to be broken.


Best practices for managing federated repositories?

Hi!
I'm not entirely sure what the recommended pattern is to deploy artifactory configuration through terraform, especially as it pertains to federated repositories. Our context is that we have two artifactory clusters, with federated repositories to federate the artifacts between these clusters. We also use projects and environments to control the RBAC for these repositories.
Approach 1 - Status quo
We set up two parallel terraform pipelines: one to each artifactory cluster. However, because it seems like the creation of one repository in one cluster propagates over to the other cluster, the second pipeline to run fails with a
error when validating repository name: _____ : Case insensitive repository key already exists
Approach 2 - Modifying our current approach
As per our account manager, the intention is for the JFrog platform to handle the federation logic, even up to the creation of the repository on other clusters. So another approach could be: rip out all of the federated repository logic from our second cluster, and only have it applied/live on the first cluster.
However, our requirement for using projects and environments break under this approach: the federated creation does not create the repository under a particular project and environment. This means that when users go to use the second cluster, they will find that they won't have the same RBAC to these artifacts. In other words, because we use projects, we have to be able to control the specifics of how the second clusters' repositories get created, but we can't do that, since artifactory currently automatically propagates it over from the first cluster.
Approach 3 - Make federated creation/configuration optional
I noticed that the propagation logic was implemented in #825 and #840 via the terraform provider firing a configSync API call. If we make this optional, this may buy us enough time to get both created via terraform.
However, this causes yet another issue: do I ever need to invoke configSync? If both repositories are created separately, but I can guarantee that the configuration is correct, do I ever need to trigger a sync?

@richardmcsong Thanks for the post. Approach 3 is in our plan to be implemented so that will give users more control over whether they want the sync to automatically happens or not. The toggle (auto_sync may be?) when set to false will allow you to apply same configuration to all nodes in the cluster and not gets the "repository key already exists" error. As long as your configuration is correct, both repos should be setup correctly without calling configSync API.

@richardmcsong I did some more testing and experimenting and came to the conclusion that this issue can't be fixed by the Terraform provider.
Originally I thought part of the issue is that the provider calls the configSync API after repo creation/update to force the repos to synchronize across members. Thus, my thought is that if I make that API call optional then users can create federated repo on nodes separately.
Turns out the synchronization is done automatically by Artifactory even without the additional configSync API call. So when the provider creates the federated repo on node 1 (for example) with member on node 2, Artifactory will synchronize the configuration and create the same repo on node 2. So configSync was not necessary (was before Artifactory does the syncing).
This means that there's no way to fix or workaround this issue in the Terraform provider. This needs to be resolved by our Artifactory and Project teams. They are aware of this but I don't have any information on what the fix will be and when it will be rolled out.


Formatting issue when using comments

extra spaces are added with each formatting

vscode-twig-language-2   v0.9.1
Версия: 1.47.2 (user setup)
Electron: 7.3.2
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
ОС: Windows_NT x64 10.0.18362

Project dead ?

are there any alternative projects?

I've had some success with prettier-plugin-twig-melody.

Hey guys, thank you for creating issues and using my extension. Definitely check out Prettier twig melody because that seems to be in active development and has a big company behind it. This extension relies on PrettyDiff 3 and so some bugs are out of my ability to fix. I’ll ensure that the version of PrettyDiff is updated, however, I’m not certain it will fix this annoying bug


Paired bootstrap criterion

The BootstrapStats class is currently not suitable for scenarios where objects in groups are paired (dependent).
For these tasks, we must use consistent sampling, so for each step we select a dependent pair of objects from the experimental groups, rather than independent objects individually.
It is necessary to implement the function of consistent sampling of objects for BootstrapStats.

Done


DOC: Transfer the wiki 3rd party apps page to Markdown documentation

Transfer the wiki 3rd party applications page to Markdown documentation: https://itk.org/Wiki/ITK/Third_Party_Applications.
Update the links and explanations as necessary.
Remove the mention of ITK packages for Ubuntu, as they no longer exist.
PR Checklist

[X] No API changes were made (or the changes have been approved)
[X] No major design changes were made (or the changes have been approved)

Note that I removed
- [**Ubuntu ITK**](http://www.paulnovo.org/repository) ITK packages
  for Ubuntu (includes compiled wrappings)

I ignore what this was, but I do not think they are relevant now.
Other wiki pages mentioned that need to be transitioned:
https://itk.org/Wiki/ITK/Insight_Applications
https://itk.org/Wiki/ITK/CommandLineTools

@jhlegarreta merge conflicts with other work recently committed.

@jhlegarreta merge conflicts with other work recently committed.

@hjmjohnson Solved with the latest rebase & forced push.


Support custom headers (by request class inheritance) in Async APIs

Issue #, if available:
Async and Callable capture request by value, loosing class inherited info
Description of changes:
Use virtual constructor idiom.
Additionally, copy request in Async APIs only once.
Check all that applies:

[ ] Did a review by yourself.
[ ] Added proper tests to cover this PR. (If tests are not applicable, explain.)
[ ] Checked if this PR is a breaking (APIs have been changed) change.
[ ] Checked if this PR will not introduce cross-platform inconsistent behavior.
[ ] Checked if this PR would require a ReadMe/Wiki update.

Check which platforms you have built SDK on to verify the correctness of this PR.

[ ] Linux
[ ] Windows
[ ] Android
[ ] MacOS
[ ] IOS
[ ] Other Platforms

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

We will add an explicit KISS API for this.


BUG

The MADByTE developed by your team has a good application, but there is a bug in use, how to solve it?

Hi @duanlaoyao we are now communicating about this offline so I am going to close this issue. Following the installation instructions in the tutorials (https://www.madbyte.org/tutorials) should resolve this.


Make "Tip" text available via extension API.

Certain extension Getting Started flows are able to utilize "tip text", a more subtle variation of the standard description field currently available. Ideally "tip text" formatting would be available to all via the extension API.
See discussion below for more context:

cc: @daviddossett (I'm not able to assign in this repo).

This should already be available to use if your command has an existing key binding.

There is no API. We handle it here: https://github.com/microsoft/vscode/blob/7b39d0e24ae473beb9d1d28d8372e960681ddda9/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.ts#L1310
If you've added a command in the walkthrough description,  and that command has a key binding, we pull it out and show it as Tip...

Perfect, thanks! I'll close this one then assuming that offers what he needs 👍


Footer links not functional

Describe the bug
Some Footer links that are not added can be replaced with '/' home route and other routes that are added but are not working because they are present in a li tag due to which they are not redirecting. I would add a Link tag for them.
Expected behaviour
On clicking on the links they should redirect to the corresponding page.
Screenshots

Additional context
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Please assign me this issue so that I can work on this issue under GSSOC'23.

We will do this after the completions of pages so please wait

Ok

Hey @Avinash905 , i need to talk to you on Discord please reply ASAP!


A ".var" of an HLIL_VAR object not correct in some cases

Under unknown specific circumstances the ".var" attribute of the HLIL_VAR object does not map to correct variable as shown below. I would love to provide more details, but I have not found any pattern in why this happens.

Could you provide a binary which displays this issue?

Sure, the binary can be found here.
This issue occurs in function _xmlNodeListGetRawString on the instruction rax_2, arg3 = _xmlStrncat(_xmlStrcat(rax_6, *(rbx_1 + 0x10), rdx), &var_32, 1) (7th from the bottom of the function in HLIL).
I have tested this with the latest development build of BinaryNinja (2323).

We believe we've fixed these with the recent HLIL improvements that landed on dev last week. Please let us know if you run into any more instances.


Fix type instability in promote function

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 96.70%. Comparing base (e122a01) to head (0ba4d6e).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #167      +/-   ##
==========================================
- Coverage   96.89%   96.70%   -0.20%
==========================================
  Files          26       26
  Lines        1129     1122       -7
==========================================
- Hits         1094     1085       -9
- Misses         35       37       +2

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Please update for Sketch v52.1

Please update for Sketch v52. Thank you very much!

Please update. It is very difficult to work with out this plug-in.

@Huweiii:
I gave it a try to fix it here:
Fix for Sketch v52 and v52.1 - With Inspector / Mark Property (and more) working
You can get the file from the fork. Give it a try and see if it works for you:
Repository (Fork)
Download the zip file from the fork
I hope it helps 😊

Thank you so much team.
It’s working fine.
Best Regards
Naresh S

Naresh S | Sr. Visual Designer - CTIC | [24]7.ai | Mobile: +91 99860 54542 | www.247.ai
From: ellunium <notifications<EMAIL_ADDRESS>Reply-To: utom/sketch-measure <reply<EMAIL_ADDRESS>Date: Tuesday, 9 October 2018 at 14:59
To: utom/sketch-measure <sketch-measure<EMAIL_ADDRESS>Cc: Naresh S <naresh.s<EMAIL_ADDRESS>Comment <comment<EMAIL_ADDRESS>Subject: Re: [utom/sketch-measure] Please update for Sketch v52.1 (#482)
[24]7.aiSecurity alert : External email; unless trust the sender and/or expect this email, do not open or click links.
@Huweiiihttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_Huweiii&d=DwMFaQ&c=-MJkLfNHw3fLcSxc54P8Yg&r=9lDFt0eQZdgKpfa1L0HG2A&m=H45rF57C-p-jxDoNeURWEoeZyYkRwSycK55qxo5kZLc&s=HxRh9dlN9_MGv0_wuJ3JtzUnQ_lvwnqip5itmVVwpNE&e=:
I gave it a try to fix it here:
Fix for Sketch v52 and v52.1 - With Inspector / Mark Property (and more) workinghttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_utom_sketch-2Dmeasure_pull_474&d=DwMFaQ&c=-MJkLfNHw3fLcSxc54P8Yg&r=9lDFt0eQZdgKpfa1L0HG2A&m=H45rF57C-p-jxDoNeURWEoeZyYkRwSycK55qxo5kZLc&s=tjluM7vfJUK10OpDbPA-Xc8BAMG-CmUWP2NQO4ZpXrQ&e=
You can get the file from the fork. Give it a try and see if it works for you:
Repository (Fork)https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_ellunium_sketch-2Dmeasure&d=DwMFaQ&c=-MJkLfNHw3fLcSxc54P8Yg&r=9lDFt0eQZdgKpfa1L0HG2A&m=H45rF57C-p-jxDoNeURWEoeZyYkRwSycK55qxo5kZLc&s=y4uP6Q3IiOdUjFvOhuD4_aiMZjx1yB68OHYvzXT2JAE&e=
Download the zip file from the forkhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_ellunium_sketch-2Dmeasure_archive_master.zip&d=DwMFaQ&c=-MJkLfNHw3fLcSxc54P8Yg&r=9lDFt0eQZdgKpfa1L0HG2A&m=H45rF57C-p-jxDoNeURWEoeZyYkRwSycK55qxo5kZLc&s=pl5fyv8fByEJX2pZvZ6zVEY87XBJRy2ONG0sD_2dQqk&e=
I hope it helps 😊
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_utom_sketch-2Dmeasure_issues_482-23issuecomment-2D428124734&d=DwMFaQ&c=-MJkLfNHw3fLcSxc54P8Yg&r=9lDFt0eQZdgKpfa1L0HG2A&m=H45rF57C-p-jxDoNeURWEoeZyYkRwSycK55qxo5kZLc&s=77G2wAoMdfQ1ikrsPfVMB-gZi95-DymJ0iYiag0DN84&e=, or mute the threadhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_Ap8eIfVXeRqgicFaMT0jB5zm-2DKBqaf4Nks5ujGx8gaJpZM4XSKY-5F&d=DwMFaQ&c=-MJkLfNHw3fLcSxc54P8Yg&r=9lDFt0eQZdgKpfa1L0HG2A&m=H45rF57C-p-jxDoNeURWEoeZyYkRwSycK55qxo5kZLc&s=tRQ3TvyRyV-_NB5__8L5-iaoJ_lHY9-0yezNvWJVfEA&e=.

@Huweiii:
I gave it a try to fix it here:
Fix for Sketch v52 and v52.1 - With Inspector / Mark Property (and more) working
You can get the file from the fork. Give it a try and see if it works for you:
Repository (Fork)
Download the zip file from the fork
I hope it helps 😊

wow,thanks a lot, it's really helpful

Please note, that there are now 11 Issues that basically say the same thing: Sketch Measure is broken with the latest releases of Sketch.
Posting yet another issue saying exactly the same thing IS NOT HELPFUL. You can simply add your own experience, or frustration, by leaving a comment in one of the many existing issues.
These issues are #468, #469, #471, #472, #473, #475, #476, #477, #479, #481, and this one.
Sketch Measure developers: please review the fix from @ellunium, which might enable you to close these 11 issues at once.

I'm now getting the following error even with the latest update.

@kathrynl16: Thanks for reporting!
Could you please give me more details about it?

What are you trying to do?
What would expect to happen?
What actually happens now?

Also, if you can create a small example sketch file and put in a zip for me to test, that would be great :)
By the way, did you try uninstalling, restarting sketch and reinstalling latest?
Download the latest zip file from the fork

@kathrynl16: Could you please give it a try to the latest version?
I've added support for Library styles and a check to prevent the error you reported (https://github.com/utom/sketch-measure/pull/474/commits/65fe50b604ecc72309afb01c38674cc79fcfa8c4)
Remember to uninstall, restart sketch and install again.
Download the latest zip file from the fork

Hi @ellunium Thanks for the prompt response! I'm still getting the same issue. Might be an issue on my end. I download the update and on opening Sketch preferences from the Splash page (before opening a file) I can see version 2.7.6 is installed. However when I open a file and reopen the preferences, the version has changed to 2.7.5 and I'm getting the same error message.

@kathrynl16 no worries :)
The reason it was changing back to 2.7.5 is because I didn't update the version for all languages.
My bad :)
That's fixed now (https://github.com/utom/sketch-measure/pull/474/commits/e77002b17552090f9f022a70d345134e2665108e)
Could you please git it another try?
Not sure this was the problem, but maybe it helped conflict with cache.
Remember to uninstall, restart sketch and then install again.
Download the latest zip file from the fork

Hi @ellunium - The 2.7.6 is displayed the entire time but I'm still getting the same issue. Adding a sketch file that I get the issue with.  Thanks for working on this!
Test for Sketch Measure.sketch.zip

@kathrynl16 I could not reproduce the error, here it exports perfectly. 😕
I tried exporting 1 page, 2 pages and everything including the symbols and everything worked.
Could you please try doing this?

[ ] Uninstall the plugin
[ ] Quit Sketch
[ ] Follow the steps bellow to remove the PluginsWarehouse folder
[ ] Download the latest zip file from the fork
[ ] Reinstal plugin
[ ] Test the Spec Expect again

Remove the PluginsWarehouse folder that lives in ~/Library/Application Support/com.bohemiancoding.sketch3/. This is where we cache plugin downloads, and if you’ve been testing different versions of your appcast, you probably have some old stuff there that’s worth cleaning.

Go to the Finder of Mac OS
From the “Go” menu navigate down to “Go to Folder” or...
Hit Command+Shift+G from the Mac OS X desktop or a Finder window
Paste the folder location ~/Library/Application Support/com.bohemiancoding.sketch3/
Remove/Delete the PluginsWarehouse folder

Let me know how it goes.

Hi @ellunium - still getting the same issue. I am on version 51.3 if that makes any difference

@ellunium not sure what changed but it has started working! thanks for your help!


Example failed to run

Hi  anh Thang Chung,
Cảm ơn anh đã phát triển bộ Transcoder này.
Hiện tại, e lấy code về và chạy thử thì gặp lỗi như này:
 Microsoft.AspNetCore.Hosting.Internal.WebHost:Information: Request starting HTTP/1.1 GET http://localhost:5000/say/Bob   Ocelot.Errors.Middleware.ExceptionHandlerMiddleware:Debug: requestId: 0HLPSQDD4RDKQ:00000001, previousRequestId: no previous request id, message: ocelot pipeline started Ocelot.DownstreamRouteFinder.Middleware.DownstreamRouteFinderMiddleware:Debug: requestId: 0HLPSQDD4RDKQ:00000001, previousRequestId: no previous request id, message: Upstream url path is /say/Bob Ocelot.DownstreamRouteFinder.Middleware.DownstreamRouteFinderMiddleware:Debug: requestId: 0HLPSQDD4RDKQ:00000001, previousRequestId: no previous request id, message: downstream templates are /Greet.Greeter/SayHello Ocelot.RateLimit.Middleware.ClientRateLimitMiddleware:Information: requestId: 0HLPSQDD4RDKQ:00000001, previousRequestId: no previous request id, message: EndpointRateLimiting is not enabled for /Greet.Greeter/SayHello Ocelot.Authentication.Middleware.AuthenticationMiddleware:Information: requestId: 0HLPSQDD4RDKQ:00000001, previousRequestId: no previous request id, message: No authentication needed for /say/Bob Ocelot.Authorisation.Middleware.AuthorisationMiddleware:Information: requestId: 0HLPSQDD4RDKQ:00000001, previousRequestId: no previous request id, message: /Greet.Greeter/SayHello route does not require user to be authorised Ocelot.DownstreamUrlCreator.Middleware.DownstreamUrlCreatorMiddleware:Debug: requestId: 0HLPSQDD4RDKQ:00000001, previousRequestId: no previous request id, message: Downstream url is http://localhost:5003/Greet.Greeter/SayHello Ocelot.Requester.Middleware.HttpRequesterMiddleware:Debug: requestId: 0HLPSQDD4RDKQ:00000001, previousRequestId: no previous request id, message: IHttpRequester returned an error, setting pipeline error Ocelot.Requester.Middleware.HttpRequesterMiddleware:Warning: requestId: 0HLPSQDD4RDKQ:00000001, previousRequestId: no previous request id, message: Error making http request, exception: **System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.IO.IOException: The server returned an invalid or unrecognized response.**    at System.Net.Http.HttpConnection.FillAsync()    at System.Net.Http.HttpConnection.ReadNextResponseHeaderLineAsync(Boolean foldedHeadersAllowed)    at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken)    --- End of inner exception stack trace ---    at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken)    at System.Net.Http.HttpConnectionPool.SendWithNtConnectionAuthAsync(HttpConnection connection, HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken)    at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken)    at System.Net.Http.HttpClient.FinishSendAsyncBuffered(Task1 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts)
at Ocelot.Requester.HttpClientHttpRequester.GetResponse(DownstreamContext context)
Ocelot.Responder.Middleware.ResponderMiddleware:Warning: requestId: 0HLPSQDD4RDKQ:00000001, previousRequestId: no previous request id, message: Error Code: UnableToCompleteRequestError Message: Error making http request, exception: System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.IO.IOException: The server returned an invalid or unrecognized response.
at System.Net.Http.HttpConnection.FillAsync()
at System.Net.Http.HttpConnection.ReadNextResponseHeaderLineAsync(Boolean foldedHeadersAllowed)
at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.SendWithNtConnectionAuthAsync(HttpConnection connection, HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken)
at System.Net.Http.HttpClient.FinishSendAsyncBuffered(Task1 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts)    at Ocelot.Requester.HttpClientHttpRequester.GetResponse(DownstreamContext context) errors found in ResponderMiddleware. Setting error response for request path:/say/Bob, request method: GET Ocelot.Errors.Middleware.ExceptionHandlerMiddleware:Debug: requestId: 0HLPSQDD4RDKQ:00000001, previousRequestId: no previous request id, message: ocelot pipeline finished
Anh có thể kiểm tra giúp e xem tại sao không.
Cảm ơn anh

Em cấu hình gateway theo Option 1 thì ko chạy được. Check source thì dòng 31 trong file DownStreamContextExtensions
var methodPath = context.DownstreamReRoute.DownstreamPathTemplate.Value;                 var grpcAssemblyResolver = context.HttpContext.RequestServices.GetService<GrpcAssemblyResolver>();                 var methodDescriptor = grpcAssemblyResolver.FindMethodDescriptor(methodPath.Split('/').Last().ToUpperInvariant());
không lấy được grpcAssemblyResolver.
phải bổ sung theo hướng dẫn (Option 2) thì cần cấu hình thêm ở file StartUp.cs
services.AddGrpcJsonTranscoder(() => new GrpcAssemblyResolver().ConfigGrpcAssembly(typeof(Greeter.GreeterClient).Assembly));
thì mới chạy được.
=> Chỗ này e chưa hiểu là do e cấu hình sai hay hướng dẫn gộp chung phần cấu hình file StartUp.cs.

hi Bien, thank you for your information. I will do a double check due to the new .NET Core 3.0 SDK
HTTP/1.1 GET http://localhost:5000/say/Bob Ocelot.Errors.Middleware.ExceptionHandlerMiddleware:Debug: requestId: 0HLPSQDD4RDKQ:00000001, previousRequestId: no previous request id, message: ocelot pipeline started

The HTTP/1.1 should not be happen here, because of HTTP/2 is a default mode for gRPC.
I am working on it at https://github.com/vietnam-devs/coolstore-microservices/tree/develop/src/gateways/webapi-gateway

Of course, HTTP/2 is default for gRPC but in this case, I was using Postman for test Api-gateway. So, it is HTTP/1.1.
I am confused when reading the guide at Readme.md. That is config between Option 1 and Option 2.
Can you rewrite for Option 1? I saw that services is imported is very important. So, it should highlight.

Agree with you about it. By the time, see the Ocelot gateway works with GrpcJsonTranscoder at https://github.com/vietnam-devs/coolstore-microservices/tree/develop/src/gateways/webapi-gateway, and it configures for the downstream services at https://github.com/vietnam-devs/coolstore-microservices/tree/develop/src/microservices
To get starting, run the command below
# at root coolstore-microservices project
$ # docker-compose -f docker-compose.yml -f docker-compose.dev.yml up -d

Remember to change /c/Users/<your windows user path>/.nuget/packages, if you run it on Windows.
I will fix the readme for this project soon as soon as I finish to test it on coolstore-microservices project. Thank you for your interesting on this project