text:
Allow specifying json mapping at definition level

Carried over from discussion in the first json serialization feature PR. It quickly became clear that this is a feature beyond the scope of that PR.
The idea here is to allow specifying things like exclude:
model.json(exclude={'foobar'})

At the data definition level (aka. Class):
class Model(BaseModel):
  # Hypothetical API, just to make the point, not a precise API suggestion
  foobar: Optional[str] = None @json_exclude

Because I have an assumption that JSON mapping will typically by app-wide not ad-hoc/call-site specific.
Inspiration:
In Go structrs can be annotated with so-called tags to create a mapping to JSON:

https://medium.com/golangspec/tags-in-golang-3e5db0b8ef3e
https://stackoverflow.com/questions/10858787/what-are-the-uses-for-tags-in-go

I think this is excessively confusing, you could add something to Schema like exclude_from_output, but if it's excluded from json() it should be excluded from dict() too, then why bother validating it at all.
If people want this feature they could implement it on a model by a special_json() method which calls json(exclude={a,b,c}) this could even be defined on a alternative base class and reused.

authors: jasonkuhrt samuelcolvin

repo: samuelcolvin/pydantic


text:
Nested exclude support

Feature Request
As @JrooTJunior pointed out, now dict, json and copy methods don't support exclude for nested models.
Using keys from original exclude arg for nested models could be confusing in some cases and also potentially will break backwards compatibility.
So I see a solution in adding new arg called nested_exclude or deep_exclude, keys in which will be excluded from all nested models and even dicts:
from pydantic import BaseModel, SecretStr

class User(BaseModel):
    id: int
    username: str
    password: SecretStr

class Transaction(BaseModel):
    id: str
    user: User
    value: int

transaction = Transaction(
    id="abcdef1234567890",
    user=User(
        id=42,
        username="someuser",
        password="hashedpassword123"
    ),
    value=9876543210
)

t_out = transaction.dict(exclude={'password'})
t_out_safe = transaction.dict(nested_exclude={'password'})
print(t_out)  # {'id': 'abcdef1234567890', 'user': {'id': 42, 'username': 'someuser', 'password': SecretStr('**********')}, 'value': 9876543210}
print(t_out_safe)  # {'id': 'abcdef1234567890', 'user': {'id': 42, 'username': 'someuser'}, 'value': 9876543210}

personally I think it should be nested by default, we would just need to add a "break change" notice to the release.
Anyone unhappy with that?

Will it affect not only nested models, but also keys with plain dict values then?

I see in this case nested_exclude will exclude key from all of nested models but what about excluding keys from the specific model?
For example model has two nested models and this models has the same keys and need to exclude key only from one of that.
Need something like exclude={"key", "nested1.key2"} or something like that.

it should be nested by default

Imagine we have the following code:
from pydantic import BaseModel

class Author(BaseModel):
	name: str
	surname: str
	country: str

class Book(BaseModel):
	name: str
	author: Author
	release_year: int

john_smith = Author(name='John', surname='Smith', country='England')
foo_bar_story = Book(name='The Foo Bar Story', author=john_smith, release_year=2019)

print(foo_bar_story.dict(exclude={'name'}))

Does it mean, that both Book and Author models will drop thename key?
{'author': {'surname': 'Smith', 'country': 'England'}, 'release_year': 2019}

It is not obvious, to be honest.
What will it look like if I want to preserve name in my nested model, but get rid of it in the root one?
At this point, it feels like we might need something like project in MongoDB to satisfy everybody.
But I don't know how it has to work or if it's even a pythonic thing:
foo_bar_story.dict(projection={"name": 0, "author": {"name": 0}, "author.country": 0})

Okay, having thought about this, I think nested exclude and include should work as follows:
members of the set for exclude can either be a string in which case they work as they currently do, or a tuple in which case they indicate the nested member to exclude.
Same/opposite for include.
So in the above example to exclude the author name you'd use
foo_bar_story.dict(exclude={('author', 'name'})

If you had a list you could exclude via element id, eg.
class Author(BaseModel):
	name: str
	surname: str

class Book(BaseModel):
	name: str
	authors: List[Author]

a1 = Author(name='c', surname='d')
a2 = Author(name='e', surname='f')

b = Book(name='testing', authors=[a1, a2])

# excluded a2:
b.dict(exclude={('authors', 1)})

This will make the logic fairly complicated and somewhat slower, but it's backwards compatible and powerful.

I like this idea, but in this case personally I’d preferred using a Union[Set[str], Dict[str, Set[IntStr]] instead of Set[Union[str, Tuple[str, IntStr]], so it will be much easier to define multiple keys or indexes for particular model:
foo_bar_story.dict(exclude={'author': {'name', 'id'}})

b.dict(exclude={'authors': {1, 2}})

dicts are mutable so can't be used in a set, let's go with Set[Union[str, Tuple[IntStr, ...]] as I suggested.
Tuple[IntStr, ...] because models can be recursive, so the references can be of any depth.

dicts are mutable so can't be used in a set

But why use them in a set? I suggested use either a set or a dict.
I still don’t get benefits from using set of tuples. How will it look with multiple fields to exclude from nested model or depth > 1?

Sorry, I though you had Set[Union[str, Dict[...]]].
Maybe dict would be easier.
Please explain what it would like like when excluding the following things (all these things in the same exclude):

field name (str)
field address (sub model), exclude post_code and country (but not town)
field card_details (sub-model), exclude the entire sub-model
field hobbies (list of sub-models), exclude the last one

?
(for reference with the tuple solution this would be exclude={'name', ('address', 'post_code'), ('address', 'country'), 'card_details', ('hobbies', -1)})

if we wanted the tuple approach to be more succinct (but harder to develop) we could make the above example:
exclude={
    'name',
    ('address', ('post_code', 'country')),
    'card_details',
    ('hobbies', -1),
}

Above example should look like:
exclude={
    'name': ...,
    'address': {'post_code', 'country'},
    'card_details': ...,
    'hobbies': {-1},
}

I’m not sure about ellipses, maybe we should use something else to define entire sub model to exclude.
Tuple solution seems to be more friendly for mixing single exclude in nested model and original exclude:
{'field1', ('sub_m', 'field2')}
instead of
{'field1': ..., 'sub_m': {'field2'}}
But when it comes to excluding multiple fields from sub model, using a dict seems easier for me

I think tuples are more correct, but dict is more readable.
Let's go with the dict approach.

Another benefit from using dict: we can define whether to use old or new logic right away just with type checking the argument
If use tuple solution, we will need to check each element at any time

I've almost implemented this so far. Need to deal with typing issues and write the tests
In current state his example is absolutely valid and working:
exclude={
    'name': ...,
    'address': {
        'post_code': ...,
        'country': {'code'}
    },
    'card_details': ...,
    'hobbies': {
        -1: {'details'}
    },
}

Also, I need a little help with type for exclude arg.
This is my approach on this, but unfortunately it's not valid due to ellipsis and recursive typing.
DictIntStrExclude = Dict[IntStr, Union[SetIntStr, 'DictIntStrExclude', ellipsis]]
exclude: Union['SetStr', 'DictIntStrExclude']

What is the proper type should look like?

Will have to be Dict[IntStr, Any]

source: gharchive/issue

authors: JrooTJunior MrMrRobat Senpos samuelcolvin

license: MIT

license_type: permissive

license_source: github-api


text:
require exact dates from unix timestamps to create days

error if there's a remainder.

Probably not needed, we're doing this in pydantic-core already.

repo: samuelcolvin/speedate


text:
Delete Issue

Running the test passes but yields the following warning:
WARNING: In /Users/sam/Software/ITK/Modules/Core/Common/src/itkLightObject.cxx, line 196
LightObject (0x7fa9760b3b00): Trying to delete object with non-zero reference count.
Somewhere an issue with smart pointers probably.

Done

repo: samuelgerber/ITKThinShellDemons


text:
installation issues

trying to install chip-io library with no success. any advice?
npm install johnny-five chip-io
npm ERR! Darwin 14.5.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "johnny-five" "chip-io"
npm ERR! node v5.4.1
npm ERR! npm  v3.10.8
npm ERR! code EBADPLATFORM
npm ERR! notsup Unsupported platform for chip-io@2.0.1: wanted {"os":"linux","arch":"any"} (current: {"os":"darwin","arch":"x64"})
npm ERR! notsup Valid OS:    linux
npm ERR! notsup Valid Arch:  any
npm ERR! notsup Actual OS:   darwin
npm ERR! notsup Actual Arch: x64

The chip-io package is defined to be run on a Linux operating system.  It appears that you are running on a "darwin" operating system
https://en.wikipedia.org/wiki/Darwin_(operating_system)
which I'm guessing means you are running on Mac OS X.  Unfortunately, I don't believe this Node.js package is supported on that platform.  Now whether that is because of a technical limitation or because the author of the package didn't have a Mac OS X to test with ... that I can't answer.   If we look at line 38 of package.json in the source of the project, we see a hard check for "linux".

Now whether that is because of a technical limitation or because the author of the package didn't have a Mac OS X to test with ... that I can't answer.

This module is intentionally designed for running exclusively on CHIP boards and nothing else.

I've added a note to the read me for this in https://github.com/sandeepmistry/node-chip-io/commit/a2d8e13075e9a5b13f5fced11a77b83973716464.
@AnnaNican why are you trying to install on a Mac?

authors: AnnaNican nkolban rwaldron sandeepmistry

repo: sandeepmistry/node-chip-io

license: mit

license_source: bigquery


text:
DPL-063 DEPRECATED - Cardinal - tube barcoding

User story
As a scientist from Human Genetics, I need the tubes containing fresh blood samples I will be receiving daily from various sites across the UK to be barcoded appropriately.
Who are the primary contacts for this story
Stef L
Acceptance criteria

I need to be able to generate a batch of barcodes
The barcodes should be identifiable as from a particular blood collection site e.g. Newcastle, Stockport, Bristol, Reading, ELGH (e.g. unique prefix).
Administrators should be able to add new sites, with their barcode formats, into the system, to allow for quick on-boarding of new sites and avoid involving PSD when setting a new one up. (nice to have)
Each barcode must be unique so that it can be used to identify a particular patient.
I must be able to export or copy paste these barcodes so I can easily email them to the relevant site.
I must be able to print these barcodes (from Squix printers) in case I need to send them physically to the relevant site, where they will be stuck onto blood collection tubes.

Dependencies
References
This story has a non-blocking relationship with:

https://github.com/sanger/limber/issues/812

Additional context
Nicole Staudt (project manager) from Cardinal will be the one informed about new sites (the most common time when new barcodes will need to be generated) - she may then ask an SSR to generate barcodes for them. Or could do it directly if she has access to whatever app is necessary.

Q's:

So barcodes need to be something like 'NCL-123456', 'STK-123455' (for Newcastle and Stockport) - they identify the site not the project - they don't have to include 'UKB' as well?
Confirm that we don't need to print off the barcodes - we email them to the site?
Are the tubes in tube racks or standalone?
Will they be manually scanning them in one by one? (Rich's comment mentioned something about high throughput receipt)
Not sure if we normally like to do automated emails - possibly think about alternatives.
Is there sample metadata provided at all?
"a control will be added to the plate" - at what stage would this happen? The rest of this story is talking about tubes, not plates.

Q. Is that BMS system going to use our Labwhere application for the 'assign then into a storage location' requirement? If so will that be a box / rack barcode location containing multiple tube locations? Consider how that will be managed.

Q. Is that BMS system going to use our Labwhere application for the 'assign then into a storage location' requirement? If so will that be a box / rack barcode location containing multiple tube barcodes? Consider how that will be managed.

As I understood it, there are no fluidx tube racks at this stage, the only relevant barcodes will be these 'vacutainer' tubes.
The fluidx tube racks come in in this story - https://github.com/sanger/limber/issues/773 - for the 'cell banking' - at which stage I presume they are not using LabWhere - sounded like we give them a list of "original tube barcode, new fluidx tube barcode, and new rack barcode" and they take it from there. But it's a good question and something to keep an eye on.

More Q&A with Stef (copy pasted from email):
Q1. What will be the process of on-boarding a new collection site? At the moment I am imagining a user picks from a list of sites to generate barcodes, and dev input would be required to add a site to that list.
A1. Sounds good – how annoying would it be to add new sites/ how long would this take? I can imagine that this would need to be acted on quickly i.e can’t be a process of having to submit a story which needs to be prioritised etc.
--> Have added acceptance criteria for this to be configurable.
Q2. What is the starting list of collection sites? (not urgent but will be needed to do the story)
A2. Still unclear at this point.
Q3. What barcode label size is needed to go on a ‘vacutainer’ tube? Is it something we’ve already got set up?
A3. Don’t worry about this for now – still some uncertainty.

Update: barcodes no longer needed for UKB, but they are needed for Genes & Health

Risk that UKB has barcodes with leading zeros.
Open question - which app to put barcode generation and printing in? Similar to Baracoda / UI? Sequencescape?

Spun this story out - https://github.com/sanger/limber/issues/812 - since it has become clear we do need to import some metadata about samples into Sequencescape.

Deprecated this as we are planning to just use NT barcodes, using manifests - more details to come.

Detail on tube label sizes from Slack, in case needed in future:
the smallest vacutainer sizes we expect to be 2 or 3 ml. I don't know what label sizes are available but I would have thought that a similar size to the ones that are currently used for the COVID tests on site would be suitable for any size of tube (Nicole)
If the site itself doesn't have any requirements then the standard tube label format should be a good option. (Stef)
Tubes are 13 x 75mm for a draw of 2-4ml of blood. (Stephen)

New information from Nicole S (see email "Cardinal barcodes" including Katy, Stef and Stephen W Wednesday, 8 September 2021 at 15:26, onwards):
East London Genes and Health will generate their own barcodes, with a format of “S2-046-XXXXX”, where XXXXX is a number. Therefore all suppliers (them and UKB) are generating their own barcodes, and this story is really obsolete.

authors: KatyTaylor andrewsparkes

repo: sanger/limber


text:
GPL-884 Get COG UK ids in manifest creation for Eagle [Heron] [4]

User story
As a developer I want to automatically retrieve the COG UK ids of the samples created on manifest creation for samples for Heron projects so this action is similar to how it happens currently with Lighthouse.
Who are the primary contacts for this story
James Mack
Eduardo Martin
Acceptance criteria
To be considered successful the solution must allow:

[ ] Uploading a manifest will obtain a COG UK id for each sample created.
[ ] As possible, only existing samples will get a COG uk id (minimise the number of ids not in use)

Dependencies
This story is blocked by the following dependencies:

#<issue_no.>
sanger/#<issue_no.>

Additional context
Related with ticket RT 711416

Agreed with Alan Keith can be deprecated - see email Rich L Subject INFO: PAM Backlog refinement decisions make

repo: sanger/sequencescape


text:
Ios issue: error on backspace

v1.0.5
When using component on iOS device. it gives an error when using backspace.
TypeError: _this2.getInputDOMNode().parentElement is not a function. (In '_this2.getInputDOMNode().parentElement()', '_this2.getInputDOMNode().parentElement' is an instance of HTMLDivElement)

@SlevenRobbert01 Thank you for reporting. Published v1.0.6 with a fix.

repo: sanniassin/react-input-mask


text:
java.lang.IndexOutOfBoundsException: index=0, limit=0

Hi guys. I downloaded latest version of your library from maven central as gradle dependency.
I trying to merge multiple videos into one, and got an exception from library
My code
try {
                Movie movie = new Movie();
                Log.e("PATH", Integer.toString(filePaths.size()));
                for(String path : filePaths) {
                    Log.e("PATH", path);
                    H264TrackImpl track = new H264TrackImpl(new FileDataSourceImpl(path));
                    movie.addTrack(track);

                }
                Container out = new DefaultMp4Builder().build(movie);
                FileOutputStream fos = new FileOutputStream(new File("h264_output.mp4"));
                FileChannel fc = fos.getChannel();
                out.writeContainer(fc);
                fos.close();
            } catch (IOException e) {
                e.printStackTrace();
            }

And got exception:
 Caused by: java.lang.IndexOutOfBoundsException: index=0, limit=0
            at java.nio.Buffer.checkIndex(Buffer.java:150)
            at java.nio.DirectByteBuffer.get(DirectByteBuffer.java:158)
            at com.googlecode.mp4parser.authoring.tracks.H264TrackImpl.readSamples(H264TrackImpl.java:341)
            at com.googlecode.mp4parser.authoring.tracks.H264TrackImpl.parse(H264TrackImpl.java:112)
            at com.googlecode.mp4parser.authoring.tracks.H264TrackImpl.<init>(H264TrackImpl.java:103)
            at com.myapp.activity.TestCompilationActivity.onCreate(TestCompilationActivity.java:51)
            at android.app.Activity.performCreate(Activity.java:5280)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1088)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2322)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2410)
            at android.app.ActivityThread.access$800(ActivityThread.java:155)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1331)
            at android.os.Handler.dispatchMessage(Handler.java:110)
            at android.os.Looper.loop(Looper.java:193)
            at android.app.ActivityThread.main(ActivityThread.java:5388)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:655)
            at dalvik.system.NativeStart.main(Native Method)

