Removed unused Formatters, CurrencyFormatter and other NumberFormatters replaced with Formatters #3531

Closes #3531

@eviltofu how does the PR currently work related to https://github.com/AlphaWallet/alpha-wallet-ios/issues/3531#issuecomment-1015038890?

@eviltofu how does the PR currently work related to #3531 (comment)?

This is only for the display right now. (That's why work in progress).

@eviltofu sure. That's fine. But careful that we might need to roll back the part about hardcoding the decimal separator to always be "." if the idea doesn't work.
What would you like us to look for in the PR in its current state then?

@eviltofu sure. That's fine. But careful that we might need to roll back the part about hardcoding the decimal separator to always be "." if the idea doesn't work.
What would you like us to look for in the PR in its current state then?

How it affects the current look. Some places might need adjustment.

@hboon Can you take a look at the FormatterTests.swift to see the current output of the formatters? Can some be merged together? Also there are some formatters which do not use separators (it's specified in the original code). Should separators be enforced there?

(just running through, will buzz here when I'm done checking)

I think .fiat is just used for input parsing? That's why I suggested renaming it to .fiatInput. If that's true, then testFiat() isn't necessary (noticed it looks mostly like testCurrency())
We probably should modify testScientificAmount() to include some test values in scientific mode

Can some be merged together?

The rest seems OK and pretty extensive. Let's just keep them and in the near future if we find them hard to maintain, we can get rid of them. They are good to have around for the short term as we can use them to make sure the expected API is correct if bugs around formatting come up (or not).

Also there are some formatters which do not use separators (it's specified in the original code). Should separators be enforced there?

Can you point out one or two? For conversion of numbers to strings, probably? But let's be sure.

@eviltofu I'm done

I think .fiat is just used for input parsing? That's why I suggested renaming it to .fiatInput. If that's true, then testFiat() isn't necessary (noticed it looks mostly like testCurrency())

fiat appears to be used to convert numbers into strings only. I think all input parsing is done with the EtherNumberFormatter.

Also there are some formatters which do not use separators (it's specified in the original code). Should separators be enforced there?
Can you point out one or two? For conversion of numbers to strings, probably? But let's be sure.

Formatter.swift:72
    static let `default`: NumberFormatter = {
        let formatter = NumberFormatter()
        return formatter
    }()

    static let scientificAmount: NumberFormatter = {
        let formatter = Formatter.default
        formatter.numberStyle = .decimal
        formatter.usesGroupingSeparator = false
        return formatter
    }()

which is called only in QRCodeResolutionCoordinator.swift:295
    var scientificAmountToBigInt: BigInt? {
        let numberFormatter = Formatter.scientificAmount

        let amountString = numberFormatter.number(from: self).flatMap { numberFormatter.string(from: $0) }
        return amountString.flatMap { BigInt($0) }
    }

and SendViewController.swift:351
    private func convertMaybeScientificAmountToBigInt(_ maybeScientificAmountString: String) -> BigInt? {
        let numberFormatter = Formatter.scientificAmount
        let amountString = numberFormatter.number(from: maybeScientificAmountString).flatMap { numberFormatter.string(from: $0) }
        return amountString.flatMap { BigInt($0) }
    }

fiat appears to be used to convert numbers into strings only. I think all input parsing is done with the EtherNumberFormatter.

Oh right. I read it wrongly.

Can you point out one or two? For conversion of numbers to strings, probably? But let's be sure.

Seems those are OK. Let's leave them for now.
Would you merge when you are ready?


training stop

I have a 1080Ti GPU ,and when I'm training,the training stops at third epoch.And I have tried again,it stopped at third epoch too,have you met this question?Why?Thanks.

I haven't met this problem, Any error messages will help.  You may try codebase two commits before https://github.com/Zhaoyi-Yan/Shift-Net_pytorch/tree/b08953371b6f487f43fca10042f5d06f6bd6ec18  , I haven't train for a long time for the latest version.

It just stop at epoch:3, iters:5500,time:  XXX ,data: XXX , and don't go on,print no messages.Have you trained the lastest version?

I trained the latest version, it should be something unstable with BCEWithLogitsLoss. The training is totally stopped with GPU usage equals to 0 after about 3 epochs. I will investigate it.

Please try code two commits before, and see whether it is solved.

Ok,I will try it,thanks.

I have replace BCEWithLogits with BCEloss back and have verified its stableness for 4 epochs, it should be ok. https://github.com/Zhaoyi-Yan/Shift-Net_pytorch/commit/c765939bed64b9604e9ea7ce2c14b2b2c69046d4

I have tried code c765939,but it stopped at 3 epoch again,and I have tried codebase two commits before,it stopped at 3 epoch too.Do you know the reason?

Quite weird. I have trained 5 epochs and haven't seen such problem. Do you train from the very beginning or perform continue_training ?

My dataset is celebA,and I select 11000 training images,and I set the dataroot as the path of celebA, then I run python3 train.py  --batchSize=1  --use_spectral_norm_D=1 --which_model_netD='basic'  --mask_type='center' --which_model_netG='unet_shift_triple'  --model='shiftnet'  --shift_sz=1  --mask_thred=1,then it stoped at 3 epoch.My environment is ubuntu16.04,pytorch1.0,visdom,dominate,scikit-image,python3.5

How about change these options --which_model_netG='res_patch_soft_unet_shift_triple' --model='res_patch_soft_shiftnet'  --shift_sz=3 --mask_thred=4 . Let me know whether this network works fine.

It stopped at 3 epoch again.

How about sharing your dataset with me by email, and I will try to run with it to confirm the situation.  Also, can you run the model on Paris dataset to see whether it attributes to the dataset?

May I ask what your email is?

yanzhaoyiAtoutlook.com

我训练时选择了前11000张图片，非常感谢你的帮助
------------------ 原始邮件 ------------------
发件人<EMAIL_ADDRESS>发送时间: 2019年4月25日(星期四) 下午2:48
收件人<EMAIL_ADDRESS>抄送<EMAIL_ADDRESS><EMAIL_ADDRESS>主题: Re: [Zhaoyi-Yan/Shift-Net_pytorch] training stop (#78)
yanzhaoyiAtoutlook.com
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.
从QQ邮箱发来的超大附件
img_align_celeba.zip (1.34G, 2019年05月25日 15:07 到期)进入下载页面：http://mail.qq.com/cgi-bin/ftnExs_download?k=2d383230d376979bdc44c36e1f65531d000e06545a5d51544909565109485500520d1f085c00501f5d0f03005a0459045d0f05033971615b095f6d51550c065c3b5b575c5c07001c1e51423004&t=exs_ftn_download&code=d8209ea2

Set nThread=4 if you met such problem.


Change format to Artist - Title

This is just something that's been bothering me slightly. Artist - Title is a standard format for writing song titles, Statusfy doesn't use this format.

Standard for what? Even spotify itself is usually Title - Artist, albeit on a new line.

The newline makes it a completely different thing. Generally speaking, people always written Artist - Track when writing a track on one line, because that's what generally feels natural, same way as we don't write subfolder/folder/root.
Good example: YouTube music video titles:

I can't find a specific style-guide for reporting or describing music, but Artist - Title is specified in the style-guide of the piracy scene, if that means anything.

Solid reply. 👍 from me.

FWiW, I disagree. When I'm looking at Statusfy, I want to know the name of the song primarily and then may be the artist's name, so I think the current order is correct.
In Spotify, it's always title, then artist:

Same for iTunes:

I agree that it should remain as Title - Artist. Currently, when two tracks by the same artist play back to back, there’s minimal jumping around of the text; if it were to change to Artist - Title, all of the text would jump after every song change. It’s nitpicky but I think it’s cleaner this way.
On Fri, Dec 22, 2017 at 4:42 AM Rob Allen < Rob Allen ( Rob Allen<EMAIL_ADDRESS>) > wrote:

FWiW, I disagree. When I'm looking at Statusfy, I want to know the name of
the song primarily and then may be the artist's name, so I think the
current order is correct.
In Spotify, it's always title, then artist:
screen shot 2017-12-22 at 09 37 01 (
https://user-images.githubusercontent.com/33135/34293192-b87a5d26-e6fb-11e7-9e34-828896a80163.png
)
screen shot 2017-12-22 at 09 38 05 (
https://user-images.githubusercontent.com/33135/34293218-d88ea1d0-e6fb-11e7-8354-0589ef566463.png
)
Same for iTunes:
screen shot 2017-12-22 at 09 40 51 (
https://user-images.githubusercontent.com/33135/34293312-3e713418-e6fc-11e7-91bc-610b01563858.png
)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub (
https://github.com/paulyoung/Statusfy/pull/31#issuecomment-353561403 ) , or
mute the thread (
https://github.com/notifications/unsubscribe-auth/Aap6CxFn88P4eav4Av6bhepoWIrs7Bb0ks5tC3mYgaJpZM4Pyo4M
).

This isn't something I'd like to change, but thanks for the suggestion.


Chap15 CNN code issues

Hi Sebastian,
I am working on the CNN code in Chapter 15 step by step and realised there are some discrepancies and issues.
In the function conv_layer, you define the dimension of input channel as [batch x width x height x channels_in]. However, the format tf.nn.conv2d accepts in 'NHWC' or 'NCHW'. Since the example images are 28 x 28, it shouldn't really matter atleast in this case.
Secondly, I have nvidia geforce gtx 960M and when training the model, I get a "ResourceExhaustedError".

So I changed the 'use_cudnn_on_gpu' parameter of conv2d to False and I get a 'UnimplementedError'.

So I used the code os.environ['CUDA_VISIBLE_DEVICES'] = "" to run on cpu and it runs fine. The training avg. loss after 20 epochs I get is 5.151 compared to 3.965 in your book. I checked the memory and there is a jump in the usage at the end of each epoch. In total it consumes around 2 gb RAM. Do you think this is the reason for the OOM ResourceExhaustedError. The nvidia card has a total dedicated memory of 2004 MB.

Thank you
Sameer

Hi there,
sorry about these issues.  Things that could make it work nonetheless would be lowering the batch size (from 64 to 16). If this still is not enough, you can try to make the size of the fully connected layer smaller (right now, it is 1024, which is quite large). A fully connected layer is usually what takes up most of the memory.


Error with JSON.stringify

Hello @sbarski,
I'm using your runner with the Node v4.3 optional callback. However this code:
exports.handler = function (event, context, callback) {
    callback(new Error('bad things happen'));
};

returns:
errorMessage: {}

I think this is due to the fact that Error relies on non-enumerable properties and therefore is not per-se "stringifable".
Thanks

Hi @thundo, that's a good point!
I'll update the runner now so that it works properly with the Error object.

@thundo I've just a pushed a new version of the module that handles Error.
Please let me know if you see any other issues or if you have any requests!

Nice, works for me!
Thank you for your quick response.


Allow static initialization for BPF_MAP_TYPE_HASH_OF_MAPS map with integer as key_size

Description

In ebpf_native.c : Check map-in-map is Hash of Maps with integer as key_size. If true, allow initialization.
Added test cases in libbpf_tests.cpp.

Testing
_Do any existing tests cover this change? No
Are new tests needed? Yes
Manual test:
PS C:\Temp> netsh ebpf add program .\hash_of_map_in_array_map.sys
Loaded with ID 196609

PS C:\Temp> dir .\hash_of_map_in_array_map.sys

    Directory: C:\Temp

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        10/5/2023   9:09 AM          11664 hash_of_map_in_array_map.sys

PS C:\Temp> netsh ebpf show programs

    ID  Pins  Links  Mode       Type           Name
======  ====  =====  =========  =============  ====================
196609     1      1  NATIVE     xdp            lookup

PS C:\Temp> netsh ebpf show maps

                              Key  Value      Max  Inner
     ID            Map Type  Size   Size  Entries     ID  Pins  Name
=======  ==================  ====  =====  =======  =====  ====  ========
 131073        hash_of_maps     2      4    65536  65537     0  outer_map

PS C:\Temp>

Documentation
_Is there any documentation impact for this change? No
Installation
_Is there any installer impact for this change? No

@shpalani What is the status of this PR? Has it been abandoned? If so, please close. If not, please address any comments and mark as ready for review.

Closing this PR, as it is committed through
https://github.com/microsoft/ebpf-for-windows/pull/3211


Server side validation: Having trouble with .throwValidationException()

I'm new to Astronomy so pardon me if this is just me being supid....
Running Meteor <IP_ADDRESS> and Astronomy 1.1.2.
I am using the server side method from the docs at http://astronomy.jagi.io/#validation exactly.
I have only one validator so far:
UserEmail = Astro.Class( {
	name: 'UserEmail',
	fields: {
		address: {
			type: 'string',
			validator: Validators.email()
		},
		verified: 'boolean'
	}
} );

But the call to user.throwValidationException(); fails. Nothing is printed in the server console, but on the client I get:
Exception while simulating the effect of invoking '/user/save' errorClass {error: "validation-error", reason: Object, details: undefined, message: "[object Object] [validation-error]", errorType: "Meteor.Error"} Error: [object Object] [validation-error]
    at Class.methods.throwValidationException (http://localhost:3000/packages/jagi_astronomy-validators.js?190fcbc4bc77cfe59f5e8f38a00a208362bb2db3:493:9)
    at Meteor.methods./user/save (http://localhost:3000/app/Users.js?4e158bee265d98644f40d23dca9c369ec9a48ffa:124:8)
    at http://localhost:3000/packages/ddp-client.js?250b63e6c919c5383a0511ee4efbf42bb70a650f:3911:25
    at _.extend.withValue (http://localhost:3000/packages/meteor.js?9730f4ff059088b3f7f14c0672d155218a1802d4:971:17)
    at _.extend.apply (http://localhost:3000/packages/ddp-client.js?250b63e6c919c5383a0511ee4efbf42bb70a650f:3902:54)
    at _.extend.call (http://localhost:3000/packages/ddp-client.js?250b63e6c919c5383a0511ee4efbf42bb70a650f:3780:17)
    at UserProfileForm.onSubmit (http://localhost:3000/app/client/profile.js?

 Caused by not having the Meteor.method on the server code, but in the client/server common file.

Ok, that's good that you've handled it.


Price fetch 503 error

https://api.coingecko.com/api/v3/simple/price?ids=bitcoin%2Cethereum%2Cdai%2Ctether%2Cusd-coin%2Ctrue-usd&vs_currencies=usd
can be an issue of coingecko api

seems stable now


Explain dynamic scheduling

/override ci/prow/links
ci-operator link, not related to this pr is to check, maybe it requires vpn now

/lgtm


uncheck all after click item

I would like to check one, the others do the uncheck, is it possible?

Sorry, not possible right now. But you can extend the plugin and you can bind _clearSelections function to the checkbox which you want to uncheck others checkboxes at its click event.


Integrate CI with automatic unit testing

This PR adds continuous integration and enables automatic testing with catkin run_tests crocoddyl_msgs. Note that two tests do not pass yet so I deactivated them for now - are they passing locally on your end?
Addresses #1

@wxmerkt -- thanks so much for such prompt action.
I am fine with deactivating the unit test, but be aware that this is related to Pinocchio.
Both publishers and subscribers need the converter of Pinocchio::Forces that was recently merged.


instantiation with unix timestamp

this line doesn't work and throws an exception:
$v = new Verta(1607632198);

I traced the execution path and realized that there is a mistake in the first line of Verta constructor.
str_replace is being used in arToEnNumbers method and it is forgotten that str_replace casts integer to string!
so, $datetime will always be string-type and this condition:
elseif (is_numeric($datetime)) {...}
never will be checked.

test timestamp return 1399-09-20 23:59:58

test timestamp return 1399-09-20 23:59:58


Make the test library open for extension

I want to be able to have the mock file system to block tasks when writing to some streams, and sometime fails mid-writing streams. Plus all sorts of other things i wont to control.
It would be really easy to do if this awesome test library followed the open-closed SOLID principle.
Solution
Use virtual methods and properties so we can override default mocking behavior (or just extend it).

Thanks for your suggestion! I think this is very similar to https://github.com/System-IO-Abstractions/System.IO.Abstractions/issues/288, right?

Yes it is the same request essentially.
I have had to resort to using moq as well, which is not easy to do because you can’t just switch in a moq for 1 part.
Virtual methods and properties on the test implementations members that implement the interface would be simplist to achieve extensibility for testing IMO.

Thanks for your feedback. As mentioned in the linked issues I'm hesitant against making stuff virtual too quickly. Could you provide some code samples that you think are currently harder than necessary?

Sure, what is your guide to know when something should be virtual?
IMO I think making something virtual that is implementing a public interface method/property is relatively harmless.
Making a method/property that is not part of a public interface (protected / some other public members) is dangerous. It exposes internal implementation detail for extension which is risky to do for a public library like this.
Here is an example for extend the file system with moq:
public class MoqFileSystem : IFileSystem, IMockFileDataAccessor
    {
        private readonly MockFileSystem _mockedFileSystem;

        public MoqFileSystem()
        {
            var currentDirectory = System.IO.Directory.GetCurrentDirectory();
            _mockedFileSystem = new MockFileSystem(new Dictionary<string, MockFileData>(), currentDirectory);
            MockFile = new Mock<MockFile>(this) {CallBase = true};
            MockDirectory = new Mock<MockDirectory>(this, currentDirectory) { CallBase = true };
            MockFileInfo = new Mock<MockFileInfoFactory>(this) { CallBase = true };
            MockFileStream = new Mock<MockFileStreamFactory>(this) { CallBase = true };
            MockPath = new Mock<MockPath>(this) { CallBase = true };
            MockDirectoryInfo = new Mock<MockDirectoryInfoFactory>(this) { CallBase = true };
            MockDriveInfo = new Mock<MockDriveInfoFactory>(this) { CallBase = true };
            MockFileSystemWatcher = new Mock<MockFileSystemWatcherFactory>(this) { CallBase = true };
        }

        public Mock<MockFile> MockFile { get; }
        public Mock<MockDirectory> MockDirectory { get; }
        public Mock<MockFileInfoFactory> MockFileInfo { get; }
        public Mock<MockFileStreamFactory> MockFileStream { get; }
        public Mock<MockPath> MockPath { get; }
        public Mock<MockDirectoryInfoFactory> MockDirectoryInfo { get; }
        public Mock<MockDriveInfoFactory> MockDriveInfo { get; }
        public Mock<MockFileSystemWatcherFactory> MockFileSystemWatcher { get; }

        #region IFileSystem implementation

        public IFile File => MockFile.Object;
        public IDirectory Directory => MockDirectory.Object;
        public IFileInfoFactory FileInfo => MockFileInfo.Object;
        public IFileStreamFactory FileStream => MockFileStream.Object;
        public IPath Path => MockPath.Object;
        public IDirectoryInfoFactory DirectoryInfo => MockDirectoryInfo.Object;
        public IDriveInfoFactory DriveInfo => MockDriveInfo.Object;

        public IFileSystemWatcherFactory FileSystemWatcher => MockFileSystemWatcher.Object;

        #endregion

        #region IMockFileDataAccessor implementation

        public IFileSystem FileSystem => this;

        public PathVerifier PathVerifier => _mockedFileSystem.PathVerifier;

        public MockFileData GetFile(string path)
        {
            return _mockedFileSystem.GetFile(path);
        }

        public void AddFile(string path, MockFileData mockFile)
        {
            _mockedFileSystem.AddFile(path, mockFile);
        }

        public void AddDirectory(string path)
        {
            _mockedFileSystem.AddDirectory(path);
        }

        public void AddFileFromEmbeddedResource(string path, Assembly resourceAssembly, string embeddedResourcePath)
        {
            _mockedFileSystem.AddFileFromEmbeddedResource(path, resourceAssembly, embeddedResourcePath);
        }

        public void AddFilesFromEmbeddedNamespace(string path, Assembly resourceAssembly, string embeddedResourcePath)
        {
            _mockedFileSystem.AddFilesFromEmbeddedNamespace(path, resourceAssembly, embeddedResourcePath);
        }

        public void MoveDirectory(string sourcePath, string destPath)
        {
            _mockedFileSystem.MoveDirectory(sourcePath, destPath);
        }

        public void RemoveFile(string path)
        {
            _mockedFileSystem.RemoveFile(path);
        }

        public bool FileExists(string path)
        {
            return _mockedFileSystem.FileExists(path);
        }

        public IEnumerable<string> AllPaths => _mockedFileSystem.AllPaths;
        public IEnumerable<string> AllFiles => _mockedFileSystem.AllFiles;
        public IEnumerable<string> AllDirectories => _mockedFileSystem.AllDirectories;
        public StringOperations StringOperations => _mockedFileSystem.StringOperations;

        #endregion
    }

I actually wrote a new file sytem that decorates the MockFile system in a similar way but not with moq, rather its a Fake that allows us to control things like hanging async file writes/reads.
The example above, and the fake, would be much better off with virtual methods - we just want to extend the default mock implementation.

Sure, what is your guide to know when something should be virtual?

See https://github.com/fgreinacher/opinions/blob/master/tech/virtuals-in-csharp.md (your questions actually was the trigger for me to finally write this down, thanks 👍)

Here is an example for extend the file system with moq:

Thanks a lot! So I assume the only thing that's missing to make your scenario a bit easier is to make the properties of MockFileSystem virtual?

I like what you wrote on virtuals - totally agree with each point.
Now I think about it - overriding parts of "Default" implementation that provides a base class is a bit odd: its troublesome because you don't know which combinations of things to override, and whether or not to continue to call the base implementation. Especially if the component is stateful.
In all the cases I want to extend this library for, I essentially need hooks for certain operations to run extra code - in additional to the default behaviour. The decorator pattern on certain components would help here - however its not easy to do because the mock file system closes off the construction of all of the mocked components.
Here is a strawman idea (without really thinking about it too hard): maybe if there was a way to make the mock file system construction extensible. Like some kind of factory method, or builder pattern. It might even pass a default instance that could be decorated. I need to provide an example but its too late in the night :p

Here is a strawman idea (without really thinking about it too hard): maybe if there was a way to make the mock file system construction extensible. Like some kind of factory method, or builder pattern. It might even pass a default instance that could be decorated. I need to provide an example but its too late in the night :p

I think something like https://github.com/System-IO-Abstractions/System.IO.Abstractions/issues/442 would work out pretty nice.


Animated Sunburst can not take SVG Pattern

Hi all
Similar to this #721 , when I tried to applied the SVG pattern to the Sunburst, it shows the black box like the following:

However, when I remove animation from Sunburst, it works perfectly!

Just wondering if this is caused by the animated Sunburst? I think I met a similar issue for the animated bar chart as well.

Here is the snippet of my code:
<Sunburst
    animation
    hideRootNode
    className={`${SUNBURST_CLASS}${extraContainerClass}`}
    colorType="literal"
    data={data}
    height={height}
    width={width}
    margin={{ top: 50, bottom: 50, left: 50, right: 50 }}
    getSize={d => d.size}
    getColor={d => {
        const showPattern: boolean = !this.__showSVGPattern(d.depth);
        if (showPattern) {
            return `url(#${this.__getSVGPatternID(showPattern, d.color)})`;
        }
        return d.color;
    }}
    padAngle={() => 0.02}
    onValueMouseOver={v => this.setState({ hoveredCell: v })}
    onValueMouseOut={v => this.setState({ hoveredCell: null })}
>
    {this.__renderHint()}
</Sunburst>

Version: 1.11.3

Hm, I won't be able to debug your code without knowing what data or the svg pattern look like. I have no trouble with this attempt to recreate your chart:
        <svg height={0} width={0}>
          <GradientDefs>
              <pattern id="circles" width="3" height="3" patternUnits="userSpaceOnUse">
                <circle cx="1.5" cy="1.5" r="0.8" fill="magenta" />
              </pattern>
          </GradientDefs>
        </svg>
        <Sunburst
          animation
          hideRootNode
          height={300}
          width={350}
          colorType="literal"
          getColor={d => `url(#circles)`}
          data={data}
          margin={{ top: 50, bottom: 50, left: 50, right: 50 }}
      />

It might be worth looking into the Sunburst code and how an animated value might change it:
https://github.com/uber/react-vis/blob/05cc2b374f983de3b9736a1c9cca422991c2a683/src/sunburst/index.js#L176-L184

Hm, I won't be able to debug your code without knowing what data or the svg pattern look like. I have no trouble with this attempt to recreate your chart:
        <svg height={0} width={0}>
          <GradientDefs>
              <pattern id="circles" width="3" height="3" patternUnits="userSpaceOnUse">
                <circle cx="1.5" cy="1.5" r="0.8" fill="magenta" />
              </pattern>
          </GradientDefs>
        </svg>
        <Sunburst
          animation
          hideRootNode
          height={300}
          width={350}
          colorType="literal"
          getColor={d => `url(#circles)`}
          data={data}
          margin={{ top: 50, bottom: 50, left: 50, right: 50 }}
      />

It might be worth looking into the Sunburst code and how an animated value might change it:
react-vis/src/sunburst/index.js
Lines 176 to 184 in 05cc2b3
data: animation
? mappedData.map((row, index) => ({
...row,
parent: null,
children: null,
index
}))
: mappedData,
_data: animation ? mappedData : null,

Hi Wattengerger
Sorry for the waiting, I'll post the data here this weekend.
Cheers

Thanks Wattengerger! That's a quite good point. I modified the code to try to replicate the problem, but it looks well for me now. I'll dig into it tomorrow and let you know the results!

I think I found out the reason why it does not work with animation: instead of get d.color in getColor in Sunburst, I add some logics in to find out the Id of the SVG pattern.
The function of SVG pattern generation looks like this:
 private __getSVGPatternID = (
    showPattern: boolean,
    legendColor: string = "#ffffff"
  ): string => (showPattern ? `sunburst-legend-${legendColor}` : "");

It work well on static Sunburst because the value we get from d.color is a hex code, for example, #52BAAB. However, in animated Sunburst, the color we get changed to RGB which is rgb(82, 186, 171).
My pattern ID generation function did not recognize the changes and keep treating the color as hex code, and the SVG with that ID does not exist, that is why the second ring in the animated sunburst turns to black.
Hopefully this helps.
Regards

I think I found out the reason why it does not work with animation: instead of get d.color in getColor in Sunburst, I add some logics in to find out the Id of the SVG pattern.
The function of SVG pattern generation looks like this:
 private __getSVGPatternID = (
    showPattern: boolean,
    legendColor: string = "#ffffff"
  ): string => (showPattern ? `sunburst-legend-${legendColor}` : "");

It work well on static Sunburst because the value we get from d.color is a hex code, for example, #52BAAB. However, in animated Sunburst, the color we get changed to RGB which is rgb(82, 186, 171).
My pattern ID generation function did not recognize the changes and keep treating the color as hex code, and the SVG with that ID does not exist, that is why the second ring in the animated sunburst turns to black.
Hopefully this helps.
Regards

After updating my id generation logic. the animation works well!
  private __getSVGPatternID = (
    showPattern: boolean,
    legendColor: string = "#ffffff"
  ): string => {
    if (!showPattern) {
      return "";
    }
    let hexColor: string = legendColor;
    const isHex: boolean =
      hexColor.length > 1 &&
      hexColor.slice(1).length === 6 &&
      !isNaN(parseInt(hexColor.slice(1), 16));

    if (!isHex) {
      hexColor = hexColor
        .split("(")[1]
        .split(")")[0]
        .split(",")
        .map(color => {
          const hex = parseInt(color).toString(16);
          return hex.length === 1 ? "0" + hex : hex;
        })
        .join("");
      hexColor = `#${hexColor.toUpperCase()}`;
    }

    return `sunburst-legend-${hexColor}`;
  };

Just a suggestion, should we make it more clear in the documentation that when use animation, the color representation changed?
Kind Regards


debugging help

After having windows move around seemingly at random for a while I ran kwm from the command line to get the root cause and found that it was constantly crashing and being restarted by launchctl. The following error message shows when running in iTerm. (after enabling accessibility for it)
Edit: I am running El Capitan 10.11.2 (15C50)
dyld: lazy symbol binding failed: Symbol not found: __TF10Foundationg20NSUTF8StringEncodingSu
  Referenced from: /usr/local/Cellar/kwm/1.1.2/kwm-overlay
  Expected in: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/macosx/libswiftFoundation.dylib

dyld: Symbol not found: __TF10Foundationg20NSUTF8StringEncodingSu
  Referenced from: /usr/local/Cellar/kwm/1.1.2/kwm-overlay
  Expected in: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/macosx/libswiftFoundation.dylib

@chrishoage any idea?
@madmod you can prevent Kwm from trying to load kwm-overlay by making sure your kwmrc contains
kwmc config focused-border disable
kwmc config marked-border disable
kwmc config prefix-border disable

I played around with that a bit yesterday after thinking more about #175. Installing XCode is a temporary solution, as is putting both libswiftFoundation.dylib and libswiftAppKit.dylib in the same folder as kwm-overlay.
Ultimately this happens because kwm-overlay gets compiled with a dynamic link to /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/macosx/libswift{Foundation,AppKit}.dylib (XCode dependency) instead of /Library/Developer/CommandLineTools/usr/lib/swift/macosx/libswift{Foundation,AppKit}.dylib (Developer Tools dependency). The latter is the default if you do not not have XCode, but only the Developer Tools installed, the former is the default if you have XCode installed.

@koekeishiya After adding those lines and commenting out other lines related to them that prevents the crashing.
@dominiklohmann I just installed XCode and the developer tools and rebooted but still get the same error.

Although I do not have a folder /Library/Developer for some reason.

Do you have the libswiftFoundation.dylib at the location listed in your error message?

Yeah this seems like the same issue as #175 we need some way to reference the dylibs. I won't have time to investigate a solution to this until the weekend.
If anyone figures out a good solution in the meantime (either packaging the dylibs or changing the reference to not be the xcode path) feel free to change it.

I currently only have the Swift toolchain in that folder. Any idea how I can install the XcodeDefault.xctoolchain? I'm unable to find anything obvious with Google. I'll try updating XCode from the App Store.


Is Form460ScheduleB2ItemBase inheriting from models.Model on purpose, or is it an oversight of our base abstract classes?

I assumed this was an oversight and changed it for #48.


Question about screen transition.

https://github.com/SnoringCatGames/scaffolder/blob/ef78541f5ad58fa9e3efafe21124b475a1c01c2b/src/utils/screen_navigator.gd#L287
Is it : is_open and !next_screen_was_already_shown ?
From the previous logic next_screen_was_already_shown won't be true if is_open is false, so is_open or next_screen_was_already_shown exits redundant judgments.
And from my understanding, is_open and !next_screen_was_already_shown makes more sense for is_forward
.

This should be fixed in 54ea911

Thanks very much for the confirmation and details sharing. Keep on studying the your awesome framework and 2d platformer navigation solution!


Easier customized carry initialization for GRUcell

Hi!
I am trying to initialize a GRUcell using a carry initialized using numbers sampled from the normal distribution, instead of the default initializer to 0. As seen here: https://github.com/google/flax/blob/e58dea2e55257648cee0b6485c09f3b6013b7d38/tests/linen/linen_test.py#L207
I want to do this:
carry0 = nn.GRUCell.initialize_carry(rng, (2,), 4,init_fn= jax.nn.initializers.normal)
and simply return an array, instead of a function, which is happening right now....
Or is there an alternative to initialize the carry to normally distributed numbers? Maybe I missed something
Thanks!

Hi
Sorry for the delayed response, this question fell through the cracks in our rotation...
the nn.initializers.normal (i.e. without jax) initializer is different from e.g. nn.initializers.zeros because you need to specify what stddev you want the normal initializer to use.
The correct invocation would be
nn.GRUCell.initialize_carry(rng, (2,), 4, init_fn= jax.nn.initializers.normal(stddev=1e-2))

Or, alternatively, if you want to go with the default:
nn.GRUCell.initialize_carry(rng, (2,), 4, init_fn= jax.nn.initializers.normal())

Now that I see it, I apologize for this question hahah, I feel a little silly. I tried to use the jax.nn.initializers.normal() but there was some dtype error and then I think I went down a rabbit hole for no reason thinking it did not work. It's working now , thanks and so sorry.


fix: Improved behavioral consistency between the database services

This PR contains a few fixes that where required to make the new compliance tests to pass:

Decimal precision behavior is aligned between the databases when defined
@cap-js/hana now properly supports scalar SELECT queries in the columns

The goal of this PR is to remove as much dependencies as possible now that cds@8 provides the cds-test command.

Removing jest by switching to cds-test
Removed jest.config.js files
Removing chai by switching to cds-test
Adjust all tests to fit with the cds-test expect pattern
Removing HANA test action
Move HXE Github action steps into a reuse file
Added a lock for HANA database creation
Added a fallback for Postgres during database creation
Removed compliance import tests
Added symbolic link to the compliance test folder

Can you please report this fix to a a version which support cds 7 ?
Actually, there are some inconsistencies:

Latest version of the db-service still support cds 7.9
cds-hana requires at least cds 8.2

So, when you fix a bug (like in this PR) which involves both dependencies, only project using cds > 8.2 can benefit from the fix.

Can you please report this fix to a a version which support cds 7 ?
Actually, there are some inconsistencies:

Latest version of the db-service still support cds 7.9
cds-hana requires at least cds 8.2

So, when you fix a bug (like in this PR) which involves both dependencies, only project using cds > 8.2 can benefit from the fix.

I do not see any inconsistencies.
There are parts in @cap-js/hana which require a newer version even though the base package @cap-js/db-service does not need this. The base package is also used for sqlite and postgres where we do not yet require cds8.
In addition, @cap-js/hana is officially supported with cds8.
Are you running on cds7 + cap-js/hana? If yes, please consider updating the cds version.

No, we are running with cds7 and cap-js/hana, but we would like to first migrate to cap-js/hana (which is not easy) and then to cds8 to avoid too many regressions.

No, we are running with cds7 and cap-js/hana, but we would like to first migrate to cap-js/hana (which is not easy) and then to cds8 to avoid too many regressions.

We do recommend to first upgrade to cds8. You can adopt that and turn off the new odata protocol adapter. With that, there should not be much upgrade effort. Then you can adopt @cap-js/hana and later on the new protocol adapter or vice versa.

Why did you publish a final version (1.0 & 1.1) of @cap-js/hana if the support of cds-7 was not official ?

There simply was no technical reason to restrict it to cds8 before.


ACPI: Add requirement to have PLIC/APLIC namespace devices

PLIC and APLIC need to be namespace devices as well so that devices can add dependencies using _DEP. This is required for the OS to ensure drivers are probed in proper order.
So, this commit

Creates a new section under ACPI to list of ACPI IDs maintained for RVI standard devices.
Adds new requirement to mandate namespace devices for PLIC and APLIC. 3) Mandates _GSB required to map the namespace device to MADT. 4) Mandates _DEP to indicate dependency between devices and interrupt controller for GSI interrupts.

This is discussed in PRS meeting on 04/11/2024. This should close https://github.com/riscv-non-isa/riscv-brs/issues/127
PoC available at:
https://github.com/vlsunil/qemu/tree/riscv_acpi_dep_v1
https://github.com/vlsunil/linux/tree/acpi_b2_v4_dep_v1

@andreiw @atishp04 @xypron : Please help reviewing this.


Performance evaluation (and possible optimization?)

In projects previously using a similar architecture, 200K events/second consumed 0.5 CPUs. The impact was caused mostly because of the userspace having to wakeup on each message in the ringbuffer. In the case of the linked project, moving from a ringbuffer to a hashmap allowed aggregating millions of events/second with 0.1% CPU.
In the case of HTTP/GRPC servers, it seems unlikely that a single host will need to process so many events/second. So our current implementation should be fine. However, we could create performance tests to see how many resources we are consuming on a typical high-load scenarios.
If we decide to optimize the performance, I would recommend to address the userspace wakeups on each HTTP request message.
We can configure the ringbuffer to accumulate messages and send them to the user space in batches of X (user configurable). If, after a user-configured timeout, the batch size didn't reach X, we will anyway send them. This will decrease by orders of magnitude the number of userspace wakeups.

I did couple of benchmark runs in HTTP mode, using our wrk2 based driver on top of the simple pingserver we have in our tests. I didn't use any delay in the API requests, so this is pretty much the worst case scenario - all instrumentation overhead.
Here are the results for a 10,000 QPS (which is very unrealistic for a single service) :
Environment
Linux kernel version 5.19.0-38
12th Gen Intel(R) Core(TM) i7-1280P, 2 GHz, 6 performance cores, 8 low power cores, running without CPU throttling
64 GB total system memory
Notes
Latency varies a bit from run to run, so the latency histograms are on-par.
Base
server 85% CPU utilization
Latency Distribution (HdrHistogram - Recorded Latency)
 50.000%  609.00us
 75.000%    0.88ms
 90.000%    1.04ms
 99.000%    1.16ms
 99.900%    1.24ms
 99.990%    1.74ms
 99.999%    4.63ms
100.000%    6.49ms

NOOP tracing, just collecting and ignoring the events
otelhttp 15%
server from 85% to 95%
Latency Distribution (HdrHistogram - Recorded Latency)
 50.000%  632.00us
 75.000%    0.89ms
 90.000%    1.05ms
 99.000%    1.17ms
 99.900%    1.25ms
 99.990%    1.40ms
 99.999%    2.26ms
100.000%    2.63ms

Full OTel HTTP with local Mimir, Tempo, Agent
server from 85% to 95%
otelhttp 95%
Latency Distribution (HdrHistogram - Recorded Latency)
 50.000%  603.00us
 75.000%    0.86ms
 90.000%    1.01ms
 99.000%    1.12ms
 99.900%    1.63ms
 99.990%    2.11ms
 99.999%    2.46ms
100.000%    3.07ms

@grcevski do you have the stress scripts somewhere?

@grcevski do you have the stress scripts somewhere?

Yes, I committed the script in test/cmd/pingserver/driver.sh. I use wrk2 to create a constant load, regardless if the service can keep up. I had slightly modified wrk2 locally to close and re-establish the connection each time, thinking it's possibly closer to what happens in the real world.


Does Filament can be built with java 7?

Describe the solution you'd like
I want to know if filament can be built with java 7 and work right?

It might work but we make no guarantee. We target Java 8. Let us know if you run into issues.


created new file git testing

adding extended description Closes #6

testing comments

@babipal :+1:

@babipal this is going to break the whole site :-1:

Still no description on your hometown. -1

fine, :shipit:


The process '/grid/0/jenkins/.local/bin/flake8' failed with exit code 1

Its listing all errors in the file and later it exits with this error "The process '/grid/0/jenkins/.local/bin/flake8' failed with exit code 1"

This appears to be working as intended.  Flake8 will raise a non-zero exit status code when there are identified lint issues and this fails your CI test suite.  Am I missing a problem in the execution here?

what will be the output because it says none in Readme , will it comment on the actions tab or it just shows errors in logs??

so when there are lint issues it comments with failed with exit code 1?

That is correct.  The report is in the output on the Actions page for a given workflow run.  This Action does not publish any information to the repository tracker or other locations.  If you provide context in your workflow naming (eg use the name “Python lints”) then you will see this as a line item in your pull request CI tests that are summarized at the bottom of the PR thread.


[BUG] The default values can't be changed in cluster config file for virtual machine.

Describe the bug
It is not possible to change default values in configuration section for infrastructure/virtual-machine such as:

disk_size_gb
offer
sku
etc... in cluster config file. Terraform use always default ones.

How to reproduce
Steps to reproduce the behavior:

execute epicli init ... (with params)
edit config file and change default os_disk_size or os image
execute epicli apply ...

Expected behavior
I would like to create cluster with the values which I set in my configuration file.
If I set 64GB os disk size, I would like to have 64GB os disk size, not the default 32GB
Config files
---
kind: infrastructure/virtual-machine
title: Virtual Machine Infra
provider: azure
name: default
specification:
  tags: []
  os_type: linux
  size: Standard_DS1_v2
  storage_image_reference:
    publisher: Canonical
    offer: UbuntuServer
    sku: 18_04-lts-gen2
    version: 18.04.202101290
  storage_os_disk:
    delete_on_termination: false
    managed: false
    caching: ReadWrite
    create_option: FromImage
    disk_size_gb: 64
    managed_disk_type: Premium_LRS

Environment

Cloud provider: [AWS | Azure]
OS: [all]

epicli version: 0.9
Additional context
Add any other context about the problem here.

DoD checklist

[ ] Changelog updated (if affected version was released)
[ ] COMPONENTS.md updated / doesn't need to be updated
[ ] Automated tests passed (QA pipelines)

[ ] apply
[ ] upgrade

[ ] Case covered by automated test (if possible)
[ ] Idempotency tested
[ ] Documentation updated / doesn't need to be updated
[ ] All conversations in PR resolved

@rpudlowski93
For now, the only option to change these parameters is to provide the configuration for each vm like this:
---
kind: epiphany-cluster
name: default
provider: azure
specification:
  admin_user:
    key_path: /path/to/id_rsa
    name: operations
  cloud:
    region: West Europe
    subscription_name: xxx
    use_public_ips: false
    use_service_principal: true
  components:
    kafka:
      count: 2
      machine: kafka-machine-rhel
    kubernetes_master:
      count: 1
      machine: kubernetes-master-machine-rhel
    kubernetes_node:
      count: 2
      machine: kubernetes-node-machine-rhel
    load_balancer:
      count: 1
      machine: lb-machine-rhel
    logging:
      count: 2
      machine: logging-machine-rhel
    monitoring:
      count: 1
      machine: monitoring-machine-rhel
    postgresql:
      count: 2
      machine: postgresql-machine-rhel
    rabbitmq:
      count: 2
      machine: rabbitmq-machine-rhel
    ignite:
      count: 2
      machine: ignite-machine-rhel
    opendistro_for_elasticsearch:
      count: 2
      machine:  opendistro-machine-rhel
    repository:
      count: 1
      machine:  repository-machine-rhel
  name: test
  prefix: 'qa'
title: Epiphany cluster Config
---
kind: infrastructure/virtual-machine
name: kafka-machine-rhel
provider: azure
based_on: kafka-machine
specification:
  storage_image_reference:
    publisher: RedHat
    offer: RHEL
    sku: 7-LVM
    version: "7.9.2020111202"
  storage_os_disk:
    disk_size_gb: 64
---
kind: infrastructure/virtual-machine
name: kubernetes-master-machine-rhel
provider: azure
based_on: kubernetes-master-machine
specification:
  storage_image_reference:
    publisher: RedHat
    offer: RHEL
    sku: 7-LVM
    version: "7.9.2020111202"
  storage_os_disk:
    disk_size_gb: 64
---
kind: infrastructure/virtual-machine
name: kubernetes-node-machine-rhel
provider: azure
based_on: kubernetes-node-machine
specification:
  storage_image_reference:
    publisher: RedHat
    offer: RHEL
    sku: 7-LVM
    version: "7.9.2020111202"
  storage_os_disk:
    disk_size_gb: 64
---
kind: infrastructure/virtual-machine
name: logging-machine-rhel
provider: azure
based_on: logging-machine
specification:
  storage_image_reference:
    publisher: RedHat
    offer: RHEL
    sku: 7-LVM
    version: "7.9.2020111202"
  storage_os_disk:
    disk_size_gb: 64
---
kind: infrastructure/virtual-machine
name: monitoring-machine-rhel
provider: azure
based_on: monitoring-machine
specification:
  storage_image_reference:
    publisher: RedHat
    offer: RHEL
    sku: 7-LVM
    version: "7.9.2020111202"
  storage_os_disk:
    disk_size_gb: 64
---
kind: infrastructure/virtual-machine
name: postgresql-machine-rhel
provider: azure
based_on: postgresql-machine
specification:
  storage_image_reference:
    publisher: RedHat
    offer: RHEL
    sku: 7-LVM
    version: "7.9.2020111202"
  storage_os_disk:
    disk_size_gb: 64
---
kind: infrastructure/virtual-machine
name: lb-machine-rhel
provider: azure
based_on: load-balancer-machine
specification:
  storage_image_reference:
    publisher: RedHat
    offer: RHEL
    sku: 7-LVM
    version: "7.9.2020111202"
  storage_os_disk:
    disk_size_gb: 64
---
kind: infrastructure/virtual-machine
name: rabbitmq-machine-rhel
provider: azure
based_on: rabbitmq-machine
specification:
  storage_image_reference:
    publisher: RedHat
    offer: RHEL
    sku: 7-LVM
    version: "7.9.2020111202"
  storage_os_disk:
    disk_size_gb: 64
---
kind: infrastructure/virtual-machine
name: ignite-machine-rhel
provider: azure
based_on: ignite-machine
specification:
  storage_image_reference:
    publisher: RedHat
    offer: RHEL
    sku: 7-LVM
    version: "7.9.2020111202"
  storage_os_disk:
    disk_size_gb: 64
---
kind: infrastructure/virtual-machine
name: opendistro-machine-rhel
provider: azure
based_on: logging-machine
specification:
  storage_image_reference:
    publisher: RedHat
    offer: RHEL
    sku: 7-LVM
    version: "7.9.2020111202"
  storage_os_disk:
    disk_size_gb: 64
---
kind: infrastructure/virtual-machine
name: repository-machine-rhel
provider: azure
based_on: repository-machine
specification:
  storage_image_reference:
    publisher: RedHat
    offer: RHEL
    sku: 7-LVM
    version: "7.9.2020111202"
  storage_os_disk:
    disk_size_gb: 64

Unfortunately the fix is not working properly. For the configuration below, OS for only one vm is changed.
---
kind: epiphany-cluster
name: default
provider: aws
specification:
  admin_user:
    key_path: /path/to/id_rsa
    name: ec2-user
  cloud:
    credentials:
      key:
      secret:
    region: eu-west-2
    use_public_ips: true
  components:
    kafka:
      count: 1
    kubernetes_master:
      count: 1
    kubernetes_node:
      count: 1
    load_balancer:
      count: 1
    logging:
      count: 1
    monitoring:
      count: 1
    postgresql:
      count: 1
    rabbitmq:
      count: 1
    ignite:
      count: 1
    opendistro_for_elasticsearch:
      count: 1
    repository:
      count: 1
  name: defaultsfix
  prefix: 'qa'
title: Epiphany cluster Config
---
kind: infrastructure/virtual-machine
title: "Virtual Machine Infra"
provider: aws
name: default
specification:
  os_full_name: RHEL-7.9_HVM-20210208-x86_64-0-Hourly2-GP2

13:27:23 INFO cli.engine.schema.SchemaValidator - Run done in 116ms
13:27:23 ERROR epicli - Detected mixed Linux distros in config, Epirepo will not work properly. Please inspect your config manifest. Forgot to define repository VM document?

Same for disk size:
---
kind: infrastructure/virtual-machine
title: "Virtual Machine Infra"
provider: aws
name: default
specification:
  disks:
    root:
      volume_size: 128

Only one vm has a 128GB disk.

✔ Fixed. Now we can easily change the default values for OS image, vm size, disk size, etc.


for convolutional seq 2 seq

On the inference stage, is there a lot of repeated computation of the same layer on same step. For example, when generating prediction for timestep 1, we do all convolutions for  token, then on second timestep we do the same calculation again.
I just wonder if my understanding is correct.

Yes, there are repeated calculations during inference. In theory, we could just input the last token generated by the decoder back into the decoder and not the whole generated sequence so far.
However, as we create the position embeddings on the fly, this would cause them to not align correctly with the generated target sequence and potentially give poor translations (I'll run a few checks with this now).
At the end of the day, these tutorials are designed more for demonstrating how to implement certain models and not really focused on maximizing efficiency. The goal is that once you've read these, you can modify them how you see fit, either to use on your own dataset or to make them more efficient.

The paper said： Specifically, we pad the input
by k − 1 elements on both the left and right side by zero
vectors, and then remove k elements from the end of the
convolution output.
For your implementation, I feel that remove k elements should be remove k-1 elements. Did they make a typo or I didn't understand it correctly

So based on my understanding, implement wise, It should be like:
#tensor conv_decode has shape batch_size, layer, timestep, hiddensize we only do conv_decode[:,layer,curtimestep, :] = conv(conv_decode[:,layer-1,  timestep-(k-1):curtimestep+1, : ])
we need to apply padding when necessary, but when timestep >k-1 this is the case.

The paper said： Specifically, we pad the input
by k − 1 elements on both the left and right side by zero
vectors, and then remove k elements from the end of the
convolution output.
For your implementation, I feel that "remove k elements" should be "remove k-1 elements". Did they make a typo or I didn't understand it correctly

This padding they're talking about is for the decoding to ensure the model cannot "cheat" and look at future tokens when receiving the entire target sequence in parallel. I'm not sure how this is related to the original post of this issue.
Also, their padding is slightly different from ours as they pad on both sides and remove the convolutional outputs that have only been over padding tokens. We only pad on the left hand side of the target sentence, and thus don't need to remove anything from the right hand side after we convolve.

This question is not related to the original post. I mean even though the implementation is different, but I guess you guys are trying to achieve the same thing.
What I mean is that there should be k-1 overpadding tokens instead of k overpaddin tokens. Otherwise your implementation is different from the model described in paper.

OK, so our implementation and the paper do the same thing, but ours does it more efficiently.
Let's take an example where we have a filter size (k) of 3 and a target sentence with 5 tokens. This is how their padding/decoding happens:

They pad their sentence on each side by 2 (k-1) padding tokens and then remove the last k outputs. Thus the "last" input is x_4, which should output x_5.
This is how it is done in our implementation:

We only pad on the left hand side of the sentence and we only put in target tokens up to x_4 into the decoder, see trg[:,:-1] in the training loop. This means we don't need to pad the right hand side of the sentence and thus don't need to get rid of some any convolutional outputs. Again, the last "input" is x_4, which should output x_5.
Thus, our implementation is the same as the paper. Yet theirs is more inefficient as they are doing k calculations and then just getting rid of them.

get it, thank you very much.
The thing buffled me is that I thought they pad the token list x1, x2, x3, x4 but in fact they padded x1, x2, x3, x4, x5.
Thank you for your patience!


Disabled features are sending impressions

We are using this library to integrate with Optimizely and we have a lot of A/B tests that are not enabled.
That is causing too many impressions from us which are not real since the features are not enabled.
It seems like this is known from the commend on this line
https://github.com/optimizely/java-sdk/blob/12acebad6c5574fa4e57662306c4d4701ee15fbd/core-api/src/main/java/com/optimizely/ab/Optimizely.java#L872
So, in here
https://github.com/optimizely/java-sdk/blob/12acebad6c5574fa4e57662306c4d4701ee15fbd/core-api/src/main/java/com/optimizely/ab/Optimizely.java#L392
The code is sending an impression and later down the line is checking if it is enabled or not
https://github.com/optimizely/java-sdk/blob/12acebad6c5574fa4e57662306c4d4701ee15fbd/core-api/src/main/java/com/optimizely/ab/Optimizely.java#L404

@fr-ct If a feature is part of an experiment, then there is an impression when evaluated in a test since the test covers enabled and disabled.  If the test is archived/off, then no impression is sent because the experiment is not part of the configuration.  This is as designed and not a bug.
Rollouts on the other hand do not create impressions. I hope this helps.

@thomaszurkan-optimizely thanks for the quick reply ... I actually spent some time looking into this and I guess I didn't express myself well. Actually I incorrectly described the problem.
The main problem we have is that whenever a user visit one page, we do a getEnabledFeatures() and that will return all enabled features in our account... but even if that feature is not used in that page, and is enabled, the SDK is sending an impression

This was technically expected behavior, but closing this out now that we've introduced the new decideAll() API which supports a parameter (DISABLE_DECISION_EVENT) to suppress decision events out of the box.
To use this effectively, you will still need to re-invoke .decide() for your individual features later in the app lifecycle when users are exposed to the feature or experiments in order to have the experiment decisions be recorded and results to be captured properly, but this should be doable without SDK overrides more effectively now.


Cannot deploy Apache Airflow from the Airflow Helm Operator

Several pods are stuck in the init phase, probably due to the airflow-helm-run-airflow-migrations-dqwhq instance failing to start.  We are using an empty spec section in the operator instantiation.  Is there a sample of spec attributes we can use to deploy the chart?
We are using OpenShift 4.12 and according to the pull request for the Airflow operator, it was successfully deployed.
NAME                                                            READY   STATUS       RESTARTS      AGE
pod/airflow-helm-operator-controller-manager-845fbc58f4-lhwvj   2/2     Running      0             53m
pod/airflow-helm-redis-0                                        1/1     Running      0             2m38s
pod/airflow-helm-run-airflow-migrations-dqwhq                   0/1     Error        1 (91s ago)   2m48s
pod/airflow-helm-scheduler-866c948587-4whnd                     0/2     Init:Error   1 (91s ago)   2m48s
pod/airflow-helm-statsd-84896c5d6f-ggq57                        1/1     Running      0             2m48s
pod/airflow-helm-triggerer-0                                    0/2     Init:Error   1 (83s ago)   2m48s
pod/airflow-helm-webserver-69c466bc87-56b7k                     0/1     Init:0/1     2 (14s ago)   2m48s
pod/airflow-helm-worker-0                                       0/2     Init:Error   1 (83s ago)   2m48s

The log for the airflow-migrations pod is trying to contact postgresql and failing
$ airflow db check
[2023-11-27T17:39:35.412+0000] {cli_action_loggers.py:135} WARNING - Failed to log action (psycopg2.OperationalError) connection to server at "airflow-helm-postgresql.airflow-helm" (<IP_ADDRESS>), port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?
(Background on this error at: https://sqlalche.me/e/14/e3q8)
The statefulset airflow-helm-postgresql has an error that might be causing the problem.  Is this something the helm chart should take care of?  Or is there a change needed in OpenShift security itself to allow postgresql to deploy correctly?
Events:
Type     Reason        Age                From                    Message

Warning  FailedCreate  0s (x15 over 82s)  statefulset-controller  create Pod airflow-helm-postgresql-0 in StatefulSet airflow-helm-postgresql failed error: pods "airflow-helm-postgresql-0" is forbidden: unable to validate against any security context constraint: [pod.metadata.annotations[container.seccomp.security.alpha.kubernetes.io/postgresql]: Forbidden: seccomp may not be set, provider restricted-v2: .spec.securityContext.fsGroup: Invalid value: []int64{1001}: 1001 is not an allowed group, spec.containers[0].securityContext.runAsUser: Invalid value: 1001: must be in the ranges: [1000690000,<PHONE_NUMBER>], provider "restricted": Forbidden: not usable by user or serviceaccount, provider "nonroot-v2": Forbidden: not usable by user or serviceaccount, provider "nonroot": Forbidden: not usable by user or serviceaccount, provider "hostmount-anyuid": Forbidden: not usable by user or serviceaccount, provider "machine-api-termination-handler": Forbidden: not usable by user or serviceaccount, provider "hostnetwork-v2": Forbidden: not usable by user or serviceaccount, provider "hostnetwork": Forbidden: not usable by user or serviceaccount, provider "hostaccess": Forbidden: not usable by user or serviceaccount, provider "node-exporter": Forbidden: not usable by user or serviceaccount, provider "privileged": Forbidden: not usable by user or serviceaccount]
If any further information is needed, I am happy to supply it.

We were able to work around the problem by raising the privilege level for service accounts:
oc get sa
oc adm policy add-scc-to-user privileged -z airflow-helm-create-user-job
oc adm policy add-scc-to-user privileged -z airflow-helm-migrate-database-job
oc adm policy add-scc-to-user privileged -z airflow-helm-operator-controller-manager
oc adm policy add-scc-to-user privileged -z airflow-helm-postgresql
oc adm policy add-scc-to-user privileged -z airflow-helm-redis
oc adm policy add-scc-to-user privileged -z airflow-helm-scheduler
oc adm policy add-scc-to-user privileged -z airflow-helm-statsd
oc adm policy add-scc-to-user privileged -z airflow-helm-triggerer
oc adm policy add-scc-to-user privileged -z airflow-helm-webserver
oc adm policy add-scc-to-user privileged -z airflow-helm-worker
oc adm policy add-scc-to-user privileged -z builder
oc adm policy add-scc-to-user privileged -z default
oc adm policy add-scc-to-user privileged -z deployer
Whether all these are actually required or not is up for debate.  The operator deployed with it's internal postgres instance and we were able to login after adding a new user.  It would be good to have the actual requirements for deploying under OpenShift documented, our google searches failed to find this information.


Enhance module-info detection

Some JVM implementations don't implement all of Filer, so I've enhanced the module-info loading to try to load via looking for the src/main/java via Path

Eclipse users rejoice:


test device ID and install ID headers using the pkg/show endpoint

r? @patrickxb
Max already did the server-side work for this in https://github.com/keybase/keybase/pull/670.

Oh I was thinking we needed tests on the server side.

LGTM


Rails and ember with acts-as-taggable-on. How to handle relationships in JSONAPI endpoint?

I have a Rails 5 (or 4) application and I need a good tag system.

First question: is acts-as-taggable-on still a good choice?

This is my code:
class User < ActiveRecord::Base
  acts_as_taggable_on :tags
end

class UsersController < ApplicationController
  def user_params
    params.require(:user).permit(:name, :tag_list)
  end
end

@user = User.new(:name => "Bobby")

I'm able to add and remove with this (from Rails console or code):
@user.tag_list.add("awesome")
@user.tag_list.remove("awesome")

Second question: how can I handle relationship?

I'll explain it better: let's say I'm using Ember (or also Angular or others with JSONAPI, it's the same for my question), and I'm using ActiveModelSerializer 0.10.x:
app/models/user.js:
import DS from 'ember-data';

export default DS.Model.extend({
  tags: DS.hasMany('tag')
});

app/models/tag.js:
import DS from 'ember-data';

export default DS.Model.extend({
  users: DS.hasMany('user')
});

app/routes/myroute.js:
let user = this.get('store').peekRecord('user', 1);
let tag = this.get('store').createRecord('tag', {
  user: user
});
tag.save();

Now I have the problem: how can I say Rails to save this new tag (in taggings table I think)?
Generally when I have a relationships to handle in Ember I create a JSONAPI endpoint in Rails and with foreignKey and CREATE api I save all and it works good. But with acts-as-taggable-on I don't know how to save.
Maybe I have to generate a new endpoint for taggings and write my own code in a controller to handle savings for tags? Really? Maybe i'm missing something...

+1
Ours is rails back, react front. We can save tags upon create but had to include the code below to save them:
@question.tag_list = (params[:tag_list])
@question.tag_list ||= []

This same set up, however, does NOT work with update,


Rails development mode configuration

Hello,
I am trying to style the page in rails development mode but I cannot run the server locally due to many errors. I figure it has to do with storing ITC variables but I'm not sure where to put them and how. I imagine in Rails 4, it would be in the 'secrets.yml' under development or production... Can someone please give me more explicit instructions. I am new to Fastlane/boarding and but I have all the variables from the Heroku config. Thank you!

You can just set the environments variables
export<EMAIL_ADDRESS>...
rails s

Thank you! figured it out :)


Is this package still being maintained?

Hello, I wanted to know if this package is still being supported and has the future of being updated to Laravel 8 and the other ZohoBooks and ZohoCRM packages you have. Thanks for the great job.
Best regards,
Issah

We don't use it anymore but being pretty trivial, if you want you can send in a PR with the required updates (maybe after the v4/v5 publishing) so we can apply it

@Skullbock , no problem. After the updates, I will have a look and see if I can update this to make it usable.


Changes Browser Browse senders/implementors doesn't work after reverting changes (3.0.92)

In the Changes Browser, if you revert changes to add/remove/modify a method, it displays in the Changes Browser as the selector 'methodName (reverted)'
Unfortunately, the senders/implementors menu item then attempts to find selectors with the selector 'methodName (reverted)', and of course can't find anything.
Trivial side comment: it's disallowed to browser senders/implementors for a removed method.  But in theory, with a reverted removed method, finding senders/implementors doesn't need to be disallowed...

Fixed in 3.1.0 per changes in commit.


Handle of dual-listing

Some companies can list their stocks in many exchanges, this is called dual listing. Which means that a single ticker can be traded at different exchanges at slightly different times.
One can carry stocks bought on one exchange and sell them into another, usually a day needs to pass before one can do that, not sure why though.
Depending on the fee structure this may be a profitable practice. I.e., buy on the cheap one, sell on the expensive one and overnight distribute.

Not sure which milestone this would correspond to, nor how it prioritize against other stories. Will leave in the parking lot in the meantime


chore: update requestretry version

Types

[x] 🧹 Chores

Background or solution
fixes https://github.com/opensumi/core/security/dependabot/6
Changelog

update requestretry version

Codecov Report

Merging #533 (7339e84) into main (71b98b7) will increase coverage by 0.00%.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #533   +/-   ##
=======================================
  Coverage   59.01%   59.01%
=======================================
  Files        1200     1200
  Lines       73924    73926    +2
  Branches    15300    15301    +1
=======================================
+ Hits        43624    43628    +4
+ Misses      27618    27616    -2
  Partials     2682     2682

Impacted Files
Coverage Δ

...xt/src/browser/services/file-tree-model.service.ts
54.00% <0.00%> (-0.01%)
:arrow_down:

...ages/file-service/src/node/file-service-watcher.ts
72.88% <0.00%> (+1.69%)
:arrow_up:

Continue to review full report at Codecov.

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


GH-41307: [Java] Use org.apache:apache parent pom version 31

Use/update Maven modules to org.apache:apache:31 and clean up Maven modules to remove unnecessary configuration or outdated workarounds

Add org.apache:apache:31 to org.apache.arrow:arrow-bom and org.apache.arrow.maven.plugins:arrow-maven-plugins to make them conformant with ASF standards
Update org.apache.arrow:arrow-java-root parent to org.apache:parent:31
Use version.* and other properties to override plugin versions defined by org.apache:parent
Move standalone plugin versions under pluginManagement at the top level
Cleanup redundant plugin version or configuration declaration
Update maven-dependency-plugin to 3.6.1 and add the required overrides when necessary
Update maven-shade-plugin to 3.5.1 (via org.apache:parent)

disable reduced dependency pom creation for non-terminal modules

Remove enforcer check for java and maven version (handled by org.apache:parent)
Remove unnecessary mvnrepository link comments
Remove m2e.version property check in profiles (only needed for errorprone plugin configuration which is incompatible with M2E)
Cleanup argLine overrides for surefire/failsafe plugins
Remove unnecessary ../pom.xml <relativePath> directives
Remove source/target/encoding configuration properties for maven-compiler-plugin, maven-javadoc-plugin and maven-resources-plugin as it is handled by org.apache:parent and plugin themselves
Remove unnecessary copy of codegen templates in arrow-vector module
Remove unnecessary junit jupiter engine dependencies for surefire/failsafe plugins.
GitHub Issue: #41307

@lidavidm re-uploading the pull request with the fix for maven-shade-plugin behavior.  Are you aware of any other issue caused by this change reported since the migration? (I checked the current issues but haven't seen anything)

@github-actions crossbow submit java test-conda-python-3.10-spark-v3.5.0

The Java JNI / AMD64 Conda Java C Data Interface Integration (pull_request) issue seems to be related to #41725

Yes, noticed that some flight tests seem flaky? I also found occurrence of this issue in other pull requests like this job for example: https://github.com/apache/arrow/actions/runs/9185953424/job/25260768750

Yes indeed.  Would you mind filing an issue for that?

@vibhatha it looks like I may need to incorporate some of the work you did for #41586 ?

@vibhatha would appreciate if you could trigger another crossbow run to validate latest changes

It should fix the problem I mentioned in another issue. Thanks !

@github-actions crossbow submit -g java

@vibhatha would appreciate if you could trigger another crossbow run to validate latest changes

I didn't complete it, just tried a few ideas.

@laurentgo we have an issue in the dataset module: https://github.com/ursacomputing/crossbow/actions/runs/9216288007/job/25356948996#step:6:55162

Ok, second failure in a row for java-jars so can probably eliminate the flakyness hypothesis. Will keep working on a reproduction.

Thanks @laurentgo

Update on trying to reproduce the crossbow issue: I tried a local build and setting up my own crossbow queue but the build is successful for both cases
Attaching a link to my crossbow run. linux/arm64 and sccache support have been disabled but the final java build is against macos/arm64.
I'm otherwise open to suggestions

Let's rebase and try again. Unfortunately, that boot error in tests happens occasionally and we don't have a good way of debugging it.
@vibhatha @danepitkin I think it would be a good improvement to have these jobs collect JVM dump files in the case of failure so we can try to debug this properly.

I finally managed to reproduce it on github, but it's 1 time out of 5 or 6 so far. I'll keep running the job regularly (I modified it to capture test output as well), let's see if I can find the root cause

Here's the output of the jvm dumpstream file after 15 attempts:
# Created at 2024-06-05T08:41:26.092
Corrupted channel by directly writing to native stream in forked JVM 2. Stream '#'.

# Created at 2024-06-05T08:41:26.092
Corrupted channel by directly writing to native stream in forked JVM 2. Stream '# A fatal error has been detected by the Java Runtime Environment:'.

# Created at 2024-06-05T08:41:26.092
Corrupted channel by directly writing to native stream in forked JVM 2. Stream '#'.

# Created at 2024-06-05T08:41:26.094
Corrupted channel by directly writing to native stream in forked JVM 2. Stream '#  SIGSEGV (0xb) at pc=0x000000012900f0b0, pid=12023, tid=25859'.

# Created at 2024-06-05T08:41:26.094
Corrupted channel by directly writing to native stream in forked JVM 2. Stream '#'.

# Created at 2024-06-05T08:41:26.098
Corrupted channel by directly writing to native stream in forked JVM 2. Stream '# JRE version: OpenJDK Runtime Environment Temurin-21.0.3+9 (21.0.3+9) (build 21.0.3+9-LTS)'.

# Created at 2024-06-05T08:41:26.098
Corrupted channel by directly writing to native stream in forked JVM 2. Stream '# Java VM: OpenJDK 64-Bit Server VM Temurin-21.0.3+9 (21.0.3+9-LTS, mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, bsd-aarch64)'.

# Created at 2024-06-05T08:41:26.098
Corrupted channel by directly writing to native stream in forked JVM 2. Stream '# Problematic frame:'.

# Created at 2024-06-05T08:41:26.101
Corrupted channel by directly writing to native stream in forked JVM 2. Stream 'C  [jnilib-9883367339098451313.tmp+0x12bb0b0]  arrow::PoolBuffer::Reserve(long long)+0xc4'.

# Created at 2024-06-05T08:41:26.101
Corrupted channel by directly writing to native stream in forked JVM 2. Stream '#'.

# Created at 2024-06-05T08:41:26.102
Corrupted channel by directly writing to native stream in forked JVM 2. Stream '# No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again'.

# Created at 2024-06-05T08:41:26.102
Corrupted channel by directly writing to native stream in forked JVM 2. Stream '#'.

# Created at 2024-06-05T08:41:26.104
Corrupted channel by directly writing to native stream in forked JVM 2. Stream '# An error report file with more information is saved as:'.

# Created at 2024-06-05T08:41:26.118
Corrupted channel by directly writing to native stream in forked JVM 2. Stream '# /Users/runner/work/arrow-crossbow/arrow-crossbow/arrow/java/dataset/hs_err_pid12023.log'.

# Created at 2024-06-05T08:41:26.118
Corrupted channel by directly writing to native stream in forked JVM 2. Stream '#'.

# Created at 2024-06-05T08:41:26.119
Corrupted channel by directly writing to native stream in forked JVM 2. Stream '# If you would like to submit a bug report, please visit:'.

# Created at 2024-06-05T08:41:26.121
Corrupted channel by directly writing to native stream in forked JVM 2. Stream '#   https://github.com/adoptium/adoptium-support/issues'.

# Created at 2024-06-05T08:41:26.127
Corrupted channel by directly writing to native stream in forked JVM 2. Stream '#'.

Let's rebase and try again. Unfortunately, that boot error in tests happens occasionally and we don't have a good way of debugging it.
@vibhatha @danepitkin I think it would be a good improvement to have these jobs collect JVM dump files in the case of failure so we can try to debug this properly.

Yes, @lidavidm we should. I created an issue https://github.com/apache/arrow/issues/41982

Here's the output of the jvm dumpstream file after 15 attempts:
# Created at 2024-06-05T08:41:26.092
Corrupted channel by directly writing to native stream in forked JVM 2. Stream '#'.

# Created at 2024-06-05T08:41:26.092
Corrupted channel by directly writing to native stream in forked JVM 2. Stream '# A fatal error has been detected by the Java Runtime Environment:'.

# Created at 2024-06-05T08:41:26.092
Corrupted channel by directly writing to native stream in forked JVM 2. Stream '#'.

# Created at 2024-06-05T08:41:26.094
Corrupted channel by directly writing to native stream in forked JVM 2. Stream '#  SIGSEGV (0xb) at pc=0x000000012900f0b0, pid=12023, tid=25859'.

# Created at 2024-06-05T08:41:26.094
Corrupted channel by directly writing to native stream in forked JVM 2. Stream '#'.

# Created at 2024-06-05T08:41:26.098
Corrupted channel by directly writing to native stream in forked JVM 2. Stream '# JRE version: OpenJDK Runtime Environment Temurin-21.0.3+9 (21.0.3+9) (build 21.0.3+9-LTS)'.

# Created at 2024-06-05T08:41:26.098
Corrupted channel by directly writing to native stream in forked JVM 2. Stream '# Java VM: OpenJDK 64-Bit Server VM Temurin-21.0.3+9 (21.0.3+9-LTS, mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, bsd-aarch64)'.

# Created at 2024-06-05T08:41:26.098
Corrupted channel by directly writing to native stream in forked JVM 2. Stream '# Problematic frame:'.

# Created at 2024-06-05T08:41:26.101
Corrupted channel by directly writing to native stream in forked JVM 2. Stream 'C  [jnilib-9883367339098451313.tmp+0x12bb0b0]  arrow::PoolBuffer::Reserve(long long)+0xc4'.

# Created at 2024-06-05T08:41:26.101
Corrupted channel by directly writing to native stream in forked JVM 2. Stream '#'.

# Created at 2024-06-05T08:41:26.102
Corrupted channel by directly writing to native stream in forked JVM 2. Stream '# No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again'.

# Created at 2024-06-05T08:41:26.102
Corrupted channel by directly writing to native stream in forked JVM 2. Stream '#'.

# Created at 2024-06-05T08:41:26.104
Corrupted channel by directly writing to native stream in forked JVM 2. Stream '# An error report file with more information is saved as:'.

# Created at 2024-06-05T08:41:26.118
Corrupted channel by directly writing to native stream in forked JVM 2. Stream '# /Users/runner/work/arrow-crossbow/arrow-crossbow/arrow/java/dataset/hs_err_pid12023.log'.

# Created at 2024-06-05T08:41:26.118
Corrupted channel by directly writing to native stream in forked JVM 2. Stream '#'.

# Created at 2024-06-05T08:41:26.119
Corrupted channel by directly writing to native stream in forked JVM 2. Stream '# If you would like to submit a bug report, please visit:'.

# Created at 2024-06-05T08:41:26.121
Corrupted channel by directly writing to native stream in forked JVM 2. Stream '#   https://github.com/adoptium/adoptium-support/issues'.

# Created at 2024-06-05T08:41:26.127
Corrupted channel by directly writing to native stream in forked JVM 2. Stream '#'.

@lidavidm seems like we have an issue here
arrow::PoolBuffer::Reserve(long long)

We probably need to get this dump, download locally and debug?

Given the small offset I would guess that Reserve was called on a nullptr buffer

That said I don't think this has to block the PR?

Yes I think the same.

I was able to get a reproduction and capture jvm output, hotspot error log and core dump. I put the link to the archive in #32945 .

@github-actions crossbow submit -g java

@github-actions crossbow submit -g java

I'll merge once I confirm the crossbow jobs

Thanks @laurentgo for sticking with this!

Ah thanks, I was just about to ask about that

@github-actions crossbow submit java-jars

I'll merge once I confirm the crossbow jobs

My bad, we discussed about the artifacts generated and I forgot to update the task verifying those. My change include a change in maven/ module to not generate a source release zip archive (containing the whole java codebase) because the main artifact arrow-java-root-{version}-source-release.zip already includes the whole tree (maven module included)


Corrupted png files

The png files are corrupted after export

gunna need more information than that to fix.


Workaround for SkiaSharp broken image decoding.

What does the pull request do?
SkiaSharp has broken bitmap decoding in some cases, as described in #7773 and https://github.com/mono/SkiaSharp/issues/1551.
The workaround from https://github.com/mono/SkiaSharp/issues/1551#issuecomment-756685252 seems to fix this from the example image I've tried, so use that.
Fixes #7773

You can test this PR using the following package version. 0.10.999-cibuild0022502-beta. (feed url: https://nuget.avaloniaui.net/repository/avalonia-all/index.json) [PRBUILDID]


Wrong user mentioned in git commit when content is deleted

When users (with git-gateway and netlify identify) delete content, the commit message says that I deleted the content, first I thought I was hacked or something, it's scary seeing your account doing something while you're asleep : )
In the future I would like to know who removed something...

Pls can we have an update. Otherwise it is super confusing for content auditing.

@minyangu-bgl, can you share your config.yml and whether you're using git-gateway with GitHub or GitLab?
Looks like we are setting the commit author (information taken from identity):
https://github.com/netlify/netlify-cms/blob/ba18f4a99fcae42caf1b03794e3f4a219d70f016/packages/netlify-cms-backend-github/src/API.ts#L944
But we might need to set the committer:
https://developer.github.com/v3/repos/contents/#delete-a-file

@erezrokah If nobody is working on this issue, I would like to work on this.

This was fixed in https://github.com/netlify/netlify-cms/pull/4139 by switching to the commits API instead of the delete file API)

thanks guys!


Update eye-tracking.md

More info about calibration and when calibration is unsuccessful.
Removing some of the developer guidance (it will go into Develop area)
Some wording corrections for clarity.

Docs Build status updates of commit 77b546d:
:clock10: Pending: waiting for processors (6 builds ahead of you)
:warning: Docs Build is busy, currently there are 6 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.

Docs Build status updates of commit 77b546d:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

mixed-reality-docs/eye-tracking.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


There must be an option to show future dates as disabled.

Future dates must be able to get disabled or shown with different style. We can change the style of those dates

As a workaround for now, you can use:
itemBuilder: (context, dayNumber, dayName, monthName, fullDate, isSelected) {
                return Visibility(
                    visible: fullDate.isBefore(DateTime.now()) ? true : false,
                    child: Container(
                  // Container to hold dates.
                  ));
              },

Now with EasyDateTimeLinePicker widget you can use disableStrategy to disable dates


How does A3C aggregate the model from different learner?

For A3C, there are many learners which learning from the interactions generated in local actors. In some iteration, the learner has reach the condition that needs to update the model. The problem is: when the "model server" receives the model or gradients for local learners, how do the server aggregate the model sent by local learner with "the global model"?

Thanks in advance.


Complete API endpoints used to deliver PIDs and Handles Archives processing staff

done

api endpoints in duracloud work nicely


Editor mods and test capabilities

This is everything I want to accomplish so far for this pull request. All the faces can be added and stored as clips immediately regardless of whether or not they are in a sprite sheet. There is also a new character called professor plum who was created for the sake of ensuring everything worked. I also added an editorconfig file because code formatting is kinda nice to have. My editorwindow binds with the m_sprite property of the SpriteRenderer. I'm also attaching layouts I was interested in seeing, in case anyone else would want there to be a top and bottom layout. I don't know if I recreated my work correctly to be honest.  However odds are if there are any small issues with display you can either fix them or put a pin in the idea for later and remove them for now.

Hey @a2937 ! Tested it out and it worked great from what I could tell. Was really cool to see how you did that, since I haven't actually done much editor-specific Unity programming myself.
There's a few really minor name changes (as seen in the PR comments) that I want to be change, but after that I'm good to merge this in. Let me know when those have been changed and I'll take another look. If all is good, I'll merge it.
Thanks for contributing! 🙂

Okay I think I updated all of the names.

Perfect - thank you for doing that! It's merged in. 🙂


မရi was trying to filter just on 'words'. adding the isPrimitive field above caused the subsequent call to fail - maybe that was a one-off, as my understanding is the metadata doesn't have a structure enforced, right?

i was trying to filter just on 'words'. adding the isPrimitive field above caused the subsequent call to fail - maybe that was a one-off, as my understanding is the metadata doesn't have a structure enforced, right?
oh i was misreading. isPrimitive is part of the info which we need a separate contract method to read/write.
https://github.com/GraphemeNFT/rarible-scaffold/blob/rarible-local/docs/metadata.json
maybe we could move to typescript, it would make it a lot easier to enforce these type structures...
Originally posted by @dcsan in https://github.com/GraphemeNFT/rarible-scaffold/issues/93#issuecomment-911709550

is this a bot reporting issues? @wab712  ?

0


[with-apollo-auth] - All component in a page are re-constructed when route query params changed

Example: with-apollo-auth
Example name
With Apollo Auth
Describe the bug
Every components in the page are being reconstructed again (constructor() is called) destroying existing states which is not a normal behavior of Next.js.
Other with-apollo examples work just fine.
The older version of with-apollo-auth works fine too.
To Reproduce

Add a test component /component/TestRefresh.js

import React from 'react'

export default class TestRefresh extends React.PureComponent {

  constructor(props) {
    super(props)
    console.log('[constructor called]');
  }

  render () {
    const { message } = this.props
    return (

Test Page

{message}

    )
  }
}

Add a test page /pages/test.js with the test component in it

import React from 'react'
import TestRefresh from '../components/TestRefresh'
import Link from 'next/link'
export default class Test extends React.PureComponent {

  static getInitialProps({ query }) {
    return { query }
  }

  render() {
    return (
      <React.Fragment>
        <TestRefresh message={this.props.query.message} />

<Link href={{ pathname: '/test', query: { message: "filter1" } }}>
            filter1
          </Link>

<Link href={{ pathname: '/test', query: { message: "filter2" } }}>
            filter2
          </Link>

      </React.Fragment>
    )
  }
}

Run the test page and click on the link
You will see in the console that the constructor are called every time you click on the link

Expected behavior
The page should not refresh when route query param changed.
Screenshots

You will see [constructor called] in the console every time you click on the link (filter1, filter2)
System information

OS: both
Version of Next.js: [e.g. 6.1.1]

Additional context
Using routing params to trigger changes in a page is important and widely used.
The page refresh will destroy all the current states thus making change by routing params is impossible.

Same here

This example calls getDataFromTree() on the client as well as the server, which is probably why you are seeing extra constructor calls.

This is no longer the case, so this is fixed.

@timneutkens i still see it in master.. only in with-apollo-auth, not in with-apollo.
https://github.com/zeit/next.js/blob/master/examples/with-apollo-auth/lib/withApollo.js#L46

Ah my bad, with-apollo-auth should be updated to be like with-apollo 👍
Feel free to implement this 🙏


Deploy to napari.github.io

Deploying to gh-pages on this repo causes the repo to be bloated on clone, which is the whole thing we were trying to avoid with git-lfs. This reverts to deploying to the other repo, although now the deployment is completely static, which is a lot simpler than before.

@codemonkey800 @neuromusic I think this is all we need, then deleting the gh-pages branch locally, and then reverting the domain back to napari.github.io. I kinda want to also rename that repo to napari.org, but we can do that later.

Deploying to gh-pages on this repo causes the repo to be bloated on clone

ooooooooh, woops.
this makes sense.
when we migrate back, we should also update the README and lock down the napari.github.io repo to prevent PRs, issues, etc, as much as possible to prevent any confusion over where to make changes

ooooooooh, woops.

I know right? :joy:

when we migrate back, we should also update the README and lock down the napari.github.io repo

Yup, on my to-do. There's a few issues there that should be closed or migrated to other repos, though.

Whoop whoop! We are now serving from napari/napari.github.io, gh-pages here is gone, and clones are 26MB again! 😅

And the magicgui docs work again :)


ac-3d-tile-layer are not considered entity ?

I have the New York Tileset that I am using with ac-3d-tile-layer
  <ac-3d-tile-layer
    [options]="{
      url: './assets/map/NewYork/tileset.json'
    }">
  </ac-3d-tile-layer>

I want to track on doubleclick a building, and have the camera rotate around, exactly like the angular-cesium demo with the tracking feature on plane.
Following your demo on the website.
    const mouseClickRegistration = this.mapEventManager.register({
      event: CesiumEvent.LEFT_CLICK,
      pick: PickOptions.PICK_FIRST,
      priority: 100,
    });
 mouseClickRegistration.subscribe(({movement: {endPosition}, entities}) => {
        console.log(entities) // this return [undefined]
        const pickedFeature = this.viewer.scene.pick(endPosition); // so I pick from scene
        this.viewer.trackedEntity = pickedFeature; // don't work
        this.cameraService.trackEntity(pickedFeature, {flyTo: true, altitude: 250}); // don't work
    });

or
    mouseClickRegistration.subscribe((event) => {
console.log(event.cesiumEntities[0]) // there is some big object here
      this.cameraService.trackEntity(event.cesiumEntities[0], {flyTo: true, altitude: 250});

but booth return me

Unhandled Promise rejection: Cannot read property 'getValue' of undefined ; Zone:  ; Task: HTMLCanvasElement.addEventListener:pointerup ; Value: TypeError: Cannot read property 'getValue' of undefined

removing flyTo, just make nothing happen.
I believe my building are not Entity, so I can't target them. I decided to add a point instead of the building, EditPoint is an AcEntity, so it is supposed to work=>
        const long = Cesium.Math.toDegrees(pickedFeature.getProperty('longitude'));
        const lat = Cesium.Math.toDegrees(pickedFeature.getProperty('latitude'));
        const height = pickedFeature.getProperty('height');

        this.selectedEntity = new EditPoint(pickedFeature.getProperty('id'), new Cesium.Cartesian3(long, lat, 0));
        this.cameraService.trackEntity(this.selectedEntity, {flyTo: true, altitude: 250});

But I still get the error

Unhandled Promise rejection: entity.position.getValue is not a function ; Zone:  ; Task: HTMLCanvasElement.addEventListener:pointerup ; Value: TypeError: entity.position.getValue is not a function

Even if I remove the flyTo or just do this.viewer.trackedEntity = this.selectedEntity;

TypeError: e.getValue is not a function

But isn't point considered an Entity? What are the entities that are available to track?

I tried to reproduce by doing so =>3
    mouseClickRegistration.subscribe(({movement: {endPosition}, entities, cesiumEntities}) => {
        silhouetteGreen.selected = [];
        const pickedFeature = this.viewer.scene.pick(endPosition);

        if (!Cesium.defined(pickedFeature) ||
            !pickedFeature.getProperty) {
          return;
        }

        silhouetteGreen.selected = [pickedFeature];

        this.selectedEntity = cesiumEntities[0] || entities[0];
        this.selectedEntity.name = pickedFeature.getProperty('name');
        this.selectedEntity.description = pickedFeature.getProperty('height');

        const long = Cesium.Math.toDegrees(pickedFeature.getProperty('longitude'));
        const lat = Cesium.Math.toDegrees(pickedFeature.getProperty('latitude'));
        const height = pickedFeature.getProperty('height');

        setTimeout(() => {
          const entity = new AcEntity({
            id: 0,
            name: 'click me',
            position: new Cesium.Cartesian3.fromDegrees(long, lat, 0),
          });
          this.cameraService.trackEntity(entity)
        }, 1500);
        this.viewer.camera.flyToBoundingSphere(new Cesium.BoundingSphere(new Cesium.Cartesian3.fromDegrees(long, lat, height), height), {
          orientation : {
              heading : 0.0,
              pitch : Cesium.Math.toRadians(-45.0),
              roll : 0.0
          }
        });
    });

And I do have the same issue

Hi,
There is confusion, this.cameraService.trackEntity(entity) accepts a cesium entity like billboard, label etc.
so if we want to use it with mapEventsManager we will do:
    const mouseClickRegistration = this.mapEventManager.register({
      event: CesiumEvent.LEFT_CLICK,
      pick: PickOptions.PICK_FIRST,
      priority: 100,
    });

    mouseClickRegistration.subscribe(({movement: {endPosition}, entities, cesiumEntities}) => {
        const cesiumEntity = cesiumEntities[0];
        this.cameraService.trackEntity(cesiumEntity) // not our application entities
    });

about 3dTiles entities, we use cesium this.viewer.trackedEntity feature in our implementation. so 3dTiles entities aren't supported for tracking in cesium it won't work in angular-cesium too.

Stale Issue, closing...


Stops working after a week or two

After a few days google-drive-ocamlfuse stops working. The mount directory is empty and you have to delete the config folder, and re-authorise google-drive-ocamlfuse, then re-mount it.
It only takes a minute to do, however I need it to work forever without user intervention because I have a script to backup and upload the backup to google drive and I am not sure how to detect and then relink the drive if it goes down

Same here, i use rm -rf  ~/.gdfuse/default/cache as workaround


proper offline mode

I think the app should work in offline mode the same way it works in online mode. At the moment offline mode does even not allow to swipe away items - this offline mode is not usable at the moment. In addition, when you start the app while online and you go offline for some reason you get the "cannot connect" error upon first action on your list.

The problem about offline mode is that I have no idea how to handle conflicts with other users efficiently. But I will look into it.
Really appreciate your feedback!

For now you can check items when in offline mode. Everything else however needs a lot more engineering, something I am just not able to do at the moment.


Build storybook to Github pages

REDMINE-17369

Coverage remained the same at 99.204% when pulling d6761a603100a46c46eba0f2f5f3dfa9f83e298a on tf:gh-storybook into e4ae5323eaa8a9e2465f3a21d06697370e608c34 on codevise:master.


How to get docstring tokens

What would be the token name for docstrings?

Does it tokenize multi line docstrings?

For the python lexer?


Generate notification every time a user posts

Hi, I'm working on a university assignment built around Zulip, and I was wondering what steps I should take to make it so that every message made by a specific user (such as an admin or staff member of the organization) generates an email notification for everyone?
I imagine that I will mostly just need to distinguish which users should be generating the emails, and then I should be able to use the system Zulip already has in place for sending emails.
If I could get advice on relevant parts of the codebase that I should look at for creating this feature, that would be greatly appreciated :)

@JackViney96 I recommend coming on https://chat.zulip.org/#narrow/stream/3-backend to discuss this.
The code related to notifications has a bit of complexity due to various corner cases related to mentions and mobile notifications, but what you're trying to do is certainly feasible with a bit of guidance.
I would start by skimming the function called do_send_messages in zerver/lib/actions.py.  Toward the bottom of it you'll see we create a list of dicts called users that has flags like stream_push_notify and stream_email_notify.   We'll want to set a new flag there.  And then downstream there's code in zerver/tornado/event_queue.py that further deals with notifications.
And of course there's also setting things up in the database, but I'd do that part last, since that's actually easy and only worth doing after getting the feature working.  (You can just hard code a particular user in your initial testing.)

https://chat.zulip.org/#narrow/stream/3-backend/subject/.2310424/near/640126
Started a conversation as suggested. Hopefully I can figure some of this stuff out on my own but there's a lot to learn...

Closing as this was moved to chat.


Implement pacing

This PR adds pacing.  Fixes #180.

The RttEstimator move conflicts with my work in #804 and seems unrelated, let's skip that for now?

I just realized that this breaks a basic invariant of quinn-proto, by obtaining a timestamp from the OS (via Instant::now()).

Good catch! Should be easy to fix, I think?

Indeed it is.  I pushed a fix.  We might want to consider making quinn-proto #![no_std], which would catch these problems at compile-time.
Also, there are nowhere near enough tests, but I am not sure what those tests should cover.

It is also worth noting that this implementation is purely at the quinn-proto level, and so does not support any form of offloading.  As such, it will not achieve the maximum possible performance.

@djc @Ralith would you mind re-reviewing?

Sure, that's fine!
On Sun, Sep 20, 2020, 11:15 AM Demi Obenour<EMAIL_ADDRESS>wrote:

@Demi-Marie commented on this pull request.
In quinn-proto/src/connection/paths.rs
https://github.com/djc/quinn/pull/818#discussion_r491718103:

     PathData {

         remote,

         rtt: prev.rtt,

       congestion: prev.congestion.clone_box(),

       pacing: Pacer::new(congestion.window(), now),

I don’t have write access to the source branch anymore, so I would need to
close this PR and open it with a different source branch. Is that okay?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/djc/quinn/pull/818#discussion_r491718103, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAZQ3WA7XHYPEFYLNSJDLLSGZBFXANCNFSM4OQFCR4A
.

Closing in favor of #852.