Use with TSP100iiiLAN

The example on the README of this repo writes directly to /dev/usb/lp0. I want to modify this to write to a network-connected printer.
[...]
raster = StarTSPImage.imageToRaster(image)

import socket
mysocket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)

host = "<IP_ADDRESS>"
port = 9100

mysocket.connect((host, port))
mysocket.send(raster)
mysocket.close()

This didn't work for me. Nothing happens on the printer. However I can telnet to the printer using this IP, and I can see that port is open if I port scan the IP.

Hiya,
Unfortunately I don't have the LAN version of this to test with. I built the module by following the Star graphic mode manual - I've just looked at it again, and it doesn't seem to mention anything extra required for the network version.
Presuming it works as a Windows network printer using the Star emulation driver? (Which essentially converts windows print jobs into the raster format?) If it does, maybe it is possible to listen on a port with netcat or similar, to inspect the bytes that it generates and sends...

Hi @lukecyca, were you able to get this functional on a *nix/MacOS platform or windows? I'm currently running into a similar issue however I have verified the 9100 Multi setting is enabled.

Other than the "9100 Multi" setting, I don't think there were any other tricks to setting up the printer.
Here's what I got working. I basically take the buffer from the buildRaster() function in this library, and feed it into my send_to_printer() function below.
# Time to wait for printer to respond with success message (seconds)
PRINTER_TIMEOUT = 5

PRINTER_SUCCESS_RESPONSE_1 = b'#\x86\x02\x00\x00\x00\x00\x04\x00\x00\x00'
PRINTER_SUCCESS_RESPONSE_2 = b'#\x86\x00\x00\x00\x00\x00\x00\x00\x00\x00'
PRINTER_FAIL_OOP = b'#\x86\x08\x00\x00\x08\x00\x00\x00\x00\x00'

def wait_for_printer_response(sock):
    msg = b''
    for i in range(PRINTER_TIMEOUT * 10):
        msg += sock.recv(1024)
        if msg.startswith(PRINTER_SUCCESS_RESPONSE_1) or msg.startswith(PRINTER_SUCCESS_RESPONSE_2):
            logging.info("Printer success: {}".format(msg))
            return

        if msg.startswith(PRINTER_FAIL_OOP):
            raise Exception("Out of paper")

        print(msg)
        time.sleep(0.1)

    if msg:
        logging.error("Printer response: {}".format(msg))

    raise Exception("Timeout waiting for printer")

# Sends the binary data to the printer and waits for a success response
# Tries up to 10 times if there is a networking-related error
def send_to_printer(host, port, buf):
    for i in range(10):
        try:
            mysocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
            mysocket.connect((host, port))
            mysocket.send(buf)
            wait_for_printer_response(mysocket)
            mysocket.close()
            return

        except OSError as e:
            logging.error("Printer OSError: {} (attempt {}/10)".format(e, i+1))
            time.sleep(0.5)

        except Exception as e:
            logging.error("Printer error: {}".format(e))
            raise

    raise Exception("Could not connect to printer after 10 tries")

Success! Thank you very much @lukecyca! That worked!
For future people copy and paste this with an updated IP and being sure you have enabled the 9100 Multioption.
from PIL import Image, ImageDraw
import socket
import logging
import logging.config
import time

image = Image.new('RGB', (500, 500), color='White')
draw = ImageDraw.Draw(image)
draw.ellipse((0, 0, 500, 500), fill='Black')
draw.ellipse((10, 10, 490, 490), fill='White')
raster = StarTSPImage.imageToRaster(image, cut=True)

mysocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host = "x.x.x.x"
port = 9100

# Time to wait for printer to respond with success message (seconds)
PRINTER_TIMEOUT = 5

PRINTER_SUCCESS_RESPONSE_1 = b'#\x86\x02\x00\x00\x00\x00\x04\x00\x00\x00'
PRINTER_SUCCESS_RESPONSE_2 = b'#\x86\x00\x00\x00\x00\x00\x00\x00\x00\x00'
PRINTER_FAIL_OOP = b'#\x86\x08\x00\x00\x08\x00\x00\x00\x00\x00'

# Time to wait for printer to respond with success message (seconds)
PRINTER_TIMEOUT = 5

PRINTER_SUCCESS_RESPONSE_1 = b'#\x86\x02\x00\x00\x00\x00\x04\x00\x00\x00'
PRINTER_SUCCESS_RESPONSE_2 = b'#\x86\x00\x00\x00\x00\x00\x00\x00\x00\x00'
PRINTER_FAIL_OOP = b'#\x86\x08\x00\x00\x08\x00\x00\x00\x00\x00'

def wait_for_printer_response(sock):
    msg = b''
    for i in range(PRINTER_TIMEOUT * 10):
        msg += sock.recv(1024)
        if msg.startswith(PRINTER_SUCCESS_RESPONSE_1) or msg.startswith(PRINTER_SUCCESS_RESPONSE_2):
            logging.info("Printer success: {}".format(msg))
            return

        if msg.startswith(PRINTER_FAIL_OOP):
            raise Exception("Out of paper")

        print(msg)
        time.sleep(0.1)

    if msg:
        print("Printer response: {}".format(msg))

    raise Exception("Timeout waiting for printer")

# Sends the binary data to the printer and waits for a success response
# Tries up to 10 times if there is a networking-related error
def send_to_printer(host, port, buf):
    for i in range(10):
        try:
            mysocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
            mysocket.connect((host, port))
            mysocket.send(buf)
            wait_for_printer_response(mysocket)
            mysocket.close()
            return

        except OSError as e:
            print("Printer OSError: {} (attempt {}/10)".format(e, i+1))
            time.sleep(0.5)

        except Exception as e:
            print("Printer error: {}".format(e))
            raise

    raise Exception("Could not connect to printer after 10 tries")

send_to_printer(host, port, raster)


Update valid string values

20H2 is not a valid string value for this OMA-URI - 2009 should be used. Referencing the version in the release information docs is not correct.

Per the product group, There is a known issue that impacts CSP (not GP) where 20H2 being set will give an error, but that will be fixed in an upcoming release. So the guidance needs to remain to use 20H2.

We will update the release docs with this information.


add pictures of how it works in Motivation page

@h1alexbel thank you for reporting this. I'll assign someone to take care of it soon.

@l3r8yJ this is your task now, please go ahead. Deadline (when this ticket should be closed) is 2023-09-21T08:19:00.420440.
Estimation here is 60 minutes, that's how much you will be paid.
Remember, you don't have to solve everything in this ticket - you can solve it partially and leave todo markers in the code, which will become future tasks.
If you have any questions don't ask me, I'm not a technical person. Open new tickets instead.
If you don't have time or simply don't want to work on this, you can always resign.

@l3r8yJ take a look at this

@l3r8yJ Don't forget to close this ticket before the deadline (2023-09-21T08:19). You are past the first half of the allowed period.

@l3r8yJ Looks like you've missed the task deadline (2023-09-21T08:19). You are now resigned from this task.
Please stop working on it, you will not be paid. I will assign it to someone else soon.

@h1alexbel this is your task now, please go ahead. Deadline (when this ticket should be closed) is 2023-10-01T08:29:26.572962.
Estimation here is 60 minutes, that's how much you will be paid.
Remember, you don't have to solve everything in this ticket - you can solve it partially and leave todo markers in the code, which will become future tasks.
If you have any questions don't ask me, I'm not a technical person. Open new tickets instead.
If you don't have time or simply don't want to work on this, you can always resign.

@h1alexbel Looks like you've missed the task deadline (2023-10-01T08:29:27). You are now resigned from this task.
Please stop working on it, you will not be paid. I will assign it to someone else soon.


Remove experimental rollup pass

refactor(@angular-devkit/build-angular): remove experimental rollup pass
The experimental rollup pass has significant issues with the new Ivy webpack plugin. It also, didn't produce as well as we hoped in real world scenarios infact in many cases this caused build to fail.
REAKING CHANGE:
The experimental rollup pass --experimental-rollup-pass option has been removed.
Closes #15836
feat(@schematics/angular): add migration to remove deprecated options from 'angular.json'
refactor(@ngtools/webpack): remove export of VirtualFileSystemDecorator type
This was only needed for the rollup loader.

@alan-agius4 There is a typo in the commit that might cause this breaking change to not be reflected in the CHANGELOG:
REAKING CHANGE:

Instead of
BREAKING CHANGE:

Indeed, I don't see this breaking change in https://github.com/angular/angular-cli/releases/tag/v12.0.0-next.0 where the commit was included.


show case

4Lmedian-AR.zip
ARTemplates.zip

new features:

U-turn prop
junction props disappear if there is unbroken median
4L+median-AR.zip

new features:

U-turn prop
junction props disappear if there is unbroken median
4L+median-AR.zip