Any suggestions ?

have the same issue

Has anyone figured this out ?

Plz Send me example file.
pranay notifications@github.com schrieb am So., 24. Mai 2015 20:51:

Has anyone figured this out ?
—
Reply to this email directly or view it on GitHub
https://github.com/sannies/mp4parser/issues/19#issuecomment-105047482.

This is my code to combine audio and video. Could this issue be due to the encoding of my video file ? Any pointers would be helpful.
        H264TrackImpl h264Track = new H264TrackImpl(new MemoryDataSourceImpl(videoData));
        AACTrackImpl aacTrack = new AACTrackImpl(new FileDataSourceImpl(audioFile));
        Movie movie = new Movie();
        movie.addTrack(h264Track);
        movie.addTrack(aacTrack);
        Container mp4file = new DefaultMp4Builder().build(movie);
        FileChannel fc = new FileOutputStream(new File(resultFile)).getChannel();
        mp4file.writeContainer(fc);
        fc.close();

05-24 14:55:22.810  19006-19006/com.andromeda.vidsmash W/System.err﹕ Unknown NAL unit type: 16
05-24 14:55:22.812  19006-19006/com.andromeda.vidsmash W/System.err﹕ java.lang.IndexOutOfBoundsException: index=0, limit=0
05-24 14:55:22.823  19006-19006/com.andromeda.vidsmash W/System.err﹕ at java.nio.Buffer.checkIndex(Buffer.java:150)
05-24 14:55:22.823  19006-19006/com.andromeda.vidsmash W/System.err﹕ at java.nio.ByteArrayBuffer.get(ByteArrayBuffer.java:158)
05-24 14:55:22.824  19006-19006/com.andromeda.vidsmash W/System.err﹕ at com.googlecode.mp4parser.authoring.tracks.H264TrackImpl.readSamples(H264TrackImpl.java:297)
05-24 14:55:22.824  19006-19006/com.andromeda.vidsmash W/System.err﹕ at com.googlecode.mp4parser.authoring.tracks.H264TrackImpl.parse(H264TrackImpl.java:108)
05-24 14:55:22.824  19006-19006/com.andromeda.vidsmash W/System.err﹕ at com.googlecode.mp4parser.authoring.tracks.H264TrackImpl.<init>(H264TrackImpl.java:90)
05-24 14:55:22.824  19006-19006/com.andromeda.vidsmash W/System.err﹕ at com.googlecode.mp4parser.authoring.tracks.H264TrackImpl.<init>(H264TrackImpl.java:96)
05-24 14:55:22.824  19006-19006/com.andromeda.vidsmash W/System.err﹕ at com.googlecode.mp4parser.authoring.tracks.H264TrackImpl.<init>(H264TrackImpl.java:100)

Encoding could be an issue. But it's not very likely in my eyes.
Did you compile my code on your own?  If yes: Did you use the aspectJ
compiler to add the aspects?
pranay notifications@github.com schrieb am Mo., 25. Mai 2015 00:00:

This is my code to combine audio and video. Could this issue be due to the
encoding of my video file ? Any pointers would be helpful.
    H264TrackImpl h264Track = new H264TrackImpl(new MemoryDataSourceImpl(videoData));
    AACTrackImpl aacTrack = new AACTrackImpl(new FileDataSourceImpl(audioFile));
    Movie movie = new Movie();
    movie.addTrack(h264Track);
    movie.addTrack(aacTrack);
    Container mp4file = new DefaultMp4Builder().build(movie);
    FileChannel fc = new FileOutputStream(new File(resultFile)).getChannel();
    mp4file.writeContainer(fc);
    fc.close();

05-24 14:55:22.810  19006-19006/com.andromeda.vidsmash W/System.err﹕ Unknown NAL unit type: 16
05-24 14:55:22.812  19006-19006/com.andromeda.vidsmash W/System.err﹕ java.lang.IndexOutOfBoundsException: index=0, limit=0
05-24 14:55:22.823  19006-19006/com.andromeda.vidsmash W/System.err﹕ at java.nio.Buffer.checkIndex(Buffer.java:150)
05-24 14:55:22.823  19006-19006/com.andromeda.vidsmash W/System.err﹕ at java.nio.ByteArrayBuffer.get(ByteArrayBuffer.java:158)
05-24 14:55:22.824  19006-19006/com.andromeda.vidsmash W/System.err﹕ at com.googlecode.mp4parser.authoring.tracks.H264TrackImpl.readSamples(H264TrackImpl.java:297)
05-24 14:55:22.824  19006-19006/com.andromeda.vidsmash W/System.err﹕ at com.googlecode.mp4parser.authoring.tracks.H264TrackImpl.parse(H264TrackImpl.java:108)
05-24 14:55:22.824  19006-19006/com.andromeda.vidsmash W/System.err﹕ at com.googlecode.mp4parser.authoring.tracks.H264TrackImpl.(H264TrackImpl.java:90)
05-24 14:55:22.824  19006-19006/com.andromeda.vidsmash W/System.err﹕ at com.googlecode.mp4parser.authoring.tracks.H264TrackImpl.(H264TrackImpl.java:96)
05-24 14:55:22.824  19006-19006/com.andromeda.vidsmash W/System.err﹕ at com.googlecode.mp4parser.authoring.tracks.H264TrackImpl.(H264TrackImpl.java:100)
—
Reply to this email directly or view it on GitHub
https://github.com/sannies/mp4parser/issues/19#issuecomment-105064955.

I didn't compile the code. I included it as a maven dependency. Reg. the origin of my video source, I used the below command on a mp4 video i had and i used that as input to the above code. Any pointers would be helpful to resolve this issue.
ffmpeg -i video.mp4 -c:a copy -c:v libx264 -profile:v baseline -level 1 video.mp4

Hmm - ok, then it's definitively the video. I don't want to chase ghosts -
so please send me an example file! My ffmpeg might be a different revision
than your ffmpeg. I'm running ffmpeg on windows, you might run it on Mac
(or linux or or or) . The input video might cause ffmpeg to produce
different output as well.
2015-05-25 8:17 GMT+02:00 pranay notifications@github.com:

