Rationale for not supporting empty geometries?

Hi there! Just wondering if it is a deliberate decision that empty geometries don't pass validation because these constrained lists:
https://github.com/developmentseed/geojson-pydantic/blob/6a323022553fb3f119aa801d9d99cce8638fc189/geojson_pydantic/types.py#L13-L19
e.g:
>>> from shapely.geometry import mapping, Polygon
>>> from geojson_pydantic import Polygon as PydanticPolygon
>>> PydanticPolygon.parse_obj(mapping(Polygon()))
pydantic.error_wrappers.ValidationError: 1 validation error for Polygon
coordinates
  ensure this value has at least 1 items (type=value_error.list.min_items; limit_value=1)

Empty geometries seem to be permitted per the geojson spec

Here is what the spec says:

A GeoJSON Geometry object of any type other than
"GeometryCollection" has a member with the name "coordinates".
The value of the "coordinates" member is an array.  The structure
of the elements in this array is determined by the type of
geometry.  GeoJSON processors MAY interpret Geometry objects with
empty "coordinates" arrays as null objects.

It seems that maybe we should support empty [] coordinates 🤷♂. the constrained list were introduced in https://github.com/developmentseed/geojson-pydantic/pull/44 (ping @geospatial-jeff)

+1, the min_items constraints here don't match the official GeoJSON schema here:

https://github.com/geojson/schema/blob/main/src/schema/MultiPoint.js#L13
https://github.com/geojson/schema/blob/main/src/schema/MultiLineString.js#L13
etc.

This is unexpected/breaking for me moving to pydantic

I have been working on an update to address this. Unfortunately the WKT functions were based on the constraints and caused some issues. So I ended up down a bit of a rabbit hole.

🤔 with #100 I though we fixed this but correct me if I'm wrong  @eseglem but we do not support empty coordinates array for all the geometry
Point(type="Point", coordinates=[])

ValidationError: 2 validation errors for Point
coordinates
  wrong tuple length 0, expected 2 (type=value_error.tuple.length; actual_length=0; expected_length=2)
coordinates
  wrong tuple length 0, expected 3 (type=value_error.tuple.length; actual_length=0; expected_length=3)

LineString(type="LineString", coordinates=[])
---------------------------------------------------------------------------
ValidationError                           Traceback (most recent call last)
Input In [8], in <cell line: 1>()
----> 1 LineString(type="LineString", coordinates=[])

ValidationError: 1 validation error for LineString
coordinates
  ensure this value has at least 2 items (type=value_error.list.min_items; limit_value=2)

from geojson_pydantic import MultiPoint

MultiPoint(type="MultiPoint", coordinates=[])
MultiPoint(type='MultiPoint', coordinates=[])

@vincentsarago Correct. The spec says a point requires x and y. Whereas multi point is an array of points. So the array can be empty but a point can't. A point can still be null though. And a line string requires 2 points, but a multi line string is an array of line strings with no length requirement. It should all match up with the json schema linked above. I checked the schema and spec multiple times to make sure everything lined up.

👍


Why deviate from svelte-icons?

Hey! I'm looking for a suitable icon package and was wondering why you decided to create these standalone packages in addition to svelte-icons. Could you explain your rationale? (And maybe add it to the README). Thanks.

Thanks for your interest. This is still a work in progress. The icon packs should be good to go (I use them in all of my own projects) but the icon explorer (see the site/ directory) still has some things to work out.
As for why not contribute to svelte-icons, I wanted to create a 1-to-1 clone for the Svelte ecosystem of the excellent https://styled-icons.dev collections. In fact, I use their explorer site every time I look for a new icon in svicons. I remember briefly trying svelte-icons but (IIRC) didn't like that it required wrapper divs around icon components just to apply additional styles.

We can add the WIP status to the readme. Do you think that would help?

Thanks for your answer. So I think it would help to add WIP to the readme, and also add the small paragraph of why you're doing this. It's really hard and time consuming when you're looking for an icon library and you find multiple competing and they don't really describe what their difference is, so that would be very welcome!


Performance issue on init

Hi,
I've noticed a performance issue with this extension in Firefox.
(Firefox 60b3, macos high sierra)
When it's enabled and I start Firefox it freezes the window for 2-3 seconds.
I've noticed that the same happens when I'm in "Addons" and toggle the extension (enable/disable).
It seems that when it's initialised - it's doing some heavy stuff...

Having the same issue, Firefox is very unresponsive when started, when the plugin is enabled. It needs more than 5 seconds before I'm able to switch or close tabs etc.


Data engineering with datastage

Hi there @iamontheinet! I resized some images and updated the title and intro section for the quickstart. Thanks and have a great weekend!

@shreya-sisodia Seems like there are conflicts. Please resolve them.

Hi @iamontheinet - All of these conflicts are on images I had overwritten (resized). I’m unsure how to resolve them - is there a common procedure or best practices for resolving image conflicts? Thanks!


Refactor: introduce swappable I/O contexts

Refactors:

interpreter.rs is centered around a struct ExecutionContext with few public methods, namely new and execute

Should be the minimum external API necessary to, along with the right I/O context, satisfy the binary, library, testing, and development use cases

repl.rs is centered around a struct ReplInstance that implements the Iterator trait, yielding Option<ReplResult<String>> until an exit signal is received

This gives control over the REPL back to the interpreter, such that the REPL itself is only responsible for shuttling commands between the user and the interpreter

I/O, previously in buffer.rs, has moved to ioctx.rs that enables swapping in any struct implementing the Read (e.g. from stdin) and Write (e.g. to stdout) traits

Will enable, in future development, the operation of the interpreter in the console, as a library within a Rust program, or in a debugging/test environment

Regressions:

Unicode support is broken as it is unclear that the previous approach was correct, or what the correct approach should be

Misc:

Run through clippy checks and ensure the program is passing

Codecov Report

Merging #7 into master will decrease coverage by 12.05%.
The diff coverage is 69.56%.

@@            Coverage Diff             @@
##           master      #7       +/-   ##
==========================================
- Coverage   95.55%   83.5%   -12.06%
==========================================
  Files           4       3        -1
  Lines         225      97      -128
==========================================
- Hits          215      81      -134
- Misses         10      16        +6

Impacted Files
Coverage Δ

src/token.rs
97.43% <100%> (ø)
:arrow_up:

src/ioctx.rs
33.33% <33.33%> (ø)

src/interpreter.rs
88.37% <86.2%> (-5.57%)
:arrow_down:

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 1a24a0e...c2c1351. Read the comment docs.


chore(catalog): upgrade meta data for catalog

Upgrade the project meta data to support new catalog commands
The NR1 CLI will soon be updated with commands that enable one to request to have their app added to the catalog. In order to prepare the existing open source NR1 apps for that coming change I've added meta data according to what the catalog commands will be looking for.

Add a config.json file to a catalog directory in the repo root, matching this format.
Move the /screenshots directory into catalog:

Update the screenshot file names (to match this format)
Update the screenshot links in the README.md.

Add a documentation.md file to a catalog directory in the repo root, matching this format.
(Optional) If there's additional documentation referenced in the repo, add a additionalInfo.md file to a catalog directory in the repo root, matching this format.
Update the relative paths in documentation.md to be absolute paths
Add the new header image to the top of README.md and catalog/documentation.md.
Ensure the README.md commands section matches Justin's snippet.
Run npm start and let the CLI move the nr1.json

Edit that file to make sure the name and description make sense.

Resolves newrelic/nr1-status-pages#41

@jbeveland27 Thanks for catching this stuff. Updated it all!

:tada: This PR is included in version 0.11.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Update GSoC section.

Updated GSoC section to indicate about zulip participating again in 2017.

Tweaked and merged as 1079e516a40522e93197df2b115ccd945dc02962, thanks @saketkumar95!


Disabling query cache from builder

Hello,
I am writing this because I have been working in some issues we had with the query cache together with using the paginators.
I wanted to disable the query cache for some specific queries, but it was imposible to disable them from the query builder that we were passing to the paginator class. The thing was that when the builder was creating the query through the "getQuery()" function within the paginator the _useQueryCache was giving true, since "setCacheable" on builder only changes the "cacheable" property. This behaviour was a bit confusing and hard to find what was the issue.
My question is if it would make sense to have access to the useQueryCache through the builder aswell, that would mean in order to be able to disable the query cache for every instance that is created with that builder:
`
public function getQuery()
{
    $parameters = clone $this->parameters;
    $query      = $this->_em->createQuery($this->getDQL())
        ->setParameters($parameters)
        ->setFirstResult($this->_firstResult)
        ->setMaxResults($this->_maxResults);

    if ($this->lifetime) {
        $query->setLifetime($this->lifetime);
    }

    if ($this->cacheMode) {
        $query->setCacheMode($this->cacheMode);
    }

    if ($this->cacheable) {
        $query->setCacheable($this->cacheable);
    }

    if ($this->useQueryCache) {
        $query->useQueryCache($this->useQueryCache);
    }

    if ($this->cacheRegion) {
        $query->setCacheRegion($this->cacheRegion);
    }

    return $query;
}

public function useQueryCache($useQueryCache)
{
    $this->useQueryCache = (boolean) $useQueryCache;

    return $this;
}

`
If you think it makes sense I would gladly do the code and open a pull request, otherwise, just close the issue.
Cheers.

would make sense to have access to the useQueryCache through the builder aswell

If we start replicating all the API of the query object in the query builder, it will never be over. Is there any reason why you can't disable caching on the query object?

The issue is that everytime the fuction in the builder getQuery is called, a new Query instance is created, by not allowing to disable the cache of the query at builder level I can't say that every query created by that builder has the query cache disabled.
In my specific case, since the Paginator allows to get a query builder as a parameter, it makes imposible to disable cache for the queries of the builder you are passing. In my code I pass the builder to some kind of data grid, which is generating multiple queries with same builder with slight differences, then passes the builder to the paginator. I was having some weird cache issues where getCountQuery()->getScalarResult was being cached with result 0. Because I have not been able to disable the cache for that specific query builder, instead I have had to create the query before and then pass it to the paginator with query cache disabled, resulting in disabling cache for every query generated within the data grid, which is not optimal. This is an example, I guess there might be other use cases where the ability to disable cache for every query generated by a query builder might be helpful.
I understand your concern over replicating the API of query on query builder. So, if you think it is not the way to go I completely understand. In that case tough, I would then suggest to remove the other cache options (lifetime, cacheable, cachemode and cacheregion) aswell because the behaviour as it is now was confusing when trying to find/fix the issue within my code.
Another idea of approach would be that the setCacheable function on the QueryBuilder makes to call both the setCacheable() and the useQueryCache() on the queries generated, but something in my goat says that would be wrong (because it is not consistent with the other functions). Code would be something like:
`
public function getQuery()
{
$parameters = clone $this->parameters;
$query      = $this->_em->createQuery($this->getDQL())
->setParameters($parameters)
->setFirstResult($this->_firstResult)
->setMaxResults($this->_maxResults);
    if ($this->lifetime) {
        $query->setLifetime($this->lifetime);
    }

    if ($this->cacheMode) {
        $query->setCacheMode($this->cacheMode);
    }

    if ($this->cacheable) {
        $query->setCacheable($this->cacheable);
        $query->useQueryCache($this->cacheable);
    }

    if ($this->cacheRegion) {
        $query->setCacheRegion($this->cacheRegion);
    }

    return $query;
}

`


Should have option to upload image (Scanner )

if a user wants to upload image instead of scanning QR code there should be option for that on Scanner

This issue depend upon/ link with #460. So I'm going to move forward...


creationTimestamp: null is invalid since it isn't a string

