TemporalFusionTransformerEstimator gives error when using static categorical features using PandasDataset

Description
TFT seems to have a bug in version 0.11 and no longer works with features when using a PandasDataset.
I have only tried using static categorical features.
I have a long pandas dataframe with the following columns:

timestamp
item_id
target
static_cat_0
static_cat_1
static_cat_2
static_cat_3
static_cat_4
static_cat_5
static_cat_6
static_cat_7

To Reproduce
(Please provide minimal example of code snippet that reproduces the error. For existing examples, please provide link.)
import pandas as pd
from gluonts.dataset.pandas import PandasDataset
from gluonts.model.tft import TemporalFusionTransformerEstimator
from gluonts.mx.trainer import Trainer

df = pd.read_parquet("../data/long_df_sample.parquet")

feat_static_cat = [
        "static_cat_0",
        "static_cat_1",
        "static_cat_2",
        "static_cat_3",
        "static_cat_4",
        "static_cat_5",
        "static_cat_6",
        "static_cat_7"
]

cardinalities = df[feat_static_cat].nunique().tolist()

train = PandasDataset.from_long_dataframe(
    df,
    item_id="item_id",
    timestamp="timestamp",
    freq="M",
    feat_static_cat=feat_static_cat
)

estimator = TemporalFusionTransformerEstimator(
    freq="M",
    prediction_length=12,
    context_length=24,
    static_cardinalities={
        name: int(cardinality)
        for name, cardinality  in zip(feat_static_cat, cardinalities)
    },
    trainer=Trainer(
        epochs=10,
    ),
)

predictor = estimator.train(train)

Error message or code output
(Paste the complete error message, including stack trace, or the undesired output that the above snippet produces.)
KeyError                                  Traceback (most recent call last)
Cell In [24], line 1
----> 1 predictor = estimator.train(train)

File ~/kost-2.0/models/gluonts/.venv/lib/python3.8/site-packages/gluonts/mx/model/estimator.py:238, in GluonEstimator.train(self, training_data, validation_data, shuffle_buffer_length, cache_data, **kwargs)
    230 def train(
    231     self,
    232     training_data: Dataset,
   (...)
    236     **kwargs,
    237 ) -> Predictor:
--> 238     return self.train_model(
    239         training_data=training_data,
    240         validation_data=validation_data,
    241         shuffle_buffer_length=shuffle_buffer_length,
    242         cache_data=cache_data,
    243     ).predictor

File ~/kost-2.0/models/gluonts/.venv/lib/python3.8/site-packages/gluonts/mx/model/estimator.py:215, in GluonEstimator.train_model(self, training_data, validation_data, from_predictor, shuffle_buffer_length, cache_data)
    212 else:
    213     copy_parameters(from_predictor.network, training_network)
--> 215 self.trainer(
    216     net=training_network,
    217     train_iter=training_data_loader,
    218     validation_iter=validation_data_loader,
    219 )
    221 with self.trainer.ctx:
    222     predictor = self.create_predictor(transformation, training_network)

File ~/kost-2.0/models/gluonts/.venv/lib/python3.8/site-packages/gluonts/mx/trainer/_base.py:410, in Trainer.__call__(self, net, train_iter, validation_iter)
    405 curr_lr = trainer.learning_rate
    406 logger.info(
    407     f"Epoch[{epoch_no}] Learning rate is {curr_lr}"
    408 )
--> 410 epoch_loss = loop(
    411     epoch_no,
    412     train_iter,
    413     num_batches_to_use=self.num_batches_per_epoch,
    414 )
    416 should_continue = self.callbacks.on_train_epoch_end(
    417     epoch_no=epoch_no,
    418     epoch_loss=loss_value(epoch_loss),
    419     training_network=net,
    420     trainer=trainer,
    421 )
    423 if is_validation_available:

File ~/kost-2.0/models/gluonts/.venv/lib/python3.8/site-packages/gluonts/mx/trainer/_base.py:275, in Trainer.__call__.<locals>.loop(epoch_no, batch_iter, num_batches_to_use, is_training)
    272 it = tqdm(batch_iter, total=num_batches_to_use)
    273 any_batches = False
--> 275 for batch_no, batch in enumerate(it, start=1):
    276     any_batches = True
    278     # `batch` here is expected to be a dictionary whose fields
    279     # should correspond 1-to-1 with the network inputs
    280     # see below how `batch.values()` is fed into the network

File ~/kost-2.0/models/gluonts/.venv/lib/python3.8/site-packages/tqdm/std.py:1195, in tqdm.__iter__(self)
   1192 time = self._time
   1194 try:
-> 1195     for obj in iterable:
   1196         yield obj
   1197         # Update and possibly print the progressbar.
   1198         # Note: does not call self.update(1) for speed optimisation.

File ~/kost-2.0/models/gluonts/.venv/lib/python3.8/site-packages/gluonts/itertools.py:175, in IterableSlice.__iter__(self)
    174 def __iter__(self):
--> 175     yield from itertools.islice(self.iterable, self.length)

File ~/kost-2.0/models/gluonts/.venv/lib/python3.8/site-packages/gluonts/transform/_base.py:103, in TransformedDataset.__iter__(self)
    102 def __iter__(self) -> Iterator[DataEntry]:
--> 103     yield from self.transformation(
    104         self.base_dataset, is_train=self.is_train
    105     )

File ~/kost-2.0/models/gluonts/.venv/lib/python3.8/site-packages/gluonts/transform/_base.py:124, in MapTransformation.__call__(self, data_it, is_train)
    121 def __call__(
    122     self, data_it: Iterable[DataEntry], is_train: bool
    123 ) -> Iterator:
--> 124     for data_entry in data_it:
    125         try:
    126             yield self.map_transform(data_entry.copy(), is_train)

File ~/kost-2.0/models/gluonts/.venv/lib/python3.8/site-packages/gluonts/dataset/loader.py:37, in Batch.__call__(self, data, is_train)
     36 def __call__(self, data, is_train):
---> 37     yield from batcher(data, self.batch_size)

File ~/kost-2.0/models/gluonts/.venv/lib/python3.8/site-packages/gluonts/itertools.py:94, in batcher.<locals>.get_batch()
     93 def get_batch():
---> 94     return list(itertools.islice(it, batch_size))

File ~/kost-2.0/models/gluonts/.venv/lib/python3.8/site-packages/gluonts/transform/_base.py:124, in MapTransformation.__call__(self, data_it, is_train)
    121 def __call__(
    122     self, data_it: Iterable[DataEntry], is_train: bool
    123 ) -> Iterator:
--> 124     for data_entry in data_it:
    125         try:
    126             yield self.map_transform(data_entry.copy(), is_train)

File ~/kost-2.0/models/gluonts/.venv/lib/python3.8/site-packages/gluonts/transform/_base.py:178, in FlatMapTransformation.__call__(self, data_it, is_train)
    174 def __call__(
    175     self, data_it: Iterable[DataEntry], is_train: bool
    176 ) -> Iterator:
    177     num_idle_transforms = 0
--> 178     for data_entry in data_it:
    179         num_idle_transforms += 1
    180         for result in self.flatmap_transform(data_entry.copy(), is_train):

File ~/kost-2.0/models/gluonts/.venv/lib/python3.8/site-packages/gluonts/itertools.py:71, in Cyclic.__iter__(self)
     69 at_least_one = False
     70 while True:
---> 71     for el in self.iterable:
     72         at_least_one = True
     73         yield el

File ~/kost-2.0/models/gluonts/.venv/lib/python3.8/site-packages/gluonts/transform/_base.py:103, in TransformedDataset.__iter__(self)
    102 def __iter__(self) -> Iterator[DataEntry]:
--> 103     yield from self.transformation(
    104         self.base_dataset, is_train=self.is_train
    105     )

File ~/kost-2.0/models/gluonts/.venv/lib/python3.8/site-packages/gluonts/transform/_base.py:124, in MapTransformation.__call__(self, data_it, is_train)
    121 def __call__(
    122     self, data_it: Iterable[DataEntry], is_train: bool
    123 ) -> Iterator:
--> 124     for data_entry in data_it:
    125         try:
    126             yield self.map_transform(data_entry.copy(), is_train)

File ~/kost-2.0/models/gluonts/.venv/lib/python3.8/site-packages/gluonts/transform/_base.py:124, in MapTransformation.__call__(self, data_it, is_train)
    121 def __call__(
    122     self, data_it: Iterable[DataEntry], is_train: bool
    123 ) -> Iterator:
--> 124     for data_entry in data_it:
    125         try:
    126             yield self.map_transform(data_entry.copy(), is_train)

    [... skipping similar frames: MapTransformation.__call__ at line 124 (19 times)]

File ~/kost-2.0/models/gluonts/.venv/lib/python3.8/site-packages/gluonts/transform/_base.py:124, in MapTransformation.__call__(self, data_it, is_train)
    121 def __call__(
    122     self, data_it: Iterable[DataEntry], is_train: bool
    123 ) -> Iterator:
--> 124     for data_entry in data_it:
    125         try:
    126             yield self.map_transform(data_entry.copy(), is_train)

File ~/kost-2.0/models/gluonts/.venv/lib/python3.8/site-packages/gluonts/transform/_base.py:128, in MapTransformation.__call__(self, data_it, is_train)
    126     yield self.map_transform(data_entry.copy(), is_train)
    127 except Exception as e:
--> 128     raise e

File ~/kost-2.0/models/gluonts/.venv/lib/python3.8/site-packages/gluonts/transform/_base.py:126, in MapTransformation.__call__(self, data_it, is_train)
    124 for data_entry in data_it:
    125     try:
--> 126         yield self.map_transform(data_entry.copy(), is_train)
    127     except Exception as e:
    128         raise e

File ~/kost-2.0/models/gluonts/.venv/lib/python3.8/site-packages/gluonts/transform/_base.py:141, in SimpleTransformation.map_transform(self, data, is_train)
    140 def map_transform(self, data: DataEntry, is_train: bool) -> DataEntry:
--> 141     return self.transform(data)

File ~/kost-2.0/models/gluonts/.venv/lib/python3.8/site-packages/gluonts/transform/convert.py:127, in AsNumpyArray.transform(self, data)
    126 def transform(self, data: DataEntry) -> DataEntry:
--> 127     value = np.asarray(data[self.field], dtype=self.dtype)
    129     assert_data_error(
    130         value.ndim == self.expected_ndim,
    131         'Input for field "{self.field}" does not have the required'
   (...)
    135         self=self,
    136     )
    137     data[self.field] = value

KeyError: 'static_cat_0'

Environment

Operating system: Ubuntu
Python version: 3.8.10
GluonTS version: 0.11
MXNet version: 1.9.1

(Add as much information about your environment as possible, e.g. dependencies versions.)

TFT seems to have a bug in version 0.11

Does the example work in 0.10?

I've also noticed TFT doesn't play well with PandasDataset dynamic real features. I think it's because TFT expects the resulting ListDataset to include the features by name, not grouped into feat_dynamic_real, etc.
RE: the working example in https://github.com/awslabs/gluonts/issues/1075. All features are specified by name, not by feature type.