I didn't compile the code. I included it as a maven dependency. Reg. the
origin of my video source, I used the below command on a mp4 video i had
and i used that as input to the above code. Any pointers would be helpful
to resolve this issue.
ffmpeg -i video.mp4 -c:a copy -c:v libx264 -profile:v baseline -level 1
video.mp4
—
Reply to this email directly or view it on GitHub
https://github.com/sannies/mp4parser/issues/19#issuecomment-105138456.

This is the video.. https://www.dropbox.com/s/7uye009cuz3kuaf/darkknightnoaudio.mp4?dl=0

Hi Pranay,
the video you sent me is already an MP4 that contains audio and video. So
basically it's the result of the code you were psoting 8 hours ago.
The H264TrackImpl is used to parse raw H264 Annex B stream, the
AACTrackIMpl is used for raw AAC streams.
Use MovieCreator to create a Movie object from the MP4 and then select the
video track by calling getTracks().get(0) if you have a video-only MP4
file!
I'm not 100% sure what you are trying to do!
2015-05-25 8:28 GMT+02:00 pranay notifications@github.com:

This is the video..
https://www.dropbox.com/s/7uye009cuz3kuaf/darkknightnoaudio.mp4?dl=0
—
Reply to this email directly or view it on GitHub
https://github.com/sannies/mp4parser/issues/19#issuecomment-105139484.

Thank you so much for helping me out. I'll correct my code.
I'm just trying to merge a given video file (after removing the original audio) and add my custom audio to it.

Hello sir,
I am using MP4Parser for my project.I have one video file  (audio+video) in .mp4 format and another audio file in .mp3 format . I have to merge two files (.mp4 and .mp3)such that audio of that video file should be muted and new audio should be there in place of that.
Please help in this issue....I will be very thankful to you...

Sir can't we use .mp3 file directly for audio merging

Mp3 in MP4  containers doesn't work very well.  Please try to use AAC
instead.
What is your actual problem. What did you already try?
udit notifications@github.com schrieb am Do., 28. Mai 2015 16:31:

Sir can't we use .mp3 file directly for audio merging
—
Reply to this email directly or view it on GitHub
https://github.com/sannies/mp4parser/issues/19#issuecomment-106356108.

Sir I have merge both .mp4 files but now I have to merge
audio.mp3 and video.mp4 file... please suggest me the solution
On Thu, May 28, 2015 at 8:42 PM, Sebastian Annies notifications@github.com
wrote:

Mp3 in MP4 containers doesn't work very well. Please try to use AAC
instead.
What is your actual problem. What did you already try?
udit notifications@github.com schrieb am Do., 28. Mai 2015 16:31:

Sir can't we use .mp3 file directly for audio merging
—
Reply to this email directly or view it on GitHub
https://github.com/sannies/mp4parser/issues/19#issuecomment-106356108.

—
Reply to this email directly or view it on GitHub
https://github.com/sannies/mp4parser/issues/19#issuecomment-106393689.

--
With Regards,
Udit Kumawat
Fourth year Graduate Student (B. Tech In IT + MTech)Department of
Integrated Post Graduation (IPG)Indian Institute of Information Technology
and Management, GwaliorMobile: +91-8989826236
in.linkedin.com/in/uditkumawat94/
http://in.linkedin.com/in/uditkumawat94/

Hi,
MP3 in MP4 containers is not working well.  Don't do it is my advice. You
might want to send the mp3  through Android's MediaCodec to get an AAC.
Grüße,
Sebastian
udit notifications@github.com schrieb am Fr., 29. Mai 2015 07:49:

Sir I have merge both .mp4 files but now I have to merge
audio.mp3 and video.mp4 file... please suggest me the solution
On Thu, May 28, 2015 at 8:42 PM, Sebastian Annies <
notifications@github.com>
wrote:

Mp3 in MP4 containers doesn't work very well. Please try to use AAC
instead.
What is your actual problem. What did you already try?
udit notifications@github.com schrieb am Do., 28. Mai 2015 16:31:

Sir can't we use .mp3 file directly for audio merging
—
Reply to this email directly or view it on GitHub
<https://github.com/sannies/mp4parser/issues/19#issuecomment-106356108
.

—
Reply to this email directly or view it on GitHub
https://github.com/sannies/mp4parser/issues/19#issuecomment-106393689.

--
With Regards,
Udit Kumawat
Fourth year Graduate Student (B. Tech In IT + MTech)Department of
Integrated Post Graduation (IPG)Indian Institute of Information Technology
and Management, GwaliorMobile: +91-8989826236
in.linkedin.com/in/uditkumawat94/
http://in.linkedin.com/in/uditkumawat94/
—
Reply to this email directly or view it on GitHub
https://github.com/sannies/mp4parser/issues/19#issuecomment-106697341.

