remove AsseticBundle

see https://twitter.com/fabpot/status/648520881145253888
We should probably update the docs on symfony.com to add some default/sensible configuration that we are removing here.

+1

:+1:

+1

:+1:

:+1:

What about linking of images in template? It seems like everybody reacted just on postprocessing of CSS/JS.

@soukiii AsseticBundle is not needed to reference assets. Don't confuse Assetic and the Symfony Asset component

@soukiii twig asset function is not linked to asseticBundle ;)

Oh, sorry. My bad.

:+1:

+1

I'm sure that most people will say +1 but please remember that symfony-standard != symfony. The standard edition is about being useful. If we remove something without providing an alternative, we are providing less value to the end user.

:+1:

@javiereguiluz you don't always need to use Assetic. There are several alternatives:

not using any build system for your JS and CSS (unlikely in real projects, but it is good for a start, and might even continue like this. Packagist is an example)
use gulp/grunt/whatever and then reference the asset. This will give you the flexibility to use any frontend tool you want btw

@stof I'll explain my concern with an example:

If you ask 10 people which CSS framework to use, 8 will tell you Bootstrap, 1 will tell you Foundation and the other 1 will tell you to not use a framework.
If you ask 10 people which workflow/technologies to use for JavaScript Asset management, you'll get 15 different answers.

:+1:

@javiereguiluz and this is precisely why letting the user choose may be better. Assetic is probably the worse of the 15 answers you get (it depends on the actual tools, and generally does not give access to latest features of these tools because the Assetic integration is not provided by authors of these tools).

If you removing assetic bundle, so please provide clean recipe hot to combine+minify assets and add migration guide.

:+1:

@Koc a starting point: https://github.com/ekino/webpack-cheatsheet/blob/master/webpack.config.js

:+1:

:+1:

@Koc this is the official article for using JavaScript to do this: http://symfony.com/doc/current/cookbook/assetic/uglifyjs.html
And this is the alternative article using pure PHP libraries: http://symfony.com/doc/current/cookbook/assetic/php.html

@Koc Assetic will still be an option. But other options are OK too.
There is https://github.com/symfony/symfony-docs/issues/5725 about writing a cookbook showing how to use Gulp in a Symfony project (@weaverryan already produced http://knpuniversity.com/screencast/gulp about the topic btw). And cookbooks for other tools are also possible.

:+1:

+1

+1

I'm for getting rid of Assetic. There are better options now. Maybe even integrate Yeoman into it? Then we'd have code generators that could be imported, Bower for adding assets, and Gulp for managing the assets.

@thadbryson IMO front-end stuff are moving way too much and there is no consensus whatsoever regarding the techno that should be used so it wouldn't be very wise to take a strong position here. For example Bower is getting deprecated as has no value added compared to npm and is actually less advanced now. As for Gulp there is around the same amount of user of Grunt... The only thing Symfony may do here is to provide a good cookbook entry at most (or at least that's what I think it should do).

I'm :+1: for removing Assetic. I've been using it for years on a project, and the best relief I had during the last weeks was the moment when I removed it from this big project.
We can also salute (self-promoting haha) initiatives like Gryp.js which powers assets using Gulp and a single configuration file to avoid re-developing a Gulpfile or Gruntfile everytime we recreate a project.
But IMO, all javascript frameworks/libraries/technologies will continue to change during the next years, disappearing each one after another.
Removing Assetic is also great to generate some "statistics" about which solutions are the most used.
Haven't Sensio thought about a tool to analyze composer, npm and bower dependencies to generate stats about usage? It could be good to propose this to everyone having created a working project with the Symfony-standard app.

:+1:

If the alternative is pushing for Node-based tools like Grunt, Gulp and other npm-dependent stuff that, by default, isn't cross-platform or vm-friendly, I would always vote for keeping the old solution, or going with something totally new.

Most (almost all) project I wrote with Symfony since 1 year follow the same architecture:

one app and one Git repo for the backend in PHP/Symfony (without Assetic nor Twig except for mail templating and often without form views)
one app and one Git repo for the frontend in JavaScript (Grunt/Gulp + Angular/Backbone/React/whatever)
(only when SEO matter) a PHP (Guzzle + Twig) app and another Git repo generating raw HTML pages for search engines and serving the JS webapp

So I'm :+1: to remove Assetic. We should encourage splitting the business logic (PHP) and the presentation layer (JS and/or mobile apps and/or desktop app...) in separate applications.

Looks ok. People who use it (myself included) can just add it when needed. :+1:

:+1: for removing it from the standard edition. But, I hear a lot of people lamenting the complications and fast-pace of the JS solutions, and I agree: a backend developer should not be required to learn frontend solutions if their requirements can be met in an way that's easier for them.
So, I would accompany this by a slight update of the docs, i.e. a big "How do I minify and combine assets?" cookbook article. There, we can give the user a few well-documented options, including Assetic, Gulp and (why not) other things like what @Swader mentioned. It should not be much different than the current situation, except that if you want Assetic, you'll need to composer require.

-1

@fabpot what will come in place to support the demo application?

@tvlooy : The assetic bundle will still be usable, just not provided in the standard edition by default. So there is no problem for the demo application. Also, in the demo application, the assets are dumped and versionned, so assetic is used only during development.

Shouldn't it be replaced with something more commonly used?

@tvlooy by Gulp ? Problem, require node :/...

I'm not a huge fan of Assetic.

It should not be replaced. It's not the responsibility of Symfony to promote front tools. The front app come with its own set of tools (Grunt, Gulp...) and the backend with its own (Symfony...).

It's not the responsibility of Symfony to promote front tools.

Can't say any better, let the front-end war to the front-end stack, don't bring it into Symfony.

@dunglas I strongly disagree with you. Here we are talking about the full-stack Symfony web framework.
If this web framework already provides things that most of us will never use (such as LDAP security, validators for ISSN numbers and the list of countries in Tamil language) I don't know why shouldn't we provide a simple but useful way of managing web assets, which is something that most web apps need.

@javiereguiluz because the web is changing. Symfony is a very good tool to build server-side apps (API, forms, server-side generators...) but it is not adapted to build webapps, mobile apps nor desktop apps.
We don't include helpers to build Swift, Java Android nor Swing apps in Symfony, however it's a very common use case to power such apps with Symfony as backend technology. It's becoming very similar in the field of websites. Advocating a frontend technology instead of another miss the point :

Symfony is 100% independant of the frontend stack
Supporting (installing in the standard edition) a specific frontend stack such as Grunt+Angular or Gulp+Flux+React will introduce a lof of complexity (including the Node dependency).
Other projects such as Yeoman already handle this problematic well and have a strong community

We should focus on what we do well: a server-side framework.

LDAP security and ISSN validator are perfectly valid features of a server-side framework.

@dunglas totally agree, big :+1:

So, I would accompany this by a slight update of the docs, i.e. a big "How do I minify and combine assets?" cookbook article. There, we can give the user a few well-documented options, including Assetic, Gulp and (why not) other things like what @Swader mentioned. It should not be much different than the current situation, except that if you want Assetic, you'll need to composer require

I think this sums up my thoughts on it nicely.
No possibility is being taken away, it's just no longer the default in the standard edition.

@fabpot In the full stack framework, I totally disagree with this idea. A lot of people are using Symfony for API-only applications, but we need to keep in mind that's not the case for everybody. Especially for beginners it's far better to have Assetic already installed in the standard framework than having to manually setup an option to manage assets (whatever that option is). I've run the DX initiative and that PR is not going at all in that direction IMO.
@dunglas if "Symfony is 100% independent of the frontend stack" we should also remove Twig in that case, JsonResponse is enough :wink:

@sroze Twig is useful for forms, mails and when doing apps not relying on Javascript at all. But I hope one day the JsonResponse way will be the norm :-)

@fabpot Anyhow. I think the question whether Symfony should change it's vision about frontend is an important one. Do you want to be a full stack framework or do you want to deliver components to Drupal, Laravel, ... Components like Assetic, Twig, form builder, all have valid use cases, but for a lot of projects things like GraphQL in particular and component based frontend frameworks will become much more important in the future. These are the things that should have better integration, get easier to start with in future releases, ...

we should also remove Twig in that case

Twig is not part of the frontend. It is a server-side technology.

@fabpot Anyhow. I think the question whether Symfony should change it's vision about frontend is an important one. Do you want to be a full stack framework or do you want to deliver components to Drupal, Laravel, ...

IMO there is nothing wrong with moving away from the "full stack framework" that Symfony claimed once to be. It's an old approach that becomes less and less relevant given how the front-end stack evolves. We're not talking about prohibit the Assetic, we removing as it as a pre-installed one. AFAIK, it's always easier to add a bundle rather than removing one. Moreover keeping it as pre-installed is pretty much promoting it as if it's one of the best solution existing. It's a good one, but that's it. As of now, there is nothing to justify placing it before another solution anymore.

:+1:

:+1: Was always removing it manually

:+1: super

-1
I'm agree with @javiereguiluz this is a feature of the Symfony Full Stack Framework, the Symfony components are independents, the full stack require a set of components, assetic is very useful, don't remove it.

@anacona16 it will still be possible to use Assetic in your project if it is the way you want. We won't stop maintaining it (at least for now). but instead of being pre-installed when starting a new Symfony project (and forcing you to remove it when you don't want to use, for instance because you use a gulp-based stack), you would just need composer require symfony/assetic-bundle to install it (just like other bundles).

+1

Please stop saying +1. The decision has been taken now (this PR has been merged), and each comment triggers emails to many people. A +1 alone does not bring value to them at this point.

Actually I have various feelings. I am a bit sad that Assetic is removed. Mainly because it is harder to use grunt/gulp/bower/npm instead of pure PHP. But I also understand it, as PHP tools for managing assets are bad quality or not available at all. So moving towards the mainstream way of handling assets seems to be an obvious decision.

It's merged so this is just my point of view.
+1 to remove Assetic and be replaced by recipes in documentation and a list of alternatives (vm agnostic if possible).
But I don't like the possible second intention this movement can include: I think Symfony should remain being a (great) FullStackFramework and not only a server side tool.

+1 @stof  w/ using Grunt or Gulp.

Apologies for hijacking this thread and spamming all of you but I couldn't think of a better place to post this.
For the past couple of months I've been working on a bundle which attempts to bring a modern frontend workflow to Symfony projects. I know this sounds like shameless inflated self-promotion but I would be grateful if you could give it a look.
The bundle allows you generate a tailored gulpfile.js (though the goal is to be asset-pipeline-agnostic) and to reference assets in the templates as you usually do, using the asset() helper, and with automatic cache-busting in production. In addition to that you get other features like livereload, bower integration, etc.
It was designed to be beginner-friendly while not limiting more advanced use cases.
There's still lots of things to do but I think it might already be useful for many people and it would be great to have your inputs on whether there's something to it or if it was a waste of time.
Since this is kind of off-topic, I created regularjack/frontend-bundle#13 to discuss this so if you have anything to say (I hope you do!) please comment there instead of here.

