Input string was not in a correct format

Before submitting a bug report:

[X] Ensure you are able to reproduce it on the latest released version (we release often)
[ ] Verified this bug is not already reported in an issue
[X] Verified errors are not related to permissions
[X] Can reproduce in a clean PowerShell session (clean = powershell -NoProfile)
[ ] If issue is with Copy-DbaDatabase, using Backup-DbaDatabase | Restore-DbaDatabase still does not work

Note that we do not have the resources to make Copy-DbaDatabase work in every environment. Instead, we try to ensure Backup & Restore work in your enviornment.
Steps to Reproduce
/*
    CREATE TABLE [dbo].[Test] (
    [Type]           INT            NULL,
    [Link]           NVARCHAR (MAX) NULL,
    [Author]         NVARCHAR (MAX) NULL,
    [Id]             INT            IDENTITY (1, 1) NOT NULL,
    [Name]           NVARCHAR (MAX) NULL,
    [Tags]           NVARCHAR (MAX) NULL,
    [Service]        INT            NULL,
    [SubService]     INT            NULL,
    [LastUpdated]    DATETIME2 (7)  NULL,
    [CodeFenceTags]  NVARCHAR (MAX) NULL,
    [SuggestionCost] INT            NULL,
    [Description]    NVARCHAR (MAX) NULL,
    [Title]          NVARCHAR (MAX) NULL,
);
*/

<#
    $result = @{
 Link = "www.google.com"
 Type = 0
 LastUpdated = $(get-Date)
 Author = "Charles Dickens"
 Name = "Moby Dick"
 Title = "Monitor"
 SubService = 0
 }
[pscustomobject]$result | Write-DbaDataTable -SqlInstance $instance -Database "MyDB" -Table "Test" -Verbose -EnableException

#>

Expected Behavior

Actual Behavior

Also, at times get:
Input string was not in a correct format.
At C:\Program Files\WindowsPowerShell\Modules\dbatools\0.9.773\allcommands.ps1:104800 char:9

    throw $records[0]

    ~~~~~~~~~~~~~~~~~

CategoryInfo          : NotSpecified: (localhost\LOCALDB#FAEBA694:String) [], Exception
FullyQualifiedErrorId : dbatools_Write-DbaDataTable

Environmental data

PowerShell: <!--
Name                           Value

PSVersion                      5.1.17763.316
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0, 5.0, 5.1.17763.316}
BuildVersion                   10.0.17763.316
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
-->

SQL Server:

As a follow up, the Invoke-BulkCopy seems to be trying to map the wrong fields of a customObject
Here I have a string: [Tags]           NVARCHAR (MAX) NULL,
and only data populated for the Tags property:
Tags           : hello
Type           : 0
Author         :
SubService     :
CodeFenceTags  :
SuggestionCost : 0
Title          : 0
Service        :
Description    :
Link           :
Yet the error complains about converting a string to an int
Hit Variable breakpoint on 'C:\Program Files\WindowsPowerShell\Modules\dbatools\0.9.773\allcommands.ps1:$stacktrace' (ReadWrite access)
$bulkCopy.WriteToServer($DataTable)
Exception calling "WriteToServer" with "1" argument(s): "The given value of type String from the data source cannot be converted to type int of the specified target column."
At line:1 char:1

$bulkCopy.WriteToServer($DataTable)

  + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
  + FullyQualifiedErrorId : InvalidOperationException

When I chose a string that can be converted to an INT, it works.
$result.Tags = "0"
Type           : 0
Link           : 0
Author         :
Id             : 29
Name           :
Tags           : 0
Service        : 0
SubService     :
LastUpdated    :
CodeFenceTags  :
SuggestionCost :
Description    :
Title

Here, I fixed it for you
if ($Pscmdlet.ShouldProcess($SqlInstance, "Writing $rowCount rows to $Fqtn")) {
$properties = $DataTable | Get-Member -MemberType Property
foreach ($prop in $properties)
{
$BulkCopy.ColumnMappings.Add($prop.Name, $prop.Name)
}
            $bulkCopy.WriteToServer($DataTable)
            if ($rowCount -is [int]) {
                Write-Progress -id 1 -activity "Inserting $rowCount rows" -status "Complete" -Completed
            }
        }

Apparently, SQL Bulk Copy requires that columns be in the same order as the Table expects them. With hashtables and thus customobjects, you cannot guaranteed a property order.  The solution should either be to use ordered hash tables, or just map the column names directly.
Obviously, extra testing should be performed, or add an ordered hashtable parameter.

ty, you can also create a view with the proper order but i think some mapping will help this.


#106 Removed casting

Closes #106

Changed initialization format to remove unnecessary casting for the interfaces

Seems to be working, but I noticed this:

Also, Pareto and Settings are still casted but in the feedback they removed it

@MajaLinder it should be fine to merge now, please check


[SDK-186] Add settings editor window using UI toolkit

SDK-186
Dependencies
Core: develop

Changes
Added

Subdomain template
AvatarConfig and Gltf Defer agent field template
Settings window using UI Toolkit
Obsolete keyword to legacy settings window

How to Test

Open the settings window and try all the functionalities
Also test by Importing branch in separate project

Checklist

[ ] Tests written or updated for the changes.
[ ] Documentation is updated.
[ ] Changelog is updated.

also this

also looks kinda weird when you expand it sideways because the logo doesn't stay within the area that it should. Perhaps you can wrap it in a div or something to prevent it.


Distribute 50% of utilization spending to farmers

We proposed and passed a GEP to start distributing 50% of utilization spending to the farmers whose nodes are hosting the workloads. Now we need to implement this.
The full proposed breakdown of utilization spending is as follows (versus the previous spec):

50% farmers
40% TF DMCC (foundation/treasury)
10% validator stakers

Therefore the following tasks are needed to make this so:

[ ] Eliminate the burning of TFT spent on utilization
[ ] Increase percentage sent to foundation account to 40%
[ ] Increase percentage sent to staking pool to 10%
[ ] Distribute 50% to farmers

The last item is the only piece requiring any significant changes. I'll leave it to the repo owners to fill in the details there.

ATM standard utilization revenue is shared between 4 types of accounts

Foundation
Staking pool
Sales and
solution providers

Eliminate the burning of TFT spent on utilization
Increase percentage sent to foundation account to 40%
Increase percentage sent to staking pool to 10%
Distribute 50% to farmers

Based on your specified tasks, solution providers and sales accounts would not receive anything moving forward. can you confirm? @scottyeager @xmonader

That's correct @sameh-farouk. This change eliminates the sales channel/solution provider distribution as well.

This works for node and rent contracts. What about name contracts?
There are no 3Nodes being utilized by these contracts. Where should the remaining 50% be allocated?

Name contracts are not directly linked to farmer payments. While a name contract is used to deploy gateway workloads (as part of node contracts), the actual payments go to the farmers for the network usage associated with these workloads, not for the name itself.
for the name contract split I suggest you make the foundation 90% and the staking pool 10%


View certificate support

Currently only support on mac and windows
fix brave/browser-laptop#2611

Are we holding off on this one until we have a UI for displaying on Linux?

No I think we should merge and build for 0.13.6 as long as we have proper handling to not use it on linux on the front end.  Please make sure an issue is posted though.
Also @darkdh this needs a rebase pls, thanks.

I don't see a file for win

On Mar 11, 2017, at 6:37 PM, Brian R. Bondy<EMAIL_ADDRESS>wrote:
No I think we should merge and build for 0.13.6 as long as we have proper handling to not use it on linux on the front end. Please make sure an issue is posted though.
Also @darkdh this needs a rebase pls, thanks.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub, or mute the thread.

@bridiver There is ShowCertificateViewer in //chrome/browser/ui/views/certificate_viewer_win.cc
@bbondy, rebased. and issue posted here https://github.com/brave/browser-laptop/issues/7669

++


Assembly types created does not match expected type and trims FullName property.

Type of issue
Other (describe below)
Description
It is finally great to have this class to be able to dynamically create and save the dll. My concern though is that the created type does not match the expected type when it has generic parameters. For example, it trims the FullName property to it's base type name and removes the generic parameters from it. To illustrate this, I've created a sample code that uses .net 9.0 preview 7 and nuget package Blazor.Tools.BlazorBundler version 3.1.2. 've created this link in .netfiddle and Github. Although you can't run it in .NetFiddle because it only supports up to .net 8, but you can run it using the Github Codespace I've created. Here are the links:
.NetFilddle
Github Code Repository
GitHub Codespace

// Used .net 9.0 Preview 7 framework for this and nuget package Blazor.Tools.Bundler version 3.1.2 (just updated)
using System;
using System.IO;
using System.Reflection;
using System.Reflection.Emit;
using Blazor.Tools.BlazorBundler.Entities.SampleObjects.Models;
using Blazor.Tools.BlazorBundler.Extensions;
using Blazor.Tools.BlazorBundler.Interfaces;
using Blazor.Tools.BlazorBundler.Utilities.Exceptions;

public class Program
{
    public static void Main(string[] args)
    {
        DynamicallyCreateAssembly();
    }

    private static void DynamicallyCreateAssembly()
    {
        try
        {
            var contextAssemblyName = "Blazor.Tools.BlazorBundler.Interfaces";
            var assemblyFileName = $"{contextAssemblyName}.dll";
            var version = "<IP_ADDRESS>";
            var iViewModelTypeName = $"{contextAssemblyName}.IViewModel`2";
            var tempPath = Path.GetTempPath();
            var dllFilePath = $"{tempPath}.{contextAssemblyName}.dll";
            var employeeTypeAssemblyName = "Blazor.Tools.BlazorBundler.Entities.SampleObjects.Models";
            var employeeTypeName = $"{employeeTypeAssemblyName}.Employee";
            var iModelExtendedPropertiesTypeName = $"{contextAssemblyName}.IModelExtendedProperties";

            // Define the types for generic parameters
            Type modelType = typeof(Employee);
            Type modelExtendedPropertiesType = typeof(IModelExtendedProperties);

            // Create the assembly and module
            AssemblyName assemblyName = new AssemblyName(contextAssemblyName) { Version = new Version(version) };
            PersistedAssemblyBuilder assemblyBuilder = new PersistedAssemblyBuilder(assemblyName, typeof(object).Assembly);
            ModuleBuilder moduleBuilder = assemblyBuilder.DefineDynamicModule(assemblyFileName);

            // Define the generic type
            TypeBuilder typeBuilder = moduleBuilder.DefineType(
                iViewModelTypeName,
                TypeAttributes.Public | TypeAttributes.Interface | TypeAttributes.Abstract,
                null
            );

            // Define the generic parameters (without earlier techniques that did not work)
            GenericTypeParameterBuilder[] genericParamBuilders = typeBuilder.DefineGenericParameters(
                $"{employeeTypeName}",
                $"{iModelExtendedPropertiesTypeName}"
            );

            // Create the type
            Type createdType = typeBuilder.CreateTypeInfo().AsType();

            // Save the assembly to disk
            assemblyBuilder.Save(dllFilePath);

            // Load the dll file assembly using dll path extension method
            var assembly = Assembly.LoadFile(dllFilePath);
            Type loadedType = assembly.GetType(createdType.FullName ?? string.Empty) ?? throw new InvalidOperationException("Loaded type is null.");

            // Construct expected type definition
            var expectedType = typeof(IViewModel<Employee, IModelExtendedProperties>);

            // Compare full names
            string createdTypeFullName = createdType.FullName ?? string.Empty;
            string loadedTypeFullName = loadedType.FullName ?? string.Empty;
            Console.WriteLine($"Expected Full Name: {expectedType.FullName}");
            Console.WriteLine($"Created Full Name: {createdTypeFullName}");
            Console.WriteLine($"Loaded Full Name: {loadedTypeFullName}");

            loadedType.DisplayTypeDifferences(expectedType);

            // Check if they match
            bool match = createdTypeFullName == expectedType.FullName && loadedTypeFullName == expectedType.FullName;
            Console.WriteLine(match ? "The types match." : "The types do not match.");
        }
        catch (Exception ex)
        {
            AppLogger.WriteInfo(ex.Message);
        }

    }
}