Hi! I need to merge video (mp4) and audio (aac), into 1 file (mp4). I did like this:
public boolean mux(String videoFile, String audioFile, String outputFile) throws IOException {
    H264TrackImpl h264Track = new H264TrackImpl(new FileDataSourceImpl(videoFile));
    AACTrackImpl aacTrack = new AACTrackImpl(new FileDataSourceImpl(audioFile));

    Movie movie = new Movie();
    movie.addTrack(h264Track);
    movie.addTrack(aacTrack);

    Container mp4file = new DefaultMp4Builder().build(movie);

    FileChannel fc = new FileOutputStream(new File(outputFile)).getChannel();
    mp4file.writeContainer(fc);
    fc.close();

    return true;

my multimedia files:
http://dropmefiles.com/fT3Wr
where videoFile, audioFile and outputFile are paths like "/storage/emulated/0/DCIM/derzkayaaac.aac" etc.
I got an error during execution :
Caused by: java.lang.IndexOutOfBoundsException: index=0, limit=0
at java.nio.Buffer.checkIndex(Buffer.java:150)
at java.nio.DirectByteBuffer.get(DirectByteBuffer.java:171)
at com.googlecode.mp4parser.authoring.tracks.H264TrackImpl.readSamples(H264TrackImpl.java:297)
at com.googlecode.mp4parser.authoring.tracks.H264TrackImpl.parse(H264TrackImpl.java:108)
at com.googlecode.mp4parser.authoring.tracks.H264TrackImpl.(H264TrackImpl.java:90)
at com.googlecode.mp4parser.authoring.tracks.H264TrackImpl.(H264TrackImpl.java:96)
at com.googlecode.mp4parser.authoring.tracks.H264TrackImpl.(H264TrackImpl.java:100)
at com.dev.illiakaliuzhnyi.derzkaya.Mp4ParserAudioMuxer.mux(Mp4ParserAudioMuxer.java:33)
please help me out! Thank you, have a nice day!

Hi,
the H264TrackImpl is used to read raw h264 files. If the h264 is already in
a MP4 container you should use the MovieCreator class to build a Movie
object.You can then add the AACTrackImpl to the existing tracks and write
the result to disk.
BR,
Sebastian
2015-06-10 17:29 GMT+02:00 illiaKalu notifications@github.com:

Hi! I need to merge video (mp4) and audio (aac), into 1 file (mp4). I did
like this:
public boolean mux(String videoFile, String audioFile, String outputFile)
throws IOException {
H264TrackImpl h264Track = new H264TrackImpl(new FileDataSourceImpl(videoFile));
AACTrackImpl aacTrack = new AACTrackImpl(new FileDataSourceImpl(audioFile));

Movie movie = new Movie();
movie.addTrack(h264Track);
movie.addTrack(aacTrack);

Container mp4file = new DefaultMp4Builder().build(movie);

FileChannel fc = new FileOutputStream(new File(outputFile)).getChannel();
mp4file.writeContainer(fc);
fc.close();

return true;

my multimedia files:
http://dropmefiles.com/fT3Wr
where videoFile, audioFile and outputFile are paths like
"/storage/emulated/0/DCIM/derzkayaaac.aac" etc.
I got an error during execution :
Caused by: java.lang.IndexOutOfBoundsException: index=0, limit=0
at java.nio.Buffer.checkIndex(Buffer.java:150)
at java.nio.DirectByteBuffer.get(DirectByteBuffer.java:171)
at
com.googlecode.mp4parser.authoring.tracks.H264TrackImpl.readSamples(H264TrackImpl.java:297)
at
com.googlecode.mp4parser.authoring.tracks.H264TrackImpl.parse(H264TrackImpl.java:108)
at
com.googlecode.mp4parser.authoring.tracks.H264TrackImpl.(H264TrackImpl.java:90)
at
com.googlecode.mp4parser.authoring.tracks.H264TrackImpl.(H264TrackImpl.java:96)
at
com.googlecode.mp4parser.authoring.tracks.H264TrackImpl.(H264TrackImpl.java:100)
at
com.dev.illiakaliuzhnyi.derzkaya.Mp4ParserAudioMuxer.mux(Mp4ParserAudioMuxer.java:33)
please help me out! Thank you, have a nice day!
—
Reply to this email directly or view it on GitHub
https://github.com/sannies/mp4parser/issues/19#issuecomment-110796472.

can you show it with an example ? actually i am also facing the same issue with same code, i understand that H264TrackImpl requires .h264 file format and we have mp4, still i am unable to figure out how can i remove the earlier audio from mp4 and then add my own mp3 or aac audio to that video.

Movie originalAudioAndVideo = MovieCreator.build("videoAndAudio.mp4");
Track nuAudio = new AACTrackImpl( new FileDataSourceImpl("nuAudio.aac"));
List nuTracks = new ArrayList();
for (Track track : originalAudioAndVideo.getTracks() ) {
if (track.getHandler().equals("vide")) {
nuTracks.add(track);
}
}
nuTracks.add(nuAudio);
Movie nuMovie = new Movie();
nuMovie.setTracks(nuTracks);
FragmentedMp4Builder mp4builder = new FragmentedMp4Builder();
Container c = mp4builder.build(nuMovie);
c.writeContainer(Channels.newChannel(new FileOutputStream("out.mp4")));
2015-07-13 9:28 GMT+02:00 amit-bst notifications@github.com:

can you show it with an example ? actually i am also facing the same issue
with same code, i understand that H264TrackImpl requires .h264 file format
and we have mp4, still i am unable to figure out how can i remove the
earlier audio from mp4 and then add my own mp3 or aac audio to that video.
—
Reply to this email directly or view it on GitHub
https://github.com/sannies/mp4parser/issues/19#issuecomment-120837391.

Thanks sannies, I tried this sample with the following files but the out video is not functional it sticks sometimes and no sound is there in this video. Here is the link to file
https://www.dropbox.com/sh/n7r8jn7lfxf4zzw/AADpthlihBc630x61NimejoEa?dl=0

Hi,
I am merging mp3 into mp4. It works fine on small length mp3 like 10 seconds, 20 seconds but when length exceeded like 53 seconds or 1:03 seconds, it gives IndexOutOfBound Exception.
I think its on get(location). Can you please provide me the solution.
Track audioTrack = audio.getTracks().get(0);
video.addTrack(audioTrack);

So there is a list of tracks and when you try to access the first element
you get an IndexOutOfBoundsException. What does that tell you? Perhaps that
the list doesn't contain any element?
2015-08-09 23:54 GMT+02:00 Asphanyaar notifications@github.com:

Hi,
I am merging mp3 into mp4. It works fine on small length mp3 like 10
seconds, 20 seconds but when length exceeded like 53 seconds or 1:03
seconds, it gives IndexOutOfBound Exception.
I think its on get(location). Can you please provide me the solution.
Track audioTrack = audio.getTracks().get(0);
video.addTrack(audioTrack);
—
Reply to this email directly or view it on GitHub
https://github.com/sannies/mp4parser/issues/19#issuecomment-129250827.

@sannies I tried to follow your instructions in the comment from August 13, 2015. But I get an NoSuchMethod error at this line: Movie originalAudioAndVideo = MovieCreator.build("videoAndAudio.mp4");

Same issue here

Hi. I'm having the same issue. While trying to convert from h264 to mp4 I get the IndexOutOfBoundsException. I know it does have something to do with the file and it's encoding, but still, ffmpeg is able to converti it succesfully (throwing some errors along the way).
Is there a chance I can provide an h264 file so that you can take a look at it?
Thanks in advance.
Best regards

authors: Asphanyaar amit-bst avanibhatnagar hauptkonto illiaKalu sannies sashatinkoff svpranay talesbarretoss uditkumawat viacheslavokolitiy


text:
Error on "sudo sift install" on ubuntu

Please see the below error I get after following step by step the directions on https://github.com/sans-dfir/sift-cli#instructions.  After the last step - Run chmod 755 /usr/local/bin/sift, I run the command sudo sift install and get the following error message. FYI I am trying to install this on a fresh Ubuntu 14.04 VM.

Looks like your apt database was broken prior to attempting to install SIFT. Essentially any apt-get install will fail due to something that happened prior to running the sift installer.
You'll need to fix your apt database before you can install.

I have done this and apt-get seems to be working, however I am still getting the same error.  Any tips? What version of Ubuntu works best for this?

Ubuntu 16.04 is the only supported version.

authors: DFIR-Zach ekristen

repo: sans-dfir/sift


text:
Khw/misc/sstruct

fonttools의 sstruct를 구현하려고 했더니,

sstruct는 python의 struct 패키지를 감싸는 것 뿐이고,

python의 struct는 "C"스러운 binary 파일을 읽고 쓰기 위한 패키지인데

이걸 러스트에서 따로 제공을 안 하네요.

일단 급한대로, calcsize부터 구현을 했습니다. pack, unpack도 사용되던데, 이는 이후에 필요할 때 다시 들여다볼 것 같습니다.
[reference]

fonttools sstruct.py
python _struct.c

misc 폴더 작업 고고 :)

source: gharchive/pull-request

authors: hwoongkang sungwooHa

repo: sans-py/sfnt


text:
🛑 PROMETHEUS_URL is down

In 3811a87, PROMETHEUS_URL ($PROMETHEUS_URL) was down:

HTTP code: 0
Response time: 0 ms

Resolved: PROMETHEUS_URL is back up in fc84e00 after 18 minutes.

repo: santomaharaj/upp


text:
🛑 KUBECOST_URL is down

In 416797f, KUBECOST_URL ($KUBECOST_URL) was down:

HTTP code: 0
Response time: 0 ms

Resolved: KUBECOST_URL is back up in f2aa14b after 4 minutes.


text:
Copy only files inside a specific folder in the templatesDir

Hello.
In a generator I am building, I have a couple of directories inside the "template" dir.
Based on an answer from the user , I want to copy only the files from one of the sub folders.
The issue I am having is that SAO, always copy the sub folder itself and not only the files. I have tried many ways from changing the templateDir, files, and filters and nothing seems to work.
Maybe its a just a matter of a wrong glob pattern I am using but I tried many variants.
My last try have this code:
actions() {
    return [{
        type: 'add',
        files: `${this.answers.tpl}/**`,
      }
    ]
  }

Any ideas or better ways to do this?

@brpaz Have you in some way figured this out?

@silvandiepen I don´t remember what this issue was about, but I have this in a generator and it´s working:
 actions() {
    return [
      {
        type: 'add',
        files: '**',
        templateDir: path.join('template', this.answers.actionType),
        filters: {
          Dockerfile: this.answers.actionType === 'docker' || this.answers.docker,
        },
        data: {
          nameSlug: slug(this.answers.name),
        },
      },
    ];
  },

authors: brpaz silvandiepen

repo: saojs/sao


text:
Invoice bug: Autostart transactions not invoiced

Hello,
We tested the system under the use case when a charger is configured to an autostart mode with particular RFID card which needs to be billed for all transactions. Under this use case transaction is tracked but system never invoiced and no payment is deducted. When RFID card is tapped on other chargers system is working as intended.
Cheers

We don't know how this autostart is working but it must call the backend with all OCPP messages (Auth, Start Transaction, Meter Values, Stop Transaction, Status Notification...)
Provide more information.

repo: sap-labs-france/ev-server


text:
Always have to hard refresh (CTRL + F5) to get it to work

Its probably as designed but for this to work I always have to hard refresh my youtube page else it doesn't work from the get go.

I agree with you, but i have no idea how to do that.

You would need a mutation observer for the userscript, though I don't know what you would need for the extension. Never developed one myself.

This only seems to apply when I browse the home page. The script works, but the issue I found with any script that changes the amount of thumbnails, is after a while, the cache takes over and scrolling down results in reloads and jumping back up a few rows.
Clearing the cache helps and I think we need some sort of listener or refresh to happen before page load

authors: AutomaticFailure WildFearless re11ding sapondanaisriwan

repo: sapondanaisriwan/youtube-row-fixer


text:
Can Not Print Malformed PDF

I am trying to take a pdf created using jsPDF and print it. So far I've tested it on a Nexus 6 with Android 6, and an ASUS K10 tablet running 4.4.
var print = function(){
      window.plugins.PrintPDF.isPrintingAvailable(function(dataPDF){
        window.plugins.PrintPDF.print({
          data: dataPDF,
          type: 'data',
          title: 'Voter Registration Application',
          dialogX: -1,
          DialogY: -1,
          success:function(result){
            console.log(result);
          },
          error:function(result){
            console.log(result);
          }
        });
      });
    };
    setTimeout(print(pdf),2000);

Both cases I am running into the following error. I thought it was something wrong with my pdf that was being generated so I Base64 encoded a pdf i downloaded from the internet and am getting the same result.
On Device I am getting an error that the Print Spooler Service has stopped.
01-20 15:33:05.215: E/PdfManipulationService(16834): 	at com.android.printspooler.renderer.PdfManipulationService$PdfRendererImpl.openDocument(PdfManipulationService.java:90)
01-20 15:33:05.215: E/PdfManipulationService(16834): 	at com.android.printspooler.renderer.IPdfRenderer$Stub.onTransact(IPdfRenderer.java:58)
01-20 15:33:05.240: E/AndroidRuntime(16312): java.lang.RuntimeException: Cannot print a malformed PDF file
01-20 15:33:05.240: E/AndroidRuntime(16312): 	at android.print.PrintManager$PrintDocumentAdapterDelegate$MyHandler.handleMessage(PrintManager.java:815)

I've noticed in your code that you are using the variable passed through the isPrintingAvailable callback function as the pdf data, however the variable passed to the callback is a boolean depending on if printing is available or not. You probably want something more like:
   var print = function(dataPDF){

      window.plugins.PrintPDF.isPrintingAvailable(function(isAvailable){
        if (isAvailable) {
        window.plugins.PrintPDF.print({
          data: dataPDF,
          type: 'data',
          title: 'Voter Registration Application',
          dialogX: -1,
          DialogY: -1,
          success:function(result){
            console.log(result);
          },
          error:function(result){
            console.log(result);
          }
        });
        } else {
           alert('printing not available');
        }
      });
    };
    setTimeout(print(pdf),2000);

Thank you so much, I'll give that a shot when I get back to this project.

Also, make sure you omit "data:application/pdf;base64," part from base64 string. You might have to do a string replace on the jsPDF result if that part is contained.

authors: ericcumbee sarahgoldman

repo: sarahgoldman/cordova-print-pdf-plugin


text:
Controller /Listener not working in Fullscreen mode?

I'm using the controller /listener to control when a video ends based on timing. In the listener, it checks the duration and if exceeds specified time, pauses video. This works fine in normal mode. However, when I click to fullscreen, the controller/listener no longer work .
Is there a way to continue to listen/react in listener when video is in fullscreen mode?

Thank you for reporting issue. Will look into the issue soon.

Fixed with version 5.1.0

authors: ElixirMike sarbagyastha


text:
Make sure parsing is streamable

This will be useful for interactive programs.

Switched to Sequences so dropping does not create a whole list, so parsing is now streamable

Still need to fix lexing so it works on an input stream

repo: sargunster/CakeParse


text:
Fix identifier validators

Like in import.meta
AST
{
  type: "MetaProperty",
  meta: {
    type: "Identifier",
    name: "import"
  },
  property: {
    type: "Identifier",
    name: "meta"
  }
}

All reserved keywords can be used as identifiers when used as a property of some sort of member expression

repo: sarsamurmu/estree-toolkit


text:
Support attaching forms to message start events like we do with user tasks

right now the bpmn xml for user tasks can look like this with our extensions:
    <bpmn:userTask id="user_task_one" name="User Task One">
      <bpmn:extensionElements>
        <spiffworkflow:properties>
          <spiffworkflow:property name="formJsonSchemaFilename" value="second-form-schema.json" />
          <spiffworkflow:property name="formUiSchemaFilename" value="second-form-uischema.json" />
        </spiffworkflow:properties>
        <spiffworkflow:allowGuest>false</spiffworkflow:allowGuest>
        <spiffworkflow:instructionsForEndUser />
        <spiffworkflow:guestConfirmation># Thanks

We hear you. Your name is **{{incoming_request['firstName']}}**.</spiffworkflow:guestConfirmation>
      </bpmn:extensionElements>
      <bpmn:incoming>Flow_12pkbxb</bpmn:incoming>
      <bpmn:outgoing>Flow_14h4dnh</bpmn:outgoing>
    </bpmn:userTask>

we would like to be able to use most of the same extensions on message start events. we'd like to be able to specify a formJsonSchemaFilename and formUiSchemaFilename, as well as specify instructionsForEndUser and guestConfirmation. i think we do not need allowGuest, eh, @jasquat ? these extensions are respected in backend, but we'd like to be able to craft the appropriate xml through our bpmn js properties panel extensions.
so something like this, but maybe without the [object Object], which may be an existing bug:
    <bpmn:startEvent id="message_start_event_one" name="Message Start Event One" messageRef="[object Object]">
      <bpmn:extensionElements>
        <spiffworkflow:properties>
          <spiffworkflow:property name="formJsonSchemaFilename" value="entry-form-schema.json" />
          <spiffworkflow:property name="formUiSchemaFilename" value="entry-form-uischema.json" />
        </spiffworkflow:properties>
        <spiffworkflow:instructionsForEndUser>Hi</spiffworkflow:instructionsForEndUser>
        <spiffworkflow:guestConfirmation>Thanks</spiffworkflow:guestConfirmation>
      </bpmn:extensionElements>
      <bpmn:outgoing>Flow_17db3yp</bpmn:outgoing>
      <bpmn:messageEventDefinition id="MessageEventDefinition_13ctnqx" messageRef="Message_1rfi4qj" />
    </bpmn:startEvent>

maybe we should get rid of <spiffworkflow:properties> ? it seems weird to have just those two form properties in there. perhaps we support <spiffworkflow:formJsonSchemaFilename> and <spiffworkflow:formUiSchemaFilename> and deprecate <spiffworkflow:properties>.

Since forms in the start event are primarily used to trigger/send a specific message with a specific payload to initiate process instances, they will be generated from the message's JSON schema. This will necessitate enhancements to the JSON schema to support/include UI attributes.
The XML that defines a start event with a message element that includes forms can be structured as follows:
<bpmn:startEvent id="message_start_event_one" name="Message Start Event One" messageRef="basic_message">
  <bpmn:extensionElements>
    <spiffworkflow:jsonSchemaFilename>message-schema.json</spiffworkflow:jsonSchemaFilename>
    <spiffworkflow:instructionsForEndUser>Hi</spiffworkflow:instructionsForEndUser>
    <spiffworkflow:guestConfirmation>Thanks</spiffworkflow:guestConfirmation>
  </bpmn:extensionElements>
  <bpmn:outgoing>Flow_17db3yp</bpmn:outgoing>
  <bpmn:messageEventDefinition id="MessageEventDefinition_13ctnqx" messageRef="basic_message" />
</bpmn:startEvent>

// Define Message
<bpmn:message id="basic_message" name="basic_message">
  <bpmn:extensionElements>
    <spiffworkflow:jsonSchemaFilename>message-schema.json</spiffworkflow:jsonSchemaFilename>
  </bpmn:extensionElements>
</bpmn:message>

<bpmn:correlationProperty id="CorrelationProperty_0rglqhb" name="CorrelationProperty_0rglqhb">
	<bpmn:correlationPropertyRetrievalExpression messageRef="basic_message">
		Value
	</bpmn:correlationPropertyRetrievalExpression>
</bpmn:correlationProperty>

UI :

@calexh-sar do we need this for bounties?

@harmeet-status yes, this is the best way to do the initial Message Start Event.

Seems like 3 things need to happen:

BPMN IO - Need to add form builder link to messages (1 day)
Form Builder - switch to save to one file, rather than 3. backwards compatible with 3 (2 days)
XML Property - merge three properties into one, with a new property name.  (.5)
Messages can reference a file (absolute path) (.5 day)

Seems like 3 things need to happen:

BPMN IO - Need to add form builder link to messages (1 day)
Form Builder - switch to save to one file, rather than 3. backwards compatible with 3 (2 days)
XML Property - merge three properties into one, with a new property name.  (.5)
Messages can reference a file (absolute path) (.5 day)

Are these existing tickets?

@harmeet-status all work will be done under this ticket.

authors: burnettk calexh-sar danfunk harmeet-status theaubmov

repo: sartography/bpmn-js-spiffworkflow


text:
Inconsistent library versions reminder.

Hi. I have implemented a tool to detect library version inconsistencies. Your project have 3 inconsistent libraries.
Take org.apache.httpcomponents:httpclient for example, this library is declared as version 4.5.3 in webcam-capture-drivers/driver-ipcam, 4.1.3 in webcam-capture-addons/webcam-capture-addon-spycam and etc... Such version inconsistencies may cause unnecessary maintenance effort in the long run. For example, if two modules become inter-dependent, library version conflict may happen. It has already become a common issue and hinders development progress. Thus a version harmonization is necessary.
Provided we applied a version harmonization, I calculated the cost it may have to harmonize to all upper versions including an up-to-date one. The cost refers to POM config changes and API invocation changes. Take org.apache.httpcomponents:httpclient for example, if we harmonize all the library versions into 4.5.9. The concern is, how much should the project code adapt to the newer library version. We list an effort table to quantify the harmonization cost.
The effort table is listed below. It shows the overall harmonization effort by modules. The columns represents the number of library APIs and API calls(NA,NAC), deleted APIs and API calls(NDA,NDAC) as well as modified API and API calls(NMA,NMAC). Modified APIs refers to those APIs whose call graph is not the same as previous version. Take the first row for example, if upgrading the library into version 4.5.9. Given that 1 APIs is used in module webcam-capture-drivers/driver-ipcam, 0 of them is deleted in a recommended version(which will throw a NoMethodFoundError unless re-compiling the project),  1 of them is regarded as modified which could break the former API contract.

Index
Module
NA(NAC)
NDA(NDAC)
NMA(NMAC)

1
webcam-capture-drivers/driver-ipcam
1(1)
0(0)
1(1)

2
webcam-capture-addons/webcam-capture-addon-spycam
0(0)
0(0)
0(0)

Also we provided another table to show the potential files that may be affected due to library API change, which could help to spot the concerned API usage and rerun the test cases. The table is listed below.

Module
File
Type
API

webcam-capture-drivers/driver-ipcam
webcam-capture-drivers/driver-ipcam/src/main/java/com/github/sarxos/webcam/ds/ipcam/IpCamAuth.java
modify
org.apache.http.auth.UsernamePasswordCredentials.UsernamePasswordCredentials(java.lang.String,java.lang.String)

If you are interested, you can have a more complete and detailed report in the attached PDF file.
sarxos webcam-capture.pdf

Hi @calvinhkf, thank you for the pointer :) I updated source code to address detected issues in 6fee1466017d28526a01c36a3da55baeceb54247, ad4e39cb3f6a04f38c4894c3251026a2639a73b2 and ed8f4341eee67f4014ffd00c5cbcf8347e8727ad. May I ask how this report is generated? Is this an open source project?