I know I am very, very late to the already committed changes and closed thread but I just wanted to give my 2c nevertheless.
I started coding just a little over a year ago, with an app idea already in mind. I started from bottom, the real bottom. I had no idea of what http headers were, response, in fact, I had never heard of JSON, and had never written one line of PHP code. To a large extent I am still learning, I still make stupid mistakes, open issues that either need not be opened or open them for the wrong package, etc.
After a lot of research, I chose Symfony for a variety of reasons but mainly because I read with the Symfony-Standard and third party bundles, I could be up and running quickly and start to build my app/start-up. Now, after understanding how things work, I have even “composer removed” a few previously installed bundles and rolled out my own code specific to my needs.
The point of the short story here is that, I think its best that the Symfony-Standard mindset should be rapid development and not really best development. I think the ultimate success of a framework is determined by how many people use it and not necessarily how people use it which means converting noobs(well, former noobs) like me to staunch users, advocates and defenders. Removing AsseticBundle in, my view, was a step to making that just a little bit harder. I know you can easily install it but remember, we are not taking about seasoned pros like @stof  here, but probably someone who is also being introduced to Composer as well. I concur with @javiereguiluz  sentiments here.
Maybe, there could be a step to optionally install [default yes] Assetic when installing the Symfony-Standard?

@The-Don-Himself Yep : install Symfony standard, and then run composer require symfony/assetic-bundle and you're set!
Then, just read AsseticBundle's doc


feature: add --nom flag to enable nix-output-monitor

nix-output-monitor provides a nice real time build graph, which gives more information about what builds where, which is especially nice for larger rebuilds.
fixes #302

There are a few more uses of nix tools that should be changed, you can find all the instances by running rg '"nix(-\w+)?"'

I disagree. nom only makes sense when build is used. E.g. https://github.com/Mic92/nixpkgs-review/blob/d7a07874b4651a0945583b5b73faaf912d6b4947/nixpkgs_review/utils.py#L48-L59 doesn't make any sense to use nom

turns out most things that pop up from rg command wouldn't work with nom, but the nix-shell in nix.py could be changed to nom-shell

I'm not too familiar with the code that uses nix-shell. But it was my understanding, that the shell gets executed after everything is build. So, in my understanding, changing this to nom-shell doesn't yield any improvements, right?

nom-shell doesn't do much more than doing a mkShell and buildEnv, but I still think it would be nice to have a consistent interface for commands that could be replaced by nom

I am ok with @figsoda reviewing this as long as nom stays optional (maybe automatically discovered if present).

@figsoda Shall we change it to autodiscover nom and enable it by default? Or leave it as is?

that sounds like a cool idea, I'll leave the decision to @Mic92

I took the liberty to adjust the PR as per @Mic92 suggestion. We can revert the commit, if we decide to not use it.
Otherwise it now uses nom by default, if it is found. Also I added some test cases.

instead of specifying the path, what if we have something like --nix-flavor, empty string will default to nom and fall back to nix, nom will force nom, and nix will force nix, this way we can also allow nom-shell to be used

I like the nix-flavor better. See the new commit

shall I squash the commits and rebase?

you can rebase and force push if you want, or this can also be squash merged

Ok, then you can squash merge if it seems all alright to you :+1:

bors merge


steinbock measure neighbors very slow

Hi
I have a sample from AKOYA (15K pixel X 15K pixel) and around 200K cells were identified after segmentation. Then I run $steinbock measure neighbors --type borders --dmax 4. It is very slow and it is still running after 24 hours. Is there anyway I can speed up this step.
Thanks
Xiangming

Hi @dingxm
You can see if the  --mmap option of  steinbock measure neighbors a try. In general steinbock is optimized for operating on IMC images and benchmarked against using their associated masks.

Closing due to inactivity


solve compatible issue with dubbo 2.5.9, 2.5.10

What is the purpose of the change
solve compatible issue with dubbo 2.5.9, 2.5.10
Brief changelog
upgrade the protocol version to 2.0.2/20002
related to #2174
Verifying this change
Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Make sure there is a GITHUB_issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a GITHUB issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Format the pull request title like [Dubbo-XXX] Fix UnknownException when host config not exist #XXX. Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
[ ] Run mvn clean install -DskipTests & mvn clean test-compile failsafe:integration-test to make sure unit-test and integration-test pass.
[ ] If this contribution is large, please follow the Software Donation Guide.

Codecov Report

Merging #2175 into 2.6.x will decrease coverage by 0.04%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##              2.6.x    #2175      +/-   ##
============================================
- Coverage     47.36%   47.31%   -0.05%
+ Complexity     4269     4267       -2
============================================
  Files           557      557
  Lines         24397    24397
  Branches       4342     4342
============================================
- Hits          11555    11543      -12
- Misses        11044    11057      +13
+ Partials       1798     1797       -1

Impacted Files
Coverage Δ
Complexity Δ

...rc/main/java/com/alibaba/dubbo/common/Version.java
48.23% <ø> (ø)
15 <0> (ø)
:arrow_down:

...aba/dubbo/remoting/transport/mina/MinaChannel.java
42.25% <0%> (-11.27%)
15% <0%> (-1%)

...om/alibaba/dubbo/rpc/filter/ActiveLimitFilter.java
83.33% <0%> (-5.56%)
6% <0%> (-1%)

...dubbo/rpc/protocol/dubbo/CallbackServiceCodec.java
77.2% <0%> (-1.48%)
29% <0%> (ø)

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 73d86a9...51c8c1a. Read the comment docs.

@jasonjoo2010 Thanks, it's LGTM.


v2 doesn't show image details

Expected behavior

Click on a image name
See image details (image id, author, etc)

Actual behavior
After clicking on any image the details page load empty. This is happening because "/10" is always being appended to the repository details url:
https://registry-ui.xxxxx.com/v2/busybox/10/tags/list
it should be:
https://registry-ui.xxxxx.com/v2/busybox/tags/list
Steps to reproduce the problem

Run container
Click on an image name
See the empty details and the browser url includes "/10" (page 10 ?)

Specifications

[x] Which version of docker (docker version) are you running? 1.10.3
[x] Which operating system do you use? ubuntu 16.04 beta2
[x] Which version of the docker-registry-frontend are you running? v2 container, pulled on 04-16/17-2016

If you have the frontend running already you can find the version at the very bottom on every page.

git version: d5dd87d

It's an issue related to namespace handling. There a 3 PR currently  ( #100 ,  #104 & #97  ) that needs to be reviewed and merged (they probably need to be rebased on the latest v2 branch)
Temporary solution: try again with an image that has a full namespace like busybox/test:version it should just work fine.

Specify full namespace on your image on build time or using docker tag

docker tag busybox registry-host:registry-port/busybox/whatever

and then push the newly tagged image.

Yes, that works, thanks.

Is this something that's going to be addressed?

This is still an issue and make this project unusable with the latest versions of the registry.


Autoplot mscolab for sideview

Purpose of PR?:
added a ToDo for 1.3.0 for a GetMap request
returned to the origin plotting of the op/flightpath on sideview

This creates now plots like:

operation: one
<?xml version="1.0" encoding="utf-8"?>
  <FlightTrack version="9.2.0">
    <ListOfWaypoints>
      <Waypoint flightlevel="250.0" lat="-69.4568249049162" location="" lon="-97.59402732779265">
        <Comments></Comments>
      </Waypoint>
      <Waypoint flightlevel="370.0" lat="-71.06275004001034" location="" lon="-84.74904381397839">
        <Comments></Comments>
      </Waypoint>
      <Waypoint flightlevel="364.0" lat="-68.94971122693337" location="" lon="-39.275954359768974">
        <Comments></Comments>
      </Waypoint>
      <Waypoint flightlevel="334.0" lat="-62.86434709113961" location="" lon="-52.46090998732217">
        <Comments></Comments>
      </Waypoint>
      <Waypoint flightlevel="385.0" lat="-59.090368748031544" location="" lon="-67.63597496910931">
        <Comments></Comments>
      </Waypoint>
      <Waypoint flightlevel="250.0" lat="-55.76475559938021" location="" lon="-75.78813917453164">
        <Comments></Comments>
      </Waypoint>
    </ListOfWaypoints>
  </FlightTrack>

 "automated_plotting_flights": [
        [
            "one",
            "02 SADPAP zoom (stereo)",
            "500,180",
            "one",
            "",
            "2019-09-30T12:00:00Z"
        ]
    ],
    "automated_plotting_hsecs": [
        [
            "https://forecast.fz-juelich.de/campaigns2019",
            "ecmwf.PVTropo01",
            "default",
            "4.0"
        ]
    ],
    "automated_plotting_vsecs": [
        [
            "https://forecast.fz-juelich.de/campaigns2019",
            "CLaMS_PL.VS_origin_tracer_from_polar_vortex_core_pl",
            "auto",
            "pressure"
        ]
    ],
    "automated_plotting_lsecs": [
        [
            "https://forecast.fz-juelich.de/campaigns2019",
            "CLaMS_PL.LS_Default_mole_fraction_of_BrONO2_in_air",
            ""
        ]
    ]

I merge that and look on Linearview, after that is done we can look again on the functionality


Compatibility with Zebra 2.X

Can you provide some information on the structure changes of 2.X?

No, I can't.
We have identified the change on the new timesheet form, but for this one, we can eventually provide a backward compatibility.
For the rest, as I don't know how taxi is working, I suggest to run a full functional test on https://beta-zebra.liip.ch. If you want to have information about what we did, you can check all changes since 1.18.0 in https://gitlab.liip.ch/liip/zebra/blob/responsive/CHANGELOG

The only impacted commands are commit and update. The update command is still working fine, however the commit doesn't work anymore (I guess because of the new form).