[DOCS]: Fixing small typo

The docs have the keysToRemove array set to a const but then later in the code try to reassign the variable to another array.

Thanks!


Unable to Deserialize Model with BaseModel as Dictionary Keys

Initial Checks

[X] I confirm that I'm using Pydantic V2

Description
I am encountering an issue when trying to serialize and deserialize a Pydantic model that uses another BaseModel as dictionary keys. The deserialization process fails. Below is the code that reproduces the problem
Example Code
from pydantic import BaseModel, ConfigDict

class Cell(BaseModel):
    value: str

    model_config = ConfigDict(
        # make it hashable
        frozen=True,
    )

class WeightedSeeds(BaseModel):
    seeds: dict[Cell, int]

c = Cell(value="Hello World")
seed = WeightedSeeds(seeds={c: 100})
print(WeightedSeeds.model_validate_json(seed.model_dump_json())) # Fail

Python, Pydantic & OS Version
pydantic version: 2.7.1
        pydantic-core version: 2.18.2
          pydantic-core build: profile=release pgo=true
                 install path: /opt/homebrew/Caskroom/miniconda/base/envs/synthesis/lib/python3.12/site-packages/pydantic
               python version: 3.12.0 | packaged by conda-forge | (main, Oct  3 2023, 08:36:57) [Clang 15.0.7 ]
                     platform: macOS-14.1.1-arm64-arm-64bit
             related packages: typing_extensions-4.9.0 mypy-1.7.1 fastapi-0.111.0
                       commit: unknown

@gvariable,
Looks like a bug, will probably require some fixes in core. Thanks for reporting this!

@sydney-runkle I would like to work on this issue. Would it be a good first-time pydantic contributor issue? Can you provide pointers on where to start digging for this bug?


Unable to apply filter expression to a list literal

If a list is part of the context, you may use a filter expression on it.
However, if the list is a list literal, attempting to extract data from it using a filter expression produces a parse error.
A corresponding problem exists if you try to access a property of a context literal using the dot operator.
I have verified that the failing expression parses and properly exedcutes against a Feel 1.3 implementation. I assume but am not sure that 1.1 was supposed to support this case.
SUCCESSFUL PARSE:
Parse tree for rule 'employees[3]' is:
{
  "type": "Program",
  "body": {
    "type": "FilterExpression",
    "expr": {
      "type": "Name",
      "nameChars": "employees",
      "loc": {"start": {"offset": 0,"line": 1,"column": 1},"end": {"offset": 9,"line": 1,"column": 10}},
      "text": "employees"
    },
    "filterExpr": {
      "type": "Literal",
      "value": 3,
      "loc": {"start": {"offset": 10,"line": 1,"column": 11},"end": {"offset": 11,"line": 1,"column": 12}},
      "text": "3"
    },
    "loc": {"start": {"offset": 0,"line": 1,"column": 1},"end": {"offset": 12,"line": 1,"column": 13}},
    "text": "employees[3]"
  },
  "loc": {"start": {"offset": 0,"line": 1,"column": 1},"end": {"offset": 12,"line": 1,"column": 13}
  },
  "text": "employees[3]"
}