This is an interesting one so bear with me :)
First, this is the error I stumbled when validation FluxCD CRDs. The creationTimestamp can't be null and must be a string according to the spec:
# wget https://github.com/fluxcd/source-controller/releases/download/v0.22.5/source-controller.crds.yaml
# kubeconform -schema-location default -schema-location "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/master/customresourcedefinition.json" source-controller.crds.yaml
source-controller.crds.yaml - CustomResourceDefinition gitrepositories.source.toolkit.fluxcd.io is invalid: For field metadata.creationTimestamp: Invalid type. Expected: string, given: null
source-controller.crds.yaml - CustomResourceDefinition buckets.source.toolkit.fluxcd.io is invalid: For field metadata.creationTimestamp: Invalid type. Expected: string, given: null
source-controller.crds.yaml - CustomResourceDefinition helmrepositories.source.toolkit.fluxcd.io is invalid: For field metadata.creationTimestamp: Invalid type. Expected: string, given: null
source-controller.crds.yaml - CustomResourceDefinition helmcharts.source.toolkit.fluxcd.io is invalid: For field metadata.creationTimestamp: Invalid type. Expected: string, given: null

So I raised an issue at https://github.com/fluxcd/flux2/issues/2623 since they seemed to be the culprit.
But received a response that they use controller-gen to generate the CRDs. So I looked into controller-gen and they also do not set the creationTimestamp they import k8s.io/apimachinery/pkg/apis/meta/v1 for the generation of the metadata (where the creationTimestamp is part of)(source).
So now the issue, in the package documentation (link) of k8s.io/apimachinery/pkg/apis/meta/v1 it says the following about the creationTimestamp
// CreationTimestamp is a timestamp representing the server time when this object was
// created. It is not guaranteed to be set in happens-before order across separate operations.
// Clients may not set this value. It is represented in RFC3339 form and is in UTC.
//
// Populated by the system.
// Read-only.
// Null for lists.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
Creation[Time](https://pkg.go.dev/k8s.io/apimachinery/pkg/apis/meta/v1#Time)stamp Time `json:"creationTimestamp,omitempty" protobuf:"bytes,8,opt,name=creationTimestamp"`

So there is something in the docblock about Null for lists(?) but in the openapi spec of Kubernetes is this Time resource marked as string:
"io.k8s.apimachinery.pkg.apis.meta.v1.Time": {
      "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON.  Wrappers are provided for many of the factory methods that the time package offers.",
      "format": "date-time",
      "type": "string"
},

https://raw.githubusercontent.com/kubernetes/kubernetes/master/api/openapi-spec/swagger.json
So now, what is wrong here? Is it indeed allowed to be a string or null and should the openapi spec be an enum? Or is there something ink8s.io/apimachinery/pkg/apis/meta/v1 wrong? Or should controller-gen explictly set the creationTimestamp to an string?
The last one seems kinda wrong to me since it seems to me that the k8s.io/apimachinery/pkg/apis/meta/v1 should return data valid to the api spec.
I am sorry for all the text and if I did not understand something correctly :)
I don't develop in golang (or at all really) and the relation between the package and the openapi spec is quite vague for me.

Hi @wilmardo and thanks for all the digging! I have limited amount of time to investigate this, but I would be really grateful if someone figured out a way to validate the Custom Resource Definitions / figured a way to get this to work :)

Hi,
I'm running into the same issue with CRDs from the OpenShift Logging Operator (which uses operator-sdk / kubebuilder v2 internally): https://github.com/openshift/cluster-logging-operator/blob/b9c22742f6ffeb3e1c7eb76091176a85ccee9387/config/crd/bases/logging.openshift.io_clusterlogforwarders.yaml#L7

The Kubernetes openapi has been updated and these faulty defaults have been removed:
https://github.com/kubernetes/kubernetes/issues/109427#event-10716889588
These changes should find their way to the controller-gen and packages that use these, so hopefully this issue will be resolved completely somewhere in the future :)

Hi, this is an interesting report thread. I bumped into this issue trying to validate manifests in CI.
What should I do to update the spec that Kubeconform applies?
TY


Update request: standardnotes 3.181.23 → 3.191.4

Package name: standardnotes

Latest released version: 3.191.4

Current version on the unstable channel: 3.181.23

Current version on the stable/release channel: 3.181.23

[* ] Checked the nixpkgs pull requests

Notify maintainers
@M-Gregoire
@chuangzhu
@squalus

Note for maintainers: Please tag this issue in your PR.

Add a :+1: reaction to issues you find important.

This overlay works for me.  Just overriding the version and src breaks without the phase changes due to the spaces in the path during updateAutotoolsGnuConfigScriptsPhase.  It appears to split the path here: https://github.com/NixOS/nixpkgs/blob/0f0e60bdd4a31a6ae291943e145a3cc60ffa77cc/pkgs/build-support/setup-hooks/update-autotools-gnu-config-scripts.sh#L7
Also need to pin electron_27 to match the package version set here: https://github.com/standardnotes/app/blob/4b19076f9b549a00c98eca8e1c35ee0d62e05155/packages/desktop/package.json#L46
_: (final: prev: let
  version = "3.192.8";
in {
  standardnotes = (prev.standardnotes.override {electron = final.electron_27;}).overrideAttrs (attrs: {
    inherit version;

    src = final.fetchurl {
      url = "https://github.com/standardnotes/app/releases/download/<EMAIL_ADDRESS>      sha256 = "sha256-d1mYT88UuUWPjQahskQ1PTL3vszRcCxiMIwZceWfgmA=";
    };

    unpackPhase = ''
      ${attrs.unpackPhase}
      mv opt/Standard\ Notes opt/standardnotes
    '';

    installPhase =
      builtins.replaceStrings
      ["Standard\\ Notes"]
      ["standardnotes"]
      attrs.installPhase;
  });
})

You now have to allow electron 27 to be used since it went EOL.
I reported in upstream: https://github.com/standardnotes/forum/issues/3626
      import nixpkgs {
        inherit system;
        overlays = import ./overlays {inherit inputs lib;};
        config = {
          allowUnfree = true;
          permittedInsecurePackages = [
            "electron-27.3.11" # standard notes
          ];
        };
      });


[Bug] Crashes after removing Trinkets

server-crash
This occurs on startup (right before the game finishes launching) after having used and then removing Trinkets.

@EGOIST1372 That's just a recommends entry, it doesn't mean trinkets is required.
This issue is for a crash that occurs if you've used deathlog+trinkets but then remove deathlog.


modernize tullia CI

I pushed a commit that only builds for systems that we have builders for.
But I wonder: How did that work with Hydra? Did it report green if it skipped builds for unsupported systems?
I'm undecided on what the best approach is. If the flake declares .#hydraJobs.aarch64-linux, doesn't that mean we should report an error status because we can't build that? By silently skipping it we are dismissing the intent expressed in .#hydraJobs.
So I tend to think that tullia's behavior is correct here. If the flake authors do want to silently skip systems that they declared jobs for, they should express that intent by filtering them out as I did in the latest commit. Or of course just remove them from .#hydraJobs to express that they don't want to build for these systems at all.

Perhaps the key point is that we should not (or std should not?) assume that "set of systems we want to support building on" == "set of systems we want to run CI on".

Anyway, I'm happy with this for now, if you think of a better fix, let us know!


can u add docker, docker compose, http, webdav and ftp support?

can u add docker, docker compose, http, webdav and ftp support?

unfortunately idk programing otherwise i would and i thank u for getting back to me.


Feat: Add column for git sha or version tag

As a developer,
When I run my tests,
And use fern for reporting,
And have committed changes
Then the git sha should be a tag or a column in the report
For unpushed change,
We need to make a decision on what to show. Maybe as a "dirty" as we have no way to referring back to the changes if the commit is not pushed or if the files are not committed in the first place

Either a "dirty" or "local" grouping makes the most sense, as I don't think there's a way to do this outside of manual testing on a local machine.
Is there a way to manage/remove these? Over time I can see this list potentially becoming large if developers continue to push local tests.

Thats a good point @jjchambl  about large number of local tests. I think we need to evolve this such that we can configure the server to be using a flag to accept a dirty report or not. That way if people want to use for local tests, they can run the fern-reporter locally with --dirty-enabled or something like that so that it would accept those type of reports

I'm planning to work on this, confirming no one else is already taking a look at it.

All yours @Swathi-L


Write FAQs

[x] Brainstorm to come up with a set of FAQ
[x] Write them up and host them in md under docs

Please list any candidate FAQs as comments in this thread

Initial Candidates:

Where are the Cell Census data buids hosted?
How can I increase performance?
Can I use conda to install the Cell Census?

Other candidates:

Why should I use the Cell Census?
Why does the Cell Census not have a normalized layer or embeddings?
How does the Cell Census differentiate from other services?
How can I ask for support?
How can I ask for new features?
How can I contribute my data to the Cell Census?

Can one query human and mouse data in a single query?

From #94
Why do I get an ArraySchema error when opening the Census?

Done #386


Update scala.vim

Default remains unchanged but added an option to not use scala recommended style.

I'm not sure I see value in a custom variable when Vim users should already be familiar with many established ways to override these (well known, well documented) settings directly for any language—after/ftplugin files, project-local vimrc, external formatting tools like Scalafmt…


Raw Data

Hi Mate, do you happen to have a csv file for the raw data you used? If so, would you be able to post it, cheers!

Would be great to see a sample structure, as the output from my discovergy smartmeters needs to be converted!