!important; Taxi is no more working :(

commit command is fixed in 1.0.5, we still need activity_aliases to be fixed on the Zebra side to get the update command to work.


[BUG] Timestamps incorrect

Describe the bug
Timestamps for any notifications always show latest time and not when events occurred.
Expected behavior
Timestamps show correct times.

Using iPhone 15 plus. On iOS 15 beta but happened when I was still on stable build.
Noticed issue happening after last iGotify update. Cheers. Love your work. Also your buy me a drink link doesn’t do anything in the app. Still managed to donate but thought you may like to know clicking it doesn’t do anything.

Please read the changelog did you deleted the TZ Environment in the docker compose yaml?

My apologies, that worked, thank you.


Update our JS to support IE11 and old browsers

Purpose
Richie is not IE11 ready. One of the major parts that did not work with outdated browsers was the JS, which needed to be built specifically to support it.
Proposal

[x] add a browserslist with our target browsers
[x] build dependencies that can't run in IE11
[x] add required polyfills for IE11
[x] update base.html JS so it runs in IE11

I fixed the base.html JS issues you pointed out 👍


Unable to manually verify source code on block explorer.

I deployed a marketplace contract on conflux espace through dashboard, but I am unable to verify its source code there. Thirdweb does not do it automatically for us either. Please help with the method to verify it. It is a proxy contract that takes parameters in the constructor, so I am unable to find that either.
TIA.

I talked to support and they said they will roll out new feature soon that will help in verification of contract on any chain!


events.csv is not installed

When installing jaraco.abode from a GitHub archive the file jaraco/abode/helpers/events.csv is missing. Thus I get
FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.10/site-packages/jaraco/abode/helpers/events.csv'

The same problem doesn't occur with the sdist on PyPI because there the file is listed in jaraco.abode.egg-info/SOURCES.txt.

That's right. Alongside other projects built on jaraco/skeleton, this project uses setuptools_scm as a Setuptools "file finder", meaning it relies on the Git metadata to distinguish which files are part of the package and which are not. When installing from a GitHub archive, one loses important information about which files are tracked (essential) and which are incidental.
This project (and hundreds of others I maintain) is specifically disinterested in dual-accounting for the contents of the repository.
I do think probably your experience warrants a feature request in Setuptools_scm to have it fail when Git metadata is missing (instead of failing silently). It's conceivable that's not possible because sdists don't include that detail. Oh, indeed there's a feature request (https://github.com/pypa/setuptools_scm/issues/317).
Would it be possible instead to install the package from a git checkout (pip install<EMAIL_ADDRESS>or from PyPI? If you need to install offline, you could pre-build the wheel with pip wheel $github_URL.

I do think probably your experience warrants a feature request in Setuptools_scm to have it fail when Git metadata is missing (instead of failing silently).

It doesn't fail silently. In fact I have to set the environment variable SETUPTOOLS_SCM_PRETEND_VERSION because it can't determine the version using the content of .git/.

Would it be possible instead to install the package from a git checkout (pip install<EMAIL_ADDRESS>or from PyPI?

The former isn't because the content of .git/ isn't guaranteed to be the same from one download to the next. That's problematic when I want to use a hash to check the tarball's integrity.
The latter is possible but I prefer using GitHub tarballs because that way I'm e.g. sure that I compiled all Cython extensions by hand instead of relying on ones uploaded in an sdist.

I'm e.g. sure that I compiled all Cython extensions by hand

By this, do you mean you want to ensure that .pyx files are always recompiled to C at build time? That seems reasonable. It sounds like what you need is a feature in Cython that enforces this expectation. Either that or a wrapper that removes the .C files to enforce their recompilation from the .pyx in the sdist.

The former isn't [possible] because the content of .git/ isn't guaranteed to be the same from one download to the next.

There are ways to enforce content. You may be right about the .git, but you should be able to rely on Git's own hashes to ensure integrity. For example, you can associate v3.2.1 with cd9ecf8c53f289344d7385a45f76ca2e3893c23c and ensure that's the hash you build against.
If you wish to build from Git tarballs, you'll need to not only take responsibility for pretending the SCM version, but also for managing the source manifest. My suggestion - in your build routine, add a MANIFEST that lists all files in the tarball. I suspect if you do that, the include_package_data directive will once again do the right thing, and without requiring every project to dual-account for sources.
Let's figure out a solution that doesn't imply extra work and maintenance of every package.

I think I found a nice solution using MANIFEST.in: https://github.com/NixOS/nixpkgs/pull/214592


pa broken scraper due to changes in site's API

Affects pa, pasuperct, pacommwct
Sentry Issue: COURTLISTENER-818
TypeError: string indices must be integers, not 'str'
  File "cl/scrapers/management/commands/cl_scrape_opinions.py", line 437, in handle
    self.parse_and_scrape_site(mod, options)
  File "cl/scrapers/management/commands/cl_scrape_opinions.py", line 400, in parse_and_scrape_site
    site = mod.Site().parse()

This is working again
pa: https://www.courtlistener.com/api/rest/v3/dockets/69120058/
pasuperct: https://www.courtlistener.com/api/rest/v3/clusters/10099987/


[BUG] Redis-Backed Chat Memory - Error: Connection is closed

Describe the bug
I recently set up a workflow using OpenAI Function Agent with Redis-Backed Chat Memory. However, I noticed that sometimes
when I save the project and go to another similar project also using Redis-Backed Chat Memory (with different connect credential) and try to interact with the chat, it generates the following error: Chain run errored with error: "Connection is closed.\n\nError: Connection is closed.\n    at EventEmitter.sendCommand".
It looks like the problem is with query param in the redis URL. Example: redis://localhost:6379?keyPrefix=something
To Reproduce
Steps to reproduce the behavior:

Create two projects with Redis-Backed Chat Memory
Setup local Redis
Interact with the chat
See error

Screenshots

Setup

OS: macOS
Browser:  chrome

vish

@HenryHengZJ Yes, it is working outside of Flowise. I forgot to mention that I also tried connecting to local Redis without adding query parameters, and it worked.
I believe the problem lies with the memory node instance. I attempted to debug it, and when I save the project containing the Redis-Backed Chat Memory and switch to another project with the same node (both using the same connection), an error message appears: 'Connection is closed. Error: Connection is closed. at EventEmitter.sendCommand'.


Mili multi-proc bug fix

Description
This PR fixes an edge case bug in the Mili plugin that could prevent the number of mili classes for a cell type from properly adjusting.
Resolves #4949
Type of change
Bug fix
How Has This Been Tested?
I have access to a dataset that triggers this issue, and I've tested that the changes resolve the issue. I've also re-run the mili tests to make sure that they still pass.
Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have updated the release notes
[ ] I have made corresponding changes to the documentation
[ ] I have added debugging support to my changes
[ ] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[ ] I have added any new baselines to the repo
[x] I have assigned reviewers (see VisIt's PR procedures for more information).

I'm waiting to hear back about whether or not the dataset triggering this bug is able to be publicly released. If it is, I'll add it to our test suite.

Should we add a test for this?

I should have read your comment, haha.

Should we add a test for this?

Lol, yeah, I was just commenting about that. I only have one dataset that seems to trigger this, and it's unclear yet if we can add it to our tests.

Should we add a test for this?

Lol, yeah, I was just commenting about that. I only have one dataset that seems to trigger this, and it's unclear yet if we can add it to our tests.

Got it. So are you thinking to merge this PR and then add the test in a different PR?

Should we add a test for this?

Lol, yeah, I was just commenting about that. I only have one dataset that seems to trigger this, and it's unclear yet if we can add it to our tests.

Got it. So are you thinking to merge this PR and then add the test in a different PR?

Yeah, probably. If Adam gets back to me before these tests pass, then I'll definitely just add it to this PR. Otherwise, I'm thinking I'll just create a new PR for adding the test.

I just heard back from Adam. He's pretty sure that we can add the dataset to our repo, but he's checking with his supervisor to be sure. I'll wait a bit longer in case his supervisor responds within the next half hour or so.


2017.1: Before launch goals include both maven build and artifact build for app engine standard deployment

It looks like there's been a change in 2017 in how it configures before launch goals.
If your deployment source is the intellij artifact it includes both the maven and the artifact as before launch build tasks.
If your deployment source is the maven artifact it includes both the maven build and a 'Build Artifacts' build step.

I think this has been the case before. If you select a native artifact as a deployable and then select a Maven one, there will be both the new Maven rule and the old one isn't deleted, so it stays there.
When the run config is created, I can only see one rule.

Yes, if that is indeed what you were doing (selecting a native source then switching to maven, or the other way around) then this is always how it worked. The IJ model, for whatever reason, is only to append before launch tasks, not to remove them.

closed as obsolete


java.lang.NullPointerException thrown on "Export to CSV"

Hi,
Using DBeaver 4.0.5 EE on a Vertica cluster. I am trying to export query results directly to CSV, but DBeaver throws a NullPointerException unless I first stream them into the results window.
Steps to reproduce:

Right click a statement in the SQL Editor
Select Execute > Export From Query
Choose CSV, default options
Click Finish; exception thrown.

Stack trace:
java.lang.NullPointerException
	at org.jkiss.dbeaver.runtime.sql.SQLQueryJob.extractData(SQLQueryJob.java:772)
	at org.jkiss.dbeaver.ui.editors.sql.SQLEditor$QueryResultsContainer.readData(SQLEditor.java:1820)
	at org.jkiss.dbeaver.tools.transfer.database.DatabaseTransferProducer.transferData(DatabaseTransferProducer.java:120)
	at org.jkiss.dbeaver.tools.transfer.database.DatabaseTransferProducer.transferData(DatabaseTransferProducer.java:1)
	at org.jkiss.dbeaver.tools.transfer.wizard.DataTransferJob.transferData(DataTransferJob.java:102)
	at org.jkiss.dbeaver.tools.transfer.wizard.DataTransferJob.run(DataTransferJob.java:65)
	at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:95)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

Environment:
eclipse.buildId=unknown
java.version=1.8.0_121
java.vendor=Oracle Corporation
BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_US

This also occurs on 4.0.5 CE.
PS: this is a super amazing product and I love using it!

Can't reproduce.
This stacktrace is a bit outdated and I can't figure out what happens.
Could you install EA version from http://dbeaver.jkiss.org/files/ea/ and try to run export one more time?

Probably fixed in 4.0.6

Hi,
Thanks for investigating this issue. I tried it using EA last week, and today I tried CE 4.0.6 and the issue was the same.
The stacktrace hasn't changed. I also noticed that on loading DBeaver I get the following error:
Unable to retrieve the bundle from the URI: bundleclass://org.eclipse.ui.ide.application/org.eclipse.ui.internal.ide.application.addons.ModelCleanupAddon
This occurs on all installations where I run the error (EA 4.0.5, CE 4.0.5, CE 4.0.6). However, I am running EE 3.8.5 and there is no such error, and I can also export to CSV just fine.
Thanks a lot.

Stacktrace can't be the same. There were many changes in SQLQueryJob class recently. Please repost error stacktrace.

I have the same problem.
For export data I have to execute the query first and I can export after the execution.
Allways export the last execute query.
I back to the old version 3.8.4 and works well again but witch new version I have this bug.

Once again: please post error stacktrace or error/debug log (https://github.com/serge-rider/dbeaver/wiki/Log-files)

I've reproduced that.
Happens if no queries were executed in current editor before data export.

The error appears when exporting data from a PostgresSQL table on a Windows platform.


Proposition: running as non-root non-node user is easy if...

Running as user 1001 (or other) is easy if the HOME variable is set to "/root"
I propose to add in the Dockerfile:
ENV HOME=/root
Indeed, there are no particularities for each user.
That allow running docker with --user $( id -u ) and receive test reports under the correct user.
PS: Documentation could be enhanced, and the whole chapter about user may be replaced.
Maybe examples could be removed too?

I've tried this in this branch: unknown-non-root
It successfully fixed it when cypress is installed globally, but the issue persisted when cypress was installed by the user.
I tried messing with the file permission of the /opt dir (where we installed cypress) but no luck. Any more suggestions?

In Github Actions, the HOME variable is overridden by the job runner to /github/home. The solution I found that seems to work the best is to specify a new HOME for the step that runs Cypress, but not other steps (otherwise npm ci will try to use /root/.npm and fail due to permission errors.
      - name: ✅ Run E2E tests
        env:
          HOME: /root
          CYPRESS_BASE_URL: http://localhost:5000
        run: npm run cy:run

Small summary:

for the end user, it is possible to run cypress/included as any user as long as HOME is set to /root
example: mind the -e HOME=/root
docker run -it -v $PWD:/e2e -w /e2e -e HOME=/root cypress/included:3.4.0
This command can run as any user.

Possible changes to the Cypress project? Some of:

documentation: add this information to the documentation
docker image: add a HOME default value to /root
testing my idea in the build chain?

Why is it important?

On GitHub actions, you run as user 1001, which fail.

I get this error running on Github actions but setting the environment does't seem to help.

@jehon

Why is it important?

On GitHub actions, you run as user 1001, which fail.

https://github.com/cypress-io/github-action/blob/master/.github/workflows/example-docker.yml demonstrates successfully setting options: --user 1001. Do you have an example in GitHub Actions where this fails?
    container:
      image: cypress/browsers:node-20.5.0-chrome-114.0.5735.133-1-ff-114.0.2-edge-114.0.1823.51-1
      options: --user 1001

Closing.
The situation has changed since this issue was originally posted.


Improves how requirements.txt is managed in Python tutorial #13506

Proposed changes
Changing how the requirements.txt file is populated in the Python tutorial to simplify and reduce the amount of packages are inside of it. The original command was grabbing all packages from the global Python scope. This was causing unwanted/unpredictable errors during the docker build stage where pip failed to find certain packages. Most likely due to certain pre-requisite system packages missing in the base docker image needing to be installed. This PR remedies that by being more precise about what goes in to the requirements.txt file. The mentioned issue below provides full details on the issue.
Related issues
Fixes: #13506

@usha-mandya Happy to help! Thank you!


Cherry pick Mixer changes from cugone's work

This copies the separation of Mixer into .h and .cpp files. This also brings back the parameter names in the .h file.
Point taken that the Mixer base type contains some non-virtual member functions, so isn't really a true "interface".
I've edited the work to account for my naming difference, plus some style updates so the code more closely matches existing style (for better or worse). It's possible I've introduced some unintended errors, though I did try to check carefully, and local tests were passing.
Original work is from PR #166, and has been based on top of #167. This is an attempt to (subjectively) merge the best of both.

The new .cpp files don't currently have a copyright header. I'm not sure it's appropriate for me to edit that, so I leave it to @cugone or @ldicker83 to decide what to do there.

I am okay with these changes.


Cannot read property 'QueryBuilder' of undefined

Compiling and running a simple typescript example results in TypeError: Cannot read property 'QueryBuilder' of undefined.
Environment
Knex version: 0.95.0
Node version: 14.16.0
Typescript version: 4.2.3
Steps to reproduce:
$ yarn init -y
$ yarn add typescript knex @types/node
$ tsc --init

Create a test.ts file with:
import {Knex} from 'knex'
console.log(Knex.QueryBuilder)

Then
$ tsc test.ts
$ node test.js

This yields the following error:
console.log(knex_1.Knex.QueryBuilder);
                        ^

TypeError: Cannot read property 'QueryBuilder' of undefined
    at Object.<anonymous> (/xxx/test.js:4:25)
    at Module._compile (internal/modules/cjs/loader.js:1063:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
    at Module.load (internal/modules/cjs/loader.js:928:32)
    at Function.Module._load (internal/modules/cjs/loader.js:769:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
    at internal/main/run_main_module.js:17:47

The Knex variable is not exported from the package, only knex.
A simple fix could be to just add knex.Knex = knex to knex.js ?

@gudleik What are you trying to achieve?
Knex.QueryBuilder is a compilation-time type, you can't log it.
What is the example that you are trying to follow?

The issue is that I have code like
import {Knex} from 'knex'
Knex.QueryBuilder.extend('xxx', function (column, values) {})

The compiled output of this typically looks like
"use strict";
exports.__esModule = true;
var knex_1 = require("knex");
knex_1.Knex.QueryBuilder.extend('xxx', function (column, values) {
  // ...
})

And this won't execute because Knex is not exported

@gudleik try
import { knex } from 'knex'
knex.QueryBuilder.extend('xxx', function (column, values) {})

But that won't even compile
error TS2339: Property 'QueryBuilder' does not exist on type '<TRecord extends {} = any, TResult = unknown[]>(config: string | Config<any>) => Knex<TRecord, TResult>'

That does sounds like a problem with our types. I'll take a look tomorrow. Code itself should work, I think we just miss a type there.

@gudleik Can you try adding ts-ignore for now and see if code itself works?

Yeah, the code works fine with ts-ignore 👍
Not sure if there are any undesired side effects, but adding this to knex.js seems to work fine:
knex.Knex = knex;

@gudleik And TypeScript is happy with that too?

Yes

@gudleik Could you try using version from #4358? I believe it should work correctly with knex.QueryBuilder

yes, the pull request version works 👍

@gudleik 0.95.0 with the fix released!


Cleanup output handler loader and file loaders

Simplify moonscript and terra file loaders
Cleanup error handling in output handler loader
Add support for loading moonscript output handlers

:fireworks:


Trailing whitespace for strings to be translated

Issue Summary
More a minor cosmetic flaw than a bug, but bug still fit best.
I noticed that there are strings to be translated where a space is inserted at the end to keep the distance to the following text. However, the spaces are by default not highlighted in transifex and therefore many translators do not add them. As a result, the spacing between the text parts is missing in many languages.
Example: German

I found these two places where a space was added:

/wagtail/admin/templates/wagtailadmin/shared/headers/page_create_header.html#L5
/wagtail/snippets/templates/wagtailsnippets/snippets/headers/create_header.html#L15

Possible solutions:

We add the space character in the code/template (like here, |add:' '). This assumes, for each language, that there is a space between the colon (or a character of the respective language) and the following text.
We use blocktranslate and add the following text as a variable. (like here)
(We add a comment for the translators that they should respect the space.)

Steps to Reproduce

Start a new project with wagtail start myproject
Create a snippet model
Change your profile language to German
Create a new snippet
Look at the text in the header

Any other relevant information. For example, why do you consider this a bug and what did you expect to happen instead?

I have confirmed that this issue can be reproduced as described on a fresh Wagtail project: yes

Technical details

Python version: 3.10.8
Django version: 4.1.1
Wagtail version: 4.1
Browser version: Not relevant

I would also make the changes myself, just want to know beforehand if they are wanted and which solution fits best.

I'd vote for blocktrans
    {% trans 'New: '|add:content_type.model_class.get_verbose_name as title %}

->
{% with title=content_type.model_class.get_verbose_name %}
    {% blocktrans trimmed %}New: {{ title }}{% endblocktrans %}
{% endwith %}

Yes. We should use blocktrans for this kind of thing with the trimmed option.

@allcaps @lb- Thanks for your feedback.
I created a PR to remove the two points that caught my eye. In the po files I found more strings with trailed whitespace. However, I didn't notice in the admin interface that this is a problem anywhere. In some languages the spaces were appended as well. I would leave it that way for now because of this, and if I notice more places in the frontend, I open a new PR.


Update README.md

Related issue

What changes does this PR do?
Screenshots (If any)
Questions

Added my name Syed Ansharah Sultan

closing due to inactivity feel free to reopen at any time


Executor failed to create kernel. Invalid argument: NodeDef mentions attr 'T' not in Op

My system environment is ：
Python: Anaconda3
Tensorflow-gpu : 1.4.0
GPU: nvidia gtx 1070
when I run the project, there is an error:

====== loading HAND frozen graph into memory
2017-12-06 11:59:38.773044: I C:\tf_jenkins\home\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\platform\cpu_feat
ure_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2
2017-12-06 11:59:39.066517: I C:\tf_jenkins\home\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\gp
u\gpu_device.cc:1030] Found device 0 with properties:
name: GeForce GTX 1070 major: 6 minor: 1 memoryClockRate(GHz): 1.7715
pciBusID: 0000:01:00.0
totalMemory: 8.00GiB freeMemory: 6.64GiB
2017-12-06 11:59:39.066767: I C:\tf_jenkins\home\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\gp
u\gpu_device.cc:1120] Creating TensorFlow device (/device:GPU:0) -> (device: 0, name: GeForce GTX 1070, pci bus id: 0000
:01:00.0, compute capability: 6.1)
====== Hand Inference graph loaded.
2017-12-06 11:59:41.530536: E C:\tf_jenkins\home\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\ex
ecutor.cc:643] Executor failed to create kernel. Invalid argument: NodeDef mentions attr 'T' not in Op<name=Where; signa
ture=input:bool -> index:int64>; NodeDef: Postprocessor/BatchMultiClassNonMaxSuppression/map/while/MultiClassNonMaxSuppr
ession/FilterGreaterThan/Where = Where[T=DT_BOOL, _device="/job:localhost/replica:0/task:0/device:GPU:0"](Postprocessor/
BatchMultiClassNonMaxSuppression/map/while/MultiClassNonMaxSuppression/FilterGreaterThan/Where/Cast).
[[Node: Postprocessor/BatchMultiClassNonMaxSuppression/map/while/MultiClassNonMaxSuppression/FilterGreaterThan/
Where = Where[T=DT_BOOL, _device="/job:localhost/replica:0/task:0/device:GPU:0"](Postprocessor/BatchMultiClassNonMaxSupp
ression/map/while/MultiClassNonMaxSuppression/FilterGreaterThan/Where/Cast)]]
Traceback (most recent call last):
File "C:\Anaconda3\lib\site-packages\tensorflow\python\client\session.py", line 1323, in _do_call
return fn(*args)
File "C:\Anaconda3\lib\site-packages\tensorflow\python\client\session.py", line 1302, in _run_fn
status, run_metadata)
File "C:\Anaconda3\lib\site-packages\tensorflow\python\framework\errors_impl.py", line 473, in exit
c_api.TF_GetCode(self.status.status))
tensorflow.python.framework.errors_impl.InvalidArgumentError: NodeDef mentions attr 'T' not in Op<name=Where; signature=
input:bool -> index:int64>; NodeDef: Postprocessor/BatchMultiClassNonMaxSuppression/map/while/MultiClassNonMaxSuppressio
n/FilterGreaterThan/Where = Where[T=DT_BOOL, _device="/job:localhost/replica:0/task:0/device:GPU:0"](Postprocessor/Batch
MultiClassNonMaxSuppression/map/while/MultiClassNonMaxSuppression/FilterGreaterThan/Where/Cast). (Check whether your Gra
phDef-interpreting binary is up to date with your GraphDef-generating binary.).
[[Node: Postprocessor/BatchMultiClassNonMaxSuppression/map/while/MultiClassNonMaxSuppression/FilterGreaterThan/
Where = Where[T=DT_BOOL, _device="/job:localhost/replica:0/task:0/device:GPU:0"](Postprocessor/BatchMultiClassNonMaxSupp
ression/map/while/MultiClassNonMaxSuppression/FilterGreaterThan/Where/Cast)]]

During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "detect_single_threaded.py", line 52, in
image_np, detection_graph, sess)
File "D:\PythonProjects\handtracking\utils\detector_utils.py", line 90, in detect_objects
feed_dict={image_tensor: image_np_expanded})
File "C:\Anaconda3\lib\site-packages\tensorflow\python\client\session.py", line 889, in run
run_metadata_ptr)
File "C:\Anaconda3\lib\site-packages\tensorflow\python\client\session.py", line 1120, in _run
feed_dict_tensor, options, run_metadata)
File "C:\Anaconda3\lib\site-packages\tensorflow\python\client\session.py", line 1317, in _do_run
options, run_metadata)
File "C:\Anaconda3\lib\site-packages\tensorflow\python\client\session.py", line 1336, in _do_call
raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.InvalidArgumentError: NodeDef mentions attr 'T' not in Op<name=Where; signature=
input:bool -> index:int64>; NodeDef: Postprocessor/BatchMultiClassNonMaxSuppression/map/while/MultiClassNonMaxSuppressio
n/FilterGreaterThan/Where = Where[T=DT_BOOL, _device="/job:localhost/replica:0/task:0/device:GPU:0"](Postprocessor/Batch
MultiClassNonMaxSuppression/map/while/MultiClassNonMaxSuppression/FilterGreaterThan/Where/Cast). (Check whether your Gra
phDef-interpreting binary is up to date with your GraphDef-generating binary.).
[[Node: Postprocessor/BatchMultiClassNonMaxSuppression/map/while/MultiClassNonMaxSuppression/FilterGreaterThan/
Where = Where[T=DT_BOOL, _device="/job:localhost/replica:0/task:0/device:GPU:0"](Postprocessor/BatchMultiClassNonMaxSupp
ression/map/while/MultiClassNonMaxSuppression/FilterGreaterThan/Where/Cast)]]
Caused by op 'Postprocessor/BatchMultiClassNonMaxSuppression/map/while/MultiClassNonMaxSuppression/FilterGreaterThan/Whe
re', defined at:
File "detect_single_threaded.py", line 8, in
detection_graph, sess = detector_utils.load_inference_graph()
File "D:\PythonProjects\handtracking\utils\detector_utils.py", line 45, in load_inference_graph
tf.import_graph_def(od_graph_def, name='')
File "C:\Anaconda3\lib\site-packages\tensorflow\python\framework\importer.py", line 313, in import_graph_def
op_def=op_def)
File "C:\Anaconda3\lib\site-packages\tensorflow\python\framework\ops.py", line 2956, in create_op
op_def=op_def)
File "C:\Anaconda3\lib\site-packages\tensorflow\python\framework\ops.py", line 1470, in init
self._traceback = self._graph._extract_stack()  # pylint: disable=protected-access
InvalidArgumentError (see above for traceback): NodeDef mentions attr 'T' not in Op<name=Where; signature=input:bool ->
index:int64>; NodeDef: Postprocessor/BatchMultiClassNonMaxSuppression/map/while/MultiClassNonMaxSuppression/FilterGreate
rThan/Where = Where[T=DT_BOOL, _device="/job:localhost/replica:0/task:0/device:GPU:0"](Postprocessor/BatchMultiClassNonM
axSuppression/map/while/MultiClassNonMaxSuppression/FilterGreaterThan/Where/Cast). (Check whether your GraphDef-interpre
ting binary is up to date with your GraphDef-generating binary.).
[[Node: Postprocessor/BatchMultiClassNonMaxSuppression/map/while/MultiClassNonMaxSuppression/FilterGreaterThan/
Where = Where[T=DT_BOOL, _device="/job:localhost/replica:0/task:0/device:GPU:0"](Postprocessor/BatchMultiClassNonMaxSupp
ression/map/while/MultiClassNonMaxSuppression/FilterGreaterThan/Where/Cast)]]
Could everyone give me a solution? thx~