UNSUCCESSFUL PARSE:
Parse tree for rule '["Sally", "Harry", "Dilbert", "Dogbert"] [3]' is:
peg$SyntaxError: Expected end of input or whitespace but "[" found.
    at peg$buildStructuredError (c:\Users\pchernoch\projects\feel\dist\feel.js:690:12)
    at Object.peg$parse [as parse] (c:\Users\pchernoch\projects\feel\dist\feel.js:8089:11)
    at test_parse (c:\Users\pchernoch\projects\feel-test\test-feel-expression.js:18:24)
    at main (c:\Users\pchernoch\projects\feel-test\test-feel-expression.js:182:21)
    at Object.<anonymous> (c:\Users\pchernoch\projects\feel-test\test-feel-expression.js:185:1)
    at Module._compile (internal/modules/cjs/loader.js:1063:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
    at Module.load (internal/modules/cjs/loader.js:928:32)
    at Function.Module._load (internal/modules/cjs/loader.js:769:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {
  expected: [ { type: 'other', description: 'whitespace' }, { type: 'end' } ],
  found: '[',
  location: {
    start: { offset: 41, line: 1, column: 42 },
    end: { offset: 42, line: 1, column: 43 }
  }
}

The above issue seems to spring from this parser grammar rule:
FilterExpression
    = head:LeftExph __ "[" __ tail:Expression __ "]"
        {
            log(`FilterExpression (${text()})`);
            return new ast.FilterExpressionNode(head,tail,location(), text(), rule());
        }

If the specification, the rule is:
52. filter expression = expression , "[" , expression , "]" ;

Use of head:LeftExph restricts the LHS to TxtExpi, which is Name, Literal or SimplePositiveUnaryTest.
I suspect there is a recursion problem in the grammar that this rule hopes to avoid, but it eliminates valid expressions from being parsed. I will see if I can tweak the grammar on my machine to fix it.

I have found a fix. In the grammar, make these changes:

Modify the Expression rule by adding a Negative lookahead to prevent promoting a BoxedExpression to Expression if it is followed by a selector or a path operator.

Expression
	= expr:BoxedExpression !(__ ("[" / "."))
        {
            return expr;
        }
	/ TextualExpression

Modify the FilterExpression rule by adding an alternative that accepts a BoxedExpression.

FilterExpression
    = head:LeftExph __ "[" __ tail:Expression __ "]"
        {
            log(`FilterExpression (${text()})`);
            return new ast.FilterExpressionNode(head,tail,location(), text(), rule());
        }
    / head:BoxedExpression __ "[" __ tail:Expression __ "]"
        {
            log(`FilterExpression (${text()})`);
            return new ast.FilterExpressionNode(head,tail,location(), text(), rule());
        }

Modify the PathExpression rule by adding an alternative that accepts a BoxedExpression.

PathExpression
    = head:LeftExpg tail: (__ "." __ Expression)+
        {
            log(`PathExpression (${text()})`);
            return new ast.PathExpressionNode(buildList(head,tail,3),location(), text(), rule());
        }
    / head:BoxedExpression tail: (__ "." __ Expression)+
        {
            log(`PathExpression (${text()})`);
            return new ast.PathExpressionNode(buildList(head,tail,3),location(), text(), rule());
        }

It would probably be a good idea to add some regression tests. I verified that this executes correctly for some simple cases.

Hi. I have made the changes. It doesn't seem to disrupt the other tests. It will be impossible for me to discover these issues, much less come out with a fix such as this. So thanks again.
The changes will come into the repo in the following week.


move java source file to src/java and test/java

Adding class project to GitHub for Ex03 Version Control, move the java source files to src/java

miao a


Blendo Games (Flotilla, Gravity Bone, Thirty Flights of Loving, Quadrilateral Cowboy)

Project link: https://github.com/blendogames?tab=repositories
Project license: Various
Does it work on 64-bit only Linux: MAYBE
Is source code available?: YES
Is source code stored in Git?: YES
List of Steam AppIds of supported games:

https://steamdb.info/app/55000/
https://steamdb.info/app/214700/
https://steamdb.info/app/974090/
https://steamdb.info/app/240440/

Additional information
The developer Blendo Games releases the source code for most of their games.
55000 is free, I personally own 214700 and 974090 but not 240440.

Some of these games are windows or windows & mac only. Do the sources have build support for Linux for all of these?

I've never built or even played most of these games, however it looks promising to me.
Flotilla was ported to FNA last year.
Gravity Bone and Thirty Flights of Loving both run on idTech2 - They say "The linux version should be buildable, but we haven't tested it for the release."
Quadrilateral Cowboy runs on the idTech4 engine.

Both Gravity Bone and Thirty Flights are missing support for Linux. There's a fork someone made (https://github.com/AimHere/thirty-flights-of-linux) but it seems to be outdated. From their description, it looks like it's more than just the make file, as there's some Windows-specific code in the source code.
If someone would be interested in updating the fork and/or helping to maintain it, I'd be happy to add it to the list. Those games need to be ported first before they can be usable in luxtorpeda. I could look at adding support, but that'd take a fair amount of time, so help would be appreciated.

Quadrilateral Cowboy looks simple enough since it's idtech-4 based and already has Linux support, although that one is officially supported.
Flotilla is FNA/mono based (https://github.com/FNA-XNA/FNA/wiki/3:-Distributing-FNA-Games#gnulinux), so there's be some research involved as to the building process. I've used mono itself a few years ago, but never have used FNA. I'll look when I have a chance.

I'm a bit confused, the project you linked was released 8 years ago but the source code for both Gravity Bone and Thirty Flights were only released in 2020.

I'm a bit confused, the project you linked was released 8 years ago but the source code for both Gravity Bone and Thirty Flights were only released in 2020.

The source code was released on their website many years ago from my understanding. The release to github was more recent.

Closing for now, due to many of these having officially supported native versions. For the ones that are Windows only, if there ends up being an upstream project to make these work on Linux, let me know and I'll work on implementing it.


Builder auth

Reverts db back to sneezy & adds checking of vnum in blocka or blockb.

Hang on, let's rethink this
Options:

Run builder tools against immortal db. We'd need a way to get wizdata
table. For this,
1.1. Teach builder tools to connect to both DBs (not too elegant)
1.2. Teach Sneezy to duplicate the data into immortal DB (even less elegant)

Run builder tools against a copy of sneezydb. This is arguably cleaner.
We DO NOT need a copy of SneezyMUD there. However,

We definitely need a way to port over auth (account and wizdata tables)
from live Sneezy to dev.

We need a way to port built stuff from build instance to live. This
could be done by Git commit/pull, then dropping and recreating
room/obj/other tables. We'd need to create scripts for that.

On Sun, Sep 8, 2019, 01:59 Josh Knapp<EMAIL_ADDRESS>wrote:

@sntwo commented on this pull request.
In web/main.py
https://github.com/sneezymud/sneezymud-docker/pull/4#discussion_r321985823
:

@@ -4,7 +4,7 @@
app = Flask(name)

app.config["SQLALCHEMY_DATABASE_URI"] =<EMAIL_ADDRESS>
usr='sneezy', passwd='password', host='db', db='immortal')

usr='sneezy', passwd='password', host='db', db='sneezy')

OK, I tried adding another sneezy instance + db to docker-compose. Each
instance talks to it's own db just fine, but the issue I'm having is with
the lib files getting shared by the two sneezy instances due to the way the
whole directory is mounted. It would be simple just to add another copy of
the sneezymud files for the builder to work in, but this would make the git
workflow more complicated for sneezy updates. Although in that scenario we
could also beta test sneezy code on the builder port.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/sneezymud/sneezymud-docker/pull/4?email_source=notifications&email_token=AAQIQFYNLPEJXQN3XD3AJILQIQW53A5CNFSM4IUCE2P2YY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCD72T2Y#discussion_r321985823,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAQIQF6IMAUV5MZT5TVMKGDQIQW53ANCNFSM4IUCE2PQ
.

After more poking around, I think option 1 looks better.
A. Flask-sqlalchemy can talk to multiple db's with only 1 extra line of code per model (incoming pull request).
B. Moving data from immortal to sneezy shouldn't be different from a new builderdb to sneezydb, and immortal already exists.

We can inherit this 1 line from a base class.
We already have a working way of moving stuff from immortal to sneezy.

On Wed, Sep 11, 2019, 00:02 Josh Knapp<EMAIL_ADDRESS>wrote:

After more poking around, I think option 1 looks better.
A. Flask-sqlalchemy can talk to multiple db's with only 1 extra line of
code per model (incoming pull request).
B. Moving data from immortal to sneezy shouldn't be different from a new
builderdb to sneezydb, and immortal already exists.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/sneezymud/sneezymud-docker/pull/4?email_source=notifications&email_token=AAQIQF3DEGVUIQBDRIQCVN3QJADQBA5CNFSM4IUCE2P2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6MPNNA#issuecomment-530118324,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAQIQFZ3ZKIOY4O3WRCBZ53QJADQBANCNFSM4IUCE2PQ
.

way stale


NLA Use current users credentials if none provided.

When client side NLA is started without username, the identity is set to NULL.
This way the current user credentials are used on windows.

I have not tested it, but I've just touched this file in my "check return value of malloc()" patch. So it looks good to me.
Note: I have done a lot of fixes in this file

+1


Incorrect gradient directions when B0 is not the first volume

We are using v1.2.4 of DTIPrep.
Several of our users like to concatenate multiple DTI runs together.  Generally each run consists of a single B0 volume followed by diffusion-weighted volumes, and this works pretty well.  I believe DTIPrep averages the B0 volumes together and the averaged volume is placed where the first B0 volume would have been in the original data, and the rest of the B0 images are removed.  In most cases, the diffusion directions are output correctly.
This also generally works if any of the B0 volumes are excluded for poor quality.  The averaged volume is placed where the first non-excluded B0 would have been.
However, we've noticed that if it excludes the first B0 volume, the averaged B0 goes where the second B0 would have been (as expected above), BUT the gradient directions are written out with the B0 direction always associated with the first volume.
To illustrate, if our dataset was:
B0a   D0a D1a D2a D3a D4a D5a   B0b   D0b D1b D2b D3b D4b D5b

If no volumes were removed, then the resulting dataset would be:
B0   D0a D1a D2a D3a D4a D5a    D0b D1b D2b D3b D4b D5b

where B0 is the average of B0a and B0b.
However, if the B0a was excluded, then the output image data would look like this:
D0a D1a D2a D3a D4a D5a   B0b    D0b D1b D2b D3b D4b D5b

But the gradient directions in the .nrrd file would be written out as:
B0b   D0a D1a D2a D3a D4a D5a    D0b D1b D2b D3b D4b D5b

Note that in this case there is only one B0 left so no averaging is done, but I suspect the same thing would happen if there were more than 2 concatenated runs.
One kludge, for subjects where this happens, is to have our users reverse the order of concatenation.  This is not an automated workaround, but gets some more data through the gauntlet.
I looked at the source a while back (ca. v1.1.6) but was unable to pinpoint the place where the error was occuring.  If anyone has an idea how to fix this, or can point me in the right direction, our users would be very appreciative.  Thank you!

Thank you for reporting this issue. Do you have any dataset you could share on which we could reproduce the error to try to fix it?

It was surprisingly difficult to fake a dataset that would trigger this issue!  I have put some data here:
https://duke.box.com/s/wp4wfjmmdm42gplttyh22gdl6b8f84n2
Which you can run like this:
DTIPrep -c -w noisyfull.nrrd -p noisyfullprotocol.xml
The input has 1 B0, 14 DWI, 1 B0, 14DWI.  The result will be a dataset with the first B0 removed, the second B0 retained, but the output gradient directions in the _QCed.nrrd file suggest that the remaining B0 is at the beginning of the data.
This data was fashioned from the data in the last link at:
http://www.cabiatl.com/Resources/Course/tutorial/index.html
I took the first 15 volumes (including initial B0), repeated it, then added noise to a few slices in the first B0.
Thanks for you help!

Thank you for the test data set. I will try to reproduce the error you are mentioning and correct the problem as soon as possible.

Just wanted to mention that another "kludge" for this particular bug is to just turn off the baseline averaging feature entirely.  In that case, even if the first B0 is excluded, the gradient directions in the .nrrd file and the output image data still stay in correspondence.  (Note though that one consequence of taking this approach is that if you are also using the "eddymotion" step, your reference image for eddy/motion correction will then be whatever the first, non-excluded image happens to be).

That's a nice option to know about.  Thanks!

From: Michael Harms<EMAIL_ADDRESS>Sent: Wednesday, December 9, 2015 11:40 AM
To: NIRALUser/DTIPrep
Cc: Syam Gadde
Subject: Re: [DTIPrep] Incorrect gradient directions when B0 is not the first volume (#9)
Just wanted to mention that another "kludge" for this particular bug is to just turn off the baseline averaging feature entirely. In that case, even if the first B0 is excluded, the gradient directions in the .nrrd file and the output image data still stay in correspondence. (Note though that one consequence of taking this approach is that if you are also using the "eddymotion" step, your reference image for eddy/motion correction will then be whatever the first, non-excluded image happens to be).

Reply to this email directly or view it on GitHubhttps://github.com/NIRALUser/DTIPrep/issues/9#issuecomment-163318358.
[https://avatars2.githubusercontent.com/u/1247460?v=3&s=400]https://github.com/NIRALUser/DTIPrep/issues/9#issuecomment-163318358
Incorrect gradient directions when B0 is not the first volume · Issue #9 · NIRALUser/DTIPrep
We are using v1.2.4 of DTIPrep. Several of our users like to concatenate multiple DTI runs together. Generally each run consists of a single B0 volume followed by diffusion-weighted volumes, and ...
Read more...https://github.com/NIRALUser/DTIPrep/issues/9#issuecomment-163318358


[AVM Module Issue]:  Schema Validation Failed

Check for previous/existing GitHub issues

[x] I have checked for previous/existing GitHub issues

Issue Type?
Bug
(Optional) Module Version
0.4.1
(Optional) Correlation Id
No response
Description
When trying to deploy another VM via this AVM, TF complains about the schema of previously deployed VM's.

Need to add body.properties.cloudMetadata.provider to ignore_changes in main.tf for the hybrid computer resource.

Related PR: #38

Thanks for creating the issue, @brmcsorley I've merged PR to resolve this.


[Bug]: Unnecessary spacing above navbar

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
while scrolling the scroll indicator adds transparent spacing above navbar, wanted to remove that
Expected behavior
There shoud be obaque background of navbar's theme not transparent
Add ScreenShots

On which device are you experiencing this bug?
Chrome, Windows
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[ ] I'm a VSOC'24 contributor
[X] I have starred the repository

I want to solve this issue, assign it to me, please.

@S7viks bro according to guidelines, the issue is assigned to the one who raised the issue, if u see someone not working since a week, then u can ask for reassignment

I want to solve this issue assign me plz , I am also campus ambassador.

Please assign this to me with gssoc-extd label. i can do this for you

Hi, @Sourabh782 assign this to me with the gssoc-extd label I have been through your code base, and I  will fix this for you.


Configuration overhaul

This makes the configuration more consistent with other projects and provides a clear way to generate certificates and keys.
Configuration for promenade is now a file containing multiple yaml documents of the form:
---
apiVersion: promenade/v1
kind: Node
metadata:
  name: n0
spec:
  hostname: n0
  ip: <IP_ADDRESS>
...
---
apiVersion: promenade/v1
kind: Certificate
metadata:
  name: blah
spec:
  data: |
    abcdefg
...

These config files are generated (including their certs & keys) using the promenade generate command, which takes a much smaller configuration of the same form.  See example/vagrant-input-config.yaml for a sample.

Are there examples of the output of promenade generate in there? I didn't see anything that matched what I expected to see.

I sent a config sample to @sh8121att
Should I commit a sample of generated certs, etc. to the example directory?

@alanmeadows @jezogwza @sh8121att  I'm going to merge this and #12 for simplicity of drydock integration testing.  I'm still happy to improve/respond to any auditing comments left here.


Add date format on specific column

Hi
I would like add date format on specific column. So by default values are shown based on specific date format.
How I can do that?
Thanks
Brijesh Shah

Have you tried using a custom date format?
https://github.com/randym/axlsx/blob/master/examples/example.rb#L324-L340
https://gist.github.com/randym/3719401

Thanks for reply. I checked these articles. I think these will help to apply on row / cell rather than specific column. I would like to apply date format on specific column.

I'm not an Axlsx expert, but my understanding is all styles are applied by cell as you add each row of data. You might get better answers through the Axlsx issues page:
https://github.com/randym/axlsx/issues


Not Lootable Aftet Executing Macro

After executing the 'convert to lootable' macro, the npc's attribute sheet still shows up instead of the lootable sheet, and therefore cannot be looted. When I change it to the lootsheet manually, noting appears. The lootable icon will still show up on the token however.

Is this on v9?

No, V8.9. Just started happening in the last few week.

Fixed in v3.2.1. Caused by loot sheet making some breaking changes in their latest update

Thank you!


self can't be used as a key

Dict(self='this')
>>> TypeError: __init__() got multiple values for keyword argument 'self'

That's because init method is present and has self parameter.
There are several ways to overcome this issue:

rename self parameter in init method to some unique string/guid. Here how it could look like:

    def __init__(_8629116b_4d94_42d9_bee1_d8374f6938a7_, *args, **kwargs):
        object.__setattr__(_8629116b_4d94_42d9_bee1_d8374f6938a7_, '__parent', kwargs.pop('__parent', None))
        object.__setattr__(_8629116b_4d94_42d9_bee1_d8374f6938a7_, '__key', kwargs.pop('__key', None))
        for arg in args:
            if not arg:
                continue
            elif isinstance(arg, dict):
                for key, val in arg.items():
                    _8629116b_4d94_42d9_bee1_d8374f6938a7_[key] = _8629116b_4d94_42d9_bee1_d8374f6938a7_._hook(val)
            elif isinstance(arg, tuple) and (not isinstance(arg[0], tuple)):
                _8629116b_4d94_42d9_bee1_d8374f6938a7_[arg[0]] = _8629116b_4d94_42d9_bee1_d8374f6938a7_._hook(arg[1])
            else:
                for key, val in iter(arg):
                    _8629116b_4d94_42d9_bee1_d8374f6938a7_[key] = _8629116b_4d94_42d9_bee1_d8374f6938a7_._hook(val)

        for key, val in kwargs.items():
            _8629116b_4d94_42d9_bee1_d8374f6938a7_[key] = _8629116b_4d94_42d9_bee1_d8374f6938a7_._hook(val)

Though, it's still impossible to use key with _8629116b_4d94_42d9_bee1_d8374f6938a7_ name :)
2. create factory method, which will protect field names and the unprotect them. Here is an example.
Not sure whether you are interested in fixing it, but I thought you would be interested in it.

There's actually two other field names which are problematic; __parent and __key which are used other places in the code. For now I think doing __self instead of self should limit the impact of this?

Hi @mewwts,
Yep, __self  should be less possible option for some JSON API, where self is actually part of it :)

Right, thanks. In any case keep in mind that you can use self as a key, just not as a kwarg.


Android: run getConstants() in a different thread to speedup loading time

Description
RNDeviceModule.getConstants() can take a lot of time (~800ms on a Galaxy S7), so try to run it as soon as possible in the background so that by the time it gets called, the constants have already been calculated and we can just return the map.
Checklist

[X] I have tested this on a device/simulator for each compatible OS
[X] I added the documentation in README.md
[ ] I mentioned this change in CHANGELOG.md

What are your measurements and how did you measure them?

This was measured by adding a ReactMarker listener and printing out durations of each step, where we focus here only on the GET_CONSTANTS part of RNDeviceInfo.
Below are 3 measurements from before and after the patch, each starting from a cold environment (app was killed). As you can see, the GET_CONSTANTS duration gets reduced to almost nothing.
BEFORE:
   +325.000000 ms --                    GET_CONSTANTS [START]: RNDeviceInfo
   +229.000000 ms --                CONVERT_CONSTANTS [START]: RNDeviceInfo
     +6.000000 ms --                  CONVERT_CONSTANTS [END]: RNDeviceInfo
     +0.000000 ms --                      GET_CONSTANTS [END]: RNDeviceInfo

   +288.000000 ms --                    GET_CONSTANTS [START]: RNDeviceInfo
   +265.000000 ms --                CONVERT_CONSTANTS [START]: RNDeviceInfo
     +3.000000 ms --                  CONVERT_CONSTANTS [END]: RNDeviceInfo
     +0.000000 ms --                      GET_CONSTANTS [END]: RNDeviceInfo

   +286.000000 ms --                    GET_CONSTANTS [START]: RNDeviceInfo
   +262.000000 ms --                CONVERT_CONSTANTS [START]: RNDeviceInfo
     +4.000000 ms --                  CONVERT_CONSTANTS [END]: RNDeviceInfo
     +0.000000 ms --                      GET_CONSTANTS [END]: RNDeviceInfo

AFTER:
   +276.000000 ms --                    GET_CONSTANTS [START]: RNDeviceInfo
     +0.000000 ms --                CONVERT_CONSTANTS [START]: RNDeviceInfo
     +1.000000 ms --                  CONVERT_CONSTANTS [END]: RNDeviceInfo
     +0.000000 ms --                      GET_CONSTANTS [END]: RNDeviceInfo

   +382.000000 ms --                    GET_CONSTANTS [START]: RNDeviceInfo
     +0.000000 ms --                CONVERT_CONSTANTS [START]: RNDeviceInfo
     +1.000000 ms --                  CONVERT_CONSTANTS [END]: RNDeviceInfo
     +0.000000 ms --                      GET_CONSTANTS [END]: RNDeviceInfo

   +280.000000 ms --                    GET_CONSTANTS [START]: RNDeviceInfo
     +0.000000 ms --                CONVERT_CONSTANTS [START]: RNDeviceInfo
     +1.000000 ms --                  CONVERT_CONSTANTS [END]: RNDeviceInfo
     +0.000000 ms --                      GET_CONSTANTS [END]: RNDeviceInfo

Your mileage may vary, since this depends on how much time is in between the RNDeviceModule constructor being called and the getConstants() method being invoked (+ scheduling and thread synchronization overhead).
tl;dr: if you have a decent amount of RN modules being loaded in your app (and your device has multiple cores), this should have a positive effect.

just marking it as "needs-changes" because that's a tag I review periodically even when PRs go to sleep

@mikehardy the behaviour is optional now and disabled by default

How did I miss that? Let me re-read, because that sounds perfect...

 This does sound perfect now, I will re-read and probably merge
Thanks for the contribution!

I pulled this locally and have it ready for testing - I think it needs one more tweak after I requested it be optional then it's probably good to go

@mikehardy loadConstantsAsynchronously is now propagated from RNDeviceInfo to RNDeviceModule

I'll repull and retest - super-speedy thanks!

https://github.com/react-native-community/react-native-device-info/releases/tag/v2.1.0 🚀

@mikehardy @mcuelenaere First of all thanks a lot to both of you for the fix. I would just like to point out that the change log and the README should reflect these changes. I'm still unclear on whether I should use true or false in the constructor.

@ItsNoHax the release notes do mention it? https://github.com/react-native-community/react-native-device-info/blob/master/CHANGELOG.md#210 (they say use true)
I suppose the README for install could be updated, it might help to explain that the constructor even has an optional boolean argument, and what it means. Happy to take a PR for that - you can edit it directly using the GitHub UI and propose some words that you think would help people?

Done, let me know what you think: https://github.com/react-native-community/react-native-device-info/pull/697
I left it under the main installation header as I was afraid people might miss it when linking automatically.

expo how install react-native-device-info

Hi guys, how will this work with RN>=0.60 auto loader?

@jslok to be honest I am not sure - but I am curious myself as I am just migrating my work project to RN60 now.
My current understanding is that to initialize a module with a non-default constructor (specifically: one that takes an argument) in the auto-linking world, you have to use a react-native-config.js to disable autolinking, then manually link it on the platform you disabled.
@thymikee is that correct? auto-linking only works with default constructors?
I initially merged this patch as a new option and did not set the deferred method to default but assuming my understanding of auto-linking is correct and it will only work with a default constructor, I'd accept a patch that reversed which style was default now that it has been released a while and shown to be working.

@mikehardy disabling linking in react-native.config.js affects both autolinking and link.
Passing a custom constructor is possible through android.packageInstance:
module.exports = {
  dependencies: {
    'react-native-device-info': {
      platforms: {
        android: {
          packageInstance: 'new RNDeviceInfo(true)'
        }
      }
    }
  }
};

@thymikee I really appreciate both your responsiveness, and your spot-on response, thank you! I promise I'll be good at auto-linking soon :-)
Okay then, @jslok I would happily take either a PR that made the parallel version default + a quick doc snippet on how to disable it (with the snippet above I think but reversed to false) or a doc enhancement that had this snippet showing how to enable it.
I think it's ready for default though, I believe more will benefit from it's being enabled than will be harmed so I would prefer just enabling by default

I don't have a file named react-native.config.js. This is unclear from the read me if I should create it and/or where should I create it.

@Dror-Bar if you wanted to propose a quick readme PR that made it clear to you that would help. Specifically addressed at the confusion: the file does not exist in the repository, but if you do not want the parallel initialization, you will need to create the file, and it should contain the stanza prescribed in the react-native-config.js in the readme
If you are okay with the new default / parallel initialization is okay for your project, you do not need to do anything
My decision to merge this and alter the default was based on the assumption it was reasonably tested (so would not break anyone) and that in general it was a performance increase for everyone or at least did not harm things. If this is not true for your project I would love to know why in order to see if my assumption was correct - and I'd apologize for regressing your project also, that definitely wasn't intended


⚠ Bofrost.at has degraded performance

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

HTTP code: 200
Response time: 1280 ms

Resolved: Bofrost.at performance has improved in 88c36ae after 7 minutes.


added test.txt

/changelog no colon

Hello @NesTar6!
added the following update to the upcoming version in the changelog:
no colon


Update dependencies and workflows

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

Project coverage is 100.00%. Comparing base (534dd29) to head (ed9f77c).

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #154   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           33        33
  Lines          634       634
  Branches        37        37
=========================================
  Hits           634       634

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


Enhancement: Enable DisallowLongArraySyntax rule

This PR

[x] enables the DisallowLongArraySyntax rule
[x] runs make fix

Codecov Report

Merging #1968 into next will decrease coverage by 0.36%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##               next    #1968      +/-   ##
============================================
- Coverage     70.57%   70.21%   -0.37%
  Complexity     1600     1600
============================================
  Files           287      287
  Lines          3864     3864
============================================
- Hits           2727     2713      -14
- Misses         1137     1151      +14

Impacted Files
Coverage Δ
Complexity Δ

src/Faker/Provider/es_AR/Person.php
0.00% <0.00%> (-100.00%)
1.00% <0.00%> (ø%)

src/Faker/Provider/he_IL/Address.php
0.00% <0.00%> (-100.00%)
1.00% <0.00%> (ø%)

src/Faker/Provider/hr_HR/Company.php
0.00% <0.00%> (-100.00%)
1.00% <0.00%> (ø%)

src/Faker/Provider/id_ID/Company.php
50.00% <0.00%> (-50.00%)
2.00% <0.00%> (ø%)

src/Faker/Provider/ko_KR/Company.php
50.00% <0.00%> (-50.00%)
2.00% <0.00%> (ø%)

src/Faker/Provider/nb_NO/Address.php
50.00% <0.00%> (-50.00%)
4.00% <0.00%> (ø%)

src/Faker/Provider/sv_SE/Address.php
50.00% <0.00%> (-50.00%)
4.00% <0.00%> (ø%)

src/Faker/Provider/fa_IR/Company.php
33.33% <0.00%> (-33.34%)
3.00% <0.00%> (ø%)

src/Faker/Provider/pt_BR/Address.php
28.57% <0.00%> (-28.58%)
7.00% <0.00%> (ø%)

src/Faker/Provider/uk_UA/Company.php
28.57% <0.00%> (-28.58%)
3.00% <0.00%> (ø%)

... and 36 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 781069d...339154c. Read the comment docs.

Thank you, @pimjansen!


Additions in Issue Template

Description:
I noticed that the repository does not have an appropriate issue template.
Issue Template: I want to add  some more points to your issue template like styling changes, documentation, etc
Please assign this issue to me under Gssoc'23 @roshan1337d

@Anshika-Jain02 go ahead, assigned it to you!  🚀

Please assign me this issue @roshan1337d as there is no response from past 5 days.

@Abhinavcode13 go ahead, assigned it to you 👍

Thanks  @roshan1337d btw can u make it level 3 or 2
I will add following issue template
-> bug report
-> new feature
-> documentation
-> other questions

let me know if that works @roshan1337d

@roshan1337d Sir, there is a time limit of 1 week that is given to each assignee before you can assign it to the other person. My end semester exams are going on and i am working on this issue and adding all the above mentioned files with some additional files too and also, i was not given any information before unassigning. Please assign it back to me.

I have already created a PR @Anshika-Jain02 , it's  not other contributor fault if your having end sems.

@Anshika-Jain02 There's no such time limit. But feel free to open your PR and I will merge it if it's better than the one provided by Abhinav. You still have #52 assigned to you for working on.
@Abhinavcode13 Be kind towards others.

@roshan1337d sorry mate you felt I'm being harsh to someone, didn't mean it ;) peace

@roshan1337d Sir, my issue is just that i haven't been asked that whether i am already working on this or not and sir, if this is ok then anyone will comment on others issues and get it assigned and merged than what is the point of creating issues or the assignee system. No offense to anyone. Just a doubt from my side and i want to add style.yml file to the existing PR . So, should i create a new issue for this or create a PR in this only.

@Anshika-Jain02 create a PR only


Change Max page size for offheap store #1772

For small caches the max page size should be as low as
256 KB so that defragmenetaion in offheap storage is less

test this please


Coverage Questions

Hi:
I just stumbled into the project and excited about the potential.  Before I look into things further, I have some questions please:

Does Stratosphere work with latest versions of Meteor (v1.4.2+)?
Does Stratosphere cache the platform tools, etc.?  Meaning, if meteor.com and/or the packages site went offline and nothing is cached on the build machine, will the Meteor command line tool still work properly assuming all things are cached on Stratosphere.  Specifically interested in knowing if the platforms are cached as well.

In a nutshell, trying to assess if I can get Meteor to work locally without Meteor.com access.
Thanks in advance,
Bradley

@blongstreth

Yes
Partially. What is cached is the database. The database basically contains all metadata of packages, versions, builds, ...  However, the actual files itself are stored on amazon S3 and are not cached by stratosphere. One could extend stratosphere to do this, by modifying the synchronization process a bit.
Now stratosphere synchronizes with the meteor package servers. In this process, you could change the URL's of versions/builds to pass via stratosphere and cache the packages if they are requested.

But this is not a goal of stratosphere. It's mainly about making private packages work (which are stored by stratosphere).
However, in my development team this was also a concern and we basically backup the local cache of the meteor packages on our build machines.
Every package used by a meteor application on your computer is downloaded to a package cache in the meteor installation location. On our build machines this package cache is back-upped in case Meteor.com would go offline.

Thanks for the quick reply!  We use Artifactory for all of our stuff except Meteor.  Long term, my plan is to convert to npm so I won't have to worry about this.  For now, I need something that is easy, robust and allows for developers to build locally on their dev. boxes (which can be mac, linux or windows).  With that in mind which approach would you take?  I too have been backing up the local cache on build machines under linux but need to consider other contexts.
Thanks in advance.


File instfiles/pam.d/xrdp-sesman.system not in release archive

File instfiles/pam.d/xrdp-sesman.system is not present in release archive available from Assets (e.g. xrdp-0.9.21.tar.gz). This leads to the following error, when instfiles/pam.d/mkpamrules script decides to use it:
make[3]: Entering directory '/usr/src/tmp/xrdp-0.9.21/instfiles/pam.d'
./mkpamrules auto . xrdp-sesman
Cannot find ./xrdp-sesman.system

I'm not sure how this archive is built, but the file should be present into it.
Related: #1558, #1560

Sorry @gdsotirov - this is entirely my fault.
The build works fine from a git clone, but the releases are built using the output of make distcheck. This requires all the files which are to be distributed to be referenced somehow. I should have added the file to instfiles/pam.d/Makefile.am when I put the patch together for #1560.
I'll put a PR together to fix this.

@matt335672 No problem and thanks for the prompt reaction!


How to  navigation through sections?

Hello, Ling!
I'm new to hugo. With the help of your theme, now I have my rough blog page!
What should I do to set the section navigations or just as the top right corner in  your sample figure(the links like "about    Tutorials")?
Now, my  directory structure under the content is:
├── about
│   └── about.md
└── post
     └── first.md

Hi,
There are two ways you can do this. You can either specify your main menu in config.toml for example like this:
[menu]
  [[menu.main]]
    identifier = "tutorial"
    name = "tutorial"
    url = "/tutorial"
  [[menu.main]]
    identifier = "about"
    name = "About"
    url = "/about/"

or you can indicate it in the frontmatter of the page itself, for example on about.md:
+++
title = "About me"
menu = "main"
+++

For more information you can look at the hugo basic example site which was used for the demo or hugo's menu documentation.


Question about connecting

Hello I’m wondering can I use this app to connect to it? https://servediter.app/
is the server setup so it can revive connections from code editors? I’m using iPad

Hi, could you please precise the addon for which you are asking the question?
Also I create the addon and can answer any question related to its usage, but for questions on the app itself it is best to check the initial app documentation (I usually provide the link on the Readme), as I create npbut actually don't use most of the addons.
Thanks!

ah - codeserver :-)
No idea at all... but do you know that you can access vscode directly from vscode.dev ?
For example, https://vscode.dev/https://github.com/alexbelgium/hassio-addons allows running vscode (most extensions are compatible) in your web app