i´m also interested ina a sample file!
I can´t run the script in jupyter -  :(
"[Errno 44] No such file or directory"
The path must be correct - so the problem is perhaps the File?!

According to https://pandas.pydata.org/docs/reference/api/pandas.read_csv.html the default delimiter assumed is ','.
My discovergy files are comma-separated, so this situation did not occur to me. In your screenshot, the delimiter seems to be ';'.
Either you need to change the "sep" parameter in the read_csv call or replace your delimiter in your source files form ';' to ','.

As this issue was targeted at my Fork, the example for the fork is uploaded here:
https://github.com/foscoj/Battery-Simulation/blob/master/example.csv

@foscoj @Habedere @lmoscattini I've included sample data in the repo and updated the notebooks to explain the data structure. Hope this helps, even though my reply is quite late.

Is it possible to use a custom report from Fronius Solarweb Premium?
As far as I see, only energy (kWh) is exported but only power for the different phases?
See this file (header row is in German):
Detailed_Daily_Report_2024_05_11.csv

@kiryph Looking at the data it seems like you already have a battery installed (e.g. column "Energie aus Batterie bezogen"). Are you trying to calculate how much more energy you could use from your PV system with a larger battery?
As you mentioned, the file also contains the power for the different phases (colums "Wirkleistung L1/2/3 Einspeisepunkt | PowerMeter"). The sum of these thee columns should be the total power that you were providing to the grid or taking from the grid at a given time.
This could be used for the script to calculate different batteries. The format of the input file is given in sample_data.csv file here in the repo: https://github.com/PV-Soft/Battery-Simulation/blob/91b433e6214ddfd24271bed6fe01aafb844436ce/sample_data.csv
I  noticed that your data has a time resolution of 5 minutes so sharp power peaks might be averaged out. But I think that the script should still give you meaningful results.

@PV-Soft Thanks for the quick response.

Looking at the data it seems like you already have a battery installed (e.g. column "Energie aus Batterie bezogen"). Are you trying to calculate how much more energy you could use from your PV system with a larger battery?

Yes, I have already installed a battery with a capacity of 5.12kWh. I am wondering whether it is financially sensible to upgrade the battery pack by one module (2.56 kWh).
The Fronius Solarweb Battery Simulator also does not provide an option for extending the system by one module of 2.56kWh. One can only choose the smallest battery pack 5.12kWh (here the same as I actually have):

So I cannot use this tool to simulate the smallest possible battery upgrade. Only 2x additional modules which the pictures shows with an additional self-consumption of 130kWh. The next size (3x additional battery modules) already means only an even more minor improvement by 18kWh self-consumption during more than 6 months compared to two modules (148kWh improvement).

As you mentioned, the file also contains the power for the different phases (colums "Wirkleistung L1/2/3 Einspeisepunkt | PowerMeter"). The sum of these thee columns should be the total power that you were providing to the grid or taking from the grid at a given time.

I was assuming this. I will try it. I checked out also the fork https://github.com/foscoj/Battery-Simulation which uses a slightly different csv file, in particular a similarly formatted date and time string (German locale).
My modified Jupyter notebook cell for reading the csv file:
dateTimeFormatString = '%d.%m.%Y %H:%M' #German Time Format String, needed for Discovergy .csv
data = pd.read_csv(r'Solarkraftwerk_01112023-21062024.csv', encoding='latin-1', header=[0,1])
df2 = pd.DataFrame.from_records(data, columns = ['Datum und Uhrzeit', 'Wirkleistung L1 Einspeisepunkt | PowerMeter','Wirkleistung L2 Einspeisepunkt | PowerMeter', 'Wirkleistung L3 Einspeisepunkt | PowerMeter'])
df2['timestamp'] = df2['Datum und Uhrzeit']
df2['power'] = df2['Wirkleistung L1 Einspeisepunkt | PowerMeter'] + df2['Wirkleistung L2 Einspeisepunkt | PowerMeter'] + df2['Wirkleistung L3 Einspeisepunkt | PowerMeter']
df = pd.DataFrame.from_records(df2, columns = ['timestamp', 'power'])
df.tail()

The next cell "Calculate Power and Energy usable by Battery" runs without issues.
However, the cell "Run Battery Simulation" throws an error. Since I am not proficient with Pandas, maybe you know what the error tells me:
Simulating battery of size  1  kWh.
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
[/var/folders/2z/bljkcy1j2cbf7l9zf3dk0nqc0000gn/T/ipykernel_61892/219161310.py](http://localhost:57644/var/folders/2z/bljkcy1j2cbf7l9zf3dk0nqc0000gn/T/ipykernel_61892/219161310.py) in ?()
      1 # Go through all batteries and start simulation for each one. Add results as columns to df.
      2 for i in range(len(battery_sizes)):
----> 3     energy_in_battery, energy_excess_to_grid, power_provided_by_battery, total_power_provided_by_battery = simulate_battery(df, battery_sizes[i])
      4     #battery_charge, battery_charge_excess, battery_discharge, battery_total_discharge = simulate_battery(df, battery_sizes[i])
      5
      6     df['energy_in_battery_' + battery_names[i]] = energy_in_battery #battery_charge

[/var/folders/2z/bljkcy1j2cbf7l9zf3dk0nqc0000gn/T/ipykernel_61892/1721990933.py](http://localhost:57644/var/folders/2z/bljkcy1j2cbf7l9zf3dk0nqc0000gn/T/ipykernel_61892/1721990933.py) in ?(df, battery_size)
     16         # In this case, set battery state to battery_size or zero.
     17         # Copy excess energy, not taken by battery to this_energy_excess_to_grid
     18         this_energy_in_battery =  row[1]['energy_battery'] + last_energy_in_battery
     19         # If battery is full, copy excess to this_energy_excess_to_grid
---> 20         if this_energy_in_battery > battery_size:
     21             this_energy_excess_to_grid = this_energy_in_battery - battery_size
     22             this_energy_in_battery = battery_size
     23         # If battery is empty, copy excess to this_energy_excess_to_grid

[~/Library/jupyterlab-desktop/jlab_server/lib/python3.12/site-packages/pandas/core/generic.py](http://localhost:57644/~/Library/jupyterlab-desktop/jlab_server/lib/python3.12/site-packages/pandas/core/generic.py) in ?(self)
   1575     @final
   1576     def __nonzero__(self) -> NoReturn:
-> 1577         raise ValueError(
   1578             f"The truth value of a {type(self).__name__} is ambiguous. "
   1579             "Use a.empty, a.bool(), a.item(), a.any() or a.all()."
   1580         )

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

Maybe, a newer Pandas version is the issue.

I noticed that your data has a time resolution of 5 minutes so sharp power peaks might be averaged out. But I think that the script should still give you meaningful results.

Yes, the resolution is not as fine as yours. But I agree that the results should still be meaningful.

I've loaded your sample file using following code:
all_data = pd.read_csv('Detailed_Daily_Report_2024_05_11.csv', skiprows= [1])
all_data["timestamp"] = all_data["Datum und Uhrzeit"]
all_data["power"] = all_data["Wirkleistung L1 Einspeisepunkt | PowerMeter"] + all_data["Wirkleistung L2 Einspeisepunkt | PowerMeter"] + all_data["Wirkleistung L3 Einspeisepunkt | PowerMeter"]
all_data = all_data[["timestamp", "power"]]
all_data.head()

In the following cell ("Calculate Power and Energy usable by Battery") I had to remove the argument format='ISO8601 for the conversion to datetime format. Also in the very last cell I removed the argument. Afterwards, the script was running as expected.
Can you reproduce this?

@PV-Soft the argument for the csv reader skiprows= [1] fixed it for me. Now it runs. Very nice. Thanks for sharing your notebook and helping me out.
Now I have the data I was looking for. The Fronius Simulator has returned 130kWh for the  5.12kWh size. But I think I have to reduce the sizes by 5% which should be the usable sizes and then matches very closely the result from Fronius (probably the same logic is used):
Total energy used from battery instead of grid (in kWh):
total_energy_provided_by_battery_2.56       97.55983
total_energy_provided_by_battery_5.12     135.418436
total_energy_provided_by_battery_7.68     156.898914
total_energy_provided_by_battery_10.24    175.242445
Name: 62738, dtype: object

For reference, I have also looked at https://github.com/hif2k1/battery_sim for  Home Assistant but I am not sure if this can use historical data provided by a csv file at all.

@kiryph I'm happy that the script helped you. The reason for the error was that your csv file contains two header rows. The second one is excluded with skiprows= [1] to avoid that this is interpreted as data and crashes the script.
Unfortunately, I'm not familiar with the home assistant battery simulator that you mentioned, so I don't know if you can feed it with csv data.


Clean up date/time handling and add support for date-times with a TZID

This fixes some issues and adds some new functionality. In particular:

start_date and end_date were taking a date with a timezone, but then ignoring the timezone. I've removed them, and instead changed starts and ends to take impl Into<DatePerhapsTime>, which includes the NaiveDate case.
Similarly, I've changed all_day to take a NaiveDate rather than a date with a timezone which is then ignored.
According to RFC5545, DTSTAMP must be in UTC, but the timestamp method was accepting a impl Into<CalendarDateTime>. I've fixed this to only allow DateTime<Utc> to match the spec, and similarly fixed the getter to return the same.
I've added support for setting and getting date-time values with a TZID. For now the TZID is just a string, so the client needs to handle VTIMEZONE components manually. I'm not sure if there's a better solution to this, I can't think of one without major changes to the API.

one more thing on "conventional commits", since you're making a bunch of breaking changes. It would be nice to use the BREAKING CHANGE footer. Those will show up in the changelog as well.

regarding this

I've added support for setting and getting date-time values with a TZID. For now the TZID is just a string, so the client needs to handle VTIMEZONE components manually. I'm not sure if there's a better solution to this, I can't think of one without major changes to the API.

I was thinking that the method that sets the date-time just takes the TZ and adds the tz component itself

You mean the starts and ends methods would add the VTIMEZONE to the calendar? The trouble is that currently they are just methods on the Event, so they don't have a way to add another component to the calendar, so you'd need to change the API somehow to make that possible. But I can't think of a nice way to do that, it would give up on the nice separation you currently have where you can construct individual events and then combine them together into a calendar. You'd have to always deal with the calendar as a whole. And then the parsing side is even worse, as the VTIMEZONE might not map to any of the timezones that chrono-tz knows about, so I guess we'd have to create a new timezone type.

I've added BREAKING CHANGE footers, though they mostly just repeat the rest of the commit message. That's why I just went with the ! syntax originally.

anything you want to add before I merge this?

I'm happy as it is. We probably should add a type for VTIMEZONE at some point, but that can be a separate PR, and may require some rethinking of what the Component trait includes.

Sounds good, maybe that doesn't even have to be a breaking change.

there we go https://docs.rs/icalendar/0.13.0/icalendar/


Raspbian 10 : Can't click icons at all

Description:	Raspbian GNU/Linux 10 (buster)
I have a problem with a Raspberry 3B+ similar to
https://github.com/neutrinolabs/xrdp/issues/1701
but all the things mention in 1701 have no effect in solving issue.
Blanking is off
using [Xorg] code=20, has this stuck icons issue
using [Xorg] code=10, results in black screen, yet Xvnc is present
I have compiled xrdp and xorgxrdp from your latest sources without issue,
and the new service files are definitely running the /usr/local versions, with the original /etc/xrdp
Same with KRDC and Remina show same issue.
Whereas using the installed VNC server with Remina works fine.
Can you suggest anything more that I could check to see if I can solve problem
Thanks
John

Update:
I removed the default installed RealVNCServer (which did work in X11 and not virtual mode) and installed TigerVNC.
So that's a different version of Xvnc but that didn't solve the  [Xorg] code=10, and neither did a full path in sesman.ini
But commenting out the whole of the  [Xorg] section, allows Remmina to connect (using RDP) to the Xvnc server.
This seems to work well

Update:
I removed the default installed RealVNCServer (which did work in X11 and not virtual mode) and installed TigerVNC.
So that's a different version of Xvnc but that didn't solve the  [Xorg] code=10, and neither did a full path in sesman.ini
But commenting out the whole of the  [Xorg] section, allows Remmina to connect (using RDP) to the Xvnc server.
This seems to work well

John,
The code= line is the way that the XRDP process communicates the required backend to xrdp-sesman. The text in square brackets [] is simply for the user's benefit on the login box. So setting code=20 will result in an Xorg-based session (needs xorgxrdp installed) and setting code=0, or not setting code at all will result in a VNC-based session.
Setting code=10 uses the X11rdp server as a backend. This backend type has been completely replaced with the Xorg type and is supported for compatibility. It is not recommended for new installations.
Have I explained that well enough?
Do you need more help with this, or can I close it?
Thanks.

John,
The code= line is the way that the XRDP process communicates the required backend to xrdp-sesman. The text in square brackets [] is simply for the user's benefit on the login box. So setting code=20 will result in an Xorg-based session (needs xorgxrdp installed) and setting code=0, or not setting code at all will result in a VNC-based session.
Setting code=10 uses the X11rdp server as a backend. This backend type has been completely replaced with the Xorg type and is supported for compatibility. It is not recommended for new installations.
Have I explained that well enough?
Do you need more help with this, or can I close it?
Thanks.

Thanks for your helpful reply.
I would like to get the xorgxrdp connection to my raspberry pi 3b working.
Recap....
I have remove all the settings for [Xorg] from my xrdp.ini file, and now understand why my Remmina client connects without any issue, because an implied code=0 causes the use of  Xvnc access.
But, if I try to use [Xorg]/code=20 the resultant login screen has non-operative Icons - it is completely dead!
It's not the account - I tried making a new one
It's not out of date software, as I compiled you latest sources
Of course, it might not be anything wrong with xorgxrdp, but can you suggest how i could fault find this so I could report to Rasbian if necessary.
Thanks

Thanks for your helpful reply.
I would like to get the xorgxrdp connection to my raspberry pi 3b working.
Recap....
I have remove all the settings for [Xorg] from my xrdp.ini file, and now understand why my Remmina client connects without any issue, because an implied code=0 causes the use of  Xvnc access.
But, if I try to use [Xorg]/code=20 the resultant login screen has non-operative Icons - it is completely dead!
It's not the account - I tried making a new one
It's not out of date software, as I compiled you latest sources
Of course, it might not be anything wrong with xorgxrdp, but can you suggest how i could fault find this so I could report to Rasbian if necessary.
Thanks

Let's have a go then.
Here are my settings from a 20.04 machine
/etc/xrdp/xrdp.ini
[Xorg]
name=Xorg
lib=libxup.so
username=ask
password=ask
ip=<IP_ADDRESS>
port=-1
code=20

/etc/xrdp/sesman.ini
[Xorg]
; Specify the path of non-suid Xorg executable. It might differ depending
; on your distribution and version. Find out the appropreate path for your
; environment. The typical path is known as follows:
;
; Fedora 26 or later    :  param=/usr/libexec/Xorg
; Debian 9 or later     :  param=/usr/lib/xorg/Xorg
; Ubuntu 16.04 or later :  param=/usr/lib/xorg/Xorg
; Arch Linux            :  param=/usr/lib/Xorg
; CentOS 7              :  param=/usr/bin/Xorg or param=Xorg
; CentOS 8              :  param=/usr/libexec/Xorg
;
param=/usr/lib/xorg/Xorg
; Leave the rest paramaters as-is unless you understand what will happen.
param=-config
param=xrdp/xorg.conf
param=-noreset
param=-nolisten
param=tcp
param=-logfile
param=.xorgxrdp.%s.log

Set those up, restart the services and report back.

Let's have a go then.
Here are my settings from a 20.04 machine
/etc/xrdp/xrdp.ini
[Xorg]
name=Xorg
lib=libxup.so
username=ask
password=ask
ip=<IP_ADDRESS>
port=-1
code=20

/etc/xrdp/sesman.ini
[Xorg]
; Specify the path of non-suid Xorg executable. It might differ depending
; on your distribution and version. Find out the appropreate path for your
; environment. The typical path is known as follows:
;
; Fedora 26 or later    :  param=/usr/libexec/Xorg
; Debian 9 or later     :  param=/usr/lib/xorg/Xorg
; Ubuntu 16.04 or later :  param=/usr/lib/xorg/Xorg
; Arch Linux            :  param=/usr/lib/Xorg
; CentOS 7              :  param=/usr/bin/Xorg or param=Xorg
; CentOS 8              :  param=/usr/libexec/Xorg
;
param=/usr/lib/xorg/Xorg
; Leave the rest paramaters as-is unless you understand what will happen.
param=-config
param=xrdp/xorg.conf
param=-noreset
param=-nolisten
param=tcp
param=-logfile
param=.xorgxrdp.%s.log

Set those up, restart the services and report back.

John - do you need more help with this?
Thanks,

John - do you need more help with this?
Thanks,

Sorry for my delay. Have been trying to try different versions of Ubuntu to see if issue is still present.
(1) Rpi4, running pure Debian, rdp/xorg works fine,
with versions
xorgxrdp/stable,now 1:0.2.9-1 arm64 [installed]
xrdp/stable,stable,now 0.9.9-1+deb10u1 arm64 [installed]
(2) Rpi3b+, running Raspbian, rdp/xorg does not work as per this Issue report, but rdp/xvnc works really well as mentioned above. I've installed that in two  Rpi3b+ now, and they both have same issue (of non working desktop icons)
-- apt availability:
xorgxrdp/stable,now 1:0.2.9-1 armhf [installed]
xrdp/stable,now 0.9.9-1+deb10u1 armhf [installed]
-- self compiled
xrdp 0.9.15
A Remote Desktop Protocol Server.
Copyright (C) 2004-2020 Jay Sorg, Neutrino Labs, and all contributors.
See https://github.com/neutrinolabs/xrdp for more information.
Configure options:
--enable-fuse
--with-systemdsystemunitdir=/etc/systemd/system
Compiled with OpenSSL 1.1.1d  10 Sep 2019
./xorgxrdp-0.2.15/module/.libs/libxorgxrdp.so
INI FILES
XRDP.INI, with commented out section to force Xvnc. (obviously uncommented when try Xorg)
Entries as per installation
#[Xorg]
#name=Xorg
#lib=libxup.so
#username=ask
#password=ask
#ip=<IP_ADDRESS>
#port=-1
#code=20
SESMAN.INI
Same, unmodified from installation, same as yours
[Xorg]
; comments removed, Xorg location is correct.
param=/usr/lib/xorg/Xorg
; Leave the rest paramaters as-is unless you understand what will happen.
param=-config
param=xrdp/xorg.conf
param=-noreset
param=-nolisten
param=tcp
param=-logfile
param=.xorgxrdp.%s.log
So Installation is same
Can you suggest what Log files to look in, and what is key to a working system
(i'm going to compare working rpi4 and non-working rpi3 to see if I can spot anything)
Thanks
John

Sorry for my delay. Have been trying to try different versions of Ubuntu to see if issue is still present.
(1) Rpi4, running pure Debian, rdp/xorg works fine,
with versions
xorgxrdp/stable,now 1:0.2.9-1 arm64 [installed]
xrdp/stable,stable,now 0.9.9-1+deb10u1 arm64 [installed]
(2) Rpi3b+, running Raspbian, rdp/xorg does not work as per this Issue report, but rdp/xvnc works really well as mentioned above. I've installed that in two  Rpi3b+ now, and they both have same issue (of non working desktop icons)
-- apt availability:
xorgxrdp/stable,now 1:0.2.9-1 armhf [installed]
xrdp/stable,now 0.9.9-1+deb10u1 armhf [installed]
-- self compiled
xrdp 0.9.15
A Remote Desktop Protocol Server.
Copyright (C) 2004-2020 Jay Sorg, Neutrino Labs, and all contributors.
See https://github.com/neutrinolabs/xrdp for more information.
Configure options:
--enable-fuse
--with-systemdsystemunitdir=/etc/systemd/system
Compiled with OpenSSL 1.1.1d  10 Sep 2019
./xorgxrdp-0.2.15/module/.libs/libxorgxrdp.so
INI FILES
XRDP.INI, with commented out section to force Xvnc. (obviously uncommented when try Xorg)
Entries as per installation
#[Xorg]
#name=Xorg
#lib=libxup.so
#username=ask
#password=ask
#ip=<IP_ADDRESS>
#port=-1
#code=20
SESMAN.INI
Same, unmodified from installation, same as yours
[Xorg]
; comments removed, Xorg location is correct.
param=/usr/lib/xorg/Xorg
; Leave the rest paramaters as-is unless you understand what will happen.
param=-config
param=xrdp/xorg.conf
param=-noreset
param=-nolisten
param=tcp
param=-logfile
param=.xorgxrdp.%s.log
So Installation is same
Can you suggest what Log files to look in, and what is key to a working system
(i'm going to compare working rpi4 and non-working rpi3 to see if I can spot anything)
Thanks
John

Update:
Nothing is written to any of the logs:
.xorgxrdp.11.log
.xsession-errors
xrdp.log
xrdp-sesman.log
journalctl -f
when clicking on the inactive icons, or using keyboard.
-- the logged in desktop is completely inactive.

Update:
Nothing is written to any of the logs:
.xorgxrdp.11.log
.xsession-errors
xrdp.log
xrdp-sesman.log
journalctl -f
when clicking on the inactive icons, or using keyboard.
-- the logged in desktop is completely inactive.

Thanks John.
Xvnc working is a useful pointer.
It's possible that for some reason the Raspbian installation isn't loading the keyboard and mouse drivers for Xorg. There's a similar PR at #1779.
Can you compare the .xordxrdp.$DISPLAY.log for the working and non-working configs?
On a working config (on Ubuntu), I get these kind of messages:-
[    31.165] (==) ServerLayout "X11 Server"
[    31.165] (**) |-->Screen "Screen (xrdpdev)" (0)
[    31.165] (**) |   |-->Monitor "Monitor"
[    31.166] (**) |   |-->Device "Video Card (xrdpdev)"
[    31.166] (**) |-->Input Device "xrdpMouse"
[    31.166] (**) |-->Input Device "xrdpKeyboard"

and later:-
[    31.245] (II) LoadModule: "xrdpmouse"
[    31.245] (II) Loading /usr/lib/xorg/modules/input/xrdpmouse_drv.so
[    31.250] (II) Module XRDPMOUSE: vendor="X.Org Foundation"
[    31.250]    compiled for 1.20.8, module version = 0.2.14
[    31.250]    Module class: X.Org XInput Driver
[    31.250]    ABI class: X.Org XInput driver, version 24.1
[    31.250] rdpmousePlug:
[    31.250] (II) LoadModule: "xrdpkeyb"
[    31.250] (II) Loading /usr/lib/xorg/modules/input/xrdpkeyb_drv.so
[    31.254] (II) Module XRDPKEYB: vendor="X.Org Foundation"
[    31.254]    compiled for 1.20.8, module version = 0.2.14
[    31.254]    Module class: X.Org XInput Driver
[    31.254]    ABI class: X.Org XInput driver, version 24.1
[    31.254] rdpkeybPlug:

Let us know what you find.

Thanks John.
Xvnc working is a useful pointer.
It's possible that for some reason the Raspbian installation isn't loading the keyboard and mouse drivers for Xorg. There's a similar PR at #1779.
Can you compare the .xordxrdp.$DISPLAY.log for the working and non-working configs?
On a working config (on Ubuntu), I get these kind of messages:-
[    31.165] (==) ServerLayout "X11 Server"
[    31.165] (**) |-->Screen "Screen (xrdpdev)" (0)
[    31.165] (**) |   |-->Monitor "Monitor"
[    31.166] (**) |   |-->Device "Video Card (xrdpdev)"
[    31.166] (**) |-->Input Device "xrdpMouse"
[    31.166] (**) |-->Input Device "xrdpKeyboard"

and later:-
[    31.245] (II) LoadModule: "xrdpmouse"
[    31.245] (II) Loading /usr/lib/xorg/modules/input/xrdpmouse_drv.so
[    31.250] (II) Module XRDPMOUSE: vendor="X.Org Foundation"
[    31.250]    compiled for 1.20.8, module version = 0.2.14
[    31.250]    Module class: X.Org XInput Driver
[    31.250]    ABI class: X.Org XInput driver, version 24.1
[    31.250] rdpmousePlug:
[    31.250] (II) LoadModule: "xrdpkeyb"
[    31.250] (II) Loading /usr/lib/xorg/modules/input/xrdpkeyb_drv.so
[    31.254] (II) Module XRDPKEYB: vendor="X.Org Foundation"
[    31.254]    compiled for 1.20.8, module version = 0.2.14
[    31.254]    Module class: X.Org XInput Driver
[    31.254]    ABI class: X.Org XInput driver, version 24.1
[    31.254] rdpkeybPlug:

Let us know what you find.

I was having the same issue with no input after signing in (Raspberry Pi for Desktop). Manually specifying the ServerLayout as described on #1779, specifically this comment fixes it. Thank you.

How amazing. Yes that's fixed it! Thank you both!
FIX IS, quoting #1779:-
Add these lines to the [Xorg] stanza in /etc/xrdp/sesman.ini:-
param=-layout
param=X11 Server

Differences shown below from using MELD
BEFORE
[   135.163] (==) ServerLayout "ServerLayout0"
[   135.164] (**) |-->Screen "Screen (xrdpdev)" (0)
[   135.164] (**) |   |-->Monitor "Monitor"
[   135.168] (**) |   |-->Device "Video Card (xrdpdev)"
[   135.168] (**) |   |-->GPUDevice "Video Card (xrdpdev)"
[   135.169] (**) Option "DontVTSwitch" "on"

AFTER
[    41.339] (++) ServerLayout "X11 Server"
[    41.339] (**) |-->Screen "Screen (xrdpdev)" (0)
[    41.340] (**) |   |-->Monitor "Monitor"
[    41.344] (**) |   |-->Device "Video Card (xrdpdev)"
[    41.344] (**) |   |-->GPUDevice "Video Card (xrdpdev)"
[    41.344] (**) |-->Input Device "xrdpMouse"
[    41.344] (**) |-->Input Device "xrdpKeyboard"
[    41.344] (**) Option "DontVTSwitch" "on"

AND...
BEFORE
[   135.264] xrdpdevSetup:
[   135.264] (II) LoadModule: "mouse"
[   135.265] (WW) Warning, couldn't open module mouse
[   135.265] (EE) Failed to load module "mouse" (module does not exist, 0)
[   135.265] (II) LoadModule: "kbd"
[   135.266] (WW) Warning, couldn't open module kbd
[   135.266] (EE) Failed to load module "kbd" (module does not exist, 0)
[   135.266] rdpIdentify:

AFTER
[    41.439] (II) LoadModule: "xrdpmouse"
[    41.439] (II) Loading /usr/lib/xorg/modules/input/xrdpmouse_drv.so
[    41.441] (II) Module XRDPMOUSE: vendor="X.Org Foundation"
[    41.441] 	compiled for 1.20.3, module version = 0.2.9
[    41.441] 	Module class: X.Org XInput Driver
[    41.441] 	ABI class: X.Org XInput driver, version 24.1
[    41.441] rdpmousePlug:
[    41.441] (II) LoadModule: "xrdpkeyb"
[    41.441] (II) Loading /usr/lib/xorg/modules/input/xrdpkeyb_drv.so
[    41.443] (II) Module XRDPKEYB: vendor="X.Org Foundation"
[    41.443] 	compiled for 1.20.3, module version = 0.2.9
[    41.443] 	Module class: X.Org XInput Driver
[    41.443] 	ABI class: X.Org XInput driver, version 24.1
[    41.443] rdpkeybPlug:
[    41.443] rdpIdentify:

What should be do to help others that follow us????

Add section to README here with a Raspberry PI section, commenting that no mouse or keyboard is loaded without these two lines added.
Feed details to Upstream (to Raspberry Pi Org)???

Thanks
John

Glad you've both got working systems.
I'd like more information from you (if I may) before suggesting a solution so we can work out what the scope of affected systems might be. The OP in #1779 is using Manjaro for example, so this is possibly larger than just a Raspberry PI issue.
For starters, I'd like to know where the "ServerLayout0" is coming from.
Can one of you tell me what the output of the following command is on a non-working system please?
find /etc/X11 -type f -exec grep ServerLayout {} +

That would be grand - ta.

This is getting intriguing...
So here's the output from Raspian OS on a 3b+
At this point I have Desktop Screen Blanking DISABLED
root@raspos2:~# find /etc/X11 -type f -exec grep ServerLayout {} +
/etc/X11/xorg.conf.d/10-blanking.conf:Section "ServerLayout"
/etc/X11/xorg.conf.d/10-blanking.conf:    Identifier "ServerLayout0"
/etc/X11/xrdp/xorg.conf:Section "ServerLayout"
root@raspos2:~# ls -al /etc/X11/xorg.conf.d/
total 12
drwxr-xr-x  2 root root 4096 Jan 27 22:42 .
drwxr-xr-x 12 root root 4096 Jan 28 01:04 ..
-rw-r--r--  1 root root  247 Jan 27 22:42 10-blanking.conf

root@raspos2:~# cat /etc/X11/xorg.conf.d/10-blanking.conf
Section "Extensions"
    Option      "DPMS" "Disable"
EndSection
Section "ServerLayout"
    Identifier "ServerLayout0"
    Option "StandbyTime" "0"
    Option "SuspendTime" "0"
    Option "OffTime"     "0"
    Option "BlankTime"   "0"
EndSection

RasbianOS has a "Raspberry PI configuration" utility in the Preferences menu.
This has a option to disable screen blanking and when set to ENABLE, it removes the 10-blanking.conf
I think that's why there is another issue where someone reports a similar issue with blanking on the Raspberry PI.
However there is another way to turn off blanking,
consoleblank=0 in /boot/cmdline.txt, ie kernel boot parameters
but the Raspberry PI documentation informs us that the utility is to be used for GUI blanking.
So we have an explanation, but what is the fix??

The other issue is #1701. That's using the Xvnc back-end, and the user is connecting to it directly. The only similarity with this is that screen blanking is involved. I couldn't fully investigate that one, as the RealVNC server is only licensed on a proper PI.
That aside, this one is explained as the ServerLayout in the include is processed first. The only reference I could find to this is on the ArchWiki which contains these lines:-

The /etc/X11/xorg.conf.d/ directory stores host-specific configuration.
. . .
These files are parsed by the X server upon startup and are treated like part of the traditional xorg.conf configuration file. Note
that on conflicting configuration, the file read last will be processed. For that reason the most generic configuration files should
be ordered first by name. The configuration entries in the xorg.conf file are processed at the end.

There seem to be three possibilities here:-

Use the DefaultServerLayout directive in the ServerFlags section which will give the X server a clue which layout to use.
Specify the option explicitly using -layout in /etc/xrdp/sesman.ini.
Specify the option explicitly in code.

I currently preferring 1., as the other two introduce more coupling between the xrdp and xorgxrdp repos.
@jradxl, @mhaley - could you please try the following for me?

Remove these lines ffrom /etc/xrdp/sesman.ini, if you've added them.param=-layout
param=X11 Server

Add this line to the ServerFlags section in /etc/X11/xrdp/xorg.conf:-    Option "DefaultServerLayout" "X11 Server"

Enable screen blanking.
See if everything is still OK.

If that works for you, I'll rasie a PR on the xorgxrdp repo to include this in the config file.
Thanks again

Don't know why Raspberry include RealVNC. I guess it's same reason why they add the VSCode repository without telling anyone - commercial reasons. I take it off and add TigerVNC instead.
Your suggestions work fine. My first two stanzas look like this.
But I've not tested the actual screen blanking as I think that's for the HDMI output.
root@raspos1:/etc/X11/xrdp# cat xorg.conf
Section "ServerLayout"
    Identifier "X11 Server"
    Screen "Screen (xrdpdev)"
    InputDevice "xrdpMouse" "CorePointer"
    InputDevice "xrdpKeyboard" "CoreKeyboard"
EndSection

Section "ServerFlags"
    Option "DefaultServerLayout" "X11 Server"
    Option "DontVTSwitch" "on"
    Option "AutoAddDevices" "off"
EndSection

So pleased we could find this.
Cheers

PR submitted for discussion and inclusion.
Thanks again John.

Just a hint for everyone who applied this patch manually and then did or plans to do a distribution upgrade form Debian Buster to Bullseye or similar: Newer xorgxrdp requires to load an additional module for glamor support, if the compile was set at least, which is done on Debian Bullseye. Since changing a configuration file manually leads to APT/dpkg not upgrading it without user confirmation, assure that you do the upgrade an re-apply the input fix patch if not shipped by the new distribution package config yet, e.g.:
mv /etc/X11/xrdp/xorg.conf.dpkg-dist /etc/X11/xrdp/xorg.conf
grep -q 'DefaultServerLayout' /etc/X11/xrdp/xorg.conf || sed -i '/Section "ServerFlags"/a\    Option "DefaultServerLayout" "X11 Server"' /etc/X11/xrdp/xorg.conf
systemctl restart xrdp

Thanks for this it worked for AstroPi on RPi3+ Raspian10.  XRDP had mouse movement on Win8 RDP but no select. An aggressive 2 day search found this fix.Thanks again.
Add these lines to the [Xorg] stanza in /etc/xrdp/sesman.ini:-
param=-layout
param=X11 Server


stepper preview bug fixed

Fixes #96
Describe the changes you have made in this pr -
added keydown2 and keydown3 eventListeners in embedListener.js
Screenshots of the changes (If any) -

@tachyons and @satu0king can you review this pr I'm not sure if I should have added keyDown3.

Hi @shubhankarsharma00 , before working on any PR please make sure that you claim the issue as it might lead to duplicate PRs. Thanks

okay sure, btw what about the KeyDown3 does it need to be in preview mode?

@shubhankarsharma00 Right now keydown3 is only used in the rectangle element, so no, it is not needed.

Okay I'll remove it. Does the rest of PR seem alright?

I am closing this pull request because of too many duplicate commits.


Temperature Converter

Introduction
Hello sir,
I want to add my project on Temperature converter.
Video
https://user-images.githubusercontent.com/114172928/252881128-266bcd52-a059-4875-89f4-50bbac58aed9.mp4
Additional Context
Please assign me this issue under OSEN.

@avinash201199 @Shu12388y Please assign me this issue under OSEN.

@apu52 start working


version 1.2.0

New feature to just use nvm use just like the other nvm package and retrieve the version from a .nvmrc file and simplify integration in scripted (build) processes.

As much as I appreciate the effort, I probably won't be merging this anytime soon. I'm taking a different approach via a script launcher process (similar to npm run). I'll keep this around because some of it may be relevant.


Deep associations?

I can't find anything about deep associations in the wiki.
I've this for example;
Gig.includes({song: [{artist: :urls}, :urls]})

I know how to include the first association (song), but how about the rest?
class Gig < ActiveRecord::Base
  has_many :song

  acts_as_api

  api_accessible :my_api do |t|
    t.add :song
  end
end

Hi :)
in fact acts_as_api works extremely well when you need to render deep nested model data.
You can see an example here in the wiki: https://github.com/fabrik42/acts_as_api/wiki/Including-a-child-association
The important part:

If the model Task has also an api template with the same name (in this case :user_with_tasks), this will automatically be taken for rendering!

An example would be:

class Gig < ActiveRecord::Base
  has_many :song

  acts_as_api

  api_accessible :my_api do |t|
    t.add :song
  end
end

class Song < ActiveRecord::Base
  has_one :artist

  acts_as_api

  api_accessible :my_api do |t|
    t.add :artist
  end
end

class Artist < ActiveRecord::Base
  has_many :urls

  acts_as_api

  api_accessible :my_api do |t|
    t.add :urls
  end
end

Maybe this is not clear in the wiki. :(
Do you have any recommendations how we could improve it?
Thanks,
Chris

Sorry for the delayed reply.
I'll give it a try and see if I can come up with something clearer for the wiki.
Thanks.


Add a muse configuration file

Skywalking is going to be part of the ApacheCon bug bash.  As part of that, ASF Infra will be installing the github app "muse-dev" in this repository.  While there will certainly be a list of issues provided, scores can be kept track of automated via the bot.  Beyond ApacheCon, the muse app is much like other CI serves in that there are actions taking on PRs and those actions need some minor amount of configuration.
In short: This PR adds a muse configuration and file, sufficient to allow running Muse CI on Skywalking.

A question, where should we be able to see the scores, issues, and comments? And are those available after we merge this?

A question, where should we be able to see the scores, issues, and comments? And are those available after we merge this?

The scores will be available when the bug bash starts.
Issues are available any time via the muse console.  This PR actually already has a muse result, but it is partial because some tools can't run without the configuration file in master.  A full run can be triggered via the console, I've done so here: https://console.muse.dev/result/TomMD/skywalking/01EK1C2GQM8YVF69MPYWTF2PMY?tab=results
Notice the full list of issues is verbose.  The typical work flow is to ignore that list, continue developing as you always have.  Muse will post a comment to the pull request discussion whenever an issue is detected that relates to the pull request.  If you want to work on quality metrics, such as at a bug bash, then obviously looking through the issues list list becomes central - we will be issuing some suggestions there and the search bar on the console can help.

@kezhenxu94 How do I exclude the files from the license check?  Looking around I don't see any examples of doing that, happy to declare these are public domain, unlicensed, or what have you.

@kezhenxu94 How do I exclude the files from the license check? Looking around I don't see any examples of doing that, happy to declare these are public domain, unlicensed, or what have you.

@TomMD it's here
https://github.com/apache/skywalking/blob/f397c1bb49e5eff7aef3c936f316a4c5f62484b0/pom.xml#L422

Thank you @kezhenxu94, I've now updated the PR.


Updated Readme to include component

Updated the readme to include the Svelte component used with the story, so that it can be easily recreated in someones project.

:rocket: PR was released in v4.0.10 :rocket:


Quick fix for test_search

I was getting a broken test in test_search when I ran the tests locally, this fixes that broken test.

Codecov Report

Merging #320 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master     #320   +/-   ##
=======================================
  Coverage   89.61%   89.61%
=======================================
  Files          28       28
  Lines        4055     4055
=======================================
  Hits         3634     3634
  Misses        421      421

Impacted Files
Coverage Δ

lightkurve/search.py
92.77% <100%> (ø)
:arrow_up:

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 de83814...56fdbef. Read the comment docs.

Looks like a good fix.  Two questions:

do we need this function?
is it tested?

Yeah, it's useful. It reduces a potentially large table to just the key information.

👍 this looks good to me!


Feat: cleanenv support, markdown-table template

@g4s8 Kirill thx for this great tool, trying to adapt it for current workflow.

Partial compatibility ilyakaznacheev/cleanenv
Custom tags support for prefix, description, required, separator
Multi dirs support, to resolve types from other projects
Markdown-table template
Support var type in templates

Fix: https://github.com/g4s8/envdoc/issues/28

This PR includes too many logical changes in one PR. Please split it to multiple PRs - one PR per new feature to discuss it separately.


npm WARN deprecated dependencies

npm WARN deprecated dependenciesn when doing npm i.
npm WARN deprecated<EMAIL_ADDRESS>Please use postcss-loader instead of autoprefixer-loader
npm WARN deprecated<EMAIL_ADDRESS>Replaced by bootstrap-loader. Please upgrade.
npm WARN deprecated<EMAIL_ADDRESS>this package has been reintegrated into npm and is now out of date with respect to npm
npm WARN deprecated<EMAIL_ADDRESS>graceful-fs version 3 and before will fail on newer node releases. Please update to<EMAIL_ADDRESS>as soon as possible.
npm WARN deprecated<EMAIL_ADDRESS>graceful-fs version 3 and before will fail on newer node releases. Please update to<EMAIL_ADDRESS>as soon as possible.
npm WARN deprecated<EMAIL_ADDRESS><EMAIL_ADDRESS>is no longer maintained. Upgrade to<EMAIL_ADDRESS>npm WARN deprecated<EMAIL_ADDRESS><EMAIL_ADDRESS>is no longer maintained. Upgrade to<EMAIL_ADDRESS>npm WARN deprecated<EMAIL_ADDRESS>graceful-fs version 3 and before will fail on newer node releases. Please update to<EMAIL_ADDRESS>as soon as possible.

Closing this. I'd recommend putting a PR to fix these/upgrade the dependencies.


[QUESTION]

I am using Maatwebsite version 2.1.0, I am not able to export more than 65535 rows.
Kindly advise

65535 rows is a limit for MS Excel BIFF-format files (.xls) Is that the format you're using for your export?

I am using xls format!
Is there another format that export more than 65535?

OfficeOpenXML-format (.xlsx) allows 1,048,576 rows per worksheet


what will happen if one of the node reboot when doing the distribute training?

if i 'm doing the distribute training, supposed one of my node is rebooted(or 'dead' for some other reasons), what will happen? the training will fail? or it will find another node(if there is any) instead?

All other nodes will stall.
Restart is not supported yet.

got it, thanks.


Add Replica Attachments on Volume Detach

What type of PR is this?

/kind feature
What this PR does / why we need it:
Triggers the tryCreateReplicaAttachment when a node has newly freed up space because of another volume being detached
Which issue(s) this PR fixes:

Fixes #371
Requirements:

[x] uses conventional commit messages

[ ] includes documentation
[ ] adds unit tests
[ ] tested upgrade from previous version

Special notes for your reviewer:
Release note:
none

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
7 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-1.5%) to 47.046%

Files with Coverage Reduction
New Missed Lines
%

pkg/azdiskschedulerextender/azdiskschedulerextender.go
7
56.74%

Totals

Change from base Build<PHONE_NUMBER>:
-1.5%

Covered Lines:
223

Relevant Lines:
474

💛  - Coveralls


Feature #4244: Add proper filters for picking export template

Implements:

Add proper filters for picking export template

Limitations:

For Linux templates, you need the extra action of selecting all files since it's unable to filter files without extensions.

Thanks!

Cherry-picked for 3.5.


[uStudio] Add new extractor

There are more qualities available.

Cherry-picked, thanks. Do you want to be credited as one of the authors of youtube-dl? If so under what name?


NaN instead of the current Page Number

In demos and my code 'NaN' is shown instead of the number of current page on the pagination bar.
http://ui-grid.info/docs/#/tutorial/318_external_pagination
http://ui-grid.info/docs/#/tutorial/314_external_pagination
Also, both section 314 and 318 on the tutorial are titled as: "external_pagination".

Hmm.  I don't get NaN.  What browser are you on?  I'm on Chrome/OSX.
On the tutorials, I never noticed that before.  No doubt it's because we had two competing features for a while (paging and pagination), probably the tutorial pages didn't get deleted but rather both got upgraded.

@PaulL1  It seems the issue is limited to FireFox (Opera/IE are OK.)
paging and pagination! What is differences? Which one should I use?

Hmm.  I don't have firefox on my machine here.  I'd be putting some breakpoints in the pagination code to see what calculation is returning that

I think it is a firefox bug. (it see same behavior other places as well.)
closing for now


Restart debug task doesn't close previous externalTerminal

Bug found while testing #12252

VSCode Version: 1.6 Insider
OS Version: Ubuntu 16.04

debug adapter should close the externalTerminal on any debug session end including restart.
@octref does the externalTerminal close when you just stop the debug session or you only see this when you restart?

does the externalTerminal close when you just stop the debug session

It doesn't close. When you end debug session, it only prints out some info on externalTerminal but doesn't close it until you press a key.

Launch Debug -> Restart -> Restart:

On Mac, it just ends the process but terminal.app is still open:
Launch Debug -> Stop:

However, restart ends the process in the current terminal and spawn a new one, instead of creating another terminal:
Launch Debug -> Restart -> Restart:

Does not repro in latest anymore.


Create a UI to control the loadtest manager from remote

Starting and stopping the load test
changing the number of users/test plan
real time metrics (current number of users, current average response time, ...)
real time graphs (same graphs as on the report file, except that they are updated in the real time)

My intent is to implement the UI in a different library. So for example, you could build a CLI load test with a dependency on goose, or a UI-controlled load test with a dependency on gooseui (or something more specifically named, such as gooseactix).

The idea is to try https://yew.rs/ for UI. This is mostly a note to self :)

Did a bit of research and here is my plan:

Yew to build the web app
reqwasm for websocket connection (https://blog.devgenius.io/lets-build-a-websockets-project-with-rust-and-yew-0-19-60720367399f)
echarts setOption() to dynamically update the graph (https://echarts.apache.org/examples/en/editor.html?c=dynamic-data&reset=1&edit=1)

Ideally we will need a new command for the console, that will instruct Goose to periodically send updated metrics (or diffs ideally).
I was thinking to create an MVP without graphs at the beginning (starting, stopping, ...) and add graphs after that.

Work is going on in https://github.com/tag1consulting/goose-ui

Hi I'm new here and to rust in general but heavily investing in writing most of my backend in rust. So I was looking for load testing in rust and found this.
IMO how about we use Tauri for this and build a UI in react or vue to make a proper cross-platform app? I'm a Vue guy and I can contribute if someone's ready to help a little with my rust :)

The goal is that it's possible to have any number of UI's.
One such example is a work in progress in https://github.com/tag1consulting/goose-ui -- but it intentionally is external from the main Goose repo to allow for different UI solutions to be developed as well.
It is expected that the UI will control the load test through the web sockets:
https://book.goose.rs/controller/websocket.html
Goose currently only supports the following commands (more will certainly need to be added as the UI evolves):
https://docs.rs/goose/latest/goose/controller/enum.ControllerCommand.html
Requests are formatted as follows:
https://docs.rs/goose/latest/goose/controller/struct.ControllerWebSocketRequest.html
And replies are formatted similarly:
https://docs.rs/goose/latest/goose/controller/struct.ControllerWebSocketResponse.html


Module exposed via ModuleFederationPlugin gets initialized twice

Bug report

What is the current behavior?
The issue is related to the Module Federation plugin. I have two applications app1 and app2. app1 exposes a module named test.js using the ModuleFederationPlugin. Both app1 and app2 use this module. The module named testcontains a console.log() on top-level (i.e. outside of any function) which is expected to run only once the first time when the module is imported. However, the console.log() is triggered twice. First time when test.js is imported by app1 and second time when it's imported by app2. I can see that the __webpack_require__ is triggered twice for the same file in the two apps.
If the current behavior is a bug, please provide the steps to reproduce.
This is a link to the repo which reproduces the problem:
https://github.com/alex-vukov/mf-issue
To reproduce it run the following steps:

npm install
npm start
Open localhost:3001 and open dev tools.
Reload the page and you'll see the console warning 'test.js loaded' logged twice.

Inapp1 the test.js file is used only in App.js and is exposed in ModuleFederationPlugin in the webpack config file. In app2 the same test.js file is dynamically imported inside Button.js and a function from it is used. That's when the duplicate initialization happens.

What is the expected behavior?
Expected behavior is that an exposed module should behave just like a regular module and should only be initialized once. __webpack_require__ should somehow synchronise the cache for the already loaded exposed modules between the two bundles. This issue is directly causing problems with sharing Redux stores between applications where the store is usually initialized at the top-level of the store.js file.

Other relevant information:
webpack version:  5.83.1
Node.js version: 18.16.0
Operating System: Linux Ubuntu
Additional tools:

Maybe this https://github.com/webpack/webpack/pull/16625?

Okay, I looked deeply, it is not your case, just use in app1:
window['app1'].get('./test').then((factory) => {
    const module = factory();
    module.test();
});

instead import foo from './test';
Webpack doesn't know nothing about your sturcture and how module is used inside in other bundle, so we can't just sync, it's like an extra script tag when you load it, there is only one ability is using API, i.e. as I show above, it allows to undestand that module already loaded, also module can be executed twice inside bundle using special configurations or just use any query string. Also if we change this logic, we can break other people's apps because they rely on this behavior.
Shorty - only remoteEntry.js knows which were loaded, inside standalone application own logic and standalone application knows nothing abote remote, if we will sync and other bunde load module faster than standalone, it potentially break logic standalone application because some modules can do side effects when loading.
Also we have shared, so technically you can create an extra application with Redux stores and share it between bundles, I would say that it is even more flexible, but of course it depends on the architecture.
So I am closing due expected behaviour, Anyway feel free to feedback

Thank you for the detailed explanation!

However, there is an inconsistency! When I switch to static federation (i.e. all the remotes are listed in the webpack configs of the two apps) if in app2 I use import foo from app1/test the module is indeed executed only once. However if I use const foo = import('app1/test') it is again executed twice. The inconsistency is that if I do the same test for a local module in the same two cases the local module gets executed only once. Shouldn't remote modules behave the same way?

However if I use const foo = import('app1/test') it is again executed twice

It means you have racing, it is not good for an application

Shouldn't remote modules behave the same way as local modules?

local modules !== remote modules, they don't have sync, because remote application has own state, local application has own state and as I said above there are side effects, anyway you can implement sync on the application side by hands


implement date bindings

First, a big thank you to the contributors/maintainers of this library: this is great! I'd like to find a way to contribute to stdweb and help build the foundation for Rust --> (W)ASM --> web
Opening a PR for date bindings to help fill in the browser API, bit by bit. Tests are working, albeit they are mostly "happy path" tests.
Edit: tests breaking in CI build...looking into it
Update: these are all tests that pass locally and work in the browser...that said, I've been running against WASM. Travis CI is using asmjs-unknown-emscripten...could this be the difference?
A few design notes/bullet points for next steps:

The CSS I added could be refactored/changed as need be

I slightly changed the example TodoApp to use the new Date API. It
would be cool to add a "realtime" timer to the app (TODO).

This Date API could be used in the future by libraries built on top
of this, a la MomentJs, say

I changed tabs to spaces in index.html...perfectly fine with either

"Meta" comments: A couple things I can do if need be:

squash commit into one
create labels "WIP", "Needs Review", "Needs Tests"

Thanks a lot for the PR!
Besides the comments I've already posted a few other remarks:

I'd definitely like to see some tests. (: A lot of the APIs are currently untestable due to the lack of tooling, however basic stuff like this is testable.
Since you've asked for commits I usually like them in a way where separate changes are in separate commits (e.g. the whitespace change is unrelated to your other changes, so it would be nice to have it in a separate commit), although I don't intend to be a nazi about this. (:
In the commit message you've wrote that the tests are not working for you due to a linker error - how are you trying to run them? cargo test will probably not work; if you use my cargo-web (e.g. cargo-web test --nodejs) it should work.

@bbyler Taking a quick glance this already looks better! That said I can still see a few things I'd like changed. I'll take a more thorough look at this again (it's a lot of code after all!) in a day or two once I have some more free time. Sorry for the delay! (:

@koute  Thanks!
Totally off topic, but question for you:
Background: I noticed the src/ecosystem mods there, with serde and serde_json already present. Great idea btw!
I'm particularly curious about ecosystem/serde_json. It doesn't look like it's really used anywhere, but it has a critical TryFrom implementation. Question 0: as it stands, does this work? (Looks good to me...)
If it does, then here's the situation: say I have a block of serde JSON, e.g.
let s =  r#"{"greeting_string": "hello"}"#;
let json_object: Value = serde_json::from_str(s)?; <-- serde_json Value, not stdweb Value...
// pretty cool that this works, without strong typing
println!(json_object["greeting_string"]); // hello

Nothing new here.
Say we want to do something with it in stdweb, e.g.
use serde_json::value::Value as JsonValue;
use webcore::value::Value;

fn say_hello_to_world(json_value: &JsonValue) {
    // assuming a json_value object has a key and value for "greeting_string" and so on
    js!( @(no_return)
        console.log(@{json_value["greeting_string"]} + " world!");
    );
}

This example will break, since a serde JsonValue can't be marshaled into a JS object without that ecosystem tie-in (or a similar tie-in or implementation). How can that be done?
I've tried some stuff on my own and it blew up in my face...
I'm purposely not opening an issue just to try to keep the issue count/backlog to a minimum for now. It's also more of a question...and with an answer I can see about documenting it in the README
Thanks!


libbyspalding-here to the site

Ah, there's some conflicts with the master branch. You'll get to learn how to manage conflicts :)
Checkout the master branch git checkout master and then pull down the new changes (git pull origin master). Then switch over to your feature branch (git checkout libbys/add-photo-to-site ). Then you'll want to merge in master by doing git merge master.
It will tell you that you have conflicts, which is ok! Then go to your _config.yml file and see row 105. You'll see >>>>>>>> and then HEAD and then >>>>>> and Master. A couple other members had added their information since you had originally pulled the codebase. Delete all the ">>>>>" and HEAD and MASTER, and keep the profiles for everyone.
 Then push up those changes, git push origin as/add-shin-photo-and-social-links. Then you'll see that there aren't any conflicts on this branch anymore.
We can also do this together at CODE next week if you'd like :) But think you might be able to take a cut at it! Merge conflicts are no fun. But it happens when lots of people are editing the same part of the codebase.
Also! You can talk with @alisonyshin. She had to go through the same thing. #parallelprogramming

@andrep would it be possible to add the _site/index.html file to gitignore? You correctly saw this issue coming :)

@libbyspalding Yep, I definitely had the same issue. Let's talk!
@acoravos @andrep I understand how to work around this problem, but what exactly is gitignore and how is it going to solve the issue? Thanks!

Can you all unsubscribe me from this?
On Thu, Oct 13, 2016 at 10:36 AM, libbyspalding<EMAIL_ADDRESS>wrote:

You can view, comment on, or merge this pull request online at:
https://github.com/codehbs/codehbs-official-homepage/pull/19
Commit Summary

libbyspalding-here to the site

File Changes

M _config.yml
https://github.com/codehbs/codehbs-official-homepage/pull/19/files#diff-0
(6)
M _site/index.html
https://github.com/codehbs/codehbs-official-homepage/pull/19/files#diff-1
(46)
A img/timeline/libbyspalding.jpg
https://github.com/codehbs/codehbs-official-homepage/pull/19/files#diff-2
(0)

Patch Links:

https://github.com/codehbs/codehbs-official-homepage/pull/19.patch
https://github.com/codehbs/codehbs-official-homepage/pull/19.diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/codehbs/codehbs-official-homepage/pull/19, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AK8oTotMCfklyvh3ORIam7x34zONZEFcks5qzkHggaJpZM4KV9wq
.

Hey Andrea, can you unsubscribe me from this thread?
Ben
On Thu, Oct 13, 2016 at 2:22 PM, Andrea Coravos<EMAIL_ADDRESS>wrote:

@andrep https://github.com/andrep would it be possible to add the
_site/index.html file to gitignore? You correctly saw this issue coming :)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/codehbs/codehbs-official-homepage/pull/19#issuecomment-253596191,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AK8oTpkDlCkgaYPsyGpWmDcVr-MfOQBWks5qzncBgaJpZM4KV9wq
.

@bluxenberg I believe this has to do with your email settings -- there is no way to unsubscribe you from my end. Try these two approaches
(1) Unwatch the repository. Details here: https://help.github.com/articles/unwatching-repositories/
(2) Go in to your settings and see when GitHub will email you

@acoravos The entire _site/ directory should be ignored (no need to add every file in the directory to .gitignore, adding the directory will take care of it).
@alisonyshin the .gitignore file contains a list of files that should be ignored if you make changes to them. In this case, the _site directory is modified when you run the "jekyll serve" command, since jekyll uses the _site directory as a staging area. So we don't want any changes that are made to the _site directory to be committed
@acoravos In fact, we should get rid of the _site directory from the repository altogether since it's auto-generated, I'll open a PR for that.


Add UnboundedRange support to PythonObject

This PR added UnboundedRange support such that you can make queries like:
aNumpyArray[1, ...] = anotherNumpyArray[10, ...]

now. Previously, you have to know the bound of the aNumpyArray, or use PartialRange for this purpose.
This PR doesn't look great and only support array up to 3 dimensions. The reason is because extension in Swift only support existential types, and UnboundedRange is an operator (function), hence you cannot extend on it. That means rather than extend UnboundedRange to support PythonObject interface, we have to enumerate UnboundedRange from subscript, which looks ugly.
However, this does make using numpy from within Swift a little bit easier.

Hi, thank you for the PR. Could you please add some tests?

@pvieito updated with a test in NumpyConversionTests.swift, I can move it to a separate test if you like. Numpy is needed here because this is only used for subscript an array, unlike other Python.slice objects.

@pvieito let me know if you want to move forward with this PR. Thanks.


Darwin simulation fail

Run from zenbot folder.
./scripts/genetic_backtester/darwin.js --selector=gdax.ETH-USD --days=1 --currency_capital=200 --use_strategies=trend_ema --population=1 --order_type=maker
generation 0 works
generation 1 hangs.
If I restart, generation 1 works, generation 2 hangs... and so on
here it is the complete log
--==Zenbot 4 Genetic Backtester v0.2.2==--
Thu, 15 Feb 2018 21:48:52 GMT
Backtesting strategy trend_ema ...
Creating population of 1 ...
=== Simulating generation 0 ===
Backfilling (might take some time) ...
./zenbot.sh backfill --days=1 gdax.ETH-USD
1: 92.7% ETA: 0m 0s
Done: 1, Active: 0, Remaining: 0, Completion: 100.0% Best Balance(1): 216.6642
Generation 0 completed at 2018-02-15 16:49:03, took 0m 6s, results saved to:

Finished writing generation csv to simulations/backtest_201802151648/gen_0/results.csv
Finished writing generation json to simulations/backtest_201802151648/gen_0/results.json

Generation's Best Results
(trend_ema) Result Fitness -0.019251103272757464, VS Buy and Hold: -1.0% BuyAndHold Balance: 218.770003  End Balance: 216.664221, Wins/Losses 1/0, ROI 0.000000.
./zenbot.sh sim gdax.ETH-USD --avg_slippage_pct=0.045 --backtester_generation=1 --buy_stop_pct=13 --help=false --markdown_buy_pct=-0.11962423193481575 --markup_sell_pct=1.4299431888060203 --max_sell_loss_pct=25 --max_slippage_pct=5 --min_periods=93 --neutral_rate=auto --order_type=maker --oversold_rsi=26 --oversold_rsi_periods=15 --period=39m --period_length=39m --profit_stop_enable_pct=4 --profit_stop_pct=15 --rsi_periods=15 --sell_stop_pct=31 --strategy=trend_ema --trend_ema=20 --version=false --start=201802131900 --asset_capital=undefined --currency_capital=200
=== Simulating generation 1 ===
Backfilling (might take some time) ...
./zenbot.sh backfill --days=1 gdax.ETH-USD
Generation 1 completed at 2018-02-15 16:49:04, took 0m 0s, results saved to:
Error: ENOENT: no such file or directory, open 'simulations/backtest_201802151648/gen_1/results.csv'
at Object.fs.openSync (fs.js:646:18)
at Object.fs.writeFileSync (fs.js:1291:33)
at saveGenerationData (/root/zenbot/scripts/genetic_backtester/darwin.js:995:8)
at parallel (/root/zenbot/scripts/genetic_backtester/darwin.js:1163:5)
at end (/root/zenbot/node_modules/run-parallel-limit/index.js:17:15)
at _combinedTickCallback (internal/process/next_tick.js:131:7)
at process._tickCallback (internal/process/next_tick.js:180:9)
Resume this backtest later with:
./scripts/genetic_backtester/darwin.js --selector=gdax.ETH-USD --days=1 --currency_capital=200 --use_strategies=trend_ema --population=1 --order_type=maker --population_data=backtest_201802151648

Dear issue reporter,
We have slightly changed our github issue policy and would now kindly request folks that have questions that they ask them in our zenbot subreddit.
You can find it here: https://reddit.com/r/zenbot
This issue will be closed, but if you disagree with your ticket being marked as a question feel free to leave a comment defending your case.
Thanks for contributing time and effort!
Greetings,
🤖


Fmd 1127 refactor parsers

Creates a factory class to handle different parsers for different entity types

todo still:

find out what can be safely deleted from search_client (not used elsewhere apart from tests)
refactor the Get Details flow to use the same approach


How to not count submenus items

Hi, i posted this to codepen also. I hope is ok to post here too.
I want to use this nav with submenus, but not to count them in counter. Is it possible?
Tnx

Hey, I hop you found the answer to this.. but if you did not then this can be achieved by editing the styles at line 35 in greedynav.css. There the content of the count pseudo element is set content:attr(count); . Remove that line or add display:none to that selector.


feat: add support for 3.11

see title- makes use of first solution in #169 - we add StrEnum and import StrEnum for older versions
fix: #169

Hey @guillego,
No worries, will look into it by end of day today - feel free to bump me if I don't get back to you within 12 hours

Updated both postgrest and postgrest-py to v0.10.4 on pip3 think anaconda changes might take a while to propagate
Please let me know if there are any issues or if there's anything else y'all need!

Hey @J0, just tested v.0.10.4 and works perfectly! Thanks a lot for getting to it so fast ⚡!


LetsEncrypt Compatibility

Doesn't seem to work for my LE-generated certs

@sschadwick Good catch! The Let's Encrypt certificate authority has a quote in their name, but the data is not being escaped in the HTML, hence the error.
This is fixed in #4, so your LE certs should start being displayed correctly as soon as @JensDebergh has a chance to merge the fix. 🙌


Windows - "all pipe instances are busy" error

Hi - thanks a lot for the great scripts. I am trying to run the batch exporter (export_all.sh) in git bash (Windows 7, 64 bit) and get the following error:
File "export_blocks_and_transactions.py", line 57, in
job.run()
File "D:\Git\ethereum-etl\ethereumetl\jobs\base_job.py", line 30, in run
self._end()
File "D:\Git\ethereum-etl\ethereumetl\jobs\export_blocks_job.py", line 80, in _end
super()._end()
File "D:\Git\ethereum-etl\ethereumetl\jobs\batch_export_job.py", line 79, in _end
self.executor.shutdown()
File "D:\Git\ethereum-etl\ethereumetl\executors\fail_safe_executor.py", line 39, in shutdown
self._check_completed_futures()
File "D:\Git\ethereum-etl\ethereumetl\executors\fail_safe_executor.py", line 47, in _check_completed_futures
future.result()
File "C:\Python35\lib\concurrent\futures_base.py", line 398, in result
return self.__get_result()
File "C:\Python35\lib\concurrent\futures_base.py", line 357, in __get_result
raise self._exception
File "C:\Python35\lib\concurrent\futures\thread.py", line 55, in run
result = self.fn(*self.args, **self.kwargs)
File "D:\Git\ethereum-etl\ethereumetl\jobs\batch_export_job.py", line 73, in _fail_safe_export_batch
self._export_batch(block_number, block_number)
File "D:\Git\ethereum-etl\ethereumetl\jobs\export_blocks_job.py", line 65, in _export_batch
response = self.ipc_wrapper.make_request(json.dumps(blocks_rpc))
File "D:\Git\ethereum-etl\ethereumetl\ipc.py", line 57, in make_request
with self._lock, self._socket as sock:
File "C:\Python35\lib\site-packages\web3\providers\ipc.py", line 45, in enter
self.sock = self._open()
File "C:\Python35\lib\site-packages\web3\providers\ipc.py", line 58, in _open
return get_ipc_socket(self.ipc_path)
File "C:\Python35\lib\site-packages\web3\providers\ipc.py", line 26, in get_ipc_socket
return NamedPipe(ipc_path)
File "C:\Python35\lib\site-packages\web3\utils\windows.py", line 19, in init
raise IOError(err)
OSError: (231, 'CreateFile', 'All pipe instances are busy.')
Any ideas how to fix? thanks a lot!!!

Try adding -w 1 option to python scripts in export_all.sh. Also try restarting geth/parity node and see if it works.

the -w 1 option worked, thanks a lot!

Could you please also check if -w 2 works? I assume the issue is that Windows pipes can not be connected from multiple threads/processes.

I checked with -w 2. Worked one time but then I tried again with larger block range and it failed. So I guess you're right about pipes and Windows
Interestingly if I run the export_blocks_and_transactions script directly (without specifying -w) it works no matter how long block range I give it. The issue is then probably in the loop in the .sh script. I can help investigate further, just tell me what to do

Thank you for checking this! I think the issue is that the pipe file is not closed when the export job is finished. So when running export_all.sh it will open new connections with the pipe file while the old ones are still open from the previous python script invocation. This issue can also be submitted to web3.py since there they don't handle socket/pipe file closing either.
Could you please also try with -p http://localhost:8545 parameter for export_all.sh, and see if the same issue happens. This will use the RPC instead of IPC.
Thank you!

sorry for the late reply, was busy with sth else. Using -p http://localhost:8545 didn't help (still same error if using more than 1 worker on Windows). But using infura.io works great with default workers


Can't use Carthage & Cocoapods anymore (3.0.5)

When using Carthage, I have this error
A shell task failed with exit code 74: xcodebuild: error: Unable to read project 'Nimble.xcodeproj' from folder '/Users/Axel/Developer/Hivy/Carthage/Checkouts/SwiftDate/XCode/Carthage/Checkouts/Nimble'. 	Reason: Project /Users/Axel/Developer/Hivy/Carthage/Checkouts/SwiftDate/XCode/Carthage/Checkouts/Nimble/Nimble.xcodeproj cannot be opened because it is missing its project.pbxproj file.

Woops! And Cocoapods too.
Working on this now.

This works now

@malcommac would you mind to trunk this version with CocoaPods pls?

Pushed!


Infinite loop when generate for condition is >= 0

Steps to reproduce the issue
./yosys backfor.v
module top(output [3:0] o);
generate
    genvar i;
    for (i = 3; i >= 0; i = i-1) begin
        assign o[i] = 1'b0;
    end
endgenerate
endmodule

Expected behavior
No infinite loop.
Actual behavior
Infinite loop.
Works if condition is i > 0 (losing one iteration obviously).

Backtrace:
(gdb) bt
#0  _int_malloc (av=av@entry=0x7ffff6882c40 <main_arena>, bytes=bytes@entry=256) at malloc.c:4100
#1  0x00007ffff652e0fc in __GI___libc_malloc (bytes=256) at malloc.c:3057
#2  0x00007ffff7adf258 in operator new(unsigned long) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6                                             #3  0x00000000005f6367 in Yosys::AST::AstNode::clone (this=0xfb1780) at frontends/ast/ast.cc:223
#4  0x00000000005f64b3 in Yosys::AST::AstNode::cloneInto (this=0x16d4a020, other=0x16d49b70) at frontends/ast/ast.cc:235
#5  0x0000000000614239 in Yosys::AST::AstNode::expand_genblock (this=<optimized out>, index_var=<incomplete type>, prefix=<incomplete type>,           name_map=std::map with 0 elements) at frontends/ast/simplify.cc:2922
#6  0x0000000000614239 in Yosys::AST::AstNode::expand_genblock (this=<optimized out>, index_var=<incomplete type>, prefix=<incomplete type>,
    name_map=std::map with 0 elements) at frontends/ast/simplify.cc:2922
#7  0x0000000000614239 in Yosys::AST::AstNode::expand_genblock (this=<optimized out>, index_var=<incomplete type>, prefix=<incomplete type>,
    name_map=std::map with 0 elements) at frontends/ast/simplify.cc:2922
#8  0x0000000000614239 in Yosys::AST::AstNode::expand_genblock (this=<optimized out>, index_var=<incomplete type>, prefix=<incomplete type>,
    name_map=std::map with 0 elements) at frontends/ast/simplify.cc:2922
#9  0x0000000000603d67 in Yosys::AST::AstNode::simplify (this=<optimized out>, const_fold=<optimized out>, at_zero=<optimized out>,
    in_lvalue=<optimized out>, stage=<optimized out>, width_hint=<optimized out>, sign_hint=false, in_param=<optimized out>)
    at frontends/ast/simplify.cc:1145
#10 0x0000000000600f18 in Yosys::AST::AstNode::simplify (this=<optimized out>, const_fold=<optimized out>, at_zero=<optimized out>,
    in_lvalue=<optimized out>, stage=<optimized out>, width_hint=<optimized out>, sign_hint=<optimized out>, in_param=<optimized out>)
    at frontends/ast/simplify.cc:699