Hi @zwhinmedia
The code in this repo is written using tensorflow version ``1.4.0-rc0`.
The error you have looks like a version mismatch error described here .
Can you confirm your exact Tensorflow version?
python -c 'import tensorflow as tf; print(tf.__version__)'  # for Python 2
python3 -c 'import tensorflow as tf; print(tf.__version__)'  # for Python 3

Better still, are you able to run the object detection demo successfully on your machine?
-V.

@victordibia
$ python3 -c 'import tensorflow as tf; print(tf.version)'
1.4.0
I am able to run the object detection demo successfully on your machine. and I have used the object detection to translate learning to create my own demo.

Please see the discussion here: https://github.com/tensorflow/tensorflow/issues/1528 .
It appears Tensorflow is really sensitive to versioning .. i.e 1.4.0 is not the same as 1.4.0-rc0 .

@zwhinmedia Have you solved the problem? I have the same problem when tried to run this demo

Here is the discussion under tensorflow: https://github.com/tensorflow/tensorflow/issues/14884

@ZhaoWangFu
I have used the egohands datasets and the tensorflow object detection api to retrain my own model.
After training, I am able to detect 'hand' by my own model.

That really nice, how long did it takes to retrain the model on your PC?

@zwhinmedia, That's really nice, how long did it takes to retrain the model on your PC? I am still downloading the egohands datasets because it's really a big file, could you please share your model with me? I want to check the performace of this method as fast as possible and then i planned to retrain the model with YOLO2.

I also had this "InvalidArgumentError: NodeDef mentions attr 'T'" issue  and for the life of me haven't been able to solve it, using TF 1.4.0-rc0. I've started to train my own model but after 60,000 steps and nearly 24 hours my loss is still ~5, which doesn't seem right. Victor, is there a chance you can re-export your frozen inference graph using the TF 1.4.1 release that came out on Friday? I'm sure there are others who would appreciate that too. Thanks!

@drewgillson That makes sense.
I'll work on that later today and post an update within the next 24hrs.
-V.

@victordibia Thanks, that would be wonderful. I'll let my model continue to train for now, but didn't you say you achieved a loss <2 after only 5 hours of training on a GPU? I'm using a p2.xlarge instance on AWS. Did you make any particular changes to the SSD config file?

Loss of ~2.7 after 5hrs.
I did not change much in the SSD config file, just the usual.
num_classes: 1
batch_size: 6
// I had some memory issues with larger batch sizes.
eval_config: {
  num_examples: 960
  # Note: The below line limits the evaluation process to 10 evaluations.
  # Remove the below line to evaluate indefinitely.
  max_evals: 960
}

Changed eval config to fit my train/test split.

I just added a version generated in using tensorflow 1.4.1.
I tested and kinda found there are some diffenrences in the size of the bounding boxes I get and the confidence levels too. (This may be due to changes in the TF code over the last few weeks). Im not sure at the moment ..
Below is an image that shows results of the different models on same camera feed.

-V.

@zwhinmedia Could you please share me a copy of your retrained model? I would appreciate it if you do so.

Hi,everyone. I have the same problem "Invalid argument: NodeDef mentions attr 'T' not in Op".
Error as follows:
`> ====== loading HAND frozen graph into memory
2017-12-30 11:03:07.075731: I C:\tf_jenkins\home\workspace\rel-win\M\windows\PY\36\tensorflow\core\platform\cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2