No idea at all... It is said "It's also possible to use this app for free by using a self hosted instance of code-server." so actually you could try and post the result here if it can help other people!
Btw do you know that you can access vscode directly from vscode.dev ? For example, https://vscode.dev/https://github.com/alexbelgium/hassio-addons allows running vscode (most extensions are compatible) in your web app


feat: added orch tester

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


How to forward important arguments to pip?

Hello!
I am trying to use the library APEX, and I would like add --cuda_ext --cpp_ext to pip in order to install the library properly.
Is it possible to do this with pipenv? I already checked #251 and #287.
Have a nice day,
Nicolas

How do you pass that to pip? I don’t think you can just do pip install --cud’s_ext 🤔

Technically, I'd like to do something along the lines:
pipenv install git+https://github.com/nvidia/apex.git --cuda_ext --cpp_ext
So that under the hood, the following command is called:
pip install . --cuda_ext --cpp_ext

You may be looking for the --global-option argument to pip. Per the documentation in the repository you linked, the actual pip install command would be:
$ pip install -v --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" .

In order to achieve this with pipenv you simply need to set the environment variable PIP_GLOBAL_OPTION="--cpp_ext --cuda_ext" and it will be passed to pip (I think).  Feel free to reopen this if it fails.


Need CI/CD setup to build new releases