#11 0x00000000005ff83d in Yosys::AST::AstNode::simplify (this=<optimized out>, const_fold=<optimized out>, at_zero=<optimized out>,
    in_lvalue=<optimized out>, stage=<optimized out>, width_hint=-1, sign_hint=<optimized out>, in_param=<optimized out>)
    at frontends/ast/simplify.cc:76
#12 0x00000000005fa93a in Yosys::process_module (ast=0xfad240, defer=<optimized out>, original_ast=<optimized out>) at frontends/ast/ast.cc:980
<<SNIP>>


execute() in body() is not resolved with Kotlin DSL

I have a Kotlin Contract

import org.springframework.cloud.contract.spec.ContractDsl.Companion.contract

contract {
    name = "Test"
    request {
        url = url("/test")
        method = POST
        body = body(
                mapOf(
                        "ConstructionYear" to value(producer(execute("getYear(2)")), consumer("2018"))
                )
        )
    }
    response {
        status = CREATED
        body = body(mapOf(
               "ConstructionYear" to fromRequest().body("$.ConstructionYear")
        ))
    }
}

which is turned into the test
@Test
	public void validate_aqua_premium() throws Exception {
		// given:
			WebTestClientRequestSpecification request = given()
					.body("{\"ConstructionYear\":{\"executionCommand\":\"getYear(2)\"}}");

		// when:
			WebTestClientResponse response = given().spec(request)
					.post("/test");

		// then:
			assertThat(response.statusCode()).isEqualTo(201);

		// and:
			DocumentContext parsedJson = JsonPath.parse(response.getBody().asString());
			assertThatJson(parsedJson).field("['ConstructionYear']").isEqualTo({
  "executionCommand" : "getYear(2)"
});
}