[Enter feedback here]
Page URL
https://learn.microsoft.com/en-us/dotnet/fundamentals/runtime-libraries/system-reflection-emit-persistedassemblybuilder
Content source URL
https://github.com/dotnet/docs/blob/main/docs/fundamentals/runtime-libraries/system-reflection-emit-persistedassemblybuilder.md
Document Version Independent Id
205f36d2-e637-bae1-4ec6-984fc74c83c9
Article author
@gewarren
Metadata

ID: 1c23ff20-338c-bff1-8c8b-e7b491016503
Service: dotnet-fundamentals

@buyaa-n Can you take a look at this feedback?

I've created this link in Replit
https://replit.com/join/mgufadlhrk-solomiosisante

@xmione please paste the sample code in the issue, that link is restricted

I've created this link in Replit
https://replit.com/join/mgufadlhrk-solomiosisante

@xmione please paste the sample code in the issue, that link is restricted, inaccessible

Hi! I just updated the post with the link to .NetFiddle and the code itself.

Well apparently it is emitted what you wrote:
public interface IViewModel<Blazor.Tools.BlazorBundler.Entities.SampleObjects.Models.Employee, Blazor.Tools.BlazorBundler.Interfaces.IModelExtendedProperties>
{
}

Except this is not how you create a generic type parameter, especially not for c#. I suggest you to learn: https://learn.microsoft.com/dotnet/fundamentals/reflection/how-to-define-a-generic-type-with-reflection-emit this doc is little outdated, the examples are written for .NET framework, though it should work pretty much after changing the AssemblyBuilder creation to PersistedAssemblyBuilder

var iViewModelTypeName = $"{contextAssemblyName}.IViewModel`2";

No need to add  `2 to the generic type name
Closing as this is not a real issue or bug

Well apparently it is emitted what you wrote:
public interface IViewModel<Blazor.Tools.BlazorBundler.Entities.SampleObjects.Models.Employee, Blazor.Tools.BlazorBundler.Interfaces.IModelExtendedProperties>
{
}

Except this is not how you create a generic type parameter, especially not for c#. I suggest you to learn: https://learn.microsoft.com/dotnet/fundamentals/reflection/how-to-define-a-generic-type-with-reflection-emit this doc is little outdated, the examples are written for .NET framework, though it should work pretty much after changing the AssemblyBuilder creation to PersistedAssemblyBuilder

var iViewModelTypeName = $"{contextAssemblyName}.IViewModel`2";

No need to add `2 to the generic type name
Closing as this is not a real issue or bug

Hi, Thanks for responding.
This is supposed to be the Expected type's Full Name: Blazor.Tools.BlazorBundler.Interfaces.IViewModel`2[[Blazor.Tools.BlazorBundler.Entities.SampleObjects.Models.Employee, Blazor.Tools.BlazorBundler.Entities.SampleObjects.Models, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null],[Blazor.Tools.BlazorBundler.Interfaces.IModelExtendedProperties, Blazor.Tools.BlazorBundler.Interfaces, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null]]
But it truncated the type's Full Name to this:
Blazor.Tools.BlazorBundler.Interfaces.IViewModel`2

What I meant it the full name is incorrect because you are creating and using the generic type incorrectly

var expectedType = typeof(IViewModel<Employee, IModelExtendedProperties>);

For example could you share the expected IViewModel type definition as in c#?

What I meant is the full name looks incorrect because you are creating and using the generic type incorrectly

var expectedType = typeof(IViewModel<Employee, IModelExtendedProperties>);

For example could you share the expected IViewModel type definition as in c#?

Hi @buyaa-n,
Thanks for your patience. I've just edited the post and added the base class and interface types.
I'm sorry it's kinda complex.
Thanks for helping anyways.

Looks what you are trying to define is:
public interface IViewModel<TModel, TIModel> : IModelExtendedProperties
{
}

but what you defined now is:
public interface IViewModel<Blazor.Tools.BlazorBundler.Entities.SampleObjects.Models.Employee, Blazor.Tools.BlazorBundler.Interfaces.IModelExtendedProperties>
{
}

Hope you are seeing what is wrong here, and further a type definition is not equivalent of getting a type instance with typeof operator, i.e generated TypeBuilder is not equivalent to typeof(IViewModel<Employee, IModelExtendedProperties>);

string[] typeParamNames = {"TModel", "TIModel"};
GenericTypeParameterBuilder[] typeParams = typeBuilder.DefineGenericParameters(typeParamNames);
        GenericTypeParameterBuilder TModel = typeParams[0];
        GenericTypeParameterBuilder TIModel = typeParams[1];

        // Apply constraints to the type parameters.
        //
        // A type that is substituted for the first parameter, TModel,
        // must be a reference type and must have a parameterless
        // constructor.
        TModel.SetGenericParameterAttributes( GenericParameterAttributes.DefaultConstructorConstraint | GenericParameterAttributes.ReferenceTypeConstraint);

        // A type that is substituted for the second type
        // parameter must implement IExampleA and IExampleB, and
        // inherit from the trivial test class ExampleBase. The
        // interface constraints are specified as an array
        // containing the interface types.
        TIModel.SetBaseTypeConstraint(baseType);
        Type[] interfaceTypes = {modelExtendedPropertiesType};
        TIModel.SetInterfaceConstraints(interfaceTypes);

Oh, you did not see this?
            string[] typeParamNames = {"TModel", "TIModel"};
            GenericTypeParameterBuilder[] typeParams = typeBuilder.DefineGenericParameters(typeParamNames);

            GenericTypeParameterBuilder TModel = typeParams[0];
            GenericTypeParameterBuilder TIModel = typeParams[1];

            // Apply constraints to the type parameters.
            //
            // A type that is substituted for the first parameter, TModel,
            // must be a reference type and must have a parameterless
            // constructor.
            TModel.SetGenericParameterAttributes( GenericParameterAttributes.DefaultConstructorConstraint | GenericParameterAttributes.ReferenceTypeConstraint);

            // A type that is substituted for the second type
            // parameter must implement IExampleA and IExampleB, and
            // inherit from the trivial test class ExampleBase. The
            // interface constraints are specified as an array
            // containing the interface types.
            TIModel.SetBaseTypeConstraint(baseType);
            Type[] interfaceTypes = {modelExtendedPropertiesType};
            TIModel.SetInterfaceConstraints(interfaceTypes);

        As you can see, I followed the documentation in the link that you shared. That's how it says to make the generic parameters. It should be doing this according to the documentation:

public interface IViewModel<Blazor.Tools.BlazorBundler.Entities.SampleObjects.Models.Employee, Blazor.Tools.BlazorBundler.Interfaces.IModelExtendedProperties>
{
}


Change default BP_JVM_VERSION from 17 to 21

Summary

Change the default java version from 17 to 21 (see RFC 14)
Use Cases

n/a
Checklist

[X] I have viewed, signed, and submitted the Contributor License Agreement.
[X] I have linked issue(s) that this PR should close using keywords or the Github UI (See docs)
[ ] I have added an integration test, if necessary.
[X] I have reviewed the styleguide for guidance on my code quality.
[X] I'm happy with the commit history on this PR (I have rebased/squashed as needed).

Thanks for this PR, but I'm going to close this in favor of #265. We need to remove 17 as well as bump the default.


Expanded README.md section on 'Mounting the assets through NFS'.

In this pull request I'm recommending that users keep two lines commented out in Vagrantfile that are related to NFS sharing. Another approach would be to remove those lines altogether, since it doesn't appear as though we're configuring NFS that way any more.

I think it would be good to remove those two lines if you want to add that to the PR.
Also, update the readme to not even mention them, that would also be good. :+1:

Updated PR to remove the old NFS lines from Vagrantfile; updated README.md.

This looks good to me. @arknoll or @chrisolof you good with this?

Yeah looks good to me!


Can't create container on encrypted zfs

Hi,
I'm installing a new Ubuntu 19.10 server which comes with zfs 0.8.1. I then installed lxd 3.0.4.
My plan was to create two storage pools: an unencrypted pool and an encrypted pool. It currently looks like this:
+-----------+--------------------------+--------+-----------------+---------+
|   NAME    |       DESCRIPTION        | DRIVER |     SOURCE      | USED BY |
+-----------+--------------------------+--------+-----------------+---------+
| lxd-crypt | Encrypted ZFS filesystem | zfs    | zpool/crypt/lxd | 2       |
+-----------+--------------------------+--------+-----------------+---------+
| lxd-plain | Plain ZFS filesystem     | zfs    | zpool/plain/lxd | 8       |
+-----------+--------------------------+--------+-----------------+---------+

root@newhost:~# zfs get encryption,encryptionroot zpool/crypt
NAME         PROPERTY        VALUE        SOURCE
zpool/crypt  encryption      aes-256-gcm  -
zpool/crypt  encryptionroot  zpool/crypt  -
root@newhost:~# zfs get encryption,encryptionroot zpool/plain
NAME         PROPERTY        VALUE        SOURCE
zpool/plain  encryption      off          default
zpool/plain  encryptionroot  -            -

I can create containers on the "plain" filesystem alright, but creating a container on the "crypt" filesystem fails:
`ubuntu@newhost:~$ lxc launch ubuntu:16.04 exim4 --profile public-crypt
Creating exim4
Error: Failed container creation: Failed to run: zfs create -o mountpoint=none -p zpool/crypt/lxd/images/996fb4df6092705d7eb91ba9ba92302ad522273d09574d24c0791f4584559bc4: cannot create 'zpool/crypt/lxd/images/996fb4df6092705d7eb91ba9ba92302ad522273d09574d24c0791f4584559bc4': encryption root's key is not loaded or provided
It seems to me I should be able to tell lxc how to create the zfs filesystem (ie. supply the encryption type, keyformat and keylocation) but I'm not sure whether this is possible.
Thanks,
Thanks,
eksa

LXD itself doesn't know about ZFS encryption, proper support is discussed in #2118
I would still expect things to behave so long as the parent dataset is properly loaded.
Does manually running zfs key zpool/crypt/lxd unstick things?
Alternatively, using a file data source should avoid the need for prompting for the secret.