At the moment building and releasing new versions of twig is a real pain.
Step 1) Update changelog.md with a summary of things fixed
Step 2) Change version number in https://github.com/twigjs/twig.js/blob/master/src/twig.factory.js#L6
Step 3) Run npm run build
Step 4) Run npm version <major¦minor¦patch>
Step 5) Git push
The biggest immediate issue is Step 2, which requires guessing what the next version is going to be and updating the source. If someone can think of a way to add a version tag to the source that comes from the package.json or something similar that'd be great.
https://github.com/zeit/release might resolve Step 1.
Then we just need to automate Steps 3,4,5.

Take a look at this webpack plugin https://webpack.js.org/plugins/define-plugin/ and this comment https://github.com/webpack/webpack/issues/237#issuecomment-40398916
Maybe it helps somehow to resolve Step 2

https://github.com/netflix/unleash

Change version number

Would it be possible to use...
module.exports = function factory() {
    var Twig = {
        VERSION: require('../package.json').version
    };

?

@RobLoach I gave some thought to that approach, but the package.json version doesn't increment until the npm version script runs, which is run after the code is bundled, so the version the bundler sees would always be one version behind :(

@dave-irvine That would fully depend on the flow used while creating a new release.
Adding a prepare script to package.json that creates a bundle when npm publish is run should fix the issue you are describing.
"prepare": "npm run build"

Alternatively you could switch around steps 3 and 4, the bundles themselves are not checked into Git, so there should be no difference between the git data before or after the build.

Yikes, shows how behind I am on npm, I don't think it even had prepare the last time I checked! Thanks @JorgenEvens I'll investigate.

@dave-irvine Would you like some help with maintaining releases? I'd be willing to help publish this current one if you add me as a maintainer.

look what I found: https://github.com/semantic-release/semantic-release

I'm closing this in favor of #815 and #816.


[ACS][Chat] Common SDK Version Bump

Data Plane API - Pull Request
We are updating the common SDK version in the swagger of an upcoming GA release.
API Info: The Basics
Is this review for (select one):

[ ] a private preview
[ ] a public preview
[X] GA release

Change Scope
Common SDK version bump
Viewing API changes
N/A
Suppressing failures
N/A
❔Got questions? Need additional info?? We are here to help!

 Contact us!
The Azure API Review Board is dedicated to helping you create amazing APIs. You can read about our mission and learn more about our process on our wiki.

💬 Teams Channel
💌 email

Click here for links to tools, specs, guidelines & other good stuff
Tooling

Open API validation tools were run on this PR. Go here to see how to fix errors
Spectral Linting
Open API Hub

Guidelines & Specifications

Azure REST API Guidelines
OpenAPI Style Guidelines
Azure Breaking Change Policy

Helpful Links

Azure DevTools Wiki

We generally discourge changing API definitions that have been merged to main, particularly GA versions.
You mention in the PR description that there are plans for an upcoming GA release -- it would be better to simply include this change with the other changes for that new release.

Thank you @mikekistler we don't have a timeline for next GA release and since common SDK encourages us to use latest model as soon as possible we decided to update the current GA since we haven't officially release it yet (tentative release date is at the end of Q1 - Late March). Sorry for the confusion and we will keep in mind next time

/azp run Swagger APIView

/azp run SDK azure-sdk-for-js

/azp run Azure.azure-rest-api-specs-pipeline

/azp run

/pr RequestMerge


Maximize pass

Optim.jl now supports the univariate maximize function instead of just optimize
We should find all of the places that use optimize and convert to maximize if that is the math implementation.  Of course, since this si a move from minimize to maximize, this means swapping the sign of the objective that is passed in as well not swapping the sign of the output
Also, look for http://quantecon.github.io/QuantEcon.jl/latest/api/QuantEcon.html#QuantEcon.golden_method-Tuple{Function,Real,Real} and swap that out as well.

@XiaojunGuan I think this is a good one to start on. Basically, we have a lot of maximization problems that are coerced into the structure of a minimization problem, because that's what Optim.jl used to support.
https://github.com/JuliaNLSolvers/Optim.jl/issues/554 is some background on the optimizer, but to see the exact usage you can look at the tests in the Optim package.

ifp.rst needs a pass.

Any update on that?

Done at e4697c6; thanks for the reminder @Nosferican.


Pods with azure.workload.identity/inject-proxy-sidecar annotation are blocked by Azure Policy due to container security

Describe the bug
After moving to workload-identity 1.0.0 deployments using the azure.workload.identity/inject-proxy-sidecar annotation fail to create pods due to required readonly root filesystem setting. This previously was not blocked by Azure Policy on version 0.15
Steps To Reproduce
Create a deployment that sets the annotation azure.workload.identity/inject-proxy-sidecar
Expected behavior
The deployment creates a replicaset with pods running the application container as well as the injected proxy sidecar container
Logs
Warning  FailedCreate  2m20s (x8 over 7m46s)  replicaset-controller  (combined from similar events): Error creating: admission webhook "validation.gatekeeper.sh" denied the request:  [azurepolicy-k8sazurev3readonlyrootfilesyst-01317df5d97e241e6132] Readonly root filesystem is required for container. pod:'pod', container:'azwi-proxy' [azurepolicy-k8sazurev3readonlyrootfilesyst-01317df5d97e241e6132] Readonly root filesystem is required for container. pod:'pod', container:'azwi-proxy-init'
Environment

Kubernetes version (use kubectl version): Server Version: version.Info{Major:"1", Minor:"24", GitVersion:"v1.24.6", GitCommit:"08d3594304660f86cfbd17bbb862041b4b75fe6c", GitTreeState:"clean", BuildDate:"2023-02-08T17:22:59Z", GoVersion:"go1.18.6", Compiler:"gc", Platform:"linux/amd64"}
Cloud provider or hardware configuration: Azure Kubernetes Service
OS (e.g: cat /etc/os-release):
Kernel (e.g. uname -a):
Install tools:
Network plugin and version (if this is a network-related bug):
Others:

Additional context

For the azwi-proxy sidecar container, we can set readOnlyRootFileSystem: true (covered in https://github.com/Azure/azure-workload-identity/pull/829).
azwi-proxy-init needs readOnlyRootFileSystem: false, so that can't be changed. If you need to use the proxy sidecar approach to migrate, you'll need to allow this init container to run without that setting.

Closed with https://github.com/Azure/azure-workload-identity/pull/829


AMLII-2169 Update Windows JRE to latest JRE11 release

What does this PR do?
Update Windows JRE to latest JRE11 release.
Motivation
In particular, to get a fix for JDK-8260925 which prevents JMXFetch from working properly with the BouncyCastle JSSE provider.
Describe how to test/QA your changes

On Windows, install and start Apache ActiveMQ classic with the default settings
Confirm local ip address with ipconfig /all
Create jmx integration config in c:\jmx.d\conf.yaml:instances:
 - host: "ip address from the previous step"
   port: 1099
   name: activemq
   user: admin
   password: activemq
   collect_default_jvm_metrics: true

Start agent container with:docker run --rm --name qa -e DD_API_KEY=none -e DD_HOSTNAME=qa \
  -v "c:\jmx.d:c:\programdata\datadog\conf.d\jmx.d" -e DD_LOG_LEVEL=debug \
  datadog/agent-dev:vickenty-java-py3-jmx-win

Run docker exec qa agent jmx list everything and make sure it connects and lists some jmx attributes.

Possible Drawbacks / Trade-offs
Additional Notes

/merge


[DTLS] Add NamedCurve::P384

related: https://github.com/webrtc-rs/webrtc/issues/24
I had to bump p256 version also due to a shared dependency, which changed some of the api / error types. I couldn't figure a good way to add any test code to this, given the pretty hard-coded X25519 at the moment, but let me know if you have any suggestions.

I couldn't figure a good way to add any test code to this

Have you looked into Pion https://github.com/pion/dtls?

https://github.com/pion/dtls/blob/master/conn_test.go#L1485-L1487
&extension.SupportedEllipticCurves{
	EllipticCurves: []elliptic.Curve{elliptic.X25519, elliptic.P256, elliptic.P384},
},

Near as I can tell, pion also always tests with all extensions enabled and therefore only ever tests X25519...

@k0nserv

We have migrated this crate to the monorepo(webrtc-rs/webrtc) please re-open this pull request over there.

Done: https://github.com/webrtc-rs/webrtc/pull/254


python-sdk: Pipeline notification changes

Bump protos
Update NotifyRequest with new fields

Waiting on frontend changes to land before merging


Already connected to this network

Description of the bug:
For some reason there is a rare case where the cloud would not register that a player has left the server. If this happens, the player is permanently blocked from the network with the message "you are already connected to this Network" until the entire cloud is shut down and restarted. This message is from the CloudNetBridge module.
I tried kicking the players instance using players player <name> kick 123 and deleting the player entirely from registry using the  player delete command. This does not help and the player still shows up in players online.
It logs the players Login request to the cloud console:
[08.07 16:41:13.127] INFO: Login Request from the identity 39f1c949-bd9a-4eca-a1bf-77576616bb44:flunkerer on the proxy Proxy-1

However there is no trace of the player in the proxy log, nor the /glist command or on any servers connected with the cloud.
Steps to reproduce this bug:
I'm not sure how to reproduce this other than just running the proxy for weeks. This only happened for two players until now, but requires the entire cloud to be restarted in oder to allow them to join again, which is not desirable.
Expected behavior:
To properly recognize disconnected players, or at least provide a command to fix it at runtime.
Screenshots:

Environment and used hardware:
We are running:

latest Waterfall 1.17-R0.1-SNAPSHOT:34188b3:443
CloudNet 3.4.0-SNAPSHOT-2c52ea5
Java AdoptOpenJDK-16.0.1+9 (build 16.0.1+9)

System specifications: Ryzen 3000 platform
OS: Debian
Version: 10

Thanks for your time!
Could you please update to the latest snapshot and see if this occurs again?
The fix is already implemented


Add dissecting pooler

Overview
Adds the "dissecting" pooler from SBERT-WK, which can be used at test time. Eval is currently running, but the early results suggest that this leads to a sizable boost in performance on SentEval.
TODO

[x] Replace all calls to numpy in DissectingEncoder with the corresponding torch functions.
[ ] Vectorize as much of DissectingEncoder.forward as possible.
[x] Write unit tests for the new encoder.

Other changes

♻ PretrainedTransformerEmbedderMLM can now be used to access the embeddings of all hidden layers by setting output_hidden_states = True
♻ run_senteval.py has been updated so that the AllenNLP subcommand supports overrides.

I am going to close this, as ultimately, I don't think it is worth the effort to implement it. Too much of the computation happens on the CPU which dramatically slows down embedding. In the few experiements I ran, this did not improve the quality of the embeddings.
Something related that we could try out would be AllenNLPs new "scalar mix" in the PretrainedTransformerEmbedder object.


Starting single emulator

I have tried starting one emulator and keep getting this error.
Exception in thread "main" java.lang.IllegalStateException: Process [script, -F, /Users/craigc/Desktop/FastLaneTest/22978607283610.output, /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/go/bin:/usr/local/MacGPG2/bin:/opt/X11/bin:/usr/local/git/bin:/Users/craigc/Library/Android/sdk/platform-tools:/Users/craigc/Library/Android/sdk/platform-tools/adb, devices] exited with non-zero code 15 Script started on Fri Feb  1 14:06:21 2019

command: /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/go/bin:/usr/local/MacGPG2/bin:/opt/X11/bin:/usr/local/git/bin:/Users/craigc/Library/Android/sdk/platform-tools:/Users/craigc/Library/Android/sdk/platform-tools/adb devices
script: /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/go/bin:/usr/local/MacGPG2/bin:/opt/X11/bin:/usr/local/git/bin:/Users/craigc/Library/Android/sdk/platform-tools:/Users/craigc/Library/Android/sdk/platform-tools/adb: No such file or directory
Could you please help.

Make sure you have platform-tools and adb in it in your ANDROID_HOME


Missing relative paths of in- and output folders

We didn't find a solution for our problem to navigate out of our scss-folder structure and put the output css into the same folder structure in the main css-folder.

All our workarounds were unsuccessful. savePaths like "/css/., ~/., /. ~/../../.. " didn't fix the problem. It would be useful to use further properties, to configure something like this for a multiple folder-root:
"liveSassCompile.settings.formats": [
folder1 {
{
"format": "expanded",
"extensionName": ".css",
"srcPath": "/scss/global/desktop/",
"savePath": "/css/global/desktop/"
}
},
folder 2 {
{
"format": "expanded",
"extensionName": ".css",
"srcPath": "/scss/global/mobile/",
"savePath": "/css/global/mobile/"
}
},
etc.
],

If you want to keep the exact same file structure then you'd need savePathReplacementPairs. Maybe something like the below (untested)
"liveSassCompile.settings.formats": [
{
    "format": "expanded",
    "extensionName": ".css",
    "savePathReplacementPairs": {
        "/scss/": "/CSS/"
    }
}]

If you want to keep the exact same file structure then you'd need savePathReplacementPairs. Maybe something like the below (untested)
"liveSassCompile.settings.formats": [
{
    "format": "expanded",
    "extensionName": ".css",
    "savePathReplacementPairs": {
        "/scss/": "/CSS/"
    }
}]

Thank you. That worked immediately and saved our problem after some tests. Now after local testing we can use your compiler in our production workspace. Great!


Support for MQTT over TLS

I see that MQTT over TLS support has been added in Rhasspy 2.4 in https://github.com/synesthesiam/rhasspy/pull/201. Is it much work to add this support in Rhasspy 2.5? I suppose that every Hermes-enabled service should be adapted?

This won't be a lot of work, luckily. Every Hermes service uses the same shared library to parse command-line arguments and set up its MQTT connection :)

@koenvervloesem, do you know of a good tutorial to set up TLS in mosquitto?

No, but I can write one :-) I wrote this for my book, so I can rework the material to fit in Rhasspy's documentation. If you put a TODO placeholder in the documentation, I'll add this when I find some time.
Maybe we should add a Security section in the documentation. This could have the following topics eventually:

MQTT TLS and authentication configuration in Rhasspy
TLS configuration for Mosquitto
Configuration of accounts and access control lists in Mosquitto
Isolating Rhasspy apps in Docker/podman containers

We'll have to document this anyway if we want to work on a secure architecture for Rhasspy apps.

Ho @koenvervloesem , this is already supported in 2.5.11 correct?


added a simple cli for working with the LCD plate

I figure since there's a board designed for the Raspberry Pi, it makes a lot of sense to expose the LCD to the command line.

Thanks for the PR! However, we're going to be deprecating this library in favor of this one: https://github.com/adafruit/Adafruit_CircuitPython_CharLCD
That library is available on PyPI for you to pip3 install adafruit-circuitpython-charlcd and use on Raspberry Pi thanks to the Adafruit-Blinka library which should install automatically along with the other dependencies needed for using charlcd.  Please see the documentation for API and usage examples. There are Raspberry Pi-specific examples in the examples/ folder in the repo.


Adds more tests to mainController

While I was developing some tests to mainController, I also did some refactors like extract code to private function, drop unnecessary variable, fix indentation and I also changed $scope.userId in the beginning. Instead of set an empty string and check if it's empty, I only check if it exists or not. I couldn't see any side effects on that change (neither my tests). :)