====== Hand Inference graph loaded.
example.mkv
opended
2017-12-30 11:03:08.269669: E C:\tf_jenkins\home\workspace\rel-win\M\windows\PY\36\tensorflow\core\common_runtime\executor.cc:643] Executor failed to create kernel. Invalid argument: NodeDef mentions attr 'T' not in Op<name=Where; signature=input:bool -> index:int64>; NodeDef: Postprocessor/BatchMultiClassNonMaxSuppression/map/while/MultiClassNonMaxSuppression/FilterGreaterThan/Where = WhereT=DT_BOOL, _device="/job:localhost/replica:0/task:0/device:CPU:0". (Check whether your GraphDef-interpreting binary is up to date with your GraphDef-generating binary.).
[[Node: Postprocessor/BatchMultiClassNonMaxSuppression/map/while/MultiClassNonMaxSuppression/FilterGreaterThan/Where = WhereT=DT_BOOL, _device="/job:localhost/replica:0/task:0/device:CPU:0"]]
Traceback (most recent call last):
File "C:\Python36\lib\site-packages\tensorflow\python\client\session.py", line 1323, in _do_call
return fn(*args)
File "C:\Python36\lib\site-packages\tensorflow\python\client\session.py", line 1302, in _run_fn
status, run_metadata)
File "C:\Python36\lib\site-packages\tensorflow\python\framework\errors_impl.py", line 473, in exit
c_api.TF_GetCode(self.status.status))
tensorflow.python.framework.errors_impl.InvalidArgumentError: NodeDef mentions attr 'T' not in Op<name=Where; signature=input:bool -> index:int64>; NodeDef: Postprocessor/BatchMultiClassNonMaxSuppression/map/while/MultiClassNonMaxSuppression/FilterGreaterThan/Where = WhereT=DT_BOOL, _device="/job:localhost/replica:0/task:0/device:CPU:0". (Check whether your GraphDef-interpreting binary is up to date with your GraphDef-generating binary.).
[[Node: Postprocessor/BatchMultiClassNonMaxSuppression/map/while/MultiClassNonMaxSuppression/FilterGreaterThan/Where = WhereT=DT_BOOL, _device="/job:localhost/replica:0/task:0/device:CPU:0"]]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "detect_single_threaded.py", line 56, in <module>
    image_np, detection_graph, sess)
  File "E:\HandDetection\handtracking\utils\detector_utils.py", line 90, in detect_objects
    feed_dict={image_tensor: image_np_expanded})
  File "C:\Python36\lib\site-packages\tensorflow\python\client\session.py", line 889, in run
    run_metadata_ptr)
  File "C:\Python36\lib\site-packages\tensorflow\python\client\session.py", line 1120, in _run
    feed_dict_tensor, options, run_metadata)
  File "C:\Python36\lib\site-packages\tensorflow\python\client\session.py", line 1317, in _do_run
    options, run_metadata)
  File "C:\Python36\lib\site-packages\tensorflow\python\client\session.py", line 1336, in _do_call
    raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.InvalidArgumentError: NodeDef mentions attr 'T' not in Op<name=Where; signature=input:bool -> index:int64>; NodeDef: Postprocessor/BatchMultiClassNonMaxSuppression/map/while/MultiClassNonMaxSuppression/FilterGreaterThan/Where = Where[T=DT_BOOL, _device="/job:localhost/replica:0/task:0/device:CPU:0"](Postprocessor/BatchMultiClassNonMaxSuppression/map/while/MultiClassNonMaxSuppression/FilterGreaterThan/Where/Cast). (Check whether your GraphDef-interpreting binary is up to date with your GraphDef-generating binary.).
         [[Node: Postprocessor/BatchMultiClassNonMaxSuppression/map/while/MultiClassNonMaxSuppression/FilterGreaterThan/Where = Where[T=DT_BOOL, _device="/job:localhost/replica:0/task:0/device:CPU:0"](Postprocessor/BatchMultiClassNonMaxSuppression/map/while/MultiClassNonMaxSuppression/FilterGreaterThan/Where/Cast)]]