Thank you for your quick response, Stéphane. I now realize my mistake, the key for zpool/crypt/lxd was not properly loaded:
root@newhost:~# zfs load-key zpool/crypt/lxd
Enter passphrase for 'zpool/crypt/lxd':
root@newhost:~# logout
ubuntu@newhost:~$ lxc launch ubuntu:16.04 exim4 --profile public-crypt
Creating exim4
Starting exim4

Since I had already mounted other filesystems under zpool/crypt/lxd I was under the impression that the key was already loaded.
I apologize for opening this issue for something that was clearly my own fault.
Best,
eksa


Update README.md

Added bundle params for MSSQL.  commandbox-migrations does not work without this information in the current Lucee version.

Thanks!


feat(string-helper): add replacement and concatenation methods

New additions
While working on other parts of Tempest, I came across the need to use methods added in this pull request.

Multiple replace methods
append and prepend for chaining

Changes to existing functions
I also slightly updated the definitions of after and before to support searching with arrays instead of just strings.
Debug method
I added a dd method, as it was tedious to keep wrapping the whole chain when working on it—however, I could not use the never return type because the underlying dd function does not use it and thus triggers phpstan.
I also bypassed phpstan's warning on the usage of dd by using the underlying ld function instead of adding an exception for this warning.

Looks good, although I'd rename dd to ld to be consistent. I'll do for you


Viewmodel is overhead?

Q: I think we should also start thinking about making the Viewmodel approach the standard in Meteor -- currently people are still wiring up events and templates manually. We already have a few packages in regards to viewmodels  https://github.com/dalgard/meteor-viewmodel and http://viewmodel.meteor.com
A: I really disagree with the idea of making Viewmodel standard.  The beautify of Meteor has always been that it doesn't make decisions for you.  There are plenty of bad view model implementations (including viewmodel.meteore.com which is buggy, slow, and doesn't play nicely with blaze, doesn't "interop" as it were).  There are plenty of options for what you tack onto the MV* that meteor is, and components and view models are among them.  What I love about flow components (and possibly blaze components) is that I can write all the behavior in actions, and then just call the right actions from events.  Now the event is just a binding.  Making a specific type of view model standard tells newcomers to the platform that Meteor is MVVM not MV*
A: I'm also leery of baking any MVC assumptions into the next iteration of Blaze.  One of the strengths of the component approach is that it's agnostic to one's MVC interpretation; and works equally well with client-side interpretations as it does server-side interpretations.   The Blaze.View() API is bad enough, and has caused all sorts of problems and misinterpretations and headaches.  And while the viewmodel package may have some good technology in it; for some of us, using it's API is like using a camera-obscura, where everything is flipped upside down.  Some of us prefer to design our apps using CSS as our View, since CSS manages what gets rendered out of the ViewPort and exposes controls for all the opthamology/photonic features, such as color space, opacity, pixel density, media queries, etc.  You know, the stuff that gets rendered onscreen and blasted into a user's eyeballs and that they view.   In such a client-side interpretation, the dalgard:viewmodel package is misnamed rather badly, and simply a state-controller.
A: ViewModel doesn't play nice with models returned from collections. ViewModel is good for like a web form that only sends an email. If you are rendering models, perhaps to update them, you actually create more work for yourself by using ViewModel than by using your models with AutoForm. The reason is you get the data out of the form via 2 way binding, but it's only in the state of the ViewModel component. Now you still gotta pass it to your actual model. ViewModel is overhyped. It's only good for the simplest least dynamic of use cases. Any time you use real models from the database you need a slightly lower level of abstraction, but if used properly (i.e. as just described) you actually have a lot less work than if you used ViewModel.

https://meteor.hackpad.com/Proposal-for-Blaze-2-bRAxvfDzCVv#:h=Viewmodel
My actual favorites:
https://github.com/themeteorites/blaze-magic-events
https://github.com/peerlibrary/meteor-reactive-field
+ 'this' inside helpers & events

What's the question?

I want to try viewmodel, but I'm afraid, that wrong choice with overhead code. AutoForm makes life easier at the prototype stage, but has restrictions of customization. I'm looking for the best tools for the replacement of AutoForm.

The thing is that this isn't a replacement for Autoforms. ViewModel doesn't generate any code for you. It just simplifies the way you develop your UI. It's a different way of doing things; one that requires less plumbing. I've never used Autoforms, mainly because I've never felt the need, but I've heard people say they've stopped using Autoforms after using ViewModel for a while.

In summary, if you're looking for some kind of code generator then this isn't it.

I know that ViewModel doesn't generate any code for me. I'm going to go the other way. :)

Then try it. Pick any template of your application and rewrite it using
ViewModel. You'll see that your code will be cut in half. Let me know if
you have questions when converting the code.
On Apr 13, 2016 5:04 PM, "comerc"<EMAIL_ADDRESS>wrote:

I know that ViewModel doesn't generate any code for me. I'm going to go
the other way. :)
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/ManuelDeLeon/viewmodel/issues/230#issuecomment-209684730

The question is whether the tools needed to facilitate the development, or they interfere with the development. For example. I was very attracted to this package in its simplicity, but this question adds complexity to the code. But you have solution to this issue.

I just would like to know your opinion on the remarks cited at the beginning of this topic.

I'm sorry, I found a great example. This will help me.

Let's see, where to start...
The objections on that thread are made by people who misunderstand the role
of ViewModel. They seem to think it's an MVC framework for Meteor. One is
complaining about models (M in MVC, which has almost nothing to do with
ViewModel ). The other one is railing against MVC (which ViewModel is not).
As for events, you're certainly free to use them but you'll find that it's
cleaner and simpler to declare the events in the markup.
On Apr 13, 2016 5:42 PM, "comerc"<EMAIL_ADDRESS>wrote:

I'm sorry, I found a great example
https://github.com/ManuelDeLeon/phonebook. This will help me.
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/ManuelDeLeon/viewmodel/issues/230#issuecomment-209692111

Btw, if it means anything, I've never heard of anyone doing a project with
ViewModel and then going back to Blaze.  The only people who stopped using
it are  the ones who needed SSR and switched to React.
On Apr 13, 2016 6:11 PM, "Manuel De Leon"<EMAIL_ADDRESS>wrote:

Let's see, where to start...
The objections on that thread are made by people who misunderstand the
role of ViewModel. They seem to think it's an MVC framework for Meteor. One
is complaining about models (M in MVC, which has almost nothing to do with
ViewModel ). The other one is railing against MVC (which ViewModel is not).
As for events, you're certainly free to use them but you'll find that it's
cleaner and simpler to declare the events in the markup.
On Apr 13, 2016 5:42 PM, "comerc"<EMAIL_ADDRESS>wrote:

I'm sorry, I found a great example
https://github.com/ManuelDeLeon/phonebook. This will help me.
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/ManuelDeLeon/viewmodel/issues/230#issuecomment-209692111

As for events, you're certainly free to use them but you'll find that it's
cleaner and simpler to declare the events in the markup.

Ok, but I still may use true 'this' of ViewModel instead of Template.instance().viewmodel.myValue() in my ViewModel methods!

It may be a good idea to use a package like Astronomy if you have to deal a lot with database models. This makes life much easier and works great in combination with ViewModel.


VIDEO-13326 Remove S3 link usage

Description

Remove Amazon S3 link that was posing a security issue SECOPS-4857.
The video file that was hosted is not included in the project bundle.
Breakdown

Remove https://s3-us-west-1.amazonaws.com usage
Add the Resources/twilio_clound_com.mov video file

Contributing to Twilio

All third-party contributors acknowledge that any contributions they provide will be made under the same open-source license that the open-source project is provided under.

[x] I acknowledge that all my contributions will be made under the project's license.

@asemivragovs How do we validate this is working? Do we even know how/when that file is supposed to be used?

It was validated that the AVPlayerExample target is correctly playing the new added video file.


sample session: can't launch

hi
i've tried to reproduce the sample session. I get as far as
➜  sample git:(master) julia launch.jl
Launched instances :
ASCIIString["i-96866411"]
Tagged instances
Status of i-96866411 is 0:pending
All instances not yet in a running state. Trying again in 5.0 seconds....
Status of i-96866411 is 0:pending
All instances not yet in a running state. Trying again in 5.0 seconds....
Status of i-96866411 is 0:pending
All instances not yet in a running state. Trying again in 5.0 seconds....
Status of i-96866411 is 0:pending
All instances not yet in a running state. Trying again in 5.0 seconds....
Status of i-96866411 is 16:running
Testing TCP connects (on port 22) to all newly started hosts...
Testing connection to ec2-54-86-39-139.compute-1.amazonaws.com
Some newly started hosts are still unreachable. Trying again in 2.0 seconds.
Testing connection to ec2-54-86-39-139.compute-1.amazonaws.com
Some newly started hosts are still unreachable. Trying again in 2.0 seconds.
Testing connection to ec2-54-86-39-139.compute-1.amazonaws.com
Some newly started hosts are still unreachable. Trying again in 2.0 seconds.
Testing connection to ec2-54-86-39-139.compute-1.amazonaws.com
Some newly started hosts are still unreachable. Trying again in 2.0 seconds.
Testing connection to ec2-54-86-39-139.compute-1.amazonaws.com
Some newly started hosts are still unreachable. Trying again in 2.0 seconds.
Testing connection to ec2-54-86-39-139.compute-1.amazonaws.com
Some newly started hosts are still unreachable. Trying again in 2.0 seconds.
Testing connection to ec2-54-86-39-139.compute-1.amazonaws.com
Some newly started hosts are still unreachable. Trying again in 2.0 seconds.
Testing connection to ec2-54-86-39-139.compute-1.amazonaws.com
Some newly started hosts are still unreachable. Trying again in 2.0 seconds.
Testing connection to ec2-54-86-39-139.compute-1.amazonaws.com
Some newly started hosts are still unreachable. Trying again in 2.0 seconds.
Testing connection to ec2-54-86-39-139.compute-1.amazonaws.com
...

and this goes on forever. I can see one node running on my aws console, but that's it. I can start any number of nodes with this machine and account setting via StarCluster, for example, or directly on the AWS console. my config.jl is
# "ami-ab8190c2" is a Julia pre-installed public AMI
# "ami-7bccd012" is a bare Ubuntu image. The latest Julia and its dependencies
# will be installed.

const PVM_AMI_UBUNTU_1310_US_EAST = "ami-7bccd012"
const HVM_AMI_UBUNTU_1310_US_EAST = "ami-73ccd01a"

ec2_ami = PVM_AMI_UBUNTU_1310_US_EAST
ec2_install_julia = true
ec2_sshkey = "virginia"
ec2_sshkey_file = "/Users/florian.oswald/.ssh/virginia.pem"
ec2_insttype = "t1.micro"
ec2_instnum = 1
ec2_workers_per_instance = 0
ec2_num_workers = 2
ec2_julia_dir = "/home/ubuntu/julia/usr/bin"
ec2_clustername = "mycluster"

any ideas?