Refactor champion in action! <3


Add tarpaulin.toml configuration file example

This pull request adds a example configuration file, based on the src/config/mod.rs file. This is for better readability. I've also added a link to the mod.rs file.

It's quite a lot of vertical space in the readme. Instead could you merge all the default fields that aren't already in https://github.com/xd009642/tarpaulin/blob/develop/tarpaulin.toml into there and retain the comments and just link people to the existing toml that the project uses :eyes:

It's quite a lot of vertical space in the readme. Instead could you merge all the default fields that aren't already in https://github.com/xd009642/tarpaulin/blob/develop/tarpaulin.toml into there and retain the comments and just link people to the existing toml that the project uses 👀

Done! The null values have been commented out, since this gave syntax errors in the file.


[Question] How to list paginated image tags from quay.io

Question
Does the  --last param work for quay.io?
I've not found a way to obtain other than the 1st 50 tags on quay.io.
i.e. if I get tags for calico/node image from dockerhub I get a lot of tags
/tmp$ regctl tag ls calico/node | wc -l
8225

but when it comes to quay.io it seems to return just the first 50 tags
I thought the --last param would do the trick, but unless I'm using it the wrong way, it seems not working for quay, as I get the very same contents as when invoked without that flag
/tmp$ regctl tag ls quay.io/calico/node | wc -l
50
/tmp$ regctl tag ls quay.io/calico/node | tail -n 3
v3.4.0-0.dev-27-g319e739-ppc64le
v3.4.0-0.dev-28-g909229b-amd64
v3.4.0-0.dev-28-g909229b-arm64
/tmp$ regctl tag ls quay.io/calico/node --last 'v3.4.0-0.dev-28-g909229b-arm64' | tail -n 3
v3.4.0-0.dev-27-g319e739-ppc64le
v3.4.0-0.dev-28-g909229b-amd64
v3.4.0-0.dev-28-g909229b-arm64