TFT seems to have a bug in version 0.11

Does the example work in 0.10?

No, it doesnt work in 0.10 also

As @esbraun pointed out, this is because TFT expects a different schema than what PandasDataset provides.
Cc @jaheba this is something that fits in the whole schema story. Should we have a milestone or project to collect all issues related to it?

SelfAttentionEstimator give me this error even though set the param:use_feat_static_cat=False:
KeyError: 'feat_static_cat'

There are a couple of issues related to this model: https://github.com/awslabs/gluonts/issues/1976, https://github.com/awslabs/gluonts/issues/2160, https://github.com/awslabs/gluonts/issues/2416, https://github.com/awslabs/gluonts/issues/2466. All them report something similar to this ticket. We already started a process to revisit this model and fix all these issues. We will keep you updated.

@jmberutich we now have a pytorch implementation of temporal fusion transformer, see #2536, which has the same data interface as other models, so it should not have this issue. It's in the dev branch until the next release, let us know in case you have the chance to try it out!

Are there any fixes for it?


ensure that postgres shared buffers are calculated correctly

cc @mmzyk
closes #44
this causes both shmmax and the nodes memory to be handled in kilobytes, rather than shmmax being in bytes and memory in KB.

If you rebase on latest master, this build should pass travis. Has it gone through wilson CI as well?

@marcparadise yes, that's gone through a full wilson cycle quite happily.

:+1: rebase and merge when ready

:+1: rebase and merge - also please update the CHANGELOG to reflect the changes. The CHANGELOG is in omnibus/CHANGELOG

merged and pushed.


detect conf folder

If there is no value set for dremio-conf-dir then look in the following places
/opt/dremio/conf
/etc/dremio/conf
Another optional feature is if no conf if found with the configuration value we can warn and fall back to looking in those two places and if we find some configuration files there..log another warning where we found them
Since this can always be a bit magical put everything in pkg/autoconf/autoconf.go

won't fix as we just do not have the resources free to handle this in the near term


Annotations display redesign

Summary
Fixes rancher/dashboard#9321
Fixes rancher/dashboard#9320

Fixed contrast issues in annotations and the YAML editor for light and dark themes.
How to test

Go to any YAML editor section that should have new colors for the light/dark theme
got to the node > annotations section should have a new design for the Annotations display section

XD ref:
Annotations display:  https://xd.adobe.com/view/a9174e68-1483-4027-bca3-d5fb284fd35c-fc44/specs/
YAML new colors: https://xd.adobe.com/view/a2eb73f7-2a3c-4b21-a564-a5f95f4e5dce-f7b8/
Screenshot/Video

====== Annotations display ======

====== Annotations display light theme ======

====== YAML light theme ======

====== YAML dark theme ======

Reverted by https://github.com/rancher/dashboard/pull/9899


Discussion & Comments: "CI Pipeline and Custom Tools of Android projects at Juno"

How many build agents do you have - 10 (according to teamcity pricing)? What is your average active LF?

We don't have that many machines, but we do run builds concurrently on some of them, in Jenkins it's called executors, each executor requires separate build agent license in TeamCity :(
What is LF?

LF=load factor

You mean Load Average of Linux machines or LF of the build queue on CI?

AWS machine that runs "build" stage (compilation, apks, unit tests):

c4.4xlarge (I think), 3 parallel builds, LA usually between 6-10.

In-house machine that runs "UI tests" stage:

Core i7 7700, 3 parallel builds with 4 emulators in each build, LA usually somewhere between 10-16.

As said in the article, I'd be happy to merge all our CI clusters into one cluster with autoscaling.
However scaling machines for UI tests will be problematic because we need both GPU and KVM access as well as fast CPU, SSD and 32+gb of RAM, so for now these are custom-built ones.

You mean Load Average of Linux machines or LF of the build queue on CI?

Latter - it is important for teamcity pricing. 10 agents with LF=50% can be probably replaced with just 5-6 without drastic build queue increase. So how many licenses do you need?

Crosslinking with #5: "Discussion & Comments: UI Testing with Espresso"

@thevery

Latter - it is important for teamcity pricing.

10 agents with LF=50% can be probably replaced with just 5-6 without drastic build queue increase.

Problem with our flow of rebuilding PRs on target branch change is that it creates spikes in CI load and those spikes must be resolved asap to not slow down development process, so we need to be able to process lots of parallel builds.
As you can see from the graph above current cluster is near to limit of its capacity and there are times when we have builds hanging in queue.
So decreasing number of executors will increase number of builds in queue and slow down development.
At the same time, simple increasing amount of executors and nodes will be inefficient use of resources because we clearly have time gaps when developers are not at work.

So how many licenses do you need?

Currently we have 7 executors in Jenkins cluster which is equivalent to 7 build agents in TeamCity which automatically places us into 10 build agent licenses.
As said above — decreasing this number will definitely slow down development.
Ideally we could have CI cluster with autoscaling (can be based on Kubernetes and AWS for instance).

Here is closer look to spikes I was talking about (happening right now):

Almost empty buld queue - nice!
Licenses: you can get exactly 5+2=7 licenses if you need.
Autoscaling: out of the box on teamcity though I haven't tried it yet. Anyway you need extra licenses for this.
The way to overcome expensive licenses is actually sharing them between teams - you don't usually need all the resources at the one moment.

Licenses: you can get exactly 5+2=7 licenses if you need.

Didn't know that!

The way to overcome expensive licenses is actually sharing them between teams - you don't usually need all the resources at the one moment.

Yup, mentioned this above and in the article, totally agree


Spring Hands On 7 JPA

Application ensures:

REST endpoint that saves information for a given entity using spring data JPA. (4
endpoints, 1 for each entity)
REST endpoint that findAllUsers from the users table in a paginated format using
spring data JPA.
a. Page number and page size could be passed as a query parameter.
b. Default value for page number is 0 and default value for page size is 50.
c. The minimum page number can be 0. The minimum page size can be 1 and
maximum page size returned can be 50.
REST endpoint to delete a shift_user who is working in a shift that ends at 23:00
UTC.(UUID is passed as a path variable) using spring data JPA. If no such user is
present then handle the exception.
REST endpoint that finds top 3 shifts whose start_date = “01-Jan-2023” and end_date =
“25-Jan-2023” using custom JPA query. Response must be ordered in ascending order
based on shift name.
REST endpoint to update user details (user UUID is passed as a path va

Metric
Value

alert_status
:white_check_mark: OK

bugs
0

code_smells
0

reliability_rating
A (0 Bugs)Note: A being best, E being worst

security_rating
A (0 Vulnerabilities)Note: A being best, E being worst

vulnerabilities
0


FancyZones moving windows using Win + Arrows bug on some app(?)

ℹ Computer information

PowerToys version: v0.25.0
PowerToy Utility: FancyZones
Running PowerToys as Admin: Yes
Windows build number: 20H2

📝 Provide detailed reproduction steps (if any)

I setup FancyZones on my laptop with 2 external displays, so my setup has 3 in total. I then set each display to have 14 zones, including 3 column that has one third of the width of the monitor, 4 little windows that has the width and height half that of the monitor, 2 bigger columns with the width 2 thirds of the monitor, 2 columns with the width that is half of the monitor, 2 bars that have half the height of the monitor (dividing) the monitor in halves vertically and horizontally and one zone that is the size of the monitor. I then adjust the zones so that there're gaps of 18 pixels between each other than the edge of the monitor. I ticked the option to override windows snap shortcut to move windows between zones, also ticking the options to move windows based on their position and move them between zones across all monitor, me.
Some apps work fine, namely File Explorer and Firefox where if they are at the middle third column, and I press Win + Right or Left, they would expand to the right or left third to 2 third zone.
Some apps (I don't have the full list, but PowerPoint is the app that I'm talking about) don't. When I press Win + Right, they immediately goes into the full screen zone and when I press the same combination again, they return to the middle third

✔ Expected result
What is the expected result of the above steps?
The window should take up 2/3 of the monitor to the right, like in the second screenshot
❌ Actual result
The window goes into the full screen zone, like the third screen shot, now I have to hold Win and press Up, Right, Down, Left
What is the actual result of the above steps?
📷 Screenshots
Are there any useful screenshots? WinKey+Shift+S and then just paste them directly into the form

@DNM1008  can you do a screenshot of your settings for FancyZones?  Namely your Zone behaviors

@DNM1008 can you do a screenshot of your settings for FancyZones? Namely your Zone behaviors

So this is my config. The thing that makes me curious the most is that it works with some apps that are not even made by Microsoft, namely Firefox, but bugged with PowerPoint, which is made by Microsoft.

I have all the three options selected I, as far as I tested, it doesn't work for any application on any monitor. It just moves windows from monitor to monitor, as usual.

@DNM1008
in general FZ doesn't treat different apps in different ways, so if the functionality is working correctly for some apps but not for others, it means is a problem of those apps that don't like to be resized by an external intervention.
The weird behavior may only happen for certain size and position, so the same app may be correctly zoned in some cases but not in other.
The only time when FZ resizes the apps in a different way, is when there are multiple monitors with different DPI scaling and the application is not DPI aware, in that case we have to resize the application so that it doesn't "touches" the borders of the screen, otherwise the application goes bananas see https://github.com/microsoft/PowerToys/issues/7489 and https://github.com/microsoft/PowerToys/issues/4354
Instead of using Win + arrow, can you try to zone the application dragging it to the zone? Does it work correctly or does it goes in full screen mode?

@paulomorgado
what you described is a complete different problem, so please open a new issue for it.

Done! https://github.com/microsoft/PowerToys/issues/8381

@DNM1008
in general FZ doesn't treat different apps in different ways, so if the functionality is working correctly for some apps but not for others, it means is a problem of those apps that don't like to be resized by an external intervention.
The weird behavior may only happen for certain size and position, so the same app may be correctly zoned in some cases but not in other.
The only time when FZ resizes the apps in a different way, is when there are multiple monitors with different DPI scaling and the application is not DPI aware, in that case we have to resize the application so that it doesn't "touches" the borders of the screen, otherwise the application goes bananas see #7489 and #4354
Instead of using Win + arrow, can you try to zone the application dragging it to the zone? Does it work correctly or does it goes in full screen mode?

Dragging (and holding Shift) seems to work just fine, can you help me tell the apps like MS Words or PowerPoint to behave like browsers?

I have apparently stumbled on kinda of a situation where the app acted like a browser, which is moving between monitors when necessary, when I installed groupy, apparently being in a group in groupy made the PowerPoint didn't want to always be in full screen mode any more. Although that being said, Groupy costs 7.5 AUD, so a way to make PowerPoint behave like a browser without having to buy anything is still welcomed

@DNM1008
I still haven't been able to reproduce this problem.
Can you try using PowerToys 0.31.2?
If it still reproduces, please upload a screenshot of the layout you are using.


[Join fuzzer] Failed to remove spilled directory which does not exist

Description
broken-build: https://app.circleci.com/pipelines/github/facebookincubator/velox/20487/workflows/0a559414-e43a-4d31-b389-af0eb4afbf74/jobs/128854
Error Reproduction
velox_join_fuzzer_test --seed<PHONE_NUMBER> --duration_sec 30
Relevant logs
E20230221 16:31:04.855391 511488 Exceptions.h:68] Line: /Users/bikramjeet/dev/velox/velox/common/file/FileSystems.cpp:164, Function:rmdir, Expression: 0 == ec.value() (0 vs. 2) Rmdir /tmp/velox_test_zI5Fqc/test_cursor 35 failed: generic:2, message: No such file or directory, Source: RUNTIME, ErrorCode: INVALID_STATE
E20230221 16:31:04.856576 511488 Task.cpp:206] Failed to remove spill directory '/tmp/velox_test_zI5Fqc/test_cursor 35' for Task test_cursor 35: Exception: VeloxRuntimeError
Error Source: RUNTIME
Error Code: INVALID_STATE
Reason: (0 vs. 2) Rmdir /tmp/velox_test_zI5Fqc/test_cursor 35 failed: generic:2, message: No such file or directory
Retriable: False
Expression: 0 == ec.value()
Function: rmdir
File: /Users/bikramjeet/dev/velox/velox/common/file/FileSystems.cpp
Line: 164
Stack trace:

Closing this issue since we don't come across this error anymore. We can reopen it if it happens again.


invalid text

when i  run
p2j train.py
it returns
p2j train.py
^
SyntaxError: invalid syntax
when i run
p2j -h
The result is as follows:
Traceback (most recent call last):
File "", line 1, in
p2j -h
NameError: name 'h' is not defined

same happened to me too
SyntaxError: invalid syntax


Does it support FLUTTER WEB or any future plans to support web?

Does it support FLUTTER WEB or any future plans to support web?

I don't have any plans as of right now, but pull requests are always welcome. Duplicate of #21.

For anyone still being interested in this...
I digged into the braintree docs and found some easy solution which works at least for creditcards.

create static file (e.g. in assets/html/index.html)
My content looks like this, but note that you can style it the way you want it:

<button id="submit-button" class="button button--small button--green">Purchase</button>

Call this code from flutter and with the listener you can handle the none.

import 'dart:html' as html;
import 'dart:js' as js;
import 'dart:ui' as ui;

import 'package:flutter/material.dart';

const String viewID = "your-view-id";

class HtmlTryPage extends StatefulWidget {
  const HtmlTryPage({Key? key}) : super(key: key);

  @override
  State<HtmlTryPage> createState() => _HtmlTryPageState();
}

class _HtmlTryPageState extends State<HtmlTryPage> {
  @override
  void initState() {
    super.initState();
    html.window.addEventListener("message", (html.Event event) {
      var data = (event as html.MessageEvent).data;

      print(data);
    });
  }

  @override
  Widget build(BuildContext context) {
    // ignore: undefined_prefixed_name
    ui.platformViewRegistry.registerViewFactory(
        viewID,
        (int id) => html.IFrameElement()
          ..width = MediaQuery.of(context).size.width.toString()
          ..height = MediaQuery.of(context).size.height.toString()
          ..src = 'assets/html/ui.html'
          ..style.border = 'none');

    return const SizedBox(
      height: 500,
      child: HtmlElementView(
        viewType: viewID,
      ),
    );
  }
}

Hope this helps someone :)


Specify height for loadRemoteContent content

Allow to open a lightbox by specifying both width and height :
data-width="[0-9]+" data-height="[0-9]+"
(By default the height is equal to the width, but this is not necessarily desired...)

This is no longer relevant with the latest branch: https://github.com/ashleydw/lightbox/tree/v4_0_1_jquery3_bootstrap4


Build for loader fails on both Ubuntu & Windows

I first went for QEMU to run test programs, but I was not able to build the loader...
[hikari@atlantis loader]$ cargo xbuild --target x86_64-unknown-hermit-loader.json
    Updating crates.io index
   Compiling core v0.0.0 (/home/hlab/hikari/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore)
   Compiling compiler_builtins v0.1.24
   Compiling rustc-std-workspace-core v1.99.0 (/home/hlab/hikari/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/tools/rustc-std-workspace-core)
   Compiling alloc v0.0.0 (/tmp/xargo.0B51MgwlFncp)
    Finished release [optimized] target(s) in 24.39s
  Downloaded bitflags v1.0.4
  Downloaded x86 v0.20.0
  Downloaded raw-cpuid v6.1.0
  Downloaded cc v1.0.46
   Compiling semver-parser v0.7.0
   Compiling cc v1.0.46
   Compiling x86 v0.20.0
   Compiling bitflags v1.0.4
   Compiling rusty-loader v0.2.5 (/home/hlab/hikari/rusty-hermit/loader)
   Compiling multiboot v0.3.0
   Compiling semver v0.9.0
   Compiling rustc_version v0.2.3
error: failed to run custom build command for `rusty-loader v0.2.5 (/home/hlab/hikari/rusty-hermit/loader)`

Caused by:
  process didn't exit successfully: `/home/hlab/hikari/rusty-hermit/loader/target/debug/build/rusty-loader-c19c1aeae5788de3/build-script-build` (exit code: 101)
--- stderr
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }', build.rs:8:5
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

warning: build failed, waiting for other jobs to finish...
error: build failed

Same problem for Win10 and Ubuntu 18.04.
I also gave uhyve a try, but it hangs without giving any output...
[hikari@atlantis hello_world]$ sudo ~/.cargo/bin/uhyve target/x86_64-unknown-hermit/debug/hello_world
^C

(I had to run it as sudo since otherwise there will be a permission error)

I don't think so. uname outputs x86_64

Hm, how do you start the qemu and load the kernel?

As specified in the Redame:
qemu-system-x86_64 -display none -smp 1 -m 64M -serial stdio  -kernel ../rusty-hermit/loader/target/x86_64-unknown-hermit-loader/debug/rusty-loader -initrd target/x86_64-unknown-hermit/debug/hello_world -cpu qemu64,apic,fsgsbase,rdtscp,xsave,fxsr
Stefan Lankes<EMAIL_ADDRESS>于2020年2月1日周六 下午7:47写道：

Hm, how do you start the qemu and load the kernel?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/hermitcore/libhermit-rs/issues/27?email_source=notifications&email_token=ACQQ7NWCFM2A5VVZ734HNPLRAVHM3A5CNFSM4KITR7V2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEKQ2AGA#issuecomment-581017624,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACQQ7NTGFP7Z3RCYF73EXWTRAVHM3ANCNFSM4KITR7VQ
.


PDF Types

I have been unable to use any of my own PDFs - built from scratch or already available.  Are there parameters or pdf version requirements?

No, basically every PDF should work. Can you post one or more examples? Did you use pdf.js or minipdf? How were you unable, i.e. did you get an error, or were the forms ignored, or what happened?

Forgive my delay in responding, I'm trying to diagnosis the problem on my end before I bother you about this.  But I get the following - and variations of them.

Can you upload one of these PDF files somewhere, or alternatively, send it to<EMAIL_ADDRESS>? Does the problem occur when you select PDF.js in the demo?

Fixed in pdfform.js version 1.0.2, which now supports both types of documents you sent me.

I have this same issue with 3 of the 4 forms I'm attempting to solve. What's the best pdf version to save as? Trying to use pdf.js with 1.6 and 1.4 at the moment.


Failure Cases Responses missing from Specifications

It would be helpful if somone could specify the return code and formats for failure cases in :
https://github.com/docker/libnetwork/blob/master/docs/ipam.md
e.g
https://github.com/docker/libnetwork/blob/master/docs/ipam.md#requestpool
failure cases format/response codes returned are missing.

Pending upate.

@codevulture It has been detected that this issue has not received any activity in over 6 months. Can you please let us know if it is still relevant:

For a bug: do you still experience the issue with the latest version?
For a feature request: was your request appropriately answered in a later version?

Thank you!
This issue will be automatically closed in 1 week unless it is commented on.
For more information please refer to https://github.com/docker/libnetwork/issues/1926

@GordonTheTurtle : Thanks for update, I think response codes still needs to be added but it can be closed for now as it is not a bug, I will upload the changes for it in PR.


Add pie cooldown indicator

Adds an option to show pies for the cooldown.
I left some TODOs in there because I ran out of time, but feel free to build off this.

Closing in favor of #4.


Get rid of this repo

Surely it's time to fold [almost] everything into purescript-language-server

Done


Add management command to create realms

This series also cleans up several problems in the existing create_user management command and removes a lot of code duplication.
Replaces #20075.

LGTM, just a couple of side-notes. CI is failing coverage, but I think we just want to add # nocoverage for that?

Added nocoverage to deal with CI, and added an assertion as discussed above. Thanks for the review!

Tagged to merge automatically once CI passes.


N6001: Update create-tarball script to handle symlinks

The original script would prepend oneapi-asp-b6001/ to the symlink paths, which would make them unusable later. This change simplifies the tar process and looks to work better (symlinks at kernel-build location and Quartus-build location look good).

This came up during Daniel's testing with the nightly ASP build (which is currently unusable).


how to improve the simulation speed for beamdyn

Is your feature request related to a problem? Please describe.
I have used beamdyn to model a 16MW wind turbine, with around 250m rotor diameter and around 65 beam sections for one blade, and found that I have to use a time step as small as 0.0001 to have converge result at the start of the simulation, which makes the simulation speed very slow, need around 2hours for 100s simulation.
Describe the solution you'd like
How could I increase the time step to speed up the simulation and not get diverge result? What is worthy for me to have a try?
Describe alternatives you've considered

Additional context

Dear @WANGSUYU0809 ,
Similar questions about speeding up BeamDyn simulations have been asked before.  See #1605, #1496.
In #1605, we @jjonkman mentioned that we are working on a new tight coupling scheme that will dramatically improve the calculation time for simulations involving BeamDyn.  Development of the new solver has been difficult and a slow process, so we are behind schedule from what we stated in that issue.  We now expect this will be ready for the v5.0.0 release in the June-July 2024 timeframe.
Regards,

Hi Andy,
Thanks for your reply!  I have further questions.
When I build the aerodynamic model of the blade, I use the aerodynamic reference center (normally 25% of the chord length from leading edge) as the reference line, which is represented by BlCrvAC and BlSwpAC in the aerodyn file, and I specify the aerodynamic twist angle in BlTwist.
My first question is how to define BlCrvAng, and why I need to define this value?
Besides, should I also use this aerodynamic reference line as the axis to define beam  in Beamdyn, which is represented by kp_xr, and kp_yr?  And how should I define initial_twist in beamdyn? Should I follow aerodynamic twist? Are there any suggestions for modeling long and flexible blade in Beamdyn which helps converge?
Best Regards,

Dear @WANGSUYU0809,
Regarding BlCrvAng, see a similar question asked and answered in the following OpenFAST issue: https://github.com/OpenFAST/openfast/issues/451.
In most cases, the aerodynamic reference line in AeroDyn and the structural reference line in BeamDyn would differ.  In BeamDyn, the structural reference line (defined via kp_xr, kp_yr, kp_zr, and initial_twist) should locate the origin and orientation of the sectional mass and stiffness matrices specified in the BeamDyn blade file.  In general, we recommend that you define the structural reference line in BeamDyn to be a smooth curve without much curvature.  (There is no equivalent restriction for the aerodynamic reference line.)
Best regards,