this happens also with 2 instances
➜  sample git:(master) julia launch.jl
Launched instances :
ASCIIString["i-396a83be","i-386a83bf"]
Tagged instances
Status of i-396a83be is 0:pending
Status of i-386a83bf is 0:pending
All instances not yet in a running state. Trying again in 5.0 seconds....
Status of i-396a83be is 0:pending
Status of i-386a83bf is 0:pending
All instances not yet in a running state. Trying again in 5.0 seconds....
Status of i-396a83be is 0:pending
Status of i-386a83bf is 0:pending
All instances not yet in a running state. Trying again in 5.0 seconds....
Status of i-396a83be is 0:pending
Status of i-386a83bf is 0:pending
All instances not yet in a running state. Trying again in 5.0 seconds....
Status of i-396a83be is 16:running
Status of i-386a83bf is 0:pending
All instances not yet in a running state. Trying again in 5.0 seconds....
Status of i-386a83bf is 16:running
Testing TCP connects (on port 22) to all newly started hosts...
Testing connection to ec2-54-208-223-193.compute-1.amazonaws.com
Some newly started hosts are still unreachable. Trying again in 2.0 seconds.
Testing connection to ec2-54-208-223-193.compute-1.amazonaws.com
Some newly started hosts are still unreachable. Trying again in 2.0 seconds.
Testing connection to ec2-54-208-223-193.compute-1.amazonaws.com
Some newly started hosts are still unreachable. Trying again in 2.0 seconds.
Testing connection to ec2-54-208-223-193.compute-1.amazonaws.com
...

I tried with Julia-0.4.2 and it works ...
⇒  j4 launch.jl
INFO: Recompiling stale cache file /Users/pradeep/.julia/lib/v0.4/AWS.ji for module AWS.
Launched instances :
ASCIIString["i-4e92c096","i-4f92c097","i-7092c0a8"]
Tagged instances
Status of i-4e92c096 is 0:pending
Status of i-4f92c097 is 0:pending
Status of i-7092c0a8 is 0:pending
All instances not yet in a running state. Trying again in 5.0 seconds....
Status of i-4e92c096 is 0:pending
Status of i-4f92c097 is 0:pending
Status of i-7092c0a8 is 0:pending
All instances not yet in a running state. Trying again in 5.0 seconds....
Status of i-4e92c096 is 16:running
Status of i-4f92c097 is 16:running
Status of i-7092c0a8 is 16:running
Testing TCP connects (on port 22) to all newly started hosts...
Testing connection to ec2-54-203-77-101.us-west-2.compute.amazonaws.com
Testing connection to ec2-54-190-130-254.us-west-2.compute.amazonaws.com
Testing connection to ec2-54-185-186-190.us-west-2.compute.amazonaws.com
NTuple[("i-4e92c096","ec2-54-203-77-101.us-west-2.compute.amazonaws.com","ip-10-231-160-195.us-west-2.compute.internal"),("i-4f92c097","ec2-54-190-130-254.us-west-2.compute.amazonaws.com","ip-10-231-159-226.us-west-2.compute.internal"),("i-7092c0a8","ec2-54-185-186-190.us-west-2.compute.amazonaws.com","ip-10-41-37-2.us-west-2.compute.internal")]
Lanched LaunchSet 2016-04-10T16:25:08, ClusterName mycluster, Owner julia

I'm on julia 0.4.5. I get as far as this:
➜  sample git:(master) julia start.jl
Starting previously stopped EC2 nodes : ASCIIString["i-396a83be","i-386a83bf","i-0a69808d","i-b5b25032"]
Status of i-b5b25032 is 0:pending
Status of i-0a69808d is 0:pending
Status of i-396a83be is 0:pending
Status of i-386a83bf is 0:pending
All instances not yet in a running state. Trying again in 5.0 seconds....
Status of i-b5b25032 is 0:pending
Status of i-0a69808d is 0:pending
Status of i-396a83be is 0:pending
Status of i-386a83bf is 0:pending
All instances not yet in a running state. Trying again in 5.0 seconds....
Status of i-b5b25032 is 0:pending
Status of i-0a69808d is 0:pending
Status of i-396a83be is 0:pending
Status of i-386a83bf is 0:pending
All instances not yet in a running state. Trying again in 5.0 seconds....
Status of i-b5b25032 is 0:pending
Status of i-0a69808d is 0:pending
Status of i-396a83be is 16:running
Status of i-386a83bf is 0:pending
All instances not yet in a running state. Trying again in 5.0 seconds....
Status of i-b5b25032 is 16:running
Status of i-0a69808d is 16:running
Status of i-386a83bf is 16:running
Testing TCP connects (on port 22) to all newly started hosts...
Testing connection to ec2-54-89-32-176.compute-1.amazonaws.com
Some newly started hosts are still unreachable. Trying again in 2.0 seconds.
Testing connection to ec2-54-89-32-176.compute-1.amazonaws.com
Some newly started hosts are still unreachable. Trying again in 2.0 seconds.
Testing connection to ec2-54-89-32-176.compute-1.amazonaws.com
Some newly started hosts are still unreachable. Trying again in 2.0 seconds.
Testing connection to ec2-54-89-32-176.compute-1.amazonaws.com

the weird thing is that the instances are in a running state in my AWS console. can you please post your config.jl? i set an instance type t1.micro because I want to use the free tier. could that be a problem you think?

Cc @mdpradeep if you can help

@floswald - Here's my config.jl ...
# "ami-ab8190c2" is a Julia pre-installed public AMI
# "ami-7bccd012" is a bare Ubuntu image. The latest Julia and its dependencies
# will be installed.

const PVM_AMI_UBUNTU_1310_US_EAST = "ami-7bccd012"
## MDP const HVM_AMI_UBUNTU_1310_US_EAST = "ami-73ccd01a"
const HVM_AMI_UBUNTU_1310_US_EAST = "ami-74796e15"

id="MY ID "
key="MY KEY"
dbg=true
region=AWS.US_WEST_2

## MDP ec2_ami = PVM_AMI_UBUNTU_1310_US_EAST
ec2_ami = "ami-92cfd8f3"
ec2_install_julia = true
## MDP ec2_sshkey = "juec2key"
ec2_sshkey = "HadoopClusterKeyPair"
ec2_sshkey_file = "/Users/pradeep/Downloads/HadoopClusterKeyPair.pem"
ec2_insttype = "m3.medium"
ec2_instnum = 1
ec2_workers_per_instance = 0
ec2_num_workers = 2
ec2_julia_dir = "/home/ubuntu/julia/usr/bin"
ec2_clustername = "mycluster"

oh I see, you are using an altogether different AMI. anything special I
need to know about ami-92cfd8f3? I suppose it's only available in your
region (US_WEST), so won't find it in EAST.
can you maybe try with the AMI's given in the example config.jl? I use  ami-7bccd012.
thanks
On 19 April 2016 at 09:47, mdpradeep<EMAIL_ADDRESS>wrote:

@floswald https://github.com/floswald - Here's my config.jl ...
"ami-ab8190c2" is a Julia pre-installed public AMI
"ami-7bccd012" is a bare Ubuntu image. The latest Julia and its dependencies
will be installed.
const PVM_AMI_UBUNTU_1310_US_EAST = "ami-7bccd012"
MDP const HVM_AMI_UBUNTU_1310_US_EAST = "ami-73ccd01a"
const HVM_AMI_UBUNTU_1310_US_EAST = "ami-74796e15"
id="MY ID "
key="MY KEY"
dbg=true
region=AWS.US_WEST_2
MDP ec2_ami = PVM_AMI_UBUNTU_1310_US_EAST
ec2_ami = "ami-92cfd8f3"
ec2_install_julia = true
MDP ec2_sshkey = "juec2key"
ec2_sshkey = "HadoopClusterKeyPair"
ec2_sshkey_file = "/Users/pradeep/Downloads/HadoopClusterKeyPair.pem"
ec2_insttype = "m3.medium"
ec2_instnum = 1
ec2_workers_per_instance = 0
ec2_num_workers = 2
ec2_julia_dir = "/home/ubuntu/julia/usr/bin"
ec2_clustername = "mycluster"
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/JuliaParallel/AWS.jl/issues/64#issuecomment-211779838

The above mentioned ami is not available. So, I tried with another ami in US_EAST_1 and it is working
pradeep@Pradeep:~/work/git_repos/JuliaParallel/AWS.jl|master⚡
⇒  j4 sample/launch.jl
Launched instances :
ASCIIString["i-baf5573d","i-b9f5573e"]
Tagged instances
Status of i-baf5573d is 0:pending
Status of i-b9f5573e is 0:pending
All instances not yet in a running state. Trying again in 5.0 seconds....
Status of i-baf5573d is 0:pending
Status of i-b9f5573e is 0:pending
All instances not yet in a running state. Trying again in 5.0 seconds....
Status of i-baf5573d is 16:running
Status of i-b9f5573e is 16:running
Testing TCP connects (on port 22) to all newly started hosts...
Testing connection to ec2-54-221-108-48.compute-1.amazonaws.com
Some newly started hosts are still unreachable. Trying again in 2.0 seconds.
Testing connection to ec2-54-221-108-48.compute-1.amazonaws.com
Some newly started hosts are still unreachable. Trying again in 2.0 seconds.
Testing connection to ec2-54-221-108-48.compute-1.amazonaws.com
Some newly started hosts are still unreachable. Trying again in 2.0 seconds.
Testing connection to ec2-54-221-108-48.compute-1.amazonaws.com
Some newly started hosts are still unreachable. Trying again in 2.0 seconds.
Testing connection to ec2-54-221-108-48.compute-1.amazonaws.com
Some newly started hosts are still unreachable. Trying again in 2.0 seconds.
Testing connection to ec2-54-221-108-48.compute-1.amazonaws.com
Testing connection to ec2-54-82-86-68.compute-1.amazonaws.com
NTuple[("i-baf5573d","ec2-54-221-108-48.compute-1.amazonaws.com","ip-10-146-56-135.ec2.internal"),("i-b9f5573e","ec2-54-82-86-68.compute-1.amazonaws.com","ip-10-113-149-196.ec2.internal")]
Lanched LaunchSet 2016-04-19T09:49:13, ClusterName mycluster, Owner julia

My config.jl is as below:
# "ami-ab8190c2" is a Julia pre-installed public AMI
# "ami-7bccd012" is a bare Ubuntu image. The latest Julia and its dependencies
# will be installed.

const PVM_AMI_UBUNTU_1310_US_EAST = "ami-7bccd012"
## MDP const HVM_AMI_UBUNTU_1310_US_EAST = "ami-73ccd01a"
const HVM_AMI_UBUNTU_1310_US_EAST = "ami-74796e15"

id="MY ID"
key="MY KEY"
dbg=false
## MDP region=AWS.US_WEST_2
region=AWS.US_EAST_1

## MDP ec2_ami = PVM_AMI_UBUNTU_1310_US_EAST
ec2_ami = "ami-7d643a18"
ec2_install_julia = false
## MDP ec2_sshkey = "juec2key"
## MDP ec2_sshkey = "HadoopClusterKeyPair"
ec2_sshkey = "aws_test_keypair"
ec2_sshkey_file = "/Users/pradeep/Downloads/aws_test_keypair.pem"
ec2_insttype = "m3.medium"
ec2_instnum = 2
ec2_workers_per_instance = 0
ec2_num_workers = 2
ec2_julia_dir = "/home/ubuntu/julia/usr/bin"
ec2_clustername = "mycluster"