Caused by op 'Postprocessor/BatchMultiClassNonMaxSuppression/map/while/MultiClassNonMaxSuppression/FilterGreaterThan/Where', defined at:
  File "detect_single_threaded.py", line 8, in <module>
    detection_graph, sess = detector_utils.load_inference_graph()
  File "E:\HandDetection\handtracking\utils\detector_utils.py", line 45, in load_inference_graph
    tf.import_graph_def(od_graph_def, name='')
  File "C:\Python36\lib\site-packages\tensorflow\python\framework\importer.py", line 313, in import_graph_def
    op_def=op_def)
  File "C:\Python36\lib\site-packages\tensorflow\python\framework\ops.py", line 2956, in create_op
    op_def=op_def)
  File "C:\Python36\lib\site-packages\tensorflow\python\framework\ops.py", line 1470, in __init__
    self._traceback = self._graph._extract_stack()  # pylint: disable=protected-access

InvalidArgumentError (see above for traceback): NodeDef mentions attr 'T' not in Op<name=Where; signature=input:bool -> index:int64>; NodeDef: Postprocessor/BatchMultiClassNonMaxSuppression/map/while/MultiClassNonMaxSuppression/FilterGreaterThan/Where = Where[T=DT_BOOL, _device="/job:localhost/replica:0/task:0/device:CPU:0"](Postprocessor/BatchMultiClassNonMaxSuppression/map/while/MultiClassNonMaxSuppression/FilterGreaterThan/Where/Cast). (Check whether your GraphDef-interpreting binary is up to date with your GraphDef-generating binary.).
         [[Node: Postprocessor/BatchMultiClassNonMaxSuppression/map/while/MultiClassNonMaxSuppression/FilterGreaterThan/Where = Where[T=DT_BOOL, _device="/job:localhost/replica:0/task:0/device:CPU:0"](Postprocessor/BatchMultiClassNonMaxSuppression/map/while/MultiClassNonMaxSuppression/FilterGreaterThan/Where/Cast)]]

I can run the object detection demo successfully and tensorflow version is 1.4.0-rc0.
I  just want to run the detection,
python detect_single_threaded.py --source example.mkv
can anyone help me ? Please!

Hi,
I also exported the model checkpoint ...
https://github.com/victordibia/handtracking/tree/master/model-checkpoint
You can use this to export a frozen model based on your TF installation.
Some directions can be found here ..
-V.
Please try this
-V.


Removing eol_at_end_of_file rule

I don't see any kind of benefit in this rule

This lint is set to keep all files following the same rule of EOL. If we had a "no-eol", we could use that as well, I don't see why not, but given that we have only this lint, we prefer to use it to prevent different files having different approaches to EOL.

If you have further comments on this, please open a issue so that we can discuss - thanks for the contribution!


Roundtripping inlined tables with '000..' fails..

Probably relates to #396 and #383.
The following small script exemplifies this:
import toml

enc = toml.encoder.TomlEncoder(preserve=True)
inline_table = toml.TomlDecoder().get_empty_inline_table()

clears = {
    "0000e22a.63f7e33f.01.01": {'cost': 1},
    "0000e22a.63f7e33d.01.01": {'cost': 0},
}
for k, v in clears.items():
    inline_table[k] = v

txt = toml.dumps(
    {'section0': {'section1': clears}},
    encoder=enc,
)
print(txt)
table = toml.loads(txt)

print("INLINING")
txt = toml.dumps(
    {'section0': {'section1': inline_table}},
    encoder=enc,
)
print(txt)
table = toml.loads(txt)

The 2nd roundtrip will fail with:
executing.executing.NotOneValueFound: Expected one value, found 0
With more complex scenarios the errors are different (which i can also report if needed) but I'm pretty sure this is the root issue?

Further follow up.
The original error i was seeing in our system was from the following toml read:
tml = '''
['section0."section1"']
clears = { "0000e22a.63f7e33f.01.01" = { cost = 1 }
, "0000e22a.63f7e33d.01.01" = { cost = 0 }
, "0000e22a.63f7e346.01.01" = { cost = 0.355 }
, "0000e22a.63f7e347.01.01" = { cost = 0.5 }
, "0000e22a.63fc4d7a.01.01" = { cost = 1 }
, "0000e22a.64168864.01.01" = { cost = 1 }
 }
'''
table = toml.loads(tml) #, encoder=enc)
print("READING TABLE")

The original inline table style was generated using suggestions from #383.
Output error:
toml.decoder.TomlDecodeError: Found invalid character in key name: '"'. Try quoting the key name.

If y'all want me to write some tests up for this stuff i think i can manage 😂

Ahh so looking at the spec: https://toml.io/en/v1.0.0#inline-table

Inline tables are intended to appear on a single line. A terminating comma (also called trailing comma) is not permitted after the last key/value pair in an inline table. No newlines are allowed between the curly braces unless they are valid within a value. Even so, it is strongly discouraged to break an inline table onto multiples lines. If you find yourself gripped with this desire, it means you should be using standard tables.

Thus i guess the motivation for #396 to work if you want to separate inline-table entries by newlines.


gojek-engineering/goconfig doesn't exist anymore