Thanks for your answers, it helps me solve my question.


add shape comment

Stack from ghstack (oldest at bottom):

#514
-> #513

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

Comparison is base (6433f8f) 75.57% compared to head (e9d0d03) 75.57%.

Additional details and impacted files
@@                  Coverage Diff                   @@
##           gh/ebsmothers/24/base     #513   +/-   ##
======================================================
  Coverage                  75.57%   75.57%
======================================================
  Files                        234      234
  Lines                      16110    16110
======================================================
  Hits                       12175    12175
  Misses                      3935     3935

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


Enhance submit_block

In order to support block production recovery, we should enhance the submit_block request and response in the following ways:

Add a boolean flag to submit_block_request that indicates whether the blocks origin is from a local block producer or not.
Add repeat int to submit_block_response which is suitable to return an array of indices of failing transactions.

Closing this pending further discussion.


Migrate to .tscn/.tres and fix movement jitter

Great work @caryoscelus !
I didn't have the time to check the PR on detail, but I trust it's ok.


[#6943] Remove duplicated code of Point class

Codecov Report

Merging #6944 into master will decrease coverage by 0.00%.
The diff coverage is 80.17%.

@@            Coverage Diff             @@
##           master    #6944      +/-   ##
==========================================
- Coverage   39.33%   39.33%   -0.01%
==========================================
  Files        3222     3207      -15
  Lines       95062    94675     -387
  Branches    11891    11847      -44
==========================================
- Hits        37390    37237     -153
+ Misses      54685    54454     -231
+ Partials     2987     2984       -3

Impacted Files
Coverage Δ

...oint/web/view/DoubleApplicationStatSerializer.java
0.00% <0.00%> (ø)

...inpoint/web/view/IntApplicationStatSerializer.java
0.00% <0.00%> (ø)

...npoint/web/view/LongApplicationStatSerializer.java
0.00% <0.00%> (ø)

.../chart/application/DoubleApplicationStatPoint.java
75.00% <75.00%> (ø)

...tat/chart/application/IntApplicationStatPoint.java
75.00% <75.00%> (ø)

...at/chart/application/LongApplicationStatPoint.java
75.00% <75.00%> (ø)

...o/stat/chart/application/ApplicationStatPoint.java
90.47% <90.47%> (ø)

...chart/application/ApplicationActiveTraceChart.java
64.70% <100.00%> (ø)

...tat/chart/application/ApplicationCpuLoadChart.java
72.72% <100.00%> (ø)

.../chart/application/ApplicationDataSourceChart.java
48.14% <100.00%> (ø)

... and 31 more

Continue to review full report at Codecov.

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


Workflows not triggered

The workflows do not seem to be triggered on the PRs that are created, so the checks are never satisfied. See  OpenEVSE/openevse_esp32_firmware#838 for example.
The workflow is here: https://github.com/OpenEVSE/openevse_esp32_firmware/blob/master/.github/workflows/dependabot.yml

Hum... looks like this is by design on GitHub's part:

When you use the repository's GITHUB_TOKEN to perform tasks, events triggered by the GITHUB_TOKEN, with the exception of workflow_dispatch and repository_dispatch, will not create a new workflow run. This prevents you from accidentally creating recursive workflow runs. For example, if a workflow run pushes code using the repository's GITHUB_TOKEN, a new workflow will not run even when the repository contains a workflow configured to run when push events occur.

https://docs.github.com/en/actions/security-guides/automatic-token-authentication#using-the-github_token-in-a-workflow


Support USGovernmentCloud in Azure image builds

As a developer, I need to do Azure image builds against USGovernmentCloud.
Currently, there is no way to set the Azure cloud environment. We were able to set the Packer overrides for this in the Kubernetes Image Builder, but found no way to pass the correct values to the Azure Go SDK that is used.

Resolved and released in version 1.20.0


Open Source Model Eval Support?

Hi, thanks for the amazing work!
Do we currently have support for evaluating OSS models? I've run openfunctions_evaluation.py however eval_runner.py does not parse result.json.
Any help would be greatly appreciated!

Hi again @andyzoujm ,
Please see #314 .
Let me know if you have any questions!

Thank you - it worked smoothly!


Updated top level section descriptions and landing page content

What is the context of this PR?
Updated top level section descriptions and landing page content:

Guidance
Foundations
Components
Patterns

Also updated the homepage card descriptions for these.
How to review
Check content in these pages.

 Content improvements to top level section intros


Dramacool kodi add on 3.0.3 not showing video folders

When going into any menu section, I am not seeing any episodes or folders.

Currently using it now with no issues. Is resolveurl all the way updated?

I went to manage decencies and checked and resolveurl is 5.1.70.

@abikeaway the addon pulls data from these 2 websites: watchasian.sh, www1.dramacool.fo
You should try to see if you can access these 2 websites or not, it's possible your ISP has blocked it

Www1 dramacool.ee is working as of this morning. The rest all doesn't work

This is the url:
https://www1.dramacool.ee/

ok, then i think you face the same problem as me @Dor1813 , where our ISP blocks watchasian.sh (but doesn't block www1.dramacool.fo or www1.dramacool.ee). So what I did is I manually removed 'watchasian.sh' from the list of domains in request.py file.
@groggyegg I think in your Request.get method, this line is throwing SSLError if the network blocks access to the site. I guess you can either add arg verify=False, or a try-except block to catch it:
response = self.session.get('https://{}{}'.format(domain, path))

Cool, verify=False is probably the preferred way.
Also, is www1.dramacool.ee/ compatible with the existing parser?
Will probably fix this during the weekend if no PR is up.

@groggyegg yes, in fact www1.dramacool.fo redirects to www1.dramacool.ee, and my addon is still working well with only www1.dramacool.fo enabled
>>> response = session.get('https://{}'.format('www1.dramacool.fo`), verify=False)
>>> response.url
'https://www1.dramacool.ee/'

Can someone verify if this issue has been fixed in latest version?

Somehow the fix worked for me.  I can see episodes and folders now.

Thanks so much @groggyegg for fixing everything.  Now it's working well.


Do you think it'd be possible to open the commit editor via nvr in a floating window as well?

Pretty much title...
Could be cool to open a floating window on top of the lazygit one. Just a thought :) Don't know if it's possible or not.

Yeah, I think it would be technically possible.
I would have to set it up such that

nvm opens the editor in a floating window instead of just calling nvm directly.
the lazygit.nvim's floating window autocmd to close it should be removed in this case where a user would want to do this

I'm curious why you would want that though. If you didn't use nvm, then the commit editor would open within the floating window that lazygit.nvim opens. Is that what you are trying to do?
Or are you trying to have the floating window for the commit editor as well as the floating window for lazygit at the same time? The latter won't be useful unless you use transparency or you can move the floating windows so you see both at the same time.
Does that make sense?

Well I don't like using the embedded nvim inside of the terminal (because sometimes I press esc to the wrong thing or stuff like that). You can ignore the request though, was just wondering if it was possible because I like floating windows. No big reason :laughing:

@tjdevries I was hoping this was possible too. For what it's worth, here is my workaround:
-- Any embedded terminals will use a neovide popup as default editor
vim.env.EDITOR = "neovide --geometry 60x40 --wayland-app-id neovide-floating --nofork -- +startinsert"

Neovide is a Neovim GUI. With this specific incantation, it launches as a floating window at the center of the screen in insert mode, ready to type. Works like a charm.

It would be nice if it was possible to do this with a floating window instead, but I suspect that would require a plugin working together with nvr. Probably out of scope for lazygit.nvim.


Octoprint settings?

What are the right settings to use the simulated octoprint?
Without IP, the upload button is not displayed
With correct IP, the upload works, but PS throws an error not being able to upload (connection test fails too, that is to be expected)
What settings would you recommend?

If IP:Port is correct, opening it in the browser will display a 404 instead of any other error. Please make sure the port number is correct.

Ah, OK. port 8888 seems to be correct default.
Now, "RESOLVING ADDRESS" pops up and stays there forever. I prefer the "error" edition  ;-)

Please try this:

If you are running sm2up on another computer/nas/octopi, please make sure that the firewall is not blocking that port.
prusaslicer/s3d/ideamaker via OctoPrint protocol -> sm2up Dummy-OctoPrint-Service -> Snapmaker Printer via SM Protocols
That is how it works.


79930 Unaccept

DevOps#79930

Line 439 in  CreateInvitationCommandHandler.cs has a OutlookMode.All which can be removed (default value)

Line 439 in  CreateInvitationCommandHandler.cs has a OutlookMode.All which can be removed (default value)

If you create a new migration now, is Up and Down empty?

@janid1967 I don't understand

If you create a new migration now, is Up and Down empty?

@janid1967 I don't understand

I guess this is good to go,
(Generally you should be careful when changing a migration after it has been created and used. We can have a chat about that if you want, but this code can be merged)

I guess this is good to go,
(Generally you should be careful when changing a migration after it has been created and used. We can have a chat about that if you want, but this code can be merged)


Sync returns state

Expected Behavior
Sync returns full state on first nonce it is syncing from, then the update requests.
Current Behavior
Returns all update requests atm, making it difficult to rebuild intermediary states without starting from 0. Need this to add in client responses to disputes, and to improve client efficiency
Duplicate of issue in spank board
https://teamspank.atlassian.net/secure/RapidBoard.jspa?rapidView=29&projectKey=BSU&modal=detail&selectedIssue=BSU-128&assignee=rahul

@rhlsthrm @ArjunBhuptani i think with the sync from latest changes, and the new imported functions, we can close this issue.


Add Docker image build to release process

What would you like to be added:
As a follow up to https://github.com/open-component-model/ocm/pull/389 the new make target "image.multi" should be added to the release process.
Why is this needed:
A Docker image for the ocmcli on all platforms should be created.

I guess this is not required as @mandelsoft has added this target already.


fix quay.io auth issues

Signed-off-by: Edmund Ochieng<EMAIL_ADDRESS>Fix authentication issues for  the quay.io container registry

already merged the changes.


FR:  as option for Two Spaces Between Lines with Content

Is Your Feature Request Related to a Problem? Please Describe.
It is not a problem, but
 can be used for better readability.
Describe the Solution You'd Like
A option to select two spaces or

line1
line2

line1

line2

Hey @HemanthJabalpuri . This is something that would be feasible by adding an option for what to use as the line break. It would require a code change to add the option and a change to the following logic here.
Were you thinking that this would have the following options for the two spaces between lines with conent?

 -- correct, but not where xml is concerned

 -- the more correct option

I went ahead and merged the PR for these changes. I plan to make a release later this week, but we will see if that pans out.
Please let us know if there is an issue with this on master or in the next release.

I went ahead and merged the PR for these changes. I plan to make a release later this week, but we will see if that pans out.
Please let us know if there is an issue with this on master or in the next release.


Why not log output?

Training solov2, I got nothing output:
# model settings
model = dict(
    type='SOLO',
    pretrained='torchvision://resnet50',
    backbone=dict(
        type='ResNet',
        depth=50,
        num_stages=4,
        out_indices=(0, 1, 2, 3), # C2, C3, C4, C5
        frozen_stages=1,
        style='pytorch'),
    neck=dict(
        type='FPN',
        in_channels=[256, 512, 1024, 2048],
        out_channels=256,
        start_level=0,
        num_outs=5),
    bbox_head=dict(
        type='SOLOV2Head',
        num_classes=81,
        in_channels=256,
        stacked_convs=4,
        seg_feat_channels=256,
        strides=[8, 8, 16, 32, 32],
        scale_ranges=((1, 96), (48, 192), (96, 384), (192, 768), (384, 2048)),
        sigma=0.2,
        num_grids=[40, 36, 24, 16, 12],
        cate_down_pos=0,
        with_deform=False,
        loss_ins=dict(
            type='DiceLoss',
            use_sigmoid=True,
            loss_weight=3.0),
        loss_cate=dict(
            type='FocalLoss',
            use_sigmoid=True,
            gamma=2.0,
            alpha=0.25,
            loss_weight=1.0),
    ))
# training and testing settings
train_cfg = dict()
test_cfg = dict(
    nms_pre=500,
    score_thr=0.1,
    mask_thr=0.5,
    update_thr=0.05,
    kernel='gaussian',  # gaussian/linear
    sigma=2.0,
    max_per_img=100)
# dataset settings
dataset_type = 'CocoDataset'
data_root = 'data/coco/'
img_norm_cfg = dict(
    mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375], to_rgb=True)
train_pipeline = [
    dict(type='LoadImageFromFile'),
    dict(type='LoadAnnotations', with_bbox=True, with_mask=True),
    dict(type='Resize',
         img_scale=[(1333, 800), (1333, 768), (1333, 736),
                    (1333, 704), (1333, 672), (1333, 640)],
         multiscale_mode='value',
         keep_ratio=True),
    dict(type='RandomFlip', flip_ratio=0.5),
    dict(type='Normalize', **img_norm_cfg),
    dict(type='Pad', size_divisor=32),
    dict(type='DefaultFormatBundle'),
    dict(type='Collect', keys=['img', 'gt_bboxes', 'gt_labels', 'gt_masks']),
]
test_pipeline = [
    dict(type='LoadImageFromFile'),
    dict(
        type='MultiScaleFlipAug',
        img_scale=(1333, 800),
        flip=False,
        transforms=[
            dict(type='Resize', keep_ratio=True),
            dict(type='RandomFlip'),
            dict(type='Normalize', **img_norm_cfg),
            dict(type='Pad', size_divisor=32),
            dict(type='ImageToTensor', keys=['img']),
            dict(type='Collect', keys=['img']),
        ])
]
data = dict(
    imgs_per_gpu=2,
    workers_per_gpu=4,
    train=dict(
        type=dataset_type,
        ann_file=data_root + 'annotations/instances_train2017.json',
        img_prefix=data_root + 'train2017/',
        pipeline=train_pipeline),
    val=dict(
        type=dataset_type,
        ann_file=data_root + 'annotations/instances_val2017.json',
        img_prefix=data_root + 'val2017/',
        pipeline=test_pipeline),
    test=dict(
        type=dataset_type,
        ann_file=data_root + 'annotations/instances_val2017.json',
        img_prefix=data_root + 'val2017/',
        pipeline=test_pipeline))
# optimizer
optimizer = dict(type='SGD', lr=0.00125, momentum=0.9, weight_decay=0.0001)
optimizer_config = dict(grad_clip=dict(max_norm=35, norm_type=2))
# learning policy
lr_config = dict(
    policy='step',
    warmup='linear',
    warmup_iters=500,
    warmup_ratio=1.0 / 3,
    step=[27, 33])
checkpoint_config = dict(interval=1)
# yapf:disable
log_config = dict(
    interval=10,
    hooks=[
        dict(type='TextLoggerHook'),
        # dict(type='TensorboardLoggerHook')
    ])
# yapf:enable
# runtime settings
total_epochs = 36
device_ids = range(8)
dist_params = dict(backend='nccl')
log_level = 'INFO'
work_dir = './work_dirs/solo_r101_3x'
load_from = None
resume_from = None
workflow = [('train', 1)]

only log.json saved into work_dir, what did I miss?

No log output on terminal, not even mmdetection version info

I have the same problem when I train my model, it seems not to be trained because it took onel a few minutes for training, while several days ago I need 10 hours to train.
2020-04-14 15:23:10,225 - mmdet - INFO - load model from: torchvision://resnet101
2020-04-14 15:23:10,426 - mmdet - WARNING - The model and loaded state dict do not match exactly
unexpected key in source state_dict: fc.weight, fc.bias
loading annotations into memory...
Done (t=0.05s)
creating index...
index created!
2020-04-14 15:23:11,914 - mmdet - INFO - Start running, host: bys2058@bys2058, work_dir: /home/bys2058/work_dirs/mask_rcnn_r101_fpn_1x
2020-04-14 15:23:11,914 - mmdet - INFO - workflow: [('train', 1)], max: 12 epochs
Process finished with exit code 0

what do u mean? It actually training since my log json generated and I can see it log every 10 interval just like I configed it.
But I can't see any outputs in terminal.

Perhaps your problem is not exactly similar to me.  I cannot train my model and don't know why.

That's weird. Are you just using the official solov2 repo?

Yes. Doesn't change anything, it trained but no log on terminal, however generated into json file.

Were you running this repo? https://github.com/Epiphqny/SOLOv2
I just tried it and the logs were printed in the terminal.

Hi, @
hellockhttps://github.com/hellock
Do you know the reason why I cannot train my model any more, even though I reinstalled MMdetection again. it shows like this:
2020-04-20 10:31:18,552 - mmdet - INFO - load model from: torchvision://resnet50
2020-04-20 10:31:18,655 - mmdet - WARNING - The model and loaded state dict do not match exactly
unexpected key in source state_dict: fc.weight, fc.bias
loading annotations into memory...
Done (t=0.03s)
creating index...
index created!
2020-04-20 10:31:20,197 - mmdet - INFO - Start running, host: bys2058@bys2058, work_dir: /home/bys2058/work_dirs/cascade_mask_rcnn_r50_fpn_1xa
2020-04-20 10:31:20,197 - mmdet - INFO - workflow: [('train', 1)], max: 10 epochs
Process finished with exit code 0
Just a few days ago, I can train most models in MMdetection.
Thanks!

From: Kai Chen<EMAIL_ADDRESS>Sent: Monday, April 20, 2020 10:26 AM
To: open-mmlab/mmdetection<EMAIL_ADDRESS>Cc: Yongsheng Bai<EMAIL_ADDRESS>Comment<EMAIL_ADDRESS>Subject: Re: [open-mmlab/mmdetection] Why not log output? (#2452)
Were you running this repo? https://github.com/Epiphqny/SOLOv2https://urldefense.com/v3/__https://github.com/Epiphqny/SOLOv2__;!!KGKeukY!nIVbHlu54zYuRZssjFhKTTTZzTAqDbeChDmSng0uQGlcXUinKLUPYpaPqYn0CF9A$
I just tried it and the logs were printed in the terminal.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://urldefense.com/v3/__https://github.com/open-mmlab/mmdetection/issues/2452*issuecomment-616588991__;Iw!!KGKeukY!nIVbHlu54zYuRZssjFhKTTTZzTAqDbeChDmSng0uQGlcXUinKLUPYpaPqUafKI1R$, or unsubscribehttps://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/AKQHMIXK4ZGPFZ7VQMCF2V3RNRLR7ANCNFSM4MHXEZ6A__;!!KGKeukY!nIVbHlu54zYuRZssjFhKTTTZzTAqDbeChDmSng0uQGlcXUinKLUPYpaPqdn4TC4q$.

Perhaps your problem is not exactly similar to me. I cannot train my model and don't know why.

Facing the same issue. Can anyone give some solution?

I get same problem, there` no loss output during training.

@littleTaodog, yes, I once faced the same problem as you said. I found it is a problem when 'enumerate' is used. You can try #2499, which title is Error in enumerate(data_loader) #2499.

Yes. Doesn't change anything, it trained but no log on terminal, however generated into json file.

I met the same problem. Have you solve it? @jinfagang

I experienced no log during training recently, I don't know if it's your case as well but sharing anyway.
In my case, for reasons irrelevant to the explanation, each epoch was made of a small amount of batches, (less than 50),
and since log_config's interval=... defaults to a larger number, logging was never triggered.
https://github.com/open-mmlab/mmdetection/blob/master/configs/_base_/default_runtime.py#L4
The solution for me was simply to reduce the interval value (either that or modify the epoch definition)

I met the same problem. Can someone help to solve the problem？

Same problem here. Anyone?


Privacy manifest causing collisions through CocoaPods

The 6.28.0 release added a privacy manifest, but its current setup with CocoaPods is causing collisions with other privacy manifest files. An example error we get is:
Error in fail: Multiple files would be placed at "PrivacyInfo.xcprivacy" in the bundle, which is not allowed.
I believe this is because the PrivacyInfo.xcprivacy is referenced as a resources in the podspec instead of using resource_bundle. The latter would avoid collisions by putting the privacy manifest file in subfolders for each dependency, instead of going in the app bundle's root. More context on this here. I think the fix would be to simple swap resource with resource_bundle here.

Hi @nabs-m
Thank you for reaching out and raising this issue.
I have passed this information onto our engineers so that they may investigating the approach you suggested further. Once we have more information to share we will be sure to update this thread.

I see this was fixed here. Thanks folks.


Do not assume there are execution modes

Fixes #4550

Do not assume that an entry point has any associated execution modes
when checking derivative requirements

VS2015 failure looks like a flake:
Access violation[1101/1103] Building CXX object test\val\CMakeFiles\test_val_fghijklmnop.dir\val_modes_test.cpp.obj


ENH: support RGB image in windowed sinc interpolation

PR Checklist

[X] :no_entry_sign: Makes breaking changes
[X] :no_entry_sign: Makes design changes
[X] :no_entry_sign: Adds the License notice to new files.
[X] :no_entry_sign: Adds Python wrapping.
[X] :no_entry_sign: Adds tests and baseline comparison (quantitative).
[X] :no_entry_sign: Adds test data.
[X] :no_entry_sign: Adds Examples to ITKExamples
[X] :no_entry_sign: Adds Documentation.

Just instantiating with RGBPixel will test it. I will add it, as well as the missing typename.

Backported this to release to help address #1100


[CLOSED] Rename slug to base_path

 Issue by tommyp
Wednesday 04 February 2015 at 15:39 GMT
Originally opened as https://github.com/alphagov/specialist-publisher/pull/408

We don't call them slugs when it comes to the content_items. Also this was duplicated in the schemas and wasn't used.

tommyp included the following code: https://github.com/alphagov/specialist-publisher/pull/408/commits

 Comment by evilstreak
Thursday 05 February 2015 at 09:47 GMT

:+1:


Cross-correlation Histogram

This task will implement an initial version of the cross-correlation time histogram based on the Binning class.

@etorre
Currently, if you supply a kernel and select normalization, the function will first smooth the CCH, then normalize to the central bin. Is this the desired order?

Started to combine the CCH function by INM-6 and by btel. Found the following initial strategy:

combine both functions in a single function, parameter lets user choose whether to optimize speed (btel) or memory (inm).
inm function lacks normalization of border bins by simply cutting away L bins at the borders, where [-L,L] is the window size
inm function lacks unsymmetric windows
btel function lacks normalization by the number of potential overlaps of border bins
btel functions lacks kernel convolution
write unit test to compare both implementations (partially done)
combine doc strings

Current work in branch branch feature/cch:
https://github.com/INM-6/elephant/tree/feature/cch


its not working

i've used it the same as in the example
name: CI

on:
  push:
    branches: [ci-cd]

jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node-version: [12.x]

    steps:
     - uses: actions/checkout@v1
     - name: Use Node.js ${{ matrix.node-version }}
       uses: actions/setup-node@v1
       with:
         node-version: ${{ matrix.node-version }}
     - uses: cardinalby/webext-buildtools-chrome-crx-action@v1
       with:
         extensionDir: 'extension'
         crxFilePath: 'extension.crx'
         privateKey: ${{ secrets.CHROME_KEY }}
     - run: ls -l

in my extension dir i have the chrome extension and at the end of the workflow nothing happens and there is no output crx file.

Sorry, it was still in development and testing. Now (1.0.4 or  v1) it's tested and I will try not to break it :) You can check the successfully built example at https://github.com/cardinalby/memrise-audio-uploader/blob/master/.github/workflows/buildAndDeploy.yml


Fix npm ls related issues

The npm ls command will return a non-zero error code if there are issues like unmet dependencies or other things it deems "not good". This will fail the current action execution even though the npm install command was successful. It appears npm ls when --all is specified does "additional" check. This makes those commands always succeed and also does some additional checking on the results of the generated JSON.
Example of issue https://github.com/Brightspace/d2l-rubric/actions/runs/4553819238/jobs/8030861116#step:6:784.
Example with fix https://github.com/Brightspace/d2l-rubric/actions/runs/4554738712/jobs/8033066919#step:6:783
This will still show the error npm ls produced but ignore it in favour of trusting the npm install result.

NM that causes badness on the next npm ci. Guess it's better to have it error early instead of opening the PR and failing. FYI something is up with puppeteer, it seems to be causing the issue.
https://github.com/Brightspace/d2l-rubric/actions/runs/4554780071/jobs/8033118950?pr=2609

Running a second npm i after running the update seems to fix the issue. For some reason deleting node_modules and running npm i make an invalid setup for typescript. Re-running npm i fixes the dependency. No idea why but it works.


⚠ Bofrost.at has degraded performance

In b0f1061, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1421 ms

Resolved: Bofrost.at performance has improved in 4c7559f after 8 minutes.


Remove websocket related code from codebase.

From #638

Just noticed, there's a member web_socket_key_ that is not yet deleted.

Good eye!  Thanks, I removed it.


PSOpenAI-mini

Hello, considering local OpenAI API endpoints are getting popular, any chance for something like PSOpenAI for local APIs?
These apps run OpenAI APIs locally:
https://github.com/open-webui/open-webui
https://jani.ai
And also VS Code's AI Toolkit.

I wrote a module for that but it's specific to that implementation.
https://github.com/potatoqualitee/aitoolkit
btw, Irwin Strachan wanted me to pass this on:

That PSOpenAI module is something! I thought I knew PowerShell... He/She is on another level! Oh and the examples, Straight gold! I love the fact he's using classes for structured data! That makes so much sense! Give the developer my regards! Willing to buy him a cup of coffee! :-)

Also I wrote about PSOpenAI here:
https://blog.netnerds.net/2024/08/structured-output-openai-chatgpt-ai-integration-powershell/
I used it to do this:

PSOpenAI can use an OpenAI compatible API server, just specify the local server address in the $env:OPENAI_API_BASE variable. I have tested this in LM Studio.
# This script demonstrates how to use the PSOpenAI to interact with the OpenAI compatible API server
$env:OPENAI_API_BASE = 'http://localhost:1234/v1'
$env:OPENAI_API_KEY = 'dummy-key'

$modelName = 'lmstudio-community/Phi-3.1-mini-128k-instruct-GGUF/Phi-3.1-mini-128k-instruct-Q4_K_M.gguf'
$systemMessage = 'Always answer in rhymes. Today is Thursday'
$userMessage = 'What is the weather today?'

Request-ChatCompletion -Model $modelName -SystemMessage $systemMessage -Message $userMessage

Let me know if you have problems with other local API servers.
And thanks for introducing my module. By the way, I like tea.  (just kidding of course).

Oh, fantastic, thank you! I'll adjust my code. And let Irwin know your tea preference ;)


Add test to the OCM package

Extract the ability to create ComponentVersions into an in-memory OCI repo
Extract creating and managing the Test Environment Increase coverage for the OCM package

I'll do that.


provide a note that emphasizes that implementations are free to trap on vsetvl{i}

I'm OK with vill set if vtail is unsupported. However, I believe we should provide a note that emphasizes that implementations are free to trap on vsetvl{i}

on any specific combination of vtype values
to trap conditionally (typically with a CSR configuration setting)
recommend to not trap on implementation supported vtype settings

Highlight the benefit of immediate trapping (either explicitly itemizing and explaining or referencing another document). [ some of those being: definitive identification of instruction, allowing precise determination of arguments, which in turn allows setting an equivalent vtype (in a typical case substitute tailun for tailag)]
see:
https://github.com/riscv/riscv-v-spec/issues/367#issuecomment-582715647
this was initially raised in the context of the agnostic tail debate

In general, implementations are free to trap on any instruction or any value in general.  Adding a special note here would cause readers to question if trapping is allowed for every other instruction where a note is not present.

@kasanovic  Adding a special note here would cause readers to question if trapping is allowed for every other instruction where a note is not present.
I suspect most readers will not be so confused. It is hardware engineers and EE devlopers that care about such things.
By not adding the note many more will be unaware of the consequences of not trapping.
What does a hardware engineer care about EE and user code challenges?
It is the classic rhetorical question.

OK - we can add a note that if writes of illegal vtype values are not trapped, alternative vector designs can not be emulated as the use of vill is too late to take action.
I will say that the community of hardware engineers are very much the ones that worry when things are not consistent between different instruction descriptions.  I think the important difference here is the defined setting of illegal bit versus undefined reserved behavior on an illegal value.


Add Position class

In our source code we have a few places where we use variables x and y to denote a position.
Let's extract a class for this purpose.

Added a new coordinates class and replaced every x and y variable with the class contents (PS I forgot how to pull request)


added uniqueidentifier, max length helper to handle max, columnid hel…

Changes proposed in this Pull Request
added uniqueidentifier, max length helper to handle max, columnid helper to handle outliers where ordinal 1 does not exist
@DWScripter Admin

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: jackwagons sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


Make selected CropObjects info panel scrollable

Refactor the info panel: bind it to the view & the adapater selection, not the object views' select() and deselect() methods.

The right widget: Carousel

Implemented with the ScrollView, after all.


parameter to disable comments with data being outputted by LocaleAwareAnnotationProcessor

j2cl.data-comments=ON | OFF

closed by #44


[Forge and Fabric 1.18.2 - 1.20] Angel block gets consumed when above or below build limit

Minecraft: 1.19.2
Modloader: Forge 43.2.14
Angel Block Renewd: 1.0
When a player tries to place angel block above or below build limit the ItemStack shrinks when it should not.
Tested dimension: minecraft:the_end

Thanks for reporting and solving the issue


MethodLengthChecker should not count comments

Hi there,
I just noticed that MethodLengthChecker is raised independently of the nature of the lines: I have a method with 23 lines of actual code, yet MethodLengthChecker warning is raised.
In fact my method is longer than 50 lines thanks to multiple comments.
It's possible to have this warning raised only counting the effective code, ignoring commented lines (ie lines starting with // or inside a multiline comment)?
Thanks
edit:
Scala: 2.11.6
sbt: 0.13.8
Scala Style: 0.7.0

If you want to change the method length checker to add an option to ignore comment-only lines, then please go ahead. I don't want to change the behaviour by default though.

@lordgordon I agree that ignoring comments shouldn't be the default behavior of the method length checker. The goal of the checker is raise an alarm when a method grows to big and to complex to comprehend.
If the comments are there to aid comprehension, extract portions of the method into methods of their own with meaningful names and remove comments.
If on the other hand the code is commented out, it's already dead. Just delete it, it's still in the VCS anyway.
Does it make sense?

I agree that changing the default behavior is not a good idea and this could be a new optional feature.
Maybe it's just me, I tend to write a lot of comments, also to add references to actual bug tracking issues to remember why a line of code was added. You know, on big project maintain legacy code is not easy.
I also noticed that empty lines are also counted in the length of a method (sometimes I use empty lines to make the code more readable, to separate).
BTW, of course I'm not talking about commented dead code :)

I know how difficult it is to maintain large legacy code bases. Inflating the code base with comments even more is hardly of any help.
Git commit messages might be a valid alternative to comments for bug tracking references. It is less distracting and is still accessible if needed.
Separating sections of a method with blank lines is an indication of multiple responsibilities of the method. Sections should give you a hint, which portions to extract to methods of their own.
In the end finding other ways to express intent without comments leads to cleaner code.

@shishkin I agree with you that gratuitous comments can add more confusion than they remove in the long run, and that refactoring for clarity should always be preferred.
However, it seems to me that a foundational goal of Scalastyle is to not be overly opinionated, and to offer as much flexibility as possible in defining style requirements.
While ignoring comments in line counts should absolutely not be a default, it should be an option.

@jawshooah Thanks. I didn't know ScalaStyle is aimed to not be opinionated. I though it's the other way around ;) Then of course, it makes sense to accommodate this as an optional feature.

Check out the full list of rules. You'll note that many come in pairs, allowing you to enforce or forbid a given practice depending on which rule you enable. I feel that this implies a lack of opinionation; that is, there is no inherent preference for one choice or the other.
There is, of course, a default configuration, but that's based on the developers' own style preferences.


ElectrumX server connection issues

As part of our work towards ensuring coins listed in our AtomicDEX app are functional, I've implemented a dashboard & API to track the status of electrum servers listed in https://github.com/KomodoPlatform/coins/tree/master/electrums
Dashboard: https://stats.kmd.io/atomicdex/electrum_status/
API: https://electrum-status.dragonhound.info/api/v1/electrums_status
We detected 5/6 of the NMC servers we have listed are failing. Please let me know once it has been resolved, or if some servers are to be removed.
If you would like some help with setting up telegram / discord alerts to warn when servers are failing, we are happy to assist.

You are right. I have done PR #365 to address this issue. Hopefully we can get it merged. I have opened the PR against master branch, but I saw 4.0.6 branch is more recently updated, so the maintainers should properly merge and cherry pick if needed.

@smk762 can you patch KomodoPlatform/coins/blob/master/electrums/NMC so that it reflects the servers in PR #365 please? Those servers are very old, you can run an electrum-nmc client instance to see the servers advertised via the peer to peer mechanism, otherwise the one in PR #365 should suffice.

Can you indicate which (if any) run on SSL/WSS?

Yes, all of them run TCP in port 50001, SSL in port 50002 , WS on 50003 and WSS on 50004 -- the SSL certificate is self signed.
When I say all of them I mean all of the ones added via PR #365 , that I know for sure, but others could support SSL/WSS as well however did no check, for the ones in in the PR I have checked personally.


publish commands should use new -i option

I can make this change only after releasing 0.28 - if I make the change earlier than that publish heroku etc will break because they will install the latest release of Datasette which will not understand the -i option.
This is a one-line fix: replace this:
https://github.com/simonw/datasette/blob/2ad9d15cd6901654e6801e2faa29e6fc08bae5fa/datasette/utils.py#L489
With this: (need to do it for other publishers too though)
quoted_files = " ".join(
    ["-i {}".format(shlex.quote(file_name)) for file_name in file_names]
)

I manually tested this against heroku, cloud run and nowv1 and all three worked as expected - in particular they all offered working "download this database" links.


portable-ruby 2.6.8

macOS Monterey beta 7 ships with Ruby 2.6.8 (on arm64 at least).
It's perhaps a tad early since it only landed with the last beta but I've created this PR to prepare to move to that.
In any case, I'd really like to address #118 before any bottles are built. I feel that issue will start becoming more apparent when we consider moving to newer versions of Ubuntu or if we happen to introduce a gem dependency that is more likely to trigger that issue (we're lucky it doesn't affect anything in the CI flow at the moment).

In any case, I'd really like to address #118 before any bottles are built.

I'm fine with that as long as it beats the public release of Monterey. If it doesn't: we should build these bottles anyway.

Yep that’s fine. I’ll look into it a bit this week maybe.

On 27 Sep 2021, at 12:47, Mike McQuaid @.***> wrote:

In any case, I'd really like to address #118 before any bottles are built.
I'm fine with that as long as it beats the public release of Monterey. If it doesn't: we should build these bottles anyway.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.


Fix : Room with holes

How can I create rooms with holes ?
I have an error in the function Create3Drooms : CurveLoop.Create
These curves are not contiguous. Parameter name: curves

The room with the hole can't be created

for test the issue I have uploaded the file :  example.rvt

Now all internals perimeters are create !


Add required resources to pub/sub in GCP

hey @drewroengoogle can you please elaborate
I want to work on this issues

Hi @andoriyaprashant
This is already completed :) I'll close it!


Update location hierachy and add address

This PR updates Brick's location hierarchy to be logically more aligned to existing models (e.g., IFC, BOT, ISO-12006)
A large part of this update is attributed to a survey by Ambuj Shatdal at Johnson Controls.
Update in High-level Concepts in Location

Basement and Roof now become subclasses of Floor.
Introduce Site: An area containing one or more buildings (adopted from BOT). This is distinguished from haystack:site referring to brick:Building.

Site can hasPart Building

Room is now a subclass of Space. Room is not defined in either BOT or IFC, but they use Space to represent such concepts.
Removing City. I don't know when it came in, but it's too large to model in Brick.

Address

Introduce brick:hasAddress, a subclass of vcard:hasAddress, as a way to associate vcard:Address to brick:Location.

Usage of spaces.

This requires a more extensive discussion. I will create an Issue to discuss this separately.

I think this is a good start.

Sites and Buildings: I'd like to generalize the Site concept to be "an area containing zero or more built structures". This distinction is important because not all built things are buildings (and not all sites have anything built) and we would like to reserve the ability to capture other structures in the built environment that may have their own telemetry and metadata.

Floor vs Storey: the latter is generally thought of a as a more general term for any level part of a building, which can encapsulate concepts like "roof" and "garage" and "basement" that people may not normally think of as "Floors".

City: Interesting discussion as to what it means to be "too big" to model in Brick :), but I'm ok with leaving this off scope for now.

brick:hasAddress: You are proposing a separate property is so that we can add additional restrictions onto its usage, right? I think that's a good decision.

1. `Site`s and `Building`s: I'd like to generalize the `Site` concept to be "an area containing zero or more built structures". This distinction is important because not all built things are buildings (and not all sites have anything built) and we would like to reserve the ability to capture other structures in the built environment that may have their own telemetry and metadata.

I like the intention but I want to clarify the definition. Referring to https://www.thefreedictionary.com/site, a site means an "the place where a structure or group of structures was, is, or is to be located", so basically "zero" doesn't make sense though we can change the terminology of "building" into "structure". Calling a place without nothing as site sounds weird to me (and not sure if it's useful.). What about "area containing one or more structures"?
If you'd like to model traffic data in the future where there is no structure other than the road, it might make sense but not sure even the concept of site can be useful in that case.

2. `Floor` vs `Storey`: the latter is generally thought of a as a more general term for any level part of a building, which can encapsulate concepts like "roof" and "garage" and "basement" that people may not normally think of as "Floors".

Interesting. I wouldn't like to challenge a language issue with a native speaker, but I think I should. I looked up several places but they are interchangeably used.
Floor is a story or level of a building: https://www.thefreedictionary.com/floor
Storey is a floor or level of a building: https://www.thefreedictionary.com/storey
There are some contextual difference: https://english.stackexchange.com/a/238411
but their architectural meanings are the same.
Basement is a floor (or a set of floors): https://en.wikipedia.org/wiki/Basement
I'd say Roof is neither a floor nor a storey but Rooftop is either a floor or a storey (which I should change in the current PR.)
Could you share a source of the argument? I understand it'd feel too natural to you, but a documented source of the argument would be helpful.

3. `City`: Interesting discussion as to what it means to be "too big" to model in Brick :), but I'm ok with leaving this off scope for now.

Yeah, we are including city as a part of the address for now anyway.

I like the intention but I want to clarify the definition. Referring to https://www.thefreedictionary.com/site, a site means an "the place where a structure or group of structures was, is, or is to be located", so basically "zero" doesn't make sense though we can change the terminology of "building" into "structure". Calling a place without nothing as site sounds weird to me (and not sure if it's useful.). What about "area containing one or more structures"?

I think it's important to capture both (1) structures in addition to buildings, and (2) not require there to be any buildings in a site. For the first, there are many built structures that may have telemetry associated that are not necessarily "buildings": parking structures, toll booths, parking lots, and so on.
To the second point, your Site definition includes "was" and "is to be", both of which capture the notion of "zero". The Site concept should be able to be instantiated without having any built structure there. One may still have sensors, meters deployed in a site without having anything built there.

I'm going to question your methodology of appealing to general English dictionaries for defining technical terms :). We really want to be using technical definitions such as from the ASHRAE dictionary or another technical resource
ASHRAE defines "floor area":

the horizontal area within the inside perimeter of the exterior walls of the building space. Also, the sum of the areas of several floors of the building including basements, mezzanine, intermediate floored tiers, and penthouses of headroom height, measured from the exterior faces of exterior walls or from the centerline of walls separating buildings but excluding covered walkways, open roofed-over areas, porches and similar spaces, pipe trenches, exterior terraces or steps, chimneys, roof overhangs, and similar features.

IFC defines "Building storey":

The building storey has an elevation and typically represents a (nearly) horizontal aggregation of spaces that are vertically bound.

So from a technical perspective it sounds like they are nearly interchangeable. What gets left out of those definitions is what practitioners tend to use: merits conversation with JCI, most likely.

To the second point, your Site definition includes "was" and "is to be", both of which capture the notion of "zero". The Site concept should be able to be instantiated without having any built structure there. One may still have sensors, meters deployed in a site without having anything built there.

"Was" and "is to be" mean different things than "zero". Of course, sensors and meters can be deployed anywhere, but they don't always need to be associated with a certain symbolic "site" regardless. Why do we even want to call someplace without any/to-be/once structures? Any use cases?

IFC: A site is a defined area of land, possibly covered with water, on which the project construction is to be completed. A site may be used to erect, retrofit or turn down building(s), or for other construction related developments.
ISO6707-1: area of land or water where construction work or other development is undertaken.

I'm going to question your methodology of appealing to general English dictionaries for defining technical terms :). We really want to be using technical definitions such as from the ASHRAE dictionary or another technical resource
ASHRAE defines "floor area":

the horizontal area within the inside perimeter of the exterior walls of the building space. Also, the sum of the areas of several floors of the building including basements, mezzanine, intermediate floored tiers, and penthouses of headroom height, measured from the exterior faces of exterior walls or from the centerline of walls separating buildings but excluding covered walkways, open roofed-over areas, porches and similar spaces, pipe trenches, exterior terraces or steps, chimneys, roof overhangs, and similar features.

IFC defines "Building storey":

The building storey has an elevation and typically represents a (nearly) horizontal aggregation of spaces that are vertically bound.

So from a technical perspective it sounds like they are nearly interchangeable. What gets left out of those definitions is what practitioners tend to use: merits conversation with JCI, most likely.

It is always nice to have good references. The only difference between ashrae:floor_area and ifc:storey seems to be whether the entity is surrounded by walls or not. With the difference, terraces are not a part of floors in ashrae:floor. Other than that, a major distinction would  be "roof" (differentiated from rooftop).
I think Storey is more generalizable (regardless of whether we want the generalizability or not) and Floor is more commonly used in HVAC systems. I'd be happy to change Floor to Storey if other people agree. If we stick to Floor, the only difference we need to make is to remove Roof from the Floor subtree.

"Was" and "is to be" mean different things than "zero"

True! What I said was they capture the notion of there not being anything there at a point in time. Think about how the structures/things associated with a Site may change over time. In the lifecycle of real estate, construction, property management, building management, sensor network management, and so on I don't think it's a very controversial decision to model a Site without necessarily having anything physically built or even anything included in the model.
What if I have some land and I raze the building that's there? Can I no longer model that as a site? What if I am using a Site to plan out future buildings and want to model the buildings and supporting infrastructure as that site is developed? Representing "there is nothing here (yet)" is a very useful concept to model

Sure, I was fine with saying "the place where a structure or group of structures was, is, or is to be located" but not just "zero structures". I will put the definition in the next PR after we discuss Floor vs. Storey tomorrow.
Thanks for the comments!

Cornell has "facilities" rather than "buildings" and "floors."  A "site" is usually a geographic region that is used to describe the scope of a project which may or many not include one or more facilities.  For example, our three solar farms are sites but they don't have any facilities.

Sorry to be late, but Rooftop as a location will clash with Rooftop HVAC equipment.
Could it be better to leave Roof as Floor subclass, although there are sloped Roofs that are not Floors?

Hi @JGD-Sistrol. We have Rooftop_Unit or RTU for representing what you wanted to describe. Would it solve your problem?

RTU or Rootyp_Unit vs Rooftop: Fully solved, many thanks

@jbkoh it looks like the tests are failing due to the shapes still not being up to date. I checked out the update-locations branch and it doesn't look like it's fully up to date with the master branch.
Fixing the build should be as simple as merging in the latest from master branch. Let me know when you get a chance to run that and push any last changes. Hopefully we can merge this early next week?

One other question: with the room use designation modelling we've discussed, we may end up removing the different room subclasses that are currently defined in the file. Do we want to remove those now or do you think it is better to wait until the room use modelling is fully thought through?

The current PR is mostly incremental. We can remove the usage-related locations when we have a concrete plan later.

@gtfierro There is an additional change I just pushed in this PR because I thought it was minor, but maybe not. Can you quickly look at the last two commits?
The issue is that generate_brick.py and generate_shacl.py add a newline at the end of the turtle files. I updated the serialization function to strip the spaces. However, somehow, pre-commit detects the generated files are different. I checked those files at the binary level, and they were equivalent.
If it takes time to fix this, I will revert the last two commits.

Ok I'll take a look tonight!

@gtfierro Thanks. I updated the above comment with more details.

I was able to get it to work with the following serialization code:
# serialize to output
with open("Brick.ttl", "wb") as fp:
    fp.write(G.serialize(format="turtle").rstrip())
    fp.write(b"\n")

Not quite sure why it ends in LF (which is preceded by 0x00 when I look at it through hexdump), which is really weird. Finishing it off with the newline character after manually stripping the right-sided whitespace seems to work ok though

That works. I just pushed the fix. Thanks for the help!
I will merge this once it passes the tests.


feat: container level security context

Hi!
The feature differentiate securityContext on the pod and container level. It makes the 'k6-operator` capable to operate on K8S >= 1.25 when PSS (Pod Security Standards) the built-in Pod Security Admission controller is in place and level is set to Restricted.
Sample usage:
apiVersion: k6.io/v1alpha1
kind: TestRun
spec:
  runner:
   securityContext:
     runAsNonRoot: true
   containerSecurityContext:
     allowPrivilegeEscalation: false

Hi @llaszkie, thanks on working on this!
FYI, I'll be able to review this PR fully on the next week. For now, just one question: you chose to add a new field to Pod.
Kubernetes does have 2 separate objects but since our TestRun API doesn't expose containers, a new field has to be added with a totally new name containerSecurityContext. Have you considered making a wrapper struct securityContext instead of a new field that will contain fields from both objects and then can be reduced to each with .ToPodSecurityContext() and .ToContainerSecurityContext() methods? This is the approach that I wanted to explore in context of this issue but didn't have time to dig into details yet: hence, the question :slightly_smiling_face:

Hi @yorugac ,
Yes - I was considering the wrapper solution - as suggested in the #297. But it could bring more challenges than benefits. In the K8S definitions those contexts are defined separately ([pod here](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#podsecuritycontext-v1-core and container here), but they overlap in some attributes (sic!), like seccompProfile. And it is a valid use case (for example for pod volumes) - the overlap handling is defined in spec too. How then you would distinguish the user intention to set the one on the Pod, but not on the Container in your API exposing only combined wrapper?
What could be done instead is to explicitly expose Container in your API. It would even more align both models (K8S and K6) and solution could be cleaner? Let me know how about that approach.

What could be done instead is to explicitly expose Container in your API

WDYM by that?
After some looking into this, yes, I agree that there's obviously a goal of exposing a more granular control over security context in Kubernetes definitions, hence two objects. It'd be nice if we could avoid over-complicating our API. I think the main problem with the current implementation is that containerSecurityContext is being passed only to the main container and not to init containers. It probably should be passed everywhere if it is defined.

init containers

I.e. here: https://github.com/grafana/k6-operator/blob/main/pkg/resources/jobs/helpers.go#L120-L147

What could be done instead is to explicitly expose Container in your API

I was thinking about extracting the container settings to a separate object embedded within the Pod. Probably too much overhead 😄
Thanks for the hint for the init containers - absolutely right. Fixed.

@llaszkie, apologies for the delay. Thanks for the update; the changes seem to be fine :+1: But could you please rebase the branch against main? It can't be merged ATM.

Good morning! @yorugac: rebased. I suppose we are good to go now :-)


Write instructions for publishing a release

like https://github.com/jspecify/jspecify/pull/187#issuecomment-873183875 but nicer

Maybe don't use JDK 21+, though probably it would be fine.

TODO: Do we need to change the -snapshot line in bnd.bnd?

If we someday publish stable Javadoc at a separate URL for each release (though I have some reservations about that), then we'll want to make sure that we use a new enough JDK that we actually generate Javadoc.

We'll also want to update the SHA-256 value in our usage instructions (currently only in the docs-1.0 branch).
For 1.0 specifically, we'll also merge (well, probably rebase/fast-forward) the docs-1.0 branch onto the main branch. And for subsequent releases, we'll want to update the version numbers in the usage instructions.

For 1.0, we should also replace https://github.com/jspecify/jspecify/wiki/adoption with a link to https://jspecify.dev/using (which is currently a broken link but which will go live with the 1.0 release).
And we should update https://github.com/jspecify/jspecify/wiki/jspecify-faq#user-content-is-now-the-time-to-adopt to link to https://jspecify.dev/whether (ditto).
(I skimmed the rest of the wiki and FAQ for other obvious references to the version that would need to be updated, and I didn't see any more.)

Update 1: Some prep for https://github.com/jspecify/jspecify/pull/187#issuecomment-873183875 (not that this is hard, just that it's nice to have ready to copy and paste in the future, ideally into some GitHub Actions setup), with everything to be run in a clean clone to be safe:
VERSION=1.0.0 && git checkout --detach && perl -pi -e "s/^version = .*/version = $VERSION/" gradle.properties && git commit -m "Set version to $VERSION." gradle.properties && git tag v$VERSION

Update 2: I am getting 401 from Sonatype with no debugging info, even after switching to a User Token for the appropriate server, even after resetting it for good measure. I'll keep flailing around.

(I wondered if there was any chance that I should be using https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/ (from https://central.sonatype.org/publish/publish-guide/#accessing-repositories) instead of the shorter https://s01.oss.sonatype.org/service/local/ that I see recommended elsewhere (e.g., https://github.com/gradle-nexus/publish-plugin?tab=readme-ov-file#publishing-to-maven-central-via-sonatype-ossrh). Presumably that couldn't cause this kind of error, but you never know? OK, yeah, it's even worse: Cannot find a matching staging profile".)
I now have the username and password working by setting environment variables instead: ORG_GRADLE_PROJECT_sonatypeUsername=$(</tmp/username) ORG_GRADLE_PROJECT_sonatypePassword=$(</tmp/password) ....
(Incidentally, I've now also subscribed to https://github.com/gradle-nexus/publish-plugin/issues/119.)
That led to this:
Execution failed for task ':publishConformanceTestsPublicationToSonatypeRepository'.
> Failed to publish publication 'conformanceTests' to repository 'sonatype'
   > Could not PUT 'https://s01.oss.sonatype.org/service/local/staging/deployByRepositoryId/orgjspecify-1020/org/jspecify/conformance/conformance-tests/0.0.0-SNAPSHOT/conformance-tests-0.0.0-20240716.204547-1.zip'. Received status code 400 from server: Bad Request

So I've added -x publishConformanceTestsPublicationToSonatypeRepository.
After that, I got an error in the Sonatype UI: Missing: no javadoc jar found in folder '/org/jspecify/jspecify/1.0.0'. I'm hoping that maybe that is just a result of having 2 releases in flight at once? But I'm not sure it will be that simple. I'll try another fresh release now to see.

The Javadoc problem must be toolchain fallout: https://github.com/jspecify/jspecify/commit/f0af7de6f72d01e3a8f3ffc9f528540de770f987#diff-49a96e7eea8a94af862798a45174e6ac43eb4f8b4bd40759b5da63ba31ec3ef7R32
The version is below 11, so we don't build Javadoc: https://github.com/jspecify/jspecify/commit/f0af7de6f72d01e3a8f3ffc9f528540de770f987#diff-49a96e7eea8a94af862798a45174e6ac43eb4f8b4bd40759b5da63ba31ec3ef7R45
(I half called this one :))

Indeed, adding JAVA_VERSION=21 fixes it.
So I'm now here:
JAVA_VERSION=21 ORG_GRADLE_PROJECT_sonatypeUsername=$(</tmp/username) ORG_GRADLE_PROJECT_sonatypePassword=$(</tmp/password) JAVA_HOME=$HOME/jdk-21.0.2 ./gradlew clean publishToSonatype closeSonatypeStagingRepository -Psigning.secretKeyRingFile=$HOME/.gnupg/secring.gpg -PpgpPassword="$(passphrase)" -PprivateKey="$(gpg --armor --export-secret-keys --passphrase="$(passphrase)" --batch --pinentry-mode=loopback ABCDEF12)" -x publishConformanceTestsPublicationToSonatypeRepository
...with the setup discussed in https://github.com/jspecify/jspecify/pull/187#issuecomment-873183875 and the prep from https://github.com/jspecify/jspecify/issues/305#issuecomment-2231781339.
Then log in and release it.

And git push origin v$VERSION to push the tag so that we can publish release notes in GitHub.

It seems extremely likely that the 401 is the result of having Gradle/Groovy-style variable declarations in my ~/.gradle/gradle.properties, rather tha properties-style ones (i.e., having foo = "bar" instead of foo=bar).
I'd documented the right setup in https://github.com/jspecify/jspecify/pull/187#issuecomment-873183875, but I came across https://github.com/gradle-nexus/publish-plugin?tab=readme-ov-file#publishing-to-maven-central-via-sonatype-ossrh first, and it didn't register with me at the time that the sonatype block wasn't also in the ~/.gradle/gradle.properties file that the section was discussing at that point. (It is obvious in hindsight.)
(I'd lost my earlier ~/.gradle/gradle.properties during a forced machine reimaging. I think that all of .gradle was automatically excluded by the backup setup. Excluding its caches makes sense, but excluding the user configuration is not great. (Alternatively: Storing both caches and user configuration in the same directory in the first place is not great.) I think I had a similar problem with my ~/.m2, and I think I may have made a similarly needless mistake in recreating it.....)


No account but you taking money from my bank account

I have not signed up for an account and have no way to contact support without signing in.  Please stop debiting my bank account.  How can I contact someone to find out why this is happening.  This is obviously a mistake, but I have no way to stop you<EMAIL_ADDRESS>If you have a question, please do not ask it here, please contact our support team.
You can contact SendGrid support from the SendGrid Support Portal.
Click Login & Contact Support, and then Contact Support to see your contact options.
If you're reporting an issue with our docs, thanks for letting us know!
-->
Expected content
Actual content
Link to page:

Hi @blainep3,
I'm sorry you're experiencing this issue. If you go to https://support.sendgrid.com/ and scroll down to the "trouble logging in?" section and click on that, you'll see a few options to let us know what's happening without actually logging in. I hope this helps!
SendGrid Docs Team