still no luck. not sure what's wrong here.
➜  sample git:(master) julia start.jl
Starting previously stopped EC2 nodes : ASCIIString["i-396a83be","i-386a83bf","i-0a69808d","i-b5b25032"]
Status of i-b5b25032 is 0:pending
Status of i-0a69808d is 0:pending
Status of i-396a83be is 0:pending
Status of i-386a83bf is 0:pending
All instances not yet in a running state. Trying again in 5.0 seconds....
Status of i-b5b25032 is 0:pending
Status of i-0a69808d is 0:pending
Status of i-396a83be is 0:pending
Status of i-386a83bf is 0:pending
All instances not yet in a running state. Trying again in 5.0 seconds....
Status of i-b5b25032 is 0:pending
Status of i-0a69808d is 0:pending
Status of i-396a83be is 0:pending
Status of i-386a83bf is 0:pending
All instances not yet in a running state. Trying again in 5.0 seconds....
Status of i-b5b25032 is 0:pending
Status of i-0a69808d is 0:pending
Status of i-396a83be is 0:pending
Status of i-386a83bf is 0:pending
All instances not yet in a running state. Trying again in 5.0 seconds....
Status of i-b5b25032 is 16:running
Status of i-0a69808d is 0:pending
Status of i-396a83be is 16:running
Status of i-386a83bf is 16:running
All instances not yet in a running state. Trying again in 5.0 seconds....
Status of i-0a69808d is 16:running
Testing TCP connects (on port 22) to all newly started hosts...
Testing connection to ec2-54-174-198-177.compute-1.amazonaws.com
Some newly started hosts are still unreachable. Trying again in 2.0 seconds.
Testing connection to ec2-54-174-198-177.compute-1.amazonaws.com
Some newly started hosts are still unreachable. Trying again in 2.0 seconds.
Testing connection to ec2-54-174-198-177.compute-1.amazonaws.com
Some newly started hosts are still unreachable. Trying again in 2.0 seconds.
Testing connection to ec2-54-174-198-177.compute-1.amazonaws.com
Some newly started hosts are still unreachable. Trying again in 2.0 seconds.
Testing connection to ec2-54-174-198-177.compute-1.amazonaws.com
Some newly started hosts are still unreachable. Trying again in 2.0 seconds.
Testing connection to ec2-54-174-198-177.compute-1.amazonaws.com
Some newly started hosts are still unreachable. Trying again in 2.0 seconds.
Testing connection to ec2-54-174-198-177.compute-1.amazonaws.com
Some newly started hosts are still unreachable. Trying again in 2.0 seconds.
Testing connection to ec2-54-174-198-177.compute-1.amazonaws.com
Some newly started hosts are still unreachable. Trying again in 2.0 seconds.
Testing connection to ec2-54-174-198-177.compute-1.amazonaws.com
Some newly started hosts are still unreachable. Trying again in 2.0 seconds.
Testing connection to ec2-54-174-198-177.compute-1.amazonaws.com
Some newly started hosts are still unreachable. Trying again in 2.0 seconds.
Testing connection to ec2-54-174-198-177.compute-1.amazonaws.com
Some newly started hosts are still unreachable. Trying again in 2.0 seconds.
Testing connection to ec2-54-174-198-177.compute-1.amazonaws.com
Some newly started hosts are still unreachable. Trying again in 2.0 seconds.
Testing connection to ec2-54-174-198-177.compute-1.amazonaws.com
Some newly started hosts are still unreachable. Trying again in 2.0 seconds.
Testing connection to ec2-54-174-198-177.compute-1.amazonaws.com
Some newly started hosts are still unreachable. Trying again in 2.0 seconds.
Testing connection to ec2-54-174-198-177.compute-1.amazonaws.com
Some newly started hosts are still unreachable. Trying again in 2.0 seconds.
Testing connection to ec2-54-174-198-177.compute-1.amazonaws.com
Some newly started hosts are still unreachable. Trying again in 2.0 seconds.
Testing connection to ec2-54-174-198-177.compute-1.amazonaws.com
Some newly started hosts are still unreachable. Trying again in 2.0 seconds.
Testing connection to ec2-54-174-198-177.compute-1.amazonaws.com

config:
# "ami-ab8190c2" is a Julia pre-installed public AMI
# "ami-7bccd012" is a bare Ubuntu image. The latest Julia and its dependencies
# will be installed.

const PVM_AMI_UBUNTU_1310_US_EAST = "ami-7bccd012"
const HVM_AMI_UBUNTU_1310_US_EAST = "ami-73ccd01a"

ec2_ami = "ami-7d643a18"
ec2_install_julia = false

#ec2_ami = PVM_AMI_UBUNTU_1310_US_EAST
#ec2_install_julia = true
ec2_sshkey = "virginia-scpo"
ec2_sshkey_file = "/Users/florian.oswald/.ssh/virginia-scpo.pem"
ec2_insttype = "m3.medium"
ec2_instnum = 2
ec2_workers_per_instance = 0
ec2_num_workers = 2
ec2_julia_dir = "/home/ubuntu/julia/usr/bin"
ec2_clustername = "mycluster"

Can you try doing a telnet ec2-54-174-198-177.compute-1.amazonaws.com 22 and see if you can connect to the ssh port on the remote machine? If not, the issue could be one of

Your default security group does not allow incoming SSH connections. The security group needs to allow incoming SSH as well as all ports within hosts using the same group.

Your local firewall / local network firewall is preventing outbound connections on SSH

The DNS name ec2-54-174-198-177.compute-1.amazonaws.com is not being resolved.

hi @amitmurthy, thanks. I'm almost convinced this is an issue with my settings on AWS. just to preempt any more confusion:

how do I set my default security group? It seems to me that each time I launch an instance, I choose the security group anew. Could you point me towards that please?
I did create a group for my user on AWS. I gave the group Administrator Rights.

will try to telnet now.

ok - solved. I found out how to edit my default security group. thanks!


WIP - queues page for TSPs

Description
Putting together a queue page for TSPs
Reviewer Notes
TBD
Code Review Verification Steps

[ ] All tests pass.
[ ] Code follows the guidelines for Logging
[ ] The requirements listed in
Querying the Database Safely
have been satisfied.
[ ] Any migrations/schema changes also update the diagram in docs/schema/dp3.sqs
[ ] There are no aXe warnings for UI.
[ ] This works in IE.
Any new client dependencies (Google Analytics, hosted libraries, CDNs, etc) have been:

[ ] Communicated to @willowbl00
[ ] Added to the list of network dependencies

[ ] Request review from a member of a different team.
[ ] (TRIAL) Have the Pivotal acceptance criteria been met for this change?

References

Pivotal story for this change
this article explains more about the approach used.

Screenshots
If this PR makes visible UI changes, an image of the finished UI can help reviewers and casual
observers understand the context of the changes. A before image is optional and
can be included at the submitter's discretion.
Consider using an animated image to show an entire workflow instead of using multiple images. You may want to use GIPHY CAPTURE for this! 📸
Please frame screenshots to show enough useful context but also highlight the affected regions.

https://github.com/transcom/mymove/pull/818


VT Farms on Grower Dashboard

good afternoon,
It looks like there aren't any VT growers on the grower dashboard. Is there something I or the farmers need to do so they can access the data?
Best,
Lindsey

We've been making really great progress on some of the data automation, so my goal is to have data live to the tech dashboard next week and the grower dashboard the following week.


NPM package has not been updated to 2.1.4

When I run cordova plugin add cordova-plugin-music-controls it's installing version 2.0.0.
The package has not been updated to 2.1.4: https://www.npmjs.com/package/cordova-plugin-music-controls

I hope npm will be updated soon, I need to do:
npm remove cordova-plugin-music-controls
npm install https://github.com/homerours/cordova-music-controls-plugin --save
ionic cordova plugin rm cordova-plugin-music-controls
ionic cordova plugin add https://github.com/homerours/cordova-music-controls-plugin

Yes, unfortunately, I don't have access to publish to NPM. Trying to rectify that. until then,
ionic cordova plugin add https://github.com/homerours/cordova-music-controls-plugin will be what you need. :/

there's news?

FYI I created this : https://github.com/bhvr-business-solutions/cordova-plugin-audiocontroller, as this plugin is not updated anymore.
I rewrote the Objective C code to make it work with IOS 11.

@fdambrosio yep! just updated recently.
@Mokto this plugin is still being actively developed and works with iOS 11. We had a snag with publishing permissions that have been unlocked. There's a few different people that can publish to NPM now.

Well if @Mokto has re-written the Objective-C to upgrade the programming logic, then perhaps we should merge in the code and consolidate the two plugins into one better plugin that works everywhere :) ?

Agreed. We should review it and see what it will take.

@Mokto if you wouldn't mind, would you make a pull request from your fork and see if merging our code will produce a better plugin for everyone?

@BuddyLReno I didn't know !
Give me a few days and I'll do it.

@Mokto awesome! The more the merrier!


Generating Typescript definitions files

Hey there, first would love to say that the Figma Icon Automation is a wonderful plugin. Incredible job 👍🏾!
I could be wrong but reading those lines I assumed these commands would generate a icons.d.ts file in the final build before it get published
https://github.com/leadream/juuust-react-icon/blob/9af90d3fece12ff76f9f55045771a00a65b1fb51/bin/build.js#L27-L36
...But instead I only have this content when I install the published module.

Am I missing something here or it's just how it's supposed to be ?
If not, do you have any idea how we could generate those TS definitions at the build phase ?
Thank you for your help.

@madiodio Oh sorry, it's generated in ./src but I forgot to add this directory in package.json#files. Just fixed it.
https://github.com/leadream/juuust-react-icon/commit/f52fb359689160cc46850a66e97a9a9e7f92888c#diff-b9cfc7f2cdf78a7f4b91a753d10865a2R10

Oh that will cause new issue. Some other commits pushed and now it works well after testing.


ffigen generating Pointer<Int> instead of Array<...>

https://github.com/libexif/libexif/blob/master/libexif/exif-data.h#L47 contains the following struct:
/*! Represents the entire EXIF data found in an image */
struct _ExifData
{
	/*! Data for each IFD */
	ExifContent *ifd[EXIF_IFD_COUNT];

	/*! Pointer to thumbnail image, or NULL if not available */
	unsigned char *data;

	/*! Number of bytes in thumbnail image at \c data */
	unsigned int size;

	ExifDataPrivate *priv;
};

When you run it through ffigen, it generates the following binding code:
/// ! Represents the entire EXIF data found in an image
final class _ExifData extends ffi.Struct {
  /// ! Data for each IFD
  external ffi.Pointer<ffi.Int> ifd;

  /// ! Pointer to thumbnail image, or NULL if not available
  external ffi.Pointer<ffi.UnsignedChar> data;

  /// ! Number of bytes in thumbnail image at \c data
  @ffi.UnsignedInt()
  external int size;

  external ffi.Pointer<ExifDataPrivate> priv;
}

I found it weird that ExifContent *ifd[EXIF_IFD_COUNT] translated to external ffi.Pointer<ffi.Int> ifd, and it made it hard to get at the element I wanted...  I tried the following:
final Pointer<ExifContent> nativeContent = foo.elementAt(ExifIfd.EXIF_IFD_GPS).cast<ExifContent>();