I'd expect the test's request body to be {"ConstructionYear": "2018"} (2018 is what the function getYear(2) returns). Then the response assertion should end like ...isEqualTo("2018"). I use Spring Cloud version Hoxton.SR6.

I just added a test based on your input and it looks like the issue is not related to the Kotlin support.
See https://github.com/spring-cloud/spring-cloud-contract/commit/ac639facdc3b24096362c26f36a438a7fc25df37.
Based on that test I'm expecting that something is going wrong during the test generation.
@marcingrzejszczak @OlgaMaciaszek Would you be able to take a look at this part of the project?

Hey @TYsewyn I'm pretty sure this one is connected to https://github.com/spring-cloud/spring-cloud-contract/issues/1485

Thanks @marcingrzejszczak. It works after moving the whole response body to the execute() function.


Add image compression GH action

@nilubava Would you mind taking a look at this to see if it's something we can push forward with?


Fix bug if jQuery.noConflict() used

Fixes #234
It looks like the reason this was handled differently to the other jquery dependent scripts is that django.jQuery is not defined on the login page (but jQuery still should be assuming that it has actually been included).

Merged, thanks!


Moves ranker.clj code to test

Changes proposed in this PR

moving everything from ranker.clj to the corresponding test file

Why are we making these changes?
These functions are only used in test, so it's confusing/misleading to have them live under src.

It may make sense to just remove it. ranker.clj was added as the first step in doing incremental ranking but we ended up not doing it.