Thanks! The report is generated based on analysis of project dependencies(as maven does but not totally follow the procedures and output of maven) and extraction of project API usages on dependencies.  The projects is not open-sourced yet. I want to make sure it is really helpful to developers.

Thank you @calvinhkf :) In return let me provide some feedback.
In the Harmonization Effort tables it would be good to have only these modules which has NA/NDA/NMA greater than 0. With a greater number of modules the rows where these stats are 0 (zeros) obscure the table and make it harder to read (too long). It would be nicer to have them filtered out so only these which are greater than 0 are kept, IMO.
In the Files Related, the API column I see something suspicious. It states (or maybe I understood it incorrectly) that the following APIs are modified between 0.3.11 and 0.3.12, and thus harmonization effort is required:

com.github.sarxos.webcam.Webcam.getDefault()
com.github.sarxos.webcam.Webcam.open()
com.github.sarxos.webcam.Webcam.setViewSize(java.awt.Dimension)
com.github.sarxos.webcam.Webcam.getImage()
com.github.sarxos.webcam.Webcam.close()

But when I look for example at Webcam.setViewSize(java.awt.Dimension) I see no difference in the method signature or the method code between version 0.3.11, 0.3.12 and master branch. So I do not fully understand what the Type column with value Modified really means in this context.

Modified means the API signature remains the same, but some of its calling methods that are nodes of the API call graph changes. Those modified API signatures are considered as method addition and deletion in our context. The report didn't include a call chain that relates an API entrance to the modified sub methods. And your confusion is due to my briefing report that didn't include the info as mentioned above(If shown on a PDF report, the tables and lists would be too hard to read).
But I think both of the report's redundancy and deficiency will be further overcome if the result is shown on an interactive GUI such as web(which is currently on a roadmap).
Thanks for your feedback!   Appreciate it very much!

Ok, I get it now. I'm closing this ticket as resolved. Thank you!

authors: calvinhkf sarxos

repo: sarxos/webcam-capture


text:
競プロで使えそうなRustの書き方Tips

参考になったものを書き留めておく

proconio::marker::Usize1
ABC 350 B
自分の https://atcoder.jp/contests/abc350/submissions/52728623
use proconio::input;

fn main() {
    input! {
        n: usize,
        q: usize,
        lt: [usize; q],
    }
    let mut teeth = vec![1;n];
    for t in lt {
        teeth[t-1] = 1-teeth[t-1];
    }
    let ans: usize = teeth.iter().sum();
    println!("{ans}");
}

https://atcoder.jp/contests/abc350/submissions/52548666
use proconio::input;
use proconio::marker::Usize1;

fn main() {
    input! {
        n: usize,
        q: usize,
        a: [Usize1; q],
    }
    let mut used = vec![true; n];
    for &x in &a {
        used[x] ^= true;
    }
    let ans = used.iter().filter(|&&x| x).count();
    println!("{}", ans);
}

Usize1を使うことで入力時に1マイナスできる

for x in aだとaが使えなくなる


text:
Why source map's sourcesContent contains generated css code, and not original sass code?

Not sure if it's node-sass's issue, but here's how to reproduce it:
package.json:
{
  "dependencies": {
    "node-sass": "^3.13.0"
  }
}

1.js:
var sass = require('node-sass');
var fs = require('fs');
sass.render({
  file: '1.sass',
  sourceMap: '1.sass.map',
  sourceMapContents: true,
}, function (error, result) {
    if (error) {
        console.log(error);
        return;
    }
    fs.writeFile('1.css', result.css, function (error) {
        if (error)
            console.log(error);
    });
    fs.writeFile('1.sass.map', result.map, function (error) {
        if (error)
            console.log(error);
    });
});

1.sass:
body
    background: #ddd

div
    width: 100px
    height: 100px
    margin: auto
    background: #333

1.html:
<!doctype html>

    <link rel="stylesheet" href="1.css">

$ npm i
$ node 1.js

Then open 1.html in Chrome.
When I comment out sourceMapContents: true, in top > s1 > 1.sass of the Sources tab I see the sass code. But when I uncomment it, I see css code, and the map file is like this:
{
    "version": 3,
    "file": "1.css",
    "sources": [
        "1.sass"
    ],
    "sourcesContent": [
        "body {\n    background: #ddd; }\n\ndiv {\n    width: 100px;\n    height: 100px;\n    margin: auto;\n    background: #333; }\n"
    ],
    "mappings": "AAAA,AAAA,IAAI,CAAC;EACD,UAAU,EAAE,IAAK,GAAG;;AAExB,AAAA,GAAG,CAAC;EACA,KAAK,EAAE,KAAM;EACb,MAAM,EAAE,KAAM;EACd,MAAM,EAAE,IAAK;EACb,UAAU,EAAE,IAAK,GAAG",
    "names": []
}

NPM version (npm -v): 3.10.9
Node version (node -v): v7.1.0
Node Process (node -p process.versions):

{ http_parser: '2.7.1',
  node: '7.1.0',
  v8: '5.4.500.36',
  uv: '1.10.0',
  zlib: '1.2.8',
  ares: '1.12.0',
  modules: '51',
  openssl: '1.0.2j',
  icu: '57.1',
  unicode: '8.0',
  cldr: '29.0',
  tz: '2016b' }

Node Platform (node -p process.platform): linux
Node architecture (node -p process.arch): x64
node-sass version (node -p "require('node-sass').info"):

node-sass       3.13.0  (Wrapper)       [JavaScript]
libsass         3.3.6   (Sass Compiler) [C/C++]

npm node-sass versions (npm ls node-sass):

/srv/http/s1
└── node-sass@3.13.0

Well, it appears I mistook scss code for css. But why it's scss, if it was originally sass?

Closing in favour of https://github.com/sass/libsass/issues/2229

authors: x-yuri xzyfer

repo: sass/node-sass


text:
UT - Load CAS with VarChar

Please include answers to these questions as part of your pull request
In the GitHub webUI, use the Write tab to modify the Markdown text that is part of the pull request. For each question simply place an X inside the square brackets, [X], that represents your answer. Using the Preview tab you can see the formatted/rendered version of the message.

Q1: Confirm that you have the right to submit the code that is being contributed. Please consider the origin of your code and confirm you have the appropriate rights to make the submission subject to the Apache 2.0 license that applies to everything in this repository of custom steps. If so, follow the instructions for the Contributor Agreement (which is based on the industry-standard Developer Certificate of Origin (DCO)).

[X] Yes, I have the right to submit the contributed code on behalf of myself, my company, or any other owner of the code. I have also attached my signed copy of the DCO to this message.
[ ] No

Q2: Confirm that your contribution does not include any personally identifiable information (PII), for example, in any examples used in your README file.

[X] My contribution does NOT include PII data
[ ] My contribution includes PII data

Q3: Confirm your contribution does not include any encryption or other export-controlled technology.

[X
ContributorAgreement.CarloPetti.txt
] My contribution does NOT contain encryption or other export-controlled technology
[ ] My contribution includes encryption or other export-controlled technology

Pull request was closed by mistake, re-opening it.

Have sent Carlo detailed feedback in a direct email.
High-level summary:

Rename step (and folder) to: CAS - Convert Char To Varchar
Update labels in UI to adhere to guidelines as described in UI-guidelines.md
Inconsistencies in info in readme and About box
Some "cosmetic" changes in readme to improve readability (e.g. missing newline characters causing text that should be on separete lines to be rendered on one line)
If CAS target table connected on the output port exists both as a session and as a global (promoted) table, adn the user specifies to promote the output table, then the generated code fails at runtime. Have provided code snippet to fix this
Update doc links to always point to latest production doc (using "default" in the doc-URL instead of "v_xxx")

@itacrp, just wanted to let you know that it wasn't necessary to create a new pull request. You could have simply renamed the title of the existing pull request, there is a rename option in the "..." menu shown at the top of this conversation thread.
Just to close the loop in this, the new pull request can be found here: #44

authors: itacrp snlwih

repo: sassoftware/sas-studio-custom-steps


text:
sas-access.properties is not being picked up into kustomization.yaml

In order to configure access engines, ../sas-bases/examples/data-access/README.md  indicates that you need 3 tranformers as well as a sas-access.properties, which should be added to kustomization.yaml as a configMapGenerator like shown below.
configMapGenerator:
- name: sas-access-config
behavior: merge
envs:
- site-config/data-access/sas-access.properties

This is not happening, even to the file is in the same location as the transformers (these are working as expected):
jumpuser@vm$ ll .../site-config/data-access/
-rw-rw-r-- 1 jumpuser jumpuser 679 Sep  2 12:01 sas-access.properties
-rw-rw---- 1 jumpuser jumpuser 550 Sep  2 13:28 deployment-access-nfs-mount.yaml
-rw-rw---- 1 jumpuser jumpuser 542 Sep  2 13:29 podTemplate-access-nfs-mount.yaml
-rw-rw---- 1 jumpuser jumpuser 567 Sep  2 13:29 cas-access-nfs-mount.yaml

Another architect told me he's having the same issue.

Quick update, another architect showed me an example of how to convert the access.properties format the doc has and perform it as a patch transformer.  That worked as expected.  So, perhaps, this issue becomes an opportunity to document that process.

Here is a helpful resource: https://communities.sas.com/t5/SAS-Communities-Library/How-to-Configure-a-SAS-ACCESS-interface-in-SAS-Viya-4/ta-p/720888
It mentions this README: sas-bases/docs/configuring_sasaccess_and_data_connectors_for_sas_viya_4.html
@andybouts, does that cover the steps you performed?

Hey @enderm , yep, that's good reference materials and mentions that env variables can be setup as configMaps, but the specific problem is that this deployment project did not use the site-config/data-access/sas-access.properties as documented in the ../sas-bases/examples/data-access/README.md.  Instead, the env variables in sas-access.properties must be converted into a .yaml file so that it will be picked up as a patch transformer.

I am having the same issue.  Apparently kustomize version 3.7.0 has a reported bug with merging configMapGenerators.   I have found a workaround which I will provide on request, but instructions on creating a patch transformer to update the configMap would be helpful.

If the current examples do not work with kustomize 3.7.0 you'll have to reach out to the data-access team. They need to fix there code base. They can also provide a sample patch transformer for use.

Last time, I tried to set data-access stuff for teradataa and I thought it worked since I could run libname statement successfully.
I will try to deploy one tomorrow.

I created a file in the $deploy/site-config/data-access directory called configmaps.yaml.  The instructions say to modify the base kustomization.yaml file, which is impossible if using this project.  The configmaps.yaml file will be picked up during the kustomize build step and be included in the deployment.  This assumes that the sas-access-properties file is also in the $deploy/site-config/data-access directory as well as the file data-env.yaml that is copied from the $deploy/sas-bases/examples/data-access folder.
$deploy/site-config/data-access/configmaps.yaml
apiVersion: builtin
kind: ConfigMapGenerator
behavior: merge
metadata:
name: sas-access-config
envs:

sas-access.properties

In my previous comment, the bullet should be a dash.

I will have old deployment directory.
I placed data-access directory under site-config/transformers/ and viya4-deployment added below to base kustomization.yaml
## user defined generators   \- site-config/transformers/data-access/sas-access-config.yaml
Since I don't have any working deployment now, I cannot check further. I will check more tomorrow.

You should be adding the data-access directory here: site-config/data-access the viya4-deployment code base will place it where it needs to go. If these samples are transformers it'll place those in the correct location when it generates the code base with kustomize.