... but the program crashed whenever I tried to use that nativeContent pointer.
So I then tried to write a simple C library that distilled this into a case I could study more.  Here is that code:
typedef struct _TestData        TestData;
typedef struct _TestContent     TestContent;
typedef struct _TestEntry       TestEntry;

typedef enum {
	IFD_0 = 0,
	IFD_1,
	IFD_EXIF,
	IFD_GPS,
	IFD_INTEROPERABILITY,
	IFD_COUNT
} Ifd;

struct _TestData
{
	TestContent *ifd[IFD_COUNT];

	unsigned int size;
};

struct _TestContent
{
        TestEntry **entries;
        unsigned int count;

	TestData *parent;
};

struct _TestEntry {
        unsigned int value;

	TestContent *parent;
};

TestData *test_data_new (void);

I then ran that through ffigen, figuring that the TestContent *ifd[IFD_COUNT] would again turn into external ffi.Pointer<ffi.Int> ifd.... but it didn't.  It instead generated the following binding code:
final class _TestData extends ffi.Struct {
  @ffi.Array.multi([5])
  external ffi.Array<ffi.Pointer<TestContent>> ifd;

  @ffi.UnsignedInt()
  external int size;
}

So on the one hand, this generated code makes much more sense!  But on the other hand, why didn't it do this for the libexif code??

Thanks for the report @tvolkert!
ExifContent *ifd[EXIF_IFD_COUNT]; should indeed be generated to a fixed length Array<Pointer<...>>.
@mannprerak2 Any chance you could take a look?

Sure I'll take a look today.

Looks like a case of missing headers.
I could replicate the same behaviour when the constant for array length is not defined, libclang corrects it to just a pointer.
@tvolkert ffigen should be printing out some logs with SEVERE prefix, you should look into those. You can use compiler opts to pass the include header directory (See compiler-opts in ffigen readme)

This is not the first time users are ignoring SEVERE, I wonder if we should refuse to generate the dart bindings file (and delete it if it already exists) on SEVERE errors.

I agree, perhaps we can refuse to generate the file initially, then prompt user to fix the errors or pass in a flag such as --ignore-errors.
Or a slightly non breaking way would be just the last log informing that the generated file might contain some invalid bindings.

Or a slightly non breaking way would be just the last log informing that the generated file might contain some invalid bindings.

Users are just going to ignore it again. We should force users to fix the errors or to manually ignore them with a flag.

I agree, perhaps we can refuse to generate the file initially, then prompt user to fix the errors or pass in a flag such as --ignore-errors.

👍
@tvolkert Can you confirm that adding the right include paths solves your issue?

Yep, confirmed that adding a compiler-opts directive in my config fixed this issue.  Thanks!
And yes, I agree that we should fail to generate the bindings if there's an error - people are just going to ignore stdout messages (especially when they're so verbose)


How to fix this error

This never used to happen, but has been happening everytime I run wal lately. How to fix? FreeBSD
Traceback (most recent call last):
File "/usr/local/bin/wal", line 11, in
load_entry_point('pywal==3.3.0', 'console_scripts', 'wal')()
File "/usr/local/lib/python3.7/site-packages/pywal/main.py", line 208, in main
parse_args(parser)
File "/usr/local/lib/python3.7/site-packages/pywal/main.py", line 188, in parse_args
reload.env(tty_reload=not args.t)
File "/usr/local/lib/python3.7/site-packages/pywal/reload.py", line 84, in env
kitty()
File "/usr/local/lib/python3.7/site-packages/pywal/reload.py", line 53, in kitty
if shutil.which("kitty") and util.get_pid("kitty"):
File "/usr/local/lib/python3.7/site-packages/pywal/util.py", line 182, in get_pid
subprocess.check_output(["pidof", "-s", name])
File "/usr/local/lib/python3.7/subprocess.py", line 411, in check_output
**kwargs).stdout
File "/usr/local/lib/python3.7/subprocess.py", line 488, in run
with Popen(*popenargs, **kwargs) as process:
File "/usr/local/lib/python3.7/subprocess.py", line 800, in init
restore_signals, start_new_session)
File "/usr/local/lib/python3.7/subprocess.py", line 1551, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'pidof': 'pidof'

The pidof command is missing. We can probably remove its usage.


fix: month indexing in getNameOnDate code

Fixing the month indexing when the date is provided by the Date class. Reported in #10.

:tada: This issue has been resolved in version 1.1.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[generic API] add return shapes to the generic API

currently the return shape of the generic API cant be inspected by drf-specrtacular.
Similar to #740 we need to either:

overwrite the shape created by drf-spectacular
or dynamically create serializer classes that can be inspected by drf-spectacular

fixed in https://github.com/acdh-oeaw/apis-core-rdf/pull/750


Scheduler multiobjective hyperband

*Issue #, if available: N/A
*Description of changes: Implemented a new scheduler class that allows for multi-objective hyperparameter optimization.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Job PR-824-1 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-824/1/index.html

Thanks for the contribution!
@mseeger Who would be the best person to review this PR?

I can review it. I need to check with Valerio, who is also working on multi-objective contribution to AG

Job PR-824-2 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-824/2/index.html

In order to merge this in, please do address the remaining comments, and make sure the CI system runs through. It can somtimes fail for random reasons, then just trigger it again (by pushing a trivial change).

In order to merge this in, please do address the remaining comments, and make sure the CI system runs through. It can somtimes fail for random reasons, then just trigger it again (by pushing a trivial change).

Job PR-824-4 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-824/4/index.html

Job PR-824-4 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-824/4/index.html

Job PR-824-5 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-824/5/index.html

Job PR-824-5 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-824/5/index.html

Job PR-824-8 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-824/8/index.html

Job PR-824-9 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-824/9/index.html

Job PR-824-11 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-824/11/index.html

Job PR-824-10 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-824/10/index.html

Hello, I updated the pull request to address the comments. Please, let me know if everything looks alright to you. Thank you.


Create GuardDuty archival rule

https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_findings.html#guardduty_filter-findings

Closing as we don't have a good way to handle GuardDuty detectors for now - AWS only allows a single one per region, so we'd have to make assumptions about the state of the AWS account Stratus Red Team is running against


Build caching doesn't seem to be working 😢

IDK what broke it. Maybe something is wrong with the cache eviction script?

There is an experimental flag for generating informative binary logs + a tool for parsing those logs, but the tool doesn't seem to have any pre-built binaries available AFAICT, making it a bit tedious to set up...


Unable to log execution time (including response time) for method making an API request

I was trying to log method execution time for a method which makes an API request using Retrofit.
I wanted it to include the response time taken by the request into method execution time. Is there any workaround for this ?
@DebugLog
private void makeAPIRequest(){
apiService.getSomething().enqueue(new Callback<APIResponse>() {
          @Override
          public void onResponse(Response<APIResponse> response, Retrofit retrofit) {
                           //Do something
          }

          @Override
          public void onFailure(Throwable t) {
                           //Do something
           }
     });
}

Hugo logs only the time it takes for a method to execute. Because Retrofit uses background threads to asynchronously handle the HTTP call the enclosing method returns very quickly. For anything like this, not just Retrofit, you need to handle measuring timing yourself or use some other means. Retrofit, for example, can use OkHttp which has a logging-interceptor that can log the time between request and response.

@JakeWharton I want to calculate the retrofit request time and I find there are two headers exist: "OkHttp-Sent-Millis", "OkHttp-Received-Millis" I want to use it ,but sometimes it's gone .Do you have some idears?


typo: Double word "an"

@nschonni : Thanks for your contribution! The author, @barbkess, has been notified to review your proposed change.

@barbkess @billmath there was a merge conflict in this file (likely because of mixed line endings), so I took the changes from the last merge. You might want to review that I picked the right content

@nschonni : This file has recently moved to manage-apps/customize-application-attributes and I don't see the "an an" typo in the current file.  Thanks for sending this, but I think the best thing is to close the PR without merging.

@nschonni : So sorry, I was looking at the wrong file.

@nschonni : You're right, that page is mixed up.  It happened in our merging, so I went back and re-submitted the page based on the way it was (plus some link updates) before the merge.  I think its better if I submit this through our internal repository.  So, I created a PR that will be merged in on Monday.  Thanks for your help with this.
#please-close

@barbkess not a problem

@nschonni : Thanks!


Need compatibility with Storage Cluster

I've ran your script on a single NAS and it works beautifully. However when I run it on a High Availability Cluster it only seems to affect the Active Server. I could just make the passive server active and run the script again but it's a production environment. Any thoughts on this? I'm happy to test things after hours etc and thank you so much for writing this you're amazing!

If I understand this Synology page correctly there's no network access to the passive server (until it becomes the active server).
It's a pity you can't temporarily connect another cable to the passive server to SSH in and run the script.
I think the safest option would be to wait until after hours and make the passive server active and run the script again.
Make sure you run the script with the -n option to prevent DSM updating the compatible drive database.
I would normally suggest scheduling the script to run at boot in case DSM updates itself... but I suspect in a production environment you'd have DSM set to not auto update.


Add missing secret options to example configuration

While setting up a new instance I noticed some configuration options were missing in the example configuration related to the secrets used by express-session. Anvil Connect will not work properly without these.

For now I've removed this file. Future versions will likely generate a config file with defaults in the event one is not found, while initializing new projects currently does generate a file.
Thanks for all these PRs today. Feels like we made some good progress.


max steps option disappeared

since last update (<IP_ADDRESS>) the option to set a max number of steps disappeared

The version <IP_ADDRESS> is still rolling out. Can you explain in more detail what you mean by the option as disappeared. Can you add few screenshots please

Here should be the limit steps toggle

@RamonGO , is there any different between the 2 visuals that you have on your report i.e., different measures etc?
I shouldn't happen but can I ask you to recreate the visual that is not working and check if that helps

I just discovered that it is because of the drilldown option...

If I use the drilldown option to see the two levels the limit step toggle disappear. It could make sense
Many thanks

User error no bug tofix


Add BitKeep Wallet to support Terra Dapps

Like MathWallet with chrome extension type.

@bitkeepwallet is your app? https://apps.apple.com/kr/app/bitkeep/id1395301115 can I test testflight version?