When trying to compile the project the following error is given
go mod download<EMAIL_ADDRESS>invalid version: git fetch -f origin refs/heads/*:refs/heads/* refs/tags/*:refs/tags/* in /home/ubuntu/go/pkg/mod/cache/vcs/68ade21c62e3a9f7290f34382f72a9436fd859bc1290a512d0d3a79aa0fd4a5c: exit status 128:
        remote: Repository not found.
        fatal: repository 'https://github.com/gojek-engineering/goconfig/' not found
make: *** [Makefile:27: build-deps] Error 1

Could you please make that available?

Found a fork of it
https://github.com/robotboy/goconfig


Naming of this extension

Currently this repository is called "Camunda Cloud Go Client". Naively, I could assume that this means that this is "THE Camunda Cloud go client" and that I can use it for e.g. deploying processes or starting process instances.
As far as I can tell, the scope of this extension is to serve as client and cli for the CC Console API as described here.
We should make a conscious decision on the name, considering the above angle.

Any suggestions @meyerdan ? My assumption was that we still have the zeebe go client for workflow operations, but I am happy to consider other names. The output of this library is also the cc-ctl command line tool, which serves the same purpose.

@meyerdan does camunda-cloud-console-go-client sounds better? as far as I know zbctl is not going anywhere

Hi all, wanted to open this topic again because the repo name refers to dated product language ("Camunda Cloud" vs. "Camunda Platform 8").
I am happy to change the repo name but I want to make sure that it won't break anything and that the repo name makes sense, since this was a discussion earlier. How does camunda-8-console-go-client sound?


SingularException on sfmodel_fit

Hi,
thanks a lot for this great library.
I tried it with some made up values:
using Pkg;
isinstalled(pkg::String) = any(x -> x.name == pkg && x.is_direct_dep, values(Pkg.dependencies()));
if !isinstalled("DataFrames")
  Pkg.add("DataFrames")
end
using DataFrames;
if !isinstalled("SFrontiers")
  Pkg.add("SFrontiers")
end
using SFrontiers;

# input
y = [1,2,3]
x = [1.1 1.2 1.3;2.1 2.2 2.3;3.1 3.2 3.3]
cons = [1,1,1]

# run
sfmodel_spec(sftype(prod), sfdist(half), depvar(y), frontier(x), sigma_u_2(cons), sigma_v_2(cons))
res = sfmodel_fit()

# output between 0 and 1 as efficiency score (Battese and Coelli (1988) efficiency index)
res.bc

Why does this result in:
julia> res = sfmodel_fit()

###------------------------------------###
###  Estimating SF models using Julia  ###
###------------------------------------###

*********************************
       Model Specification:
*********************************
Model type: normal and half-normal

* In the case of type(cost), "- uᵢ" below is changed to "+ uᵢ".

depvar = frontier([:frontier_var1, :frontier_var2, :frontier_var3]) + vᵢ - uᵢ,

where vᵢ ∼ N(0, σᵥ²),
           σᵥ² = exp(log_σᵥ²)
               = exp([:σᵥ²_var1]);
      uᵢ ∼ N⁺(0, σᵤ²),
           σᵤ² = exp(log_σᵤ²)
               = exp([:σᵤ²_var1]);

ERROR: LinearAlgebra.SingularException(3)
Stacktrace:
 [1] checknonsingular
   @ /opt/julia-1.7.1/share/julia/stdlib/v1.7/LinearAlgebra/src/factorization.jl:19 [inlined]
 [2] checknonsingular
   @ /opt/julia-1.7.1/share/julia/stdlib/v1.7/LinearAlgebra/src/factorization.jl:21 [inlined]
 [3] #lu!#146
   @ /opt/julia-1.7.1/share/julia/stdlib/v1.7/LinearAlgebra/src/lu.jl:82 [inlined]
 [4] #lu#153
   @ /opt/julia-1.7.1/share/julia/stdlib/v1.7/LinearAlgebra/src/lu.jl:279 [inlined]
 [5] lu (repeats 2 times)
   @ /opt/julia-1.7.1/share/julia/stdlib/v1.7/LinearAlgebra/src/lu.jl:278 [inlined]
 [6] \(A::Matrix{Float64}, B::Matrix{Float64})
   @ LinearAlgebra /opt/julia-1.7.1/share/julia/stdlib/v1.7/LinearAlgebra/src/generic.jl:1142
 [7] sfmodel_fit(sfdat::DataFrame)
   @ SFrontiers ~/.julia/packages/SFrontiers/z3c87/src/SFmainfun.jl:523
 [8] sfmodel_fit()
   @ SFrontiers ~/.julia/packages/SFrontiers/z3c87/src/SFmainfun.jl:463
 [9] top-level scope
   @ REPL[12]:1

I would expect that I would just get a bad efficiency result or some intermediate result because it might not converge completely.

These inputs work and converge:
y = [1,2,3,4,5,6,7,8,9,10]
x = [1.1 1.2 1.3;2.1 2.2 2.3;1.2 1.5 1.6;1.7 1.4 5.6;1.5 5.7 2.6;5.7 3.6 5.1;5.4 6.1 7.4;3.6 3.6 3.5;7.8 4.6 3.1;5.1 3.2 6.3]
cons = [1,1,1,1,1,1,1,1,1,1]

While these inputs fail because of a different reason:
julia> res = sfmodel_fit()

###------------------------------------###
###  Estimating SF models using Julia  ###
###------------------------------------###

*********************************
       Model Specification:
*********************************
Model type: normal and half-normal

* In the case of type(cost), "- uᵢ" below is changed to "+ uᵢ".

depvar = frontier([:frontier_var1, :frontier_var2, :frontier_var3]) + vᵢ - uᵢ,

where vᵢ ∼ N(0, σᵥ²),
           σᵥ² = exp(log_σᵥ²)
               = exp([:σᵥ²_var1]);
      uᵢ ∼ N⁺(0, σᵤ²),
           σᵤ² = exp(log_σᵤ²)
               = exp([:σᵤ²_var1]);

The warmstart run...

 * Status: failure (reached maximum number of iterations)

 * Candidate solution
    Final objective value:     2.283737e+00

 * Found with
    Algorithm:     Nelder-Mead

 * Convergence measures
    √(Σ(yᵢ-ȳ)²)/n ≰ 1.0e-08

 * Work counters
    Seconds run:   0  (vs limit Inf)
    Iterations:    100
    f(x) calls:    178

The warmstart results are:
[-7.519202576500893, 12.308079335686989, -3.8299004614481365, -0.18610923543137942, -4.495971300254554]

Starting the optimization run...

 * Status: success

 * Candidate solution
    Final objective value:     -3.040991e+02

 * Found with
    Algorithm:     Newton's Method

 * Convergence measures
    |x - x'|               = 0.00e+00 ≤ 0.0e+00
    |x - x'|/|x'|          = 0.00e+00 ≤ 0.0e+00
    |f(x) - f(x')|         = 0.00e+00 ≤ 0.0e+00
    |f(x) - f(x')|/|f(x')| = 0.00e+00 ≤ 0.0e+00
    |g(x)|                 = 8.30e+13 ≰ 1.0e-08

 * Work counters
    Seconds run:   0  (vs limit Inf)
    Iterations:    59
    f(x) calls:    859
    ∇f(x) calls:   681
    ∇²f(x) calls:  59

The resulting coefficient vector is:
[-1.6391774941165027, 6.278354988232893, -3.639177494116389, -62.123744495933714, -63.4693349323398]

Note that the estimation may not have converged properly. The gradients are problematic (too large, > 0.1, or others).

Some of the diagonal elements of the var-cov matrix are non-positive, indicating problems in the convergence. The estimation is abort.

ERROR: DomainError with -6.491724028538927e-30:
sqrt will only return a complex result if called with a complex argument. Try sqrt(Complex(x)).
Stacktrace:
  [1] throw_complex_domainerror(f::Symbol, x::Float64)
    @ Base.Math ./math.jl:33
  [2] sqrt
    @ ./math.jl:567 [inlined]
  [3] _broadcast_getindex_evalf
    @ ./broadcast.jl:670 [inlined]
  [4] _broadcast_getindex
    @ ./broadcast.jl:643 [inlined]
  [5] getindex
    @ ./broadcast.jl:597 [inlined]
  [6] macro expansion
    @ ./broadcast.jl:961 [inlined]
  [7] macro expansion
    @ ./simdloop.jl:77 [inlined]
  [8] copyto!
    @ ./broadcast.jl:960 [inlined]
  [9] copyto!
    @ ./broadcast.jl:913 [inlined]
 [10] copy
    @ ./broadcast.jl:885 [inlined]
 [11] materialize(bc::Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1}, Nothing, typeof(sqrt), Tuple{Vector{Float64}}})
    @ Base.Broadcast ./broadcast.jl:860
 [12] sfmodel_fit(sfdat::DataFrame)
    @ SFrontiers ~/.julia/packages/SFrontiers/z3c87/src/SFmainfun.jl:718
 [13] sfmodel_fit()
    @ SFrontiers ~/.julia/packages/SFrontiers/z3c87/src/SFmainfun.jl:463
 [14] top-level scope
    @ REPL[40]:1

For this case it might be good to have a parameter to tell that the result should still be generated even if the result did not converge completely (just use the best effort result).

Hi,
Why does this result in:
julia> sfmodel_spec(sftype(prod), sfdist(trun), depvar(y),
frontier(x), sigma_u_2(cons), sigma_v_2(cons))
ERROR: "For the truncated-normal model, the μ equation is missing in
sfmodel_spec()."
=> Because you had sfdist(trun) in this line, which indicates a
truncated-normal distribution for the inefficiency term. For this
distribution, you need to specify the mu() equation.
You may want to change it to sfdist(half) and try again. On the other
hand, your x input looks like the data is collinear to each other. You
should try other figures. Then again, numerical optimization on a
highly-nonlinear model with a mere 3 data points may not be successful
(will encounter numerical issues). I suggest you use one of the datasets I
provided on the SFrontiers.jl web page to try out the program.
Hope it helps.
Hung-Jen
Edwin Stang @.***> 於 2021年12月26日 週日 下午9:52寫道：

Hi,
thanks a lot for this great library.
I tried it with some made up values:
using Pkg;
isinstalled(pkg::String) = any(x -> x.name == pkg && x.is_direct_dep, values(Pkg.dependencies()));
if !isinstalled("DataFrames")
Pkg.add("DataFrames")
end
using DataFrames;
if !isinstalled("SFrontiers")
Pkg.add("SFrontiers")
end
using SFrontiers;
input
y = [1,2,3]
x = [1.1 1.2 1.3;2.1 2.2 2.3;3.1 3.2 3.3]
cons = [1,1,1]
run
sfmodel_spec(sftype(prod), sfdist(half), depvar(y), frontier(x), sigma_u_2(cons), sigma_v_2(cons))
res = sfmodel_fit()
output between 0 and 1 as efficiency score (Battese and Coelli (1988) efficiency index)
res.bc
Why does this result in:
julia> sfmodel_spec(sftype(prod), sfdist(trun), depvar(y), frontier(x), sigma_u_2(cons), sigma_v_2(cons))
ERROR: "For the truncated-normal model, the μ equation is missing in sfmodel_spec()."
Stacktrace:
[1] checksyn(#unused#::Type{Trun})
@ SFrontiers ~/.julia/packages/SFrontiers/z3c87/src/SFcheck.jl:10
[2] sfmodel_spec(::Tuple{Symbol, Vector{Symbol}}, ::Vararg{Any}; message::Bool)
@ SFrontiers ~/.julia/packages/SFrontiers/z3c87/src/SFmainfun.jl:217
[3] sfmodel_spec(::Tuple{Symbol, Vector{Symbol}}, ::Vararg)
@ SFrontiers ~/.julia/packages/SFrontiers/z3c87/src/SFmainfun.jl:101
[4] top-level scope
@ REPL[10]:1
I would expect that I would just get a bad efficiency result or some
intermediate result because it might not converge completely.
—
Reply to this email directly, view it on GitHub
https://github.com/HungJenWang1991/SFrontiers.jl/issues/4, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AVKRHZPREEF7S5ZLAGUSOQLUS4M2ZANCNFSM5KY5454Q
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

I hope my previous email has addressed the issue. It's a data problem. I
probably should do a better job catching the DomainError problem.
Hung-Jen
Edwin Stang @.***> 於 2021年12月26日 週日 下午10:04寫道：

These inputs work and converge:
y = [1,2,3,4,5,6,7,8,9,10]
x = [1.1 1.2 1.3;2.1 2.2 2.3;1.2 1.5 1.6;1.7 1.4 5.6;1.5 5.7 2.6;5.7 3.6 5.1;5.4 6.1 7.4;3.6 3.6 3.5;7.8 4.6 3.1;5.1 3.2 6.3]
cons = [1,1,1,1,1,1,1,1,1,1]
While these inputs fail because of a different reason:
julia> res = sfmodel_fit()
###------------------------------------###
Estimating SF models using Julia
###------------------------------------###

   Model Specification:

Model type: normal and half-normal

In the case of type(cost), "- uᵢ" below is changed to "+ uᵢ".

depvar = frontier([:frontier_var1, :frontier_var2, :frontier_var3]) + vᵢ - uᵢ,
where vᵢ ∼ N(0, σᵥ²),
       σᵥ² = exp(log_σᵥ²)

           = exp([:σᵥ²_var1]);

  uᵢ ∼ N⁺(0, σᵤ²),

       σᵤ² = exp(log_σᵤ²)

           = exp([:σᵤ²_var1]);

The warmstart run...

Status: failure (reached maximum number of iterations)

Candidate solution
Final objective value:     2.283737e+00

Found with
Algorithm:     Nelder-Mead

Convergence measures
√(Σ(yᵢ-ȳ)²)/n ≰ 1.0e-08

Work counters
Seconds run:   0  (vs limit Inf)
Iterations:    100
f(x) calls:    178

The warmstart results are:
[-7.519202576500893, 12.308079335686989, -3.8299004614481365, -0.18610923543137942, -4.495971300254554]
Starting the optimization run...

Status: success

Candidate solution
Final objective value:     -3.040991e+02

Found with
Algorithm:     Newton's Method

Convergence measures
|x - x'|               = 0.00e+00 ≤ 0.0e+00
|x - x'|/|x'|          = 0.00e+00 ≤ 0.0e+00
|f(x) - f(x')|         = 0.00e+00 ≤ 0.0e+00
|f(x) - f(x')|/|f(x')| = 0.00e+00 ≤ 0.0e+00
|g(x)|                 = 8.30e+13 ≰ 1.0e-08

Work counters
Seconds run:   0  (vs limit Inf)
Iterations:    59
f(x) calls:    859
∇f(x) calls:   681
∇²f(x) calls:  59

The resulting coefficient vector is:
[-1.6391774941165027, 6.278354988232893, -3.639177494116389, -62.123744495933714, -63.4693349323398]
Note that the estimation may not have converged properly. The gradients are problematic (too large, > 0.1, or others).
Some of the diagonal elements of the var-cov matrix are non-positive, indicating problems in the convergence. The estimation is abort.
ERROR: DomainError with -6.491724028538927e-30:
sqrt will only return a complex result if called with a complex argument. Try sqrt(Complex(x)).
Stacktrace:
[1] throw_complex_domainerror(f::Symbol, x::Float64)
@ Base.Math ./math.jl:33

[2] sqrt
@ ./math.jl:567 [inlined]

[3] _broadcast_getindex_evalf
@ ./broadcast.jl:670 [inlined]

[4] _broadcast_getindex
@ ./broadcast.jl:643 [inlined]

[5] getindex
@ ./broadcast.jl:597 [inlined]

[6] macro expansion
@ ./broadcast.jl:961 [inlined]

[7] macro expansion
@ ./simdloop.jl:77 [inlined]

[8] copyto!
@ ./broadcast.jl:960 [inlined]

[9] copyto!
@ ./broadcast.jl:913 [inlined]

[10] copy
@ ./broadcast.jl:885 [inlined]

[11] materialize(bc::Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1}, Nothing, typeof(sqrt), Tuple{Vector{Float64}}})
@ Base.Broadcast ./broadcast.jl:860

[12] sfmodel_fit(sfdat::DataFrame)
@ SFrontiers ~/.julia/packages/SFrontiers/z3c87/src/SFmainfun.jl:718

[13] sfmodel_fit()
@ SFrontiers ~/.julia/packages/SFrontiers/z3c87/src/SFmainfun.jl:463

[14] top-level scope
@ REPL[40]:1

For this case it might be good to have a parameter to tell that the result
should still be generated even if the result did not converge completely
(just use the best effort result).
—
Reply to this email directly, view it on GitHub
https://github.com/HungJenWang1991/SFrontiers.jl/issues/4#issuecomment-1001188178,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AVKRHZJUCQJ4OJUY6NT56OLUS4OH3ANCNFSM5KY5454Q
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Please re-read the first error message (here on github and not in your mailbox). I copied the wrong results and already used "half" as the result: ERROR: LinearAlgebra.SingularException(3)
I am planning to use SFrontiers to rank stocks by efficiency. Ideally the algorithm should also work for only a few candidates and tell which one has a higher rank than the others.

Sorry for missing that.
Regarding the first error message: The input of x = [1.1 1.2 1.3;2.1 2.2
2.3;3.1 3.2 3.3] results in perfect collinearity between the three columns
and having all of them as independent variables would fail any model. The
error message occurs at the place where an OLS is used to get coefficients
as initial values, and because of the perfect collinearity the OLS fails
(the matrix is singular and cannot be inverted).
Edwin Stang @.***> 於 2021年12月26日 週日 下午11:23寫道：

Please re-read the first error message (here on github and not in your
mailbox). I copied the wrong results and already used "half" as the result: ERROR:
LinearAlgebra.SingularException(3)
I am planning to use SFrontiers to rank stocks by efficiency. Ideally the
algorithm should also work for only a few candidates and tell which one has
a higher rank than the others.
—
Reply to this email directly, view it on GitHub
https://github.com/HungJenWang1991/SFrontiers.jl/issues/4#issuecomment-1001199872,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AVKRHZIWEPMKPN5ZXPVGIZ3US4XORANCNFSM5KY5454Q
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you commented.Message ID:
@.***>

Ah ok, that makes sense. I guess I will just fallback to a wrong response when the model can not be calculated. But I expect not all inputs that will be created by the process to converge or run error free. Thus corner cases will need to be handled (at least by myself).

Though if there is a setting to be more lenient with none-convergence that would be good as well. E.g. when the calculation did not converge after the max iterations, don't abort but instead output the best effort result.

That's actually the current behavior. That is, if the optimization process
hits the iteration limit, it would --provided there are no numerical
issues-- print results from the last iteration with a warning that the
convergence is false. To verify that this is indeed the case, you may set a
low iteration limit using something like sfmodel_opt(main_maxIT(2)). Note
you could use a lower convergence criterion as well by the tolerance()
option in sfmodel_opt().
Edwin Stang @.***> 於 2021年12月26日 週日 下午11:57寫道：

Though if there is a setting to be more lenient with none-convergence that
would be good as well. E.g. when the calculation did not converge after the
max iterations, don't abort but instead output the best effort result.
—
Reply to this email directly, view it on GitHub
https://github.com/HungJenWang1991/SFrontiers.jl/issues/4#issuecomment-1001204230,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AVKRHZIMURBN6KLIQP46UB3US43QHANCNFSM5KY5454Q
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you commented.Message ID:
@.***>

Thanks for the info. I guess we can thus close this issue.


Improve fonts generation: remove Math-Regular font

This PR is part of #12 and https://github.com/Khan/KaTeX/issues/1250.
Math-Regular is identical to Math-Italic in KaTeX font generation and not used in the KaTeX.

OK, next question: how do we implement italic/non-italic Greek letters if not via Regular/Italic?

@edemaine Upright Greek letters are in Main-Regular and italic ones are in Math-Italic.

@ylemkimon can you open a KaTeX PR that uses these changes so that we can test them?  I think this is a really good argument for having font creation live within the main KaTeX repo.  Before we do that though, I'd like to do https://github.com/KaTeX/katex-fonts/issues/15.

@kevinbarabash I updated https://github.com/Khan/KaTeX/pull/1494.

I think we should wait until #54 is merged.

Closing in favor of #56.


Self-monitoring panic after inserting data

Built from source at 615aabf2fc5df52dc2d011972b53046d240cd10c.
After starting InfluxDB with an empty data directory, running this command:
curl -G http://localhost:8086/query --data-urlencode "q=CREATE DATABASE foo" && \
  curl -d '{"database":"foo", "points": [{"name": "cpu","fields": {"value": 100}}]}' -H "Content-Type: application/json" http://localhost:8086/write

causes the server to panic:
[messaging] 2015/04/24 14:17:14 connected to broker: http://:8086/messaging/messages?index=0&streaming=true&topicID=1
[server] 2015/04/24 14:17:14 retention policy 'default' auto-created for database 'foo'
[http] 2015/04/24 14:17:14 ::1 - - [24/Apr/2015:14:17:14 -0700] GET /query?q=CREATE%20DATABASE%20foo HTTP/1.1 200 16 - curl/7.37.1 476a712d-eac7-11e4-800b-000000000000 64.122012ms
[http] 2015/04/24 14:17:14 ::1 - - [24/Apr/2015:14:17:14 -0700] POST /write HTTP/1.1 200 0 - curl/7.37.1 4775dbf6-eac7-11e4-800c-000000000000 191.355976ms
[messaging] 2015/04/24 14:17:14 connected to broker: http://:8086/messaging/messages?index=0&streaming=true&topicID=2
panic: runtime error: index out of range

goroutine 259 [running]:
github.com/influxdb/influxdb.(*Server).convertRowToPoints(0xc20805ab00, 0x5e4b70, 0xb, 0xc2081233e0, 0x0, 0x0, 0x0, 0x0, 0x0)
	/Users/mr/go/src/github.com/influxdb/influxdb/server.go:4018 +0x7b7
github.com/influxdb/influxdb.func·011()
	/Users/mr/go/src/github.com/influxdb/influxdb/server.go:399 +0x5c0
created by github.com/influxdb/influxdb.(*Server).StartSelfMonitoring
	/Users/mr/go/src/github.com/influxdb/influxdb/server.go:412 +0x241

Thanks @mark-rushakoff -- I'll take a look.

Cannot reproduce this. Blew away the data, and start a single brand-new node.
$ curl -v -G http://localhost:8086/query --data-urlencode "q=CREATE DATABASE foo"
* About to connect() to localhost port 8086 (#0)
*   Trying <IP_ADDRESS>...
* Connected to localhost (<IP_ADDRESS>) port 8086 (#0)
> GET /query?q=CREATE%20DATABASE%20foo HTTP/1.1
> User-Agent: curl/7.29.0
> Host: localhost:8086
> Accept: */*
>
< HTTP/1.1 200 OK
< Content-Type: application/json
< Request-Id: fa6fa00d-eae3-11e4-8007-000000000000
< X-Influxdb-Version: 0.9
< Date: Sat, 25 Apr 2015 00:42:40 GMT
< Content-Length: 16
<
* Connection #0 to host localhost left intact
$ curl -v -d '{"database":"foo", "points": [{"name": "cpu","fields": {"value": 100}}]}' -H "Content-Type: application/json" http://localhost:8086/write
* About to connect() to localhost port 8086 (#0)
*   Trying <IP_ADDRESS>...
* Connected to localhost (<IP_ADDRESS>) port 8086 (#0)
> POST /write HTTP/1.1
> User-Agent: curl/7.29.0
> Host: localhost:8086
> Accept: */*
> Content-Type: application/json
> Content-Length: 72
>
* upload completely sent off: 72 out of 72 bytes
< HTTP/1.1 200 OK
< Request-Id: ff0c02cf-eae3-11e4-8010-000000000000
< X-Influxdb-Version: 0.9
< Date: Sat, 25 Apr 2015 00:42:48 GMT
< Content-Length: 0
< Content-Type: text/plain; charset=utf-8
<
* Connection #0 to host localhost left intact

@otoolep this is the issue I was having here: https://github.com/influxdb/influxdb/issues/2422#issuecomment-96112016. In my case starting a fresh node (deleting the data dir) fixed the problem but seems like there might be something in there.

@otoolep the problem just appeared again after restarting the server a couple of times. Seems like the shards_diag self monitoring metrics are not pre-processed correctly and that raises the panic error.
This is how I'm seeing the shards_diag row get's processed:
[2015-04-25 01:15:03.956810841 +0000 UTC 1 1 550 /home/marcos/.influxdb/data/shards/1 /home/marcos/.influxdb/data/shards/2] map[id:1 dataNodes:2 index:3 path:5]
[2015-04-25 01:15:03.956810841 +0000 UTC 2 1 221] map[index:3 path:5 id:1 dataNodes:2]

As you can see in the second line the "path" column is there even though there's no value for that. I don't know how shards are being handled internally but I believe that the problem must be around there.

@marcosnils -- could you please open a separate ticket for this issue, and include the details above (and anything else that will help me repro this).

@otoolep found the error in the code I'll send a PR shortly. Seems like an easy fix

@mark-rushakoff -- I am pretty sure the issue is actually the same after all, as @marcosnils was pointing out. Should be fixed by https://github.com/influxdb/influxdb/pull/2431

@mark-rushakoff

Confirmed fixed as of 86b9ec5b28fc752daa5add0789fc40e2c6157973.


where is resource data storaged in etcd with kubernetes v1.5.3?

At previous version of kubenetes_v1.3, resource data is storaged in etcd with dir "/registry", when I run command "etcdctl ls /registry", I get this as follows:
/registry/daemonsets
/registry/replicasets
/registry/secrets
/registry/configmaps
/registry/ingress
/registry/namespaces
/registry/pods
......
But when I upgrade kubernetes to v1.5.6, I can't find where data is storaged in etcd,
when I run command "etcdctl --endpoints=https://<IP_ADDRESS>:2379 ls /", I only get this as follows:
/cluster.local
I am very confused...  Could someone help me? Thanks very much !

What version of etcd are you using?

please exec export ETCDCTL_API=3 in etcd container

I used etcd v3.0.12

You can read etcdctl v3 docs here: https://github.com/coreos/etcd/tree/master/etcdctl
By default Kubernetes data is in etcd v3 API data store. use export ETCDCTL_API=3 and you can access it (but note that syntax changes, so read docs)