Yes, that's what happened in my deployment.
--
Jim Brousseau
From: JK Min @.>
Sent: Wednesday, January 5, 2022 3:48 PM
To: sassoftware/viya4-deployment @.>
Cc: Jim Brousseau @.>; Comment @.>
Subject: Re: [sassoftware/viya4-deployment] sas-access.properties is not being picked up into kustomization.yaml (#138)
EXTERNAL
I will have old deployment directory.
I placed data-access directory under site-config/transformers/ and viya4-deployment added below to base kustomization.yaml
user defined generators - site-config/transformers/data-access/sas-access-config.yaml
Since I don't have any working deployment now, I cannot check further. I will check more tomorrow.

Reply to this email directly, view it on GitHubhttps://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fsassoftware%2Fviya4-deployment%2Fissues%2F138%23issuecomment-1006165638&data=04|01|jim.brousseau%40sas.com|3cd35e07147b45b89ccf08d9d0a5c8eb|b1c14d5c362545b3a4309552373a0c2f|0|0|637770232727941165|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=VFdPWNbhqV%2BTpwY8Y%2B63fI4ziPVN5J5WB5SAIoev0Rw%3D&reserved=0, or unsubscribehttps://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAJHY3NGTDJY5YVFRIO7J7RDUUTKCNANCNFSM5DJQ3FXQ&data=04|01|jim.brousseau%40sas.com|3cd35e07147b45b89ccf08d9d0a5c8eb|b1c14d5c362545b3a4309552373a0c2f|0|0|637770232727941165|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=HGYu7avDEGKT6VBQw0VrzYw2P4vBhEiU2Dgrdzp%2FAII%3D&reserved=0.
Triage notifications on the go with GitHub Mobile for iOShttps://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fapps.apple.com%2Fapp%2Fapple-store%2Fid1477376905%3Fct%3Dnotification-email%26mt%3D8%26pt%3D524675&data=04|01|jim.brousseau%40sas.com|3cd35e07147b45b89ccf08d9d0a5c8eb|b1c14d5c362545b3a4309552373a0c2f|0|0|637770232727951135|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=hGMTIK8yRLTVrLZ1vXVuW7Xs7u7%2F3pZ%2FX63UZgXL6Gg%3D&reserved=0 or Androidhttps://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.github.android%26referrer%3Dutm_campaign%253Dnotification-email%2526utm_medium%253Demail%2526utm_source%253Dgithub&data=04|01|jim.brousseau%40sas.com|3cd35e07147b45b89ccf08d9d0a5c8eb|b1c14d5c362545b3a4309552373a0c2f|0|0|637770232727951135|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=m1S4bz5A6gT6R0vN6Q4atL3UAigB5BVbWvxnnsc0yDw%3D&reserved=0.
You are receiving this because you commented.Message ID: @.@.>>

Correct.
--
Jim Brousseau
From: Thomas S. Pangborn @.>
Sent: Wednesday, January 5, 2022 3:52 PM
To: sassoftware/viya4-deployment @.>
Cc: Jim Brousseau @.>; Comment @.>
Subject: Re: [sassoftware/viya4-deployment] sas-access.properties is not being picked up into kustomization.yaml (#138)
EXTERNAL
You should be adding the data-access directory here: site-config/data-access the viya4-deployment code base will place it where it needs to go. If these samples are transformers it'll place those in the correct location when it generates the code base with kustomize.

Reply to this email directly, view it on GitHubhttps://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fsassoftware%2Fviya4-deployment%2Fissues%2F138%23issuecomment-1006167453&data=04|01|jim.brousseau%40sas.com|8e9e99d24a714a09fe3108d9d0a666c4|b1c14d5c362545b3a4309552373a0c2f|0|0|637770235378520332|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=KL2JpJqATLxS3%2B7s36Qd9j2vXR17f6Wrj5ZZsTdSV84%3D&reserved=0, or unsubscribehttps://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAJHY3NGGF7E6YOWHQUONZGLUUTKS7ANCNFSM5DJQ3FXQ&data=04|01|jim.brousseau%40sas.com|8e9e99d24a714a09fe3108d9d0a666c4|b1c14d5c362545b3a4309552373a0c2f|0|0|637770235378530288|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=l8v8fCAYljRNvrVOdQ5m7sLUf3pJuDr%2FEbQ%2BOs6MvxA%3D&reserved=0.
Triage notifications on the go with GitHub Mobile for iOShttps://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fapps.apple.com%2Fapp%2Fapple-store%2Fid1477376905%3Fct%3Dnotification-email%26mt%3D8%26pt%3D524675&data=04|01|jim.brousseau%40sas.com|8e9e99d24a714a09fe3108d9d0a666c4|b1c14d5c362545b3a4309552373a0c2f|0|0|637770235378540243|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=j7UtaiCioIdic80y5UPysRu1B2m4Jc25Qmfb7YZKQOs%3D&reserved=0 or Androidhttps://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.github.android%26referrer%3Dutm_campaign%253Dnotification-email%2526utm_medium%253Demail%2526utm_source%253Dgithub&data=04|01|jim.brousseau%40sas.com|8e9e99d24a714a09fe3108d9d0a666c4|b1c14d5c362545b3a4309552373a0c2f|0|0|637770235378540243|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=3AOEwTTCb0qzzGEFZCjZn36XVnXYvQWHfnYr3U6xG9w%3D&reserved=0.
You are receiving this because you commented.Message ID: @.@.>>

o.k. I checked what I did in more detail.
I also did the almost same thing as what @JimBrousseau did.
I placed these files under site-config/transformers/data-access (you can place under site-config/data-access too)

data-env.yaml
data-mounts-cas.yaml
data-mounts-deployment.yaml
data-mounts-job.yaml
enable-dc-ports.yaml
enable-epcs-port.yaml
sas-access-config.yaml
sas-access.properties

I copied data-env.yaml from sas-bases/overlays/data-access/ so that viya4-deployment can pick it up and add it to kustomization.yaml.
I created sas-access-config.yaml like below since I didn't want to update kustomization.yaml manually. I also wanted viya4-deployment to pick this up and add it to the kustomization.yaml.

configmap of my deployment has the values in added to sas-access.properties

Just like most of other READMEs, sas-bases/examples/data-access/README.md is for manual deployment (or any deployment method which requires manual update on kustomization.yaml), not for viya4-deployment.
I'm following the instruction as it is for our opensource deployments such as DDT daily deployment.
If you need, you can check our deployment directory. Please contact me if you need to check on it.

I removed sas-access-config configmap of my deployment.
I manually updated kustomization.yaml which IAC created - I added configMapGenerator part instead of using yaml file.

With this, I could build site.yaml successfully.
When I applied it, a new sas-access-config configmap got generated w/o problem.

@jkmin96 either method will work, however, kustomization.yaml will be rebuilt on the next deployment.

@JimBrousseau
If you update kustomization.yaml manually to add configMapGenerator, yes viya4-deployment will create a new kustomization.yaml removing it.
If you use a yaml like my sas-access-config.yaml (I guess you also use it), I think we can run viya4-deployment w/o problem.

Hi @jkmin96 checking for clarification. You were able to include the items listed in their own directory under site-config and have the DAC tooling apply those items into the kustomization.yaml and site.yaml without any issues, correct?

Yes, that is correct.
--
Jim Brousseau
From: Thomas S. Pangborn @.>
Sent: Tuesday, April 5, 2022 6:42 AM
To: sassoftware/viya4-deployment @.>
Cc: Jim Brousseau @.>; Mention @.>
Subject: Re: [sassoftware/viya4-deployment] sas-access.properties is not being picked up into kustomization.yaml (#138)
EXTERNAL
Hi @jkmin96https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fjkmin96&data=04|01|jim.brousseau%40sas.com|b5684d9a2bdb424c779808da170a1094|b1c14d5c362545b3a4309552373a0c2f|0|0|637847629241907233|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=7%2FyvtJWPVJLtZx2f0ER8xY5z27gRla0M0aughZaClTg%3D&reserved=0 checking for clarification. You were able to include the items listed in their own directory under site-config and have the DAC tooling apply those items into the kustomization.yaml and site.yaml without any issues, correct?

Reply to this email directly, view it on GitHubhttps://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fsassoftware%2Fviya4-deployment%2Fissues%2F138%23issuecomment-1088719495&data=04|01|jim.brousseau%40sas.com|b5684d9a2bdb424c779808da170a1094|b1c14d5c362545b3a4309552373a0c2f|0|0|637847629241907233|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=WAhsdd0DE0cyxdiuyzUAnWaIfM9nQB2veDJeKchq8Yc%3D&reserved=0, or unsubscribehttps://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAJHY3NGIKLPPH5KP4U463ITVDQ7KTANCNFSM5DJQ3FXQ&data=04|01|jim.brousseau%40sas.com|b5684d9a2bdb424c779808da170a1094|b1c14d5c362545b3a4309552373a0c2f|0|0|637847629241907233|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=LZ0cF5MN0Yt6qZp6Ec44mxvzsZDH6Mv73pzGvIC%2BKWU%3D&reserved=0.
You are receiving this because you were mentioned.Message ID: @.@.>>

If that's the case I'll close this one. Andy is no longer with the company.

@JimBrousseau   How did you fix this issue?
I have set
ORACLE:   /access-clients/oracle/instantclient_19_8
How do I add access-clients/oracle/instantclient_19_8 to "$LD_LIBRARY_PATH". ?
360  proc sql;
361    connect to oracle (user='admin' password=XXXXXXXXXXXXXXXXXXXXXX path='dsdfdf.bx9.eu-west-2.rds.amazonaws.com');
ERROR: Unable to load oracle client (libclntsh.so)
ERROR: A Connection to the oracle DBMS is not currently supported, or is not installed at your site.
NOTE: PROC SQL set option NOEXEC and will continue to check the syntax of statements

authors: JimBrousseau andybouts biohazd enderm jkmin96 thpang


text:
RHEL and Custom AMI Support

Do the current scripts support the modification of the default Ubuntu AMI to a custom or standard RHEL AMI? I've gone through the example files and CONFIG-VARS.md, but do not see a way to select different AMIs without modifying the aws_vm module code directly.

No. Ubuntu is our baseline for VM's.

authors: seanankenbruck thpang


text:
Enhance Property Sort Order with presets

This PR enhances property sort order rule with the addition of presets - RECESS, SMACSS and Concentric. It also adds a few helper functions to allow easy loading of config files, retrieval of file extensions and filenames.
Tests for presets have also been included.
Closes #20
DCO 1.1 Signed-off-by: Ben Griffith gt11687@gmail.com

This is good stuff!
Seen as you have the capability to load config files already I think a great addition would be to accept custom order .yml files rather than just passing an array of properties in sass-lint.yml. What do you think about that?
Once this PR is merged in I'll move ahead and update the colour literal loading into these new helper functions..

Some comments before it gets merged in.

Updated to use path functions and moved the config files to the config dir.

In the future, instead of one commit to add the files and one commit to delete, them, just include a single rename commit.
A couple more comments, but otherwise looks good!

Please also add test for the new helper function to our list of helper tests

Will do.

Thanks!

I'm confused by the last commits; they seem to be reverting to manual filename and extension parsing instead of using path

Just updated - sorry for the confusion.

Great, thanks.

authors: DanPurdy Snugug bgriffith

repo: sasstools/sass-lint


text:
Minor snippet: Statistical rounding

Definitely not a Python-related wtf, but nice to know anyways
>>> round(1.25, 1)
1.2
>>> round(1.35, 1)
1.4

Explanation idea:
>>> round(1.45) + round(1.55) == 3
True

That's very intriguing. 😱

official doc here
but, emmm... it seems bad :angry:

authors: deemoding lflucasferreira satwikkansal

repo: satwikkansal/wtfpython

license: WTFPL


text:
Issue #78

**Solving Issue #78 **
Description
A pop up was coming there every time a user visits the website. It turned out there was some authentication issue in there which was causing error. Some of the paths that were mentioned were wrong and in some react files wrong components were being referenced.
Related Issue
Fixes Issue #78
Changes Made

Some paths in routes were wrong which were causing issue that i have fixed.
Some references in react file were wrong, there was some mistake.
Some routes were mentioned but not being routed correctly

Checklist

[x] I have tested my code and it works as expected.
[x] I have added/updated documentation where necessary.
[ ] I have included tests for new features.
[x] I have followed the project's coding standards.

Please add hacktoberfest-accepted label to the repository


text:
Create pyladiesblrYT.json

Apologies for the delay.
Thanks for the efforts @cosimameyer

Dang, choose the wrong branch for upstream merge.

repo: sayantikabanik/awesome-pyladies-blogs


text:
IE6-IE8下无法运行

我clone了工程，发现在IE6-IE8下无法跑起应用，IE9及以上正常。
错误主要出在 ".catch()" 上。

vendor.js，行:11830，列: 4  缺少标识符
readyList.then( fn ).catch( function( error ) {jQuery.readyException( error );} );

Common.js，行: 2184，列: 21  缺少标识符
applyResult.catch(applyCallback);

index.js，行: 1614，列: 21 缺少标识符
applyResult.catch(applyCallback);

嗯，抱歉之前收到相关问题。又给忙忘记了。这几天会尝试修复的。

多谢多谢！

jQuery 2.0以后就不兼容ie8了，如果这个手脚架打算用在ie6+的话，是不是应该把jquery的版本降下来？

@hbbbs  @twinklexp  说的没错。今天做了许多尝试，兼容ie8的话将舍弃许多功能。
首先许多现有的库，你需要多考量一下，是否支持低版本Ie.
然后webpack启动的测试服务无法在Ie8下正常运行。需要在其他浏览器测试完。最后通过打包。
而我现在能做的是尽可能的将打包的代码支持到ie8。
就结果而言，后者是做到了。但是书写的es6的代码能兼容多少到ie8就不得而知了。这里面有多深，还是需要你自己探探。
而迭代的脚手架我会在这几天内尽快推出。之后应该会重新梳理整个项目文档。

IE版本：https://github.com/sayll/ie-webpack-start

authors: hbbbs sayll twinklexp

repo: sayll/avalon-webpack-start


text:
path file after trim

i can't find save file after trim

libswresample   3.  6.100 /  3.  6.100
E/mobile-ffmpeg( 4772): /storage/emulated/0/WhatsApp/Media/WhatsApp: No such file or directory
I/flutter ( 4772): Got value
I/flutter ( 4772): find me File: '/storage/emulated/0/WhatsApp/Media/WhatsApp Video/VID-20200511-WA0001.mp4'
this error appear i think that because source path has space bar


text:
IO 1.0.0-M12 leaked out as sbt 1.0 API

https://github.com/sbt/sbt/blob/v1.0.0-RC2/project/Dependencies.scala
  private val ioVersion = "1.0.0-M12"

Any changes that are not bincompat with 1.0.0-M12 needs to be pulled out.

https://github.com/sbt/io/compare/v1.0.0-M12...v1.0.0-M13 This looks like M-13 is still bincompat.

Damn.. http://repo1.maven.org/maven2/org/scala-sbt/main_2.12/1.0.0-RC2/main_2.12-1.0.0-RC2.pom

So, there's nothing to roll back then, right? #50 was part of M12
https://github.com/sbt/io/compare/v1.0.0-M12...1.0.0

Hehe, I used sbt 1.0.0-RC2's Dependencies.scala as my source of truth, so we've been MiMa-ing against 1.0.0-M12: https://github.com/sbt/io/pull/60/files

Cross-linking, this was opened in response to sbt/sbt#3378.

repo: sbt/io


text:
support leading tilde in sbt.boot.credentials and SBT_CREDENTIALS

fixes 3039

Thanks for the contribution @swachter!

repo: sbt/launcher


text:
State.log doesn't properly honor logLevel

I was working on fixing #3869 and found that state.log doesn't work correctly.
steps
This minimal build.sbt illustrates the issue
lazy val testLog = taskKey[Unit]("Log")
testLog := {
  state.value.log.debug("foo")
  state.value.log.info("info")
}

problem
If I run debug, warn, error, etc. in the console, "info" is always printed no matter what. The "foo" debug line is never printed.
expectation
That "foo" is logged after debug and that neither is logged for levels above info
notes
I get the expected behavior with sbt 0.13.17. I suspect the issue is related to one of the TODOs in
https://github.com/sbt/sbt/pull/2907/files
@eed3si9n
sbt version: 1.1.x

It's a shame this regression from sbt 0.13 is still present.
Here's my workaround:
final class PoorManDebugLogger(log: Logger) extends Logger {
  val isDebugEnabled = log match {
    case x: AbstractLogger => x.atLevel(Level.Debug)
    case x: sbt.internal.util.ManagedLogger => {
      val field = classOf[sbt.internal.util.ManagedLogger].getDeclaredField("xlogger")
      field.setAccessible(true)
      val logger = field.get(x).asInstanceOf[org.apache.logging.log4j.Logger]
      logger.isDebugEnabled
    }
  }

  def trace(t: => Throwable): Unit = log.trace(t)
  def success(message: =>String): Unit = log.success(message)

  def log(level: Level.Value, message: =>String): Unit = {
    if (level == Level.Debug && isDebugEnabled)
      println(s"[debug] $message")
    else
      log.log(level, message)
  }
}

authors: dwijnand eatkins

repo: sbt/sbt


text:
Allow cross-building betwene multiple Scala 3 releases by using the full scalaVersion in the crossTarget directory

Currently, the target directory for a given Scala version is target/scala-${scalaBinaryVersion}, this means that one shouldn't have two different Scala versions with the same binary version in crossScalaVersion, otherwise they'll keep overwriting each other classfiles (I don't know what wold happen exactly, does sbt manages to delete the target directory content when switching version?).
This hasn't really been a problem sufficient so far, but Scala 3 is coming and I think there's valid usecases for cross-compiling between multiple compiler versions:

If I maintain a library, I may want to cross-compile between 3.0 (this is the minimum version I support and the one I'll publish binaries for) and 3.1 (I won't publish artifacts compiled with it, but I want to make sure it passes my CI)
In general, I may want to cross-compile between the latest stable version (e.G. 3.0.0) and the latest RC version (e.g. 3.0.1-RC1), to provide feedback on the RC before the release.

To accommodate these usecases, I propose changing crossTarget to append the full scalaVersion to the target directory name instead of just the scalaBinaryVersion. If we want the change to be less disruptive, we could keep the current behavior for Scala 2 and only use the full version for Scala 3. What do you think? /cc @adpi2

Thanks @smarter for sharing your thoughts. It is indeed a valid concern, though I am not 100% convinced by the arguments.

If I maintain a library, I may want to cross-compile between 3.0 (this is the minimum version I support and the one I'll publish binaries for) and 3.1 (I won't publish artifacts compiled with it, but I want to make sure it passes my CI)

AFAIK the official story is that 3.0 and 3.1 are strictly binary compatible. If that's correct, why would you not bump to 3.1?

In general, I may want to cross-compile between the latest stable version (e.G. 3.0.0) and the latest RC version (e.g. 3.0.1-RC1), to provide feedback on the RC before the release.

On one hand, it's indeed important the community is active in testing RCs and we should make sure it does not corrupt their binaries. On the other hand it is kind of a niche feature because most projects won't be cross-compiled to RCs. Also it is obvious that RCs are dangerous.
So I am not sure if we should do something or not. If we do something I would be in favor of making an exception just for pre-release versions like RCs, Milestones and snapshots.
@sjrd, @eed3si9n What do you think?

I don't have a strong opinion. The current behavior has already always been nonsensical for compiler plugins, for example, which compile under full versions. And yet it's never been a real problem for compiler plugins, so it probably won't become a problem now.
From a logical point of view, crossTarget should depend on crossVersion, and not just binaryVersion, since a library is supposed to be compiled once per cross version.
Or else, we could use the full scalaVersion, sure.
Or, you know, it could also be independent of the Scala version altogether, since there's no evidence that it causes any issue.

The current behavior has already always been nonsensical for compiler plugins, for example, which compile under full versions. And yet it's never been a real problem for compiler plugins, so it probably won't become a problem now.

The sbt philosophy is to provide a default configuration for the majority and leave it open for the minority. So the question becomes what default behavior do we want?

From a logical point of view, crossTarget should depend on crossVersion, and not just binaryVersion, since a library is supposed to be compiled once per cross version.

I don't know exactly what is crossVersion. But it seems to me that the project matrix feature solves our problem (and others). I wish it becomes the default and replace crossVersions which is cumbersome to use.

crossVersion is the CrossVersion with which your artifact is going to be published. This is a critically important concept, that project-matrix does not replace in any way. Compiler plugins must set their crossVersion to CrossVersion.full. Scala.js projects are configured to have crossVersion be CrossVersion.binary("", "_sjs1"), so that they are published using the right suffixes.

AFAIK the official story is that 3.0 and 3.1 are strictly binary compatible. If that's correct, why would you not bump to 3.1?

Because artifacts built against 3.1 cannot be used from 3.0, it means your users need to upgrade if you upgrade, this shouldn't be a big issue (it matches what Scala.js does), but it's something that some library authors were concerned about when we discussed this scheme with them.

If we do something I would be in favor of making an exception just for pre-release versions like RCs, Milestones and snapshots.

That partially addresses the problem, but I'm still concerned by what would happen if someone tried to cross between 3.0 and 3.1 then, at a minimum we need to make sure that never compiler can see the output of the other one, otherwise you could get all sort of issues, using different directories seems like the simplest solution for achieving this.

Is this a duplicate of https://github.com/sbt/sbt/issues/5097?

Not exactly, I'm advocating for crossTarget to use the full scalaVersion even with the default non-full CrossVersion

ok. I'm open to the idea of scalaVersion as the cross target directory at all times to accommodate cross building of binary-compatible Scala versions. It makes sense to me, like testing against multiple JDKs.

@sjrd

I don't have a strong opinion. The current behavior has already always been nonsensical for compiler plugins, for example, which compile under full versions. And yet it's never been a real problem for compiler plugins, so it probably won't become a problem now.

I think it's in part due to the fact that not all compiler plugin authors have been using CrossVersion.full, but thanks to recent Scala 2.12 binary breakage, more plugins authors may switch to using full and run into https://github.com/sbt/sbt/issues/5097

@smarter As I implemented this change, it dawned on me that this is going to be a big breaking change for any tests or Bash scripts out there that might be relying on the exact location of the output JAR.
I don't think I should make this change until sbt 2.0 without some opt-in setting.

In my original message I suggested:

If we want the change to be less disruptive, we could keep the current behavior for Scala 2 and only use the full version for Scala 3.

To accomodate existing scripts which hardcode the target directory.


text:
Looking for a place to host scala-sbt docker images

Hi,
I'm the maintainer of scala-sbt docker images and since @hseeberger no longer can host the project I am looking for a place to move it to. Preferably not my personal github so next time a new maintainer is needed ppl don't have to switch image again.
Would https://github.com/sbt be interested in taking over https://github.com/hseeberger/scala-sbt ?
I would keep on maintaining it.

Would it be best to fork or just bring over the repo?

I'd suggest bringing it over to keep the existing issues etc. GitHub will add redirect to the old name. If you transfer it to me, I can transfer it to sbt org.
Also could we change the name of the repo to something like docker-sbt?

Thanks, guys.

Repository transfer to eed3si9n requested

it's now transferred - https://github.com/sbt/docker-sbt

authors: eed3si9n francisdb hseeberger


text:
0.13.10 branch changes

/review @dwijnand

Restarted a few times. Genuine build failure (pending scripted test passes)

The branch 0.13 already has a sbt/src/sbt-test/source-dependencies/trait-members-modified/pending and this PR creates a new sbt/src/sbt-test/source-dependencies/trait-members-modified/test instead of renaming the existing file... That's strange.

0.13: https://github.com/sbt/sbt/commits/0.13/sbt/src/sbt-test/source-dependencies/trait-member-modified
0.13.10: https://github.com/sbt/sbt/commits/0.13.10/sbt/src/sbt-test/source-dependencies/trait-member-modified

I can add another commit to change it to test

I messed up when porting @gkossakowski's test, sorry.

#2471

authors: Duhemm dwijnand eed3si9n


text:
Should VirtualFileRef be ${SOME_STRING}/src/bar.scala instead of ${0}/src/bar.scala?

@eatkins wrote:
Is Seq[Path] the right abstraction in rootPaths? It seems a bit strange that these are order dependent. I assume that the index into this Seq corresponds to the ${N}/path/to/file in VirtualFileRefs? It seems like it might be a bit more robust to have virtual files that look like ${base}/path/to/file instead at the cost of a modest increase in storage.

Your right about Seq-index turning into to VirtualFileRef#id. I'm open on this design space.
My thought on this was that:

VirtualFileRef only needs to be stable across a single build.
sbt should provide good enough default that works for 90% of the use cases (like Coursier cache).
Build authors should be able to append root paths easily.
Conversion between mapped VirtualFileRef#id back to java.nio.file.Path should be simple. (currently happening in https://github.com/sbt/zinc/blob/v1.4.0-M5/internal/zinc-core/src/main/scala/sbt/internal/inc/MappedVirtualFile.scala)

I thought using the order would be good enough, but maybe using String might allow for the VirtualFileRef to be more robust in the long term.
@retronym any suggestions here?

Just to expand slightly, I see two minor issues with the current situation that are related but different:

Root paths are stored in a Seq. This raises a number of questions for me. Are there assumptions about the orderings of the paths? Would I break everything if I did rootPaths := rootPaths.value.sorted? What is the use case for adding additional rootPaths? How does zinc know about them? Does zinc try to relativize every path it sees against all of the root paths until it finds a match? What happens if an analysis file has files with N root paths and the build has N-1 or N+1 root paths (especially if a new path was prepended)?
Paths displayed in warnings have the id in them, e.g. ${0}/project/Scripted.scala. I have to have knowledge of the virtual file to understand what that refers to (though I'm sure many users will at least be able to guess or deduce the meaning of ${0}).

I really am just curious about the questions asked in (1).
To further elaborate on (2), I now see warnings that look like:
[warn] ${0}/project/Scripted.scala:92:28: object ClasspathUtilities in package classpath is deprecated (since 1.4.0): internal
[warn]     val loader = classpath.ClasspathUtilities.toLoader(scriptedSbtClasspath.files, noJLine)
[warn]                            ^

I think these would be more useful if either the id had a more descriptive name like ${base} or if the path was expanded. I think this would help most for cases in which a path is displayed that isn't the in the project directory, like the coursier cache. Seeing something like ${4}/com/foo/bar/../blah.jar would be somewhat difficult to track down. I actually like having shorter warnings without the full paths, but it does make debugging harder if I want to take action by copying the path.
In general, I think VirtualFiles are more of an implementation detail that should rarely be encountered by sbt end users except for the (I'm assuming) small subset of users who are implementing analysis file sharing for their team. As a normal end user, I'd expect to only see normal paths in logging. But I may also be missing something since I haven't been following the development of this feature carefully.

In general, I think VirtualFiles are more of an implementation detail that should rarely be encountered by sbt end users

I agree.

To further elaborate on (2), I now see warnings that look like...

There's a reporter I added so for normal compilation the compiler error should display normal path. So if the VirtualFile id is leaking out that might be a bug. Also for file loading performance reason we might avoid passing VirtualFiles to Scala compiler layer as well.

Root paths are stored in a Seq. This raises a number of questions for me.
Are there assumptions about the orderings of the paths?

rootPaths is preset with a Seq(...) and the index position would be used for VirtualFileRef#id. There's no inherent meaning in ${0} etc.

Would I break everything if I did rootPaths := rootPaths.value.sorted?

It shouldn't break anything. It would shuffle the number around so it would invalidate your previous compilation, but that's about it.

What is the use case for adding additional rootPaths?

The purpose of the rootPaths is to remove machine dependence. One might add additional rootPaths if they include sources or JAR files outside of the preset places.

How does zinc know about them?

There's a preset rootPaths. Beyond that, build tools can pass that into Zinc.

Does zinc try to relativize every path it sees against all of the root paths until it finds a match?

Yes. That behavior is configurable, but in general yes.

What happens if an analysis file has files with N root paths and the build has N-1 or N+1 root paths (especially if a new path was prepended)?

If you previously created ${0}/src/bar.scala, and now it's supposed to be ${1}/src/bar.scala or something then I guess it would result to invalidation of the file.

repo: sbt/zinc


text:
When using the Edit Distribution modal, the distributions doesn't actually update and any number is allowed.

Is there an existing issue for this?

[X] I have looked through the existing issues

Current Behavior
When using the Edit Distribution modal, any number is allowed to be set as the new distribution, even if it is higher than their remaining distribution.  Then after saving the distribution, it doesn't actually save it as seen in the video.
(I also ran into the Edit Distribution modal randomly disappearing when I tried to highlight and delete the 0, but that will be another Issue after testing)

Expected Behavior
No response
Steps To Reproduce
No response
Anything else?
No response

Working on it

Hey, @KcPele I have been working on this as well simultaneously, but forgot to update it here.
If you haven't started can you drop it?

authors: Chirag018 KcPele ZakGriffith


text:
add question for installation method in issue template

Description
This will help us get more clarity in first question, since now we have two methods of using SE-2

Checkout the flow by creating issue on : https://github.com/technophile-04/se-2/issues/new/choose

Nice one!!


text:
Update app.json

@dialelo

:+1:

authors: dialelo raulraja

repo: scala-exercises/site


text:
Value class argument in exported method in trait does not work with Scala 2.10

The following test fails on 2.10:
  @Test def should_inherit_exports_from_traits_with_value_classes(): Unit = {
    trait Foo {
      @JSExport
      def x: SomeValueClass = new SomeValueClass(5)

      @JSExport
      def method(x: SomeValueClass): Int = x.i
    }

    class Bar extends Foo

    val bar = (new Bar).asInstanceOf[js.Dynamic]
    assertEquals(new SomeValueClass(5), bar.x)
    assertEquals(4, bar.method(new SomeValueClass(4).asInstanceOf[js.Any]))
  }

This was discovered while fixing #3538, although the reasons must be quite different as it is about value classes and only in 2.10.

This bug report is actually invalid. By decomposing the last line in two steps as follows:
    val vc = new SomeValueClass(4)
    assertEquals(4, bar.method(vc.asInstanceOf[js.Any]))

the test passes.
What happens is that Scala 2.10 inserts some weirdly incorrect boxing/unboxing when doing new SomeValueClass(5).asInstanceOf[js.Any], and that code alone already triggers an exception, independently of the export.

repo: scala-js/scala-js