Version
{
  "VCSRef": "333c44dcfc3b062776ef70a9264ff30914d4770e",
  "VCSTag": "v0.4.4"
}

Environment

Running as binary or container: downloaded binary
Host platform: Linux x86_64
Registry description: quay.io

Anything else
I asked the same some days ago on stackoverflow at https://stackoverflow.com/questions/73120440/how-to-list-paginated-image-tags-from-quay-io-using-regctl

Quay.io seems to be doing some weird stuff with the response:
$ regctl tag ls quay.io/calico/node --last v3.4.0-0.dev-28-g909229b-amd64 --limit 5
v3.3.0-2-g441d7c2-arm64
v3.4.0-0.dev-25-g17db8bd
v3.4.0-0.dev-25-g17db8bd-amd64
v3.4.0-0.dev-25-g17db8bd-arm64
v3.4.0-0.dev-25-g17db8bd-ppc64le

It should just show the last two images if the repo only has 50 images (which it doesn't), but it returns 5 entries, adding more entries to the start of the list until it gets 5 responses. As best I can tell, their tag API only supports 50 tags no matter the query passed. And it's including the last tag rather than showing the tags after last when the limit isn't reached:
$ regctl tag ls quay.io/calico/node --last v3.4.0-0.dev-28-g909229b-amd64 --limit 2
v3.4.0-0.dev-25-g17db8bd-amd64
v3.4.0-0.dev-25-g17db8bd-arm64

For an example of how a registry should respond to that request, see how Hub responds:
$ regctl tag ls calico/node  --limit 10
06d8348
0b3286c-e9613934-1eb2608
2606b97-e0ce0bc-7a66b57
2606b97-e0ce0bca-7a66b57
383a737
43b069c
4d0d1ec
4fac26c-0ff3c42a-f442384
53afe8a
542c040

$ regctl tag ls calico/node  --limit 10 --last 542c040
684ef2b
6889069
69c3089
6ce4f0a
714dda5-36dc8f6f-aa95469
714dda5-48a4a83d-aa95469
714dda5-6af11396-aa95469
765dc25
91d54c3
9512289

Quay appears to track all of their issues in Jira. I'm going to close this since it's not really a regclient bug, we're just passing through the response to the OCI API call. But I've also sent a ping over to a few Quay people to see if they have any more details, and I'm happy for the conversation to continue here.

Going further I suspect quay/openshift implementation of registry rest api simply decided to somewhat follow the specs diverging from docker reference implementation.
Issuing some CURL commands, you can see that their link response header has - among others - a next_page query param
Using the value from link param for the subsequent call you get the next page
i.e. you would end up with a sequence of calls similar to
curl -v 'https://quay.io/v2/calico/node/tags/list?n=20'
curl -v 'https://quay.io/v2/calico/node/tags/list?n=20&next_page=gAAAAABi5EIwY08OcYRym5Ujrslpl_v7l8EM_jRDvSRYkkqDxpiKTHI9HZpwQQy3vaxj0zZyJlj-efZ4LD06-Or7GI4NaTaClqjDhE_VhjestPyUOxFkMog%3D'
curl -v 'https://quay.io/v2/calico/node/tags/list?n=20&next_page=gAAAAABi5EJMAT3fXZrIRHuUTsFXVhnTuA5eFXwdbO6dlTSuKDXBXUgCveyACCVN_RYFKiNoGLlqyGK_Rg-fKkC-Vg9xnZzS8a98aZoG0eYhCEFe0EVP_0c%3D'

where the next_page (actually most of the url) comes from the link header of the previous page's response.
Not sure if it is fully compliant with docker registry v2 specs, but using the link header from previous page's response in a loop could work for most implementations (without sticking to last param implementation detail).

Interesting that they took that approach since it's not really in the spec (there's one partial mention of the Link header there, but otherwise undefined). I'll work on a tag listing that repeats through link headers until the list ends.

This should be now supported by #276


NPE on copying empty DDSketch

Describe what happened:
Copying empty DDSketch crashes with NPE:
Exception in thread "main" java.lang.NullPointerException
	at com.datadoghq.sketch.ddsketch.store.DenseStore.<init>(DenseStore.java:50)
	at com.datadoghq.sketch.ddsketch.store.UnboundedSizeDenseStore.<init>(UnboundedSizeDenseStore.java:23)
	at com.datadoghq.sketch.ddsketch.store.UnboundedSizeDenseStore.copy(UnboundedSizeDenseStore.java:67)
	at com.datadoghq.sketch.ddsketch.DDSketch.<init>(DDSketch.java:110)
	at com.datadoghq.sketch.ddsketch.DDSketch.copy(DDSketch.java:186)

Describe what you expected:
Successfully get a copy of empty Sketch
Steps to reproduce the issue:
DDSketch ddSketch = DDSketch.memoryOptimal(0.05);
ddSketch.copy();

Although use case is a bit rare and kinda useless, it's a valid one and throwing exceptions seems urneasonable here, not something what I would call the best practice for an API design

That shouldn't happen indeed. Thanks for reporting.

Thanks for the quick reaction