Yes Please
------------------ Original ------------------
From: Seo Yeon, Lee @.>
Date: Thu, Aug 12, 2021 4:55 PM
To: terra-money/wallet-provider @.>
Cc: bitkeepwallet @.>, Mention @.>
Subject: Re: [terra-money/wallet-provider] Add BitKeep Wallet to support Terra Dapps  (#13)

@bitkeepwallet is your app? https://apps.apple.com/kr/app/bitkeep/id1395301115 can I test testflight version?

we will release this weekend to TestFlight with Terra supported.Then you can test it.

@bitkeepwallet I added a new option to support the chrome compatible wallet development. Please refer to these links.

Guide https://github.com/terra-money/wallet-provider/tree/feature/chrome-extension-compatible-wallets#for-chrome-extension-compatible-wallet-developers
PR https://github.com/terra-money/wallet-provider/pull/14

You can install the test version of wallet-provider
yarn add @terra-money/wallet-provider@canary # or @1.4.0-alpha.1

And make a test dApp for your wallet development
<WalletProvider
  dangerously__chromeExtensionCompatibleBrowserCheck={(userAgent) =>
    /BitKeep/.test(userAgent)
  }
>
  ...
</WalletProvider>


Fix Arbitrary instance for keys and values in DiffSeq benchmarks

Description
This is a fix related to benchmarks that were introduced in https://github.com/input-output-hk/ouroboros-network/pull/3997.
In the DiffSeq benchmarks, we set out to generate keys and values as uniformly random 32-byte and 64-byte ShortByteStrings respectively, which model 32-byte and 64-byte cryptographic hashes, by generating and packing 32 and 64 Word8s respectively:
newtype Key = Key ShortByteString
newtype Value = Value ShortByteString

instance Arbitrary Key where
  arbitrary = Key . B.pack <$> replicateM 32 arbitrary

instance Arbitrary Value where
  arbitrary = Value . B.pack <$> replicateM 64 arbitrary

However, in Quickcheck (2.14.2), the Arbitrary instance for Word8 is:
instance Arbitrary Word8 where
  arbitrary = arbitrarySizedBoundedIntegral
  shrink    = shrinkIntegral

where arbitrarySizedBoundedIntegral is:
-- | Generates an integral number from a bounded domain. The number is
-- chosen from the entire range of the type, but small numbers are
-- generated more often than big numbers. Inspired by demands from
-- Phil Wadler.
arbitrarySizedBoundedIntegral :: (Bounded a, Integral a) => Gen a

This means that we are currently not picking keys and values from a uniform distribution. Instead, we should use:
-- | Generates an integral number. The number is chosen uniformly from
-- the entire range of the type. You may want to use
-- 'arbitrarySizedBoundedIntegral' instead.
arbitraryBoundedIntegral :: (Bounded a, Integral a) => Gen a

So, now we have:
instance Arbitrary Key where
  arbitrary = Key . B.pack <$> replicateM 32 arbitraryBoundedIntegral

instance Arbitrary Value where
  arbitrary = Value . B.pack <$> replicateM 64 arbitraryBoundedIntegral

Changes in benchmark results
Performance gains decrease with respect to previous results as listed in https://github.com/input-output-hk/cardano-updates/blob/consensus/update-2022-08-31/posts/2022-08-31-consensus.markdown. Still, speedups are in the range of [3.33, 4.75] across the different configurations.

Configuration
Implementation
Mean CPU time
2*Stdev (CPU time)

Default
AntiDiff
2.974 s (0.26x)
273 ms

Default
LegacyDiff
11.416 s
11 ms

No switches
AntiDiff
2.553 s (0.24x)
156 ms

No switches
LegacyDiff
10.838 s
65 ms

Only small switches
AntiDiff
2.442 s (0.21x)
14 ms

Only small switches
LegacyDiff
11.760 s
331 ms

No switches, larger flushes (every 100 pushes)
AntiDiff
2.261 s (0.30x)
45 ms

No switches, larger flushes (every 100 pushes)
LegacyDiff
7.531 s
612 ms

Checklist

Branch

[x] Commit sequence broadly makes sense
[x] Commits have useful messages
[x] New tests are added if needed and existing tests are updated
[x] If this branch changes Consensus and has any consequences for downstream repositories or end users, said changes must be documented in interface-CHANGELOG.md
[x] If this branch changes Network and has any consequences for downstream repositories or end users, said changes must be documented in interface-CHANGELOG.md
[x] If serialization changes, user-facing consequences (e.g. replay from genesis) are confirmed to be intentional.

Pull Request

[x] Self-reviewed the diff
[x] Useful pull request description at least containing the following information:

What does this PR change?
Why these changes were needed?
How does this affect downstream repositories and/or end-users?
Which ticket does this PR close (if any)? If it does, is it linked?

[x] Reviewer requested

I think the comment you wrote in this PR is excellent. We should include part of the rational for using arbitraryBoundedIntegral here, otherwise, this knowledge might get lost (even though it might be in the git history).

Good point. The rationale is that we try to simulate a consensus workload as best as possible. In this case, we are simulating operations on a sequence of UTxO (i.e., key-value pairs) differences. UTxO keys are 32-byte cryptographic hashes, where each hash is equally likely to occur, and so if we generate random UTxO-like keys, we should ensure that we pick the keys uniformly random from the whole range of possible 32-byte keys. Previously, we were using arbitrarySizedBoundedIntegral to generate the keys:  though this picks from the full range of 32-byte keys, it does not pick from a uniform distribution because smaller keys are more likely to be picked. arbitraryBoundedIntegral does pick from a uniform distribution, so that is the change we made.

I think the comment you wrote in this PR is excellent. We should include part of the rational for using arbitraryBoundedIntegral here, otherwise, this knowledge might get lost (even though it might be in the git history).

Good point. The rationale is that we try to simulate a consensus workload as best as possible. In this case, we are simulating operations on a sequence of UTxO (i.e., key-value pairs) differences. UTxO keys are 32-byte cryptographic hashes, where each hash is equally likely to occur, and so if we generate random UTxO-like keys, we should ensure that we pick the keys uniformly random from the whole range of possible 32-byte keys. Previously, we were using arbitrarySizedBoundedIntegral to generate the keys: though this picks from the full range of 32-byte keys, it does not pick from a uniform distribution because smaller keys are more likely to be picked. arbitraryBoundedIntegral does pick from a uniform distribution, so that is the change we made.

I was a bit vague about what I meant by "here" :grimacing: I think we should have put this as a comment in the code. Do you think that makes sense @jorisdral ? If so, could you submit a tiny PR?


Come up with strategies for retrying failed work.

I'll plant ideas as they arrive.

Idea number 1
Add an additional property to the withJobs options object.
withJob(() => 'foo', { retryCount: 3 })

@smirea - thoughts here?
This case can't be covered by the new shouldWorkAgain config item, as the error could occur on first run (mount).  Perhaps having a simply retryCount is best?
The retry count would then also be valid for when work is run again due to shouldWorkAgain

i was thinking about this as well. Do you think retrying should be part of this library?
There are definitely a bunch of features react-jobs could support, but this is also another thing that's not complicated for an user to implement by themselves that's tailor to their exact implementation:

timeout between retries?
progressive fall-back?
only retry for specific errors? (no point retrying for 404s, but maybe for some 500s)

We could guess what would be a good balance between MVP and what to support, my thoughts on this more go along the lines of show examples in the README on how achieve this instead of baking it in

Bang on again!
https://github.com/sindresorhus/p-retry 👈 👍

Added example. :)


Fix scanLine to handle quotes properly

Quotes are handled differently in the line protocol depending on when
they are encountered. Quotes in field values matter, quotes anywhere
else don't.
scanLine() didn't understand this difference and treated all quotes
the same as ones for tag values. This resulted in scanLine() reading
the wrong amount of data sometimes when quotes were involved.
This fixes #5204.

@jwilder @dgnorton

:+1:

+1


Subscribe to an array of event names / wildcard definitions

The bus should allow to subscribe to a list of events.
Example:
  const state = useBusReducer.configure({
    subscriber: (dispatch, bus) =>  bus.subscribe(["task.**", "signout"], dispatch)
  })(reducer, InitialState);

This his helpful in scenarios as above, where the reducer needs to know about a certain event like "signOut" that is not been raised under the event name prefix "task" in order to clean up the state etc.

Sounds great. One idea not attached to it though. Would it be good to provide a functional subscriber to remove the boilerplate?
  const state = useBusReducer.configure({
    subscriber: eventSubscriber("task.**", "signout")
  })(reducer, InitialState);

+1 for the functional subscriber. And I think the name is good.


Implement unpack_preserving_xattrs() functions

First commit adds two new functions:
pub fn Archive::unpack_preserving_xattrs<P: AsRef<Path>>(&mut self, dst: P) -> io::Result<()>
pub fn Entry::unpack_preserving_xattrs<P: AsRef<Path>>(&mut self, dst: P) -> io::Result<()>

This functions have a similar behavior as unpack(), but preserves extended
file attributes. That also means, that this function shouldn't works if dst
is placed in pseudo file systems.
I decided to use a separate function due to the fact that adding support for extended
attributes makes it impossible to extract data in tmpfs or other pseudo-fs.
This limits the scope of function; besides gnu tar, for example, also requires
a separate argument for preserving xattrs. Adding a flag to the unpack() would
break backward compatibility.
Second commit adds two simple tests for these functions

What should I write in cargo.toml to disable xatrr on Windows?

Thanks! You can have a platform-specific dependency like:
[target.'cfg(unix)'.dependencies]
xattr = "..."

Ah ok, then in that case we should probably follow the same behavior as tar and not do it by default. I'd personally prefer to avoid unpack and unpack_foo method duplication, so perhaps an option could be set somewhere? Like maybe Archive::set_unpack_xattrs which just sets a boolean flag.
We'd probably also want it to be a unix-specific extension trait, but I can take care of that part as well.

Thanks for the clarification!
Corrected code according to your suggestions.

Oh oops I rebased so it didn't merge automatically, but I've now pushed this to master!

Thank you!


Poison shapes can cause desync.

If a client creates a "big" shape (something with 2000+ characters worth of points) and then follow it up with another "big" shape, the second big shape sometimes does not sync. It also "blocks" any future syncs until this shape is deleted on the client that created it. Any idea of what's happening?

Some notes:

This bug is found both on the 0.12.x and v0.13.0.beta.1.
In an earlier implementation, I was storing the whole document state in a single LiveObject. After a refactor, I am storing shapes in a LiveMap. The bug happens in both cases.

Hi Steve,
The issue was due to a limit in our key-value store.
Each LiveObject had a limit of 32 KiB (not including nested live objects).
In your case, a shape with 2000+ points, when each point contains three numbers, would reach the 32 KiB limit.
The limit was increased to 128 KiB, so your app should now handle shapes with more points.
In the future, we will add a new "Live" type (for example LiveBlob) that will handle a much bigger object size.

Thanks for the update!


Simple cubic spline interpolation?

Hi!
How about adding a very simple cubic spline interpolator without concepts of B-splines, knots and so on?
Specifically I'm talking about piecewise cubic polynomials between given x[i] as described here https://en.wikiversity.org/wiki/Cubic_Spline_Interpolation and what provided in MATLAB http://www.mathworks.com/help/matlab/ref/spline.html
The idea is to put it in Univariate interpolation section as a counterpart to PchipInterpolator and Akima1DInterpolator. I think that a user would generally expect to find this simple interpolation algorithm here, but instead he gets quite complicated B-spline magic.
I would be happy to work on the implementation too.

Sounds like a good idea. I actually thought we had cubic splines. But if we don't, that clearly has to be remedied.

For clarification: you can get a cubic spline using InterpolatedUnivariateSpline. But what it does is not what people usually learn about cubic splines. Questions I immediately had:

Where are these coefficients of cubic polynomials for each segment?
What are knots? Why they don't match my x[i]?

Turned out that B-splines operate in quite a different way, which I'm sure has a lot of advantageous. But if you want to know the interpolating function between x[i] and x[i+1]  explicitly, you probably want to use standard cubic splines.

B-Splines are good for fitting as they don't require continuity constraints, and for equally spaced points they have a nice Fourier transform (powers of sinc). However, for a simple interpolation through fixed sample points with cubics they may be overkill. The number of people who know about b-splines as opposed to "ordinary" splines is also significantly less, so in my experience there can be communication problems when b-splines are used... I'm happy with b-splines myself, but there may be room for simple cubic splines, or maybe a conversion from b-splines to piecewise polynomials of the traditionaly sort.
@nmayorov You probably need to explicitly specify the knots. IIRC, the software package scipy uses tries to choose optimum knot locations by default and can find itself in strange territory. Finding optimum knot locations is an open problem even today...

Cubic splines are easy to understand and simple to use. Also IIRC they are easily fitted by solving a tridiagonal system, which we can do with LAPACK *gttrs subroutines.

The functionality exists today in a form of tck = splrep(x, Y, s=0); p = PPoly.from_spline(tck). The trick is to use s=0. Could it be any more obvious, right? :-).
gh-3174 takes spline fitting out of the picture so that it's spl= make_interp_spline(x, y) gives you an object with knots and coefficients, and converting to the power basis, `p = PPoly.from_spline(spl), still works. There might be room for adding a special code path for make_interp_spline with knots at data points (tridiag linear system and all).
IMO, the functionality is there, but the exposure has lots to be desired.

@ev-br, I tried your recipe like this:
x = np.array([0, 1, 2, 3, 4], dtype=float)
y = np.array([0, 2, 3, -1, 10], dtype=float)
tck = splrep(x, y, s=0)
p = PPoly.from_spline(tck)
print(p.x)

[ 0.  0.  0.  0.  2.  4.  4.  4.  4.]

Well, again I'm very confused...
I'm not saying that something is wrong in implementation of FITPACK's B-splines, but it is designed with a different goal in mind, and you need to be pretty involved in the topic to really get how it works and what it returns.
So I still want to implement CubicSplineInterpolator for simple purposes.

splrep runs adaptive knot selection, which is not what is usually expected. splmake might be more expected, but its implementation is not ok (full matrices), and make_interp_spline in gh-3174 is also more naive/predictable here iirc.

Yes, it takes a while to get used to the fitpack representation (it surely did take me a while to).
[Shrug].
It might be fine to have a factory function creating a PPoly instance (or a PPoly subclass similar to Akima1DInterpolator,) which constructs the coefficients as an interpolating cubic spline directly in the piecewise polynomial basis. linalg.solve_banded handles tridiag systems from version 0.16 IIRC.
If this is added, I) it should be very clearly documented as working in the pp basis, 2) some thought should be given upfront on handling boundary conditions. These should be transparent to users.

Implemented in gh-5653, so closing. BTW Nikolay, do you know about this but if GH magic: https://help.github.com/articles/closing-issues-via-commit-messages/


Retag wheels to be cpXY

Fixes https://github.com/rapidsai/cucim/issues/641
After building the wheels, this...

Creates the tag string from cp (CPython) and the python's version
Uses the tag string to replace the python_tag and abi_tag
Removes the previous wheels while performing this conversion
Hands them to auditwheel for final steps

/merge

Thanks all! 🙏


DOM API Parity bug: appendChild must remove the node from the previous parent's childNodes

Hi there! First of all, I wanted to say thank you for building this lib -- looks super useful. I stumbled upon it while trying to replace jsdom because of its 100 dependencies. Please feel free to close this issue if replacing jsdom is not an actual goal of this lib.
I'm trying to combine linkedom with @mozilla/readability. Line 1251 of Readability.js in particular got me into an infinite loop. Rehashing the critical lines, the code looks like this:
while (someElement.childNodes.length) {
  anotherElement.appendChild(someElement.childNodes[0])
}

At first, I was a little confused about this, how can length change... but from the appendChild documentation, it seems like the DOM implementation updates the array of the previous parent's childNodes -- thus the length of the array with children gets reduced over time.
Maybe I should suggest a patch to the maintainers of @mozilla/readability? In any case, I wanted to let you know of this potential incompatibility! Again, thank you for all the awesome.

the node.remove() is called in here, so I wonder if you are using the cached version or not, as the childNodes is a getter, hence computed each time ... that means, if you trap childNodes once, you'll have issues, but if you don't, as your while loop suggest, everything should be fine ... in any case, it's not a goal so far of this library to fully reflect live collections, as there are more a mistake than a feature of the platform, indeed listed as legacy in the specification itself.

so, yeah https://github.com/mozilla/readability/blob/master/Readability.js#L1249-L1252
var children = articleContent.childNodes;
while (children.length) {
  div.appendChild(children[0]);
}

live collections ... a legacy mess of the platform ... a few ways to solve that (also a more common way)
// use append
div.append(...articleContent.childNodes);

// or use firstChild
while (articleContent.firstChild) {
  div.appendChild(articleContent.firstChild);
}

// or use a for loop over a slice
var children = [].slice.call(articleContent.childNodes);
for (var i = 0; i < children.length; i++)
  div.appendChild(children[i]);
}

In few words, live collections are bad, perform poorly, and usually are a footgun so I don't think this will ever land in LinkeDOM, hence I suggest you file that issue, while I'll put this different behavior in the README, or think if live collections should re-evaluate each time their length each time length is accessed ... but it's a bit meh, imho

@eordano I've updated the README with a FAQ session https://github.com/WebReflection/linkedom#faq
this is the first FAQ worth it a top place in there, but I hope it's clear what's going on, and why LinkeDOM here doesn't plan to support that.

Thank you!


Error: No module named 'psycopg2' using installer

Deployment Method

[X] Installer
[ ] Docker Development
[ ] Docker Production
[ ] Bare metal Development
[ ] Bare metal Production
[ ] Digital Ocean image
[ ] Other (please provide a link Steps to Reproduce

Describe the problem*
When running the installer on a fresh ubuntu 20.40 LTS version, there is an issue when using postrgresql db. It seems that it miss a postqresql dependancy that is not installed. Probaby these package: https://docs.inventree.org/en/0.11.0/start/install/#postgresql
Steps to Reproduce
https://docs.inventree.org/en/0.11.0/start/installer/
Relevant log output
File "/opt/inventree/env/lib/python3.8/site-packages/django/core/management/__init__.py", line 237, in fetch_command
    app_name = commands[subcommand]
KeyError: 'dbbackup'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "manage.py", line 23, in <module>
    execute_from_command_line(sys.argv)
  File "/opt/inventree/env/lib/python3.8/site-packages/django/core/management/__init__.py", line 419, in execute_from_com
mand_line
    utility.execute()
  File "/opt/inventree/env/lib/python3.8/site-packages/django/core/management/__init__.py", line 413, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/opt/inventree/env/lib/python3.8/site-packages/django/core/management/__init__.py", line 244, in fetch_command
    settings.INSTALLED_APPS
  File "/opt/inventree/env/lib/python3.8/site-packages/django/conf/__init__.py", line 82, in __getattr__
    self._setup(name)
  File "/opt/inventree/env/lib/python3.8/site-packages/django/conf/__init__.py", line 69, in _setup
    self._wrapped = Settings(settings_module)
  File "/opt/inventree/env/lib/python3.8/site-packages/django/conf/__init__.py", line 170, in __init__
    mod = importlib.import_module(self.SETTINGS_MODULE)
  File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 848, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/opt/inventree/InvenTree/InvenTree/settings.py", line 463, in <module>
    from psycopg2.extensions import (ISOLATION_LEVEL_READ_COMMITTED,
ModuleNotFoundError: No module named 'psycopg2'

After some discussion with @matmair, it seems that the current installer doesn't handle automatically the installation of the client package for the DB. That means that before running the installer script, you should install manually the python binding listed here : https://docs.inventree.org/en/latest/start/install/#install-python-bindings
The doc should explicity warn the user to setup the db python-binding before running the script.
Because for now, the way that the doc is structured, gives the impression that the installer script does all the required job for us, which is not the case.

@Vultik can you submit a PR with an update to the docs as you say?

@Vultik I'm going to close this out as complete, but keen for you to submit an update to the docs :)


Can't seem to find a way to use an auto scale axis

I looked at the API docs for regular version of chartist, and the method of selecting an autoscale x axis doesn't appear to be available in the wrapper.  Inspecting the source code, it seems that a chart is created by default with a numeric y axis and a stepped x axis, with no means of overriding that.
Am I missing something here?  If not, at there plans to expose the different axis types via the react wrapper?

I'm having this issue, too. Specifically, I am doing the following:
return (
    <ChartistGraph data={chartData}
        options={{
            axisX: {
                type: Chartist.AutoScaleAxis,
                onlyInteger: false
            }
        }}
        type={'Line'} />
);

This is in line with the examples in the documentation.

Same issue here. Is this being maintained?

I am setting the scale with this shortcut
options{ high: Math.max( ...array ) }
with array being the series values, if you have to series Math.max( [...array, ...array2] ) should work

chartist is a dependency of this project and that's where you can access all the options. Import the chartist package and use it thusly:
import React from 'react'
import Chartist from 'chartist'
import ChartistGraph from 'react-chartist'

function MyChart(props) {
  return (
    <ChartistGraph
      type='Line'
      data={props.data}
      options={{
        axisX: {
          type: Chartist.AutoScaleAxis,
          onlyInteger: true
        }
      }}
    />
  )
}


Add created() lifecycle method for agents

Describe the solution you'd like
Similar to mounted() for components, created() for agents should run after create() and the agent is ready for normal operation.
Describe alternatives you've considered
The lack of this feature causes two disadvantages:

Agents using other agents must message the other agents in create() before they're ready to receive responses.
When an agent retains a reference to another agent, and that other agent is sent its only message in create(), it's never accessed and results in warning: field is never read being generated.

An agent lifecycle method would resolve both of those issues.

Agents using other agents must message the other agents in create() before they're ready to receive responses.

I don't really follow what your use-case is here. It seems to me that this is easily managed by the existing API. Can you provide an example?

When an agent retains a reference to another agent, and that other agent is sent its only message in create(), it's never accessed and results in warning: field is never read being generated.

This warning can be ignored by prepending the field name with an underscore. I don't think it's a big enough reason

It may be unnecessary however I first need to verify something about how agents work:
AgentB, in its create, sends a message to AgentA. (to subscribe to several notifications)  Is it guaranteed that if AgentA immediately begins sending messages to AgentB that the messages will be enqueued until AgentB's create completes and then delivered without loss?


configuration/http_filters/router_filter.md

原文：https://github.com/servicemesher/envoy/tree/master/configuration/http_filters/router_filter.md


project synchronous

Pull Request Test Coverage Report for Build 7

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 33.111%

Totals

Change from base Build 3:
0.0%

Covered Lines:
348

Relevant Lines:
1051

💛  - Coveralls


apvlv: 0.1.5 -> 0.5.0

Description of changes
https://github.com/naihe2010/apvlv/compare/v0.1.5...v0.5.0-final
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

@ofborg build apvlv


No icons in the CMake Project Outline

Brief Issue Summary
The CMake Project Outline has no icons

CMake Tools Diagnostics
No response
Debug Log
No response
Additional Information
No response

I fixed it with #3169


"Wage by Location" not loading on Chrome in Windows

once we do the next Thursday update, we should ask Daniel Byler if this issue still persists

I just tested that this is working in Chrome, in Windows 8, run through Parallels.