Cafe Menu Steps 13: Instructions are not clear

Describe the Issue
In step 13 the tests will fail if the two new selectors aren't added to the existing style element but this is not made clear in the instructions. If the user adds the selectors in a new style element then the hint they receive is not accurate.
Affected Page
https://www.freecodecamp.org/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-13
Your code
This is valid code but is not what the tests are expecting and thus fails.
<style>
      h1 {
        text-align: center;
      }
    </style>
    <style>
      h2 {
        text-align: center;
      }
    </style>
    <style>
      p{
        text-align: center;
      }
    </style>

The hint for this is "You should add a new h2 selector" which is not accurately stating the real problem (that the tests want the new selectors to be in the same style element as the h1).
Expected behavior
If we do want to enforce that all of these selectors should be in the same style element then update the instructions to make that clear. Also, add additional test to check for this and give an appropriate hint.
Screenshots
No response
System

Device: Desktop
OS: Linux (Fedora 36)
Browser: Firefox
Version: 104.0.2

Additional context
No response

I guess I should offer a suggestion for the new wording on the instructions.

In the previous step, you used a type selector to style the h1 element. Using this same style element, center the h2 and p elements with a new type selector for each one.

Describe the Issue
In step 13 the tests will fail if the two new selectors aren't added to the existing style element but this is not made clear in the instructions. If the user adds the selectors in a new style element then the hint they receive is not accurate.
Affected Page
https://www.freecodecamp.org/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-13
Your code
This is valid code but is not what the tests are expecting and thus fails.
<style>
      h1 {
        text-align: center;
      }
    </style>
    <style>
      h2 {
        text-align: center;
      }
    </style>
    <style>
      p{
        text-align: center;
      }
    </style>

The hint for this is "You should add a new h2 selector" which is not accurately stating the real problem (that the tests want the new selectors to be in the same style element as the h1).
Expected behavior
If we do want to enforce that all of these selectors should be in the same style element then update the instructions to make that clear. Also, add additional test to check for this and give an appropriate hint.
Screenshots
No response
System

Device: Desktop
OS: Linux (Fedora 36)
Browser: Firefox
Version: 104.0.2

Additional context
No response

i have and idea we can change the hint to say something like "use two seperate selectors for type : h2 and the paragraph tag" if no one is working on the issue i wold like to give it a try .


[Question] How to pause recording on media buffering and re-record after media is loaded

Hello team,
Thank you so much for this awesome NPM.
Currently, I am facing an issue, which is -  I am recording and video by HTML video editor (which is developed by my team), there are lots of media is running at the same time. The issue is when I am recording the video, my media is buffering to load in the browser and it is also recorded, so I want to pause the recording on buffering time, and after properly loading my media starts re-recording.
Please suggest to me how to pause recording for some time and start it again.
Please let me know if any input you need from my end.
Thanks in advance :)

It could be possible to use the .pause() function of the MediaRecorder api, which this package uses to record the webpage:
https://developer.mozilla.org/en-US/docs/Web/API/MediaRecorder/pause
But you would have to look into the source code of this package to make it work.


Python's own OpenSSL conflicts with OpenSSL in Node.js 16 on Ubuntu 22.04

pymport('numpy') on Node.js 16.x / Ubuntu 22.04 leads to a crash because of conflict between the two OpenSSL versions

Temporary solution is to either use Node.js 18.x or Ubuntu 20.04

This problem does not have a solution - if pymport is built against an existing Python library built itself against OpenSSL 3.0 - as is the case with the system-provided Python on Ubuntu 22.04 - this won't be compatible with Node.js 16.x which contains OpenSSL 1.1 with exported symbols.
The only possible solutions are:

Use the builtin Python interpreter
Use Node.js 18 or later
as a last resort, if Node.js 16.x is absolutely required, rebuild Python to use OpenSSL 1.1


Always recreate the containers when using docker-compose in tests

What does this PR do?

Always recreate the containers when using docker-compose in tests
Motivation

Second PR for https://datadoghq.atlassian.net/browse/AITOOLS-71 (first one: https://github.com/DataDog/integrations-core/pull/13675)
Thanks to that, docker compose won't fail if a container with this name already exists but will recreate it instead.

Additional Notes

To rest it:

Run ddev env start cloudera py3.8
Run docker stop dd_cloudera_py3.8 cloudera or or reboot the docker daemon/your computer
Run ddev env start cloudera py3.8 -> it should work

Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] PR title must be written as a CHANGELOG entry (see why)
[ ] Files changes must correspond to the primary purpose of the PR as described in the title (small unrelated changes should have their own PR)
[ ] PR must have changelog/ and integration/ labels attached
[ ] If the PR doesn't need to be tested during QA, please add a qa/skip-qa label.

I guess if we want the containers to persist, we do it outside of automated tests in custom setups.

They do persist if they're stop. With this option we recreate them in case you're re-running the start command


Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
Sometimes in Android when loading a local video in the player it is not load, This issue no happen ever but may feel bad behavior in the UX.
I share the code whit an example and a video with the evidence.
import React, { useEffect, useCallback } from 'react';
import { StyleSheet, Platform } from 'react-native';
import {
  usePlayer,
  SourceType,
  PlayerView,
} from 'bitmovin-player-react-native';
import Config from 'react-native-config';

export const Video = () => {
  const player = usePlayer({
    licenseKey: Config.BITMOVIN_LICENSE_KEY,
  });

  useEffect(() => {
    player.load({
      url: 'http://<IP_ADDRESS>:52989/storage/emulated/0/Android/data/com.pentheraexample/files/virtuoso/media/0708724C-D140-43FE-9002-0B2B5C1C5DE6/playlist.mpd',
      type: Platform.OS === 'ios' ? SourceType.HLS : SourceType.DASH,
      title: 'Test title',
      poster: 'https://bitmovin-a.akamaihd.net/content/MI201109210084_1/poster.jpg',
      isPosterPersistent: false,
    });
    return () => {
      player.destroy();
    };
  }, [player]);

  const onReady = useCallback(
    (event) => {
      // Start playback
      player.play();
      // Print event timestamp
      console.log(event.timestamp);
    },
    [player]
  );

  const onSourceError = useCallback((event) => {
    console.log({ 'onSourceError: ': event });
  }, []);

  const onSourceLoaded = useCallback((event) => {
    console.log({ 'onSourceLoaded: ': event });
  }, []);

  return (
    <PlayerView
      style={styles.flex1}
      player={player}
      onReady={onReady}
      onSourceError={onSourceError}
      onSourceLoaded={onSourceLoaded}
    />
  );
};

const styles = StyleSheet.create({
  flex1: {
    flex: 1,
  },
});

Expected Behavior
It is expected that whenever a local url is passed the video can be played normally.
Steps To Reproduce
No response
What platform(s) are you experiencing the issue on?

[X] Android
[ ] Android TV / Fire TV
[ ] iOS
[ ] tvOS

Player React Native SDK version
0.6.0
Device / Environment
No response
Stream URL (Optional)
http://<IP_ADDRESS>:52989/storage/emulated/0/Android/data/com.pentheraexample/files/virtuoso/media/0708724C-D140-43FE-9002-0B2B5C1C5DE6/playlist.mpd
Additional information / Code snippets / Screenshots
I attach evidence with this behavior.
https://github.com/bitmovin/bitmovin-player-react-native/assets/44488463/5d3b4cbf-0e62-4921-8174-2f46e7921435

Hi guys any news on this ticket?
thanks and regards.

Hi @sebasgarcia29 & @jonathanm-tkf,
Thanks for reporting this issue & apologies for the delay here. This looks very similar to #163.
We've recently released v0.8.0, which contains a fix/workaround for this (see https://github.com/bitmovin/bitmovin-player-react-native/pull/174 for more details).
Can you still reproduce this with the latest version?
Chris

Hi @christophaigner  currently still happening in the latest version, unfortunately.


Issue Loop with complex parameter

Bicep version
0.2.328
I have been trying to get the Loop function to work to generate AccessPolicies for the Key Vault.
I have a complex parameter structure that works in other area's but it seems to have an issue when referencing a key value pair within the array it is looping over.
The resulting ARM template looks fine but I still get this error. Once I replace the properties in the BICEP template with fixed values, it seems to be fine even though that the ARM template still has the copy feature.
I have been staring at this for soo long now, any help of guidance is greatly appreciated.
The Error
The deployment 'general_infra' failed with error(s). Showing 1 out of 1 error(s). Status Message:
At least one resource deployment operation failed. Please list deployment operations for details.
Please see https://aka.ms/DeployOperations for usage details. (Code: DeploymentFailed)  -
 { "error":{ "code": "InvalidTemplate",
"message": "Unable to process template language expressions for resource '/subscriptions/....-7a3dfa22309f/resourceGroups/GENERAL-KEYVAULT-TST/providers/Microsoft.KeyVault/vaults/general-keyv-tst' at line '1'and column '519'.
'The language expression property 'tenantId' doesn't exist, available properties are ''.'",     "additionalInfo": [       {
 "type":"TemplateViolation",
 "info": {           "lineNumber": 1,           "linePosition": 519,           "path": ""         }       }     ]   } } (Code:BadRequest)

Bicep Key Vault module
param KEY_VAULT_SETTINGS object
param Environment string

resource symbolicname 'Microsoft.KeyVault/vaults@2019-09-01' = {
  name: KEY_VAULT_SETTINGS.Name
  location: resourceGroup().location
  tags: {}
  properties: {
    tenantId: subscription().tenantId
    sku: {
      family: 'A'
      name: KEY_VAULT_SETTINGS.SKU_Tier
    }
    accessPolicies: [for policies in KEY_VAULT_SETTINGS.ap: {
      tenantId: policies.tenantId
      objectId: policies.objectId
      permissions: {
        keys: [
          'list'
          'get'
        ]
        secrets: [
          'list'
          'get'
        ]
        certificates: [
        ]
        storage: [
        ]
      }
    }]
    enabledForDeployment: false
    enabledForDiskEncryption: false
    enabledForTemplateDeployment: true
    enableSoftDelete: true
    softDeleteRetentionInDays: 90
    enableRbacAuthorization: false
    createMode: 'default'
  }
}

JSON Parameter File Snippet
"KEY_VAULT_SETTINGS": {
            "Name": "general-keyvault-tst",
            "SKU_Tier": "Standard",
            "ObjectID": "...-42e86bd9b3c2",
            "ap": [
                {
                    "tenantId": "...-bbeb1b05885e",
                    "objectId": "...-42e86bd9b3c2",
                    "keys_permissions": [
                        "get",
                        "list"
                    ],
                    "secrets_permissions": [
                        "get",
                        "list"
                    ]
                },
                {
                    "tenantId": "....-bbeb1b05885e",
                    "objectId": "....8006fef8602ea",
                    "keys_permissions": [
                        "get",
                        "list"
                    ],
                    "secrets_permissions": [
                        "get",
                        "list"
                    ]
                }
            ]
        }

Build Template JSON File Snippet
"template": {
          "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
          "contentVersion": "<IP_ADDRESS>",
          "parameters": {
            "KEY_VAULT_SETTINGS": {
              "type": "object"
            },
            "Environment": {
              "type": "string"
            }
          },
          "functions": [],
          "resources": [
            {
              "type": "Microsoft.KeyVault/vaults",
              "apiVersion": "2019-09-01",
              "name": "[parameters('KEY_VAULT_SETTINGS').Name]",
              "location": "[resourceGroup().location]",
              "tags": {},
              "properties": {
                "copy": [
                  {
                    "name": "accessPolicies",
                    "count": "[length(parameters('KEY_VAULT_SETTINGS').ap)]",
                    "input": {
                      "tenantId": "[parameters('KEY_VAULT_SETTINGS').ap[copyIndex('accessPolicies')].tenantId]",
                      "objectId": "[parameters('KEY_VAULT_SETTINGS').ap[copyIndex('accessPolicies')].objectId]",
                      "permissions": {
                        "keys": [
                          "list",
                          "get"
                        ],
                        "secrets": [
                          "list",
                          "get"
                        ],
                        "certificates": [],
                        "storage": []
                      }
                    }
                  }
                ],
                "tenantId": "[subscription().tenantId]",
                "sku": {
                  "family": "A",
                  "name": "[parameters('KEY_VAULT_SETTINGS').SKU_Tier]"
                },
                "enabledForDeployment": false,
                "enabledForDiskEncryption": false,
                "enabledForTemplateDeployment": true,
                "enableSoftDelete": true,
                "softDeleteRetentionInDays": 90,
                "enableRbacAuthorization": false,
                "createMode": "default"
              }
            }
          ]
        }

This issue can be closed. It turns out that I did not properly create the parameter object in combination that it seems that ARM doesn't support the creation of multiple AccessPolicies when you create a Key Vault.
A single Access Policy works but not a second one.
I have to create an issue, I think, for the creation of an AccessPolicy resource though BICEP. The name of the resource must be 'add', 'replace', 'delete' but when you build the ARM template it complains that the number of segments doesn't match.

@wvaneck I would also recommend upgrading to the latest Bicep version. We've had a few loop fixes and improvements in later releases.


Returned flow checks to CI

Test Plan:

see if flow checks don't crash Circle

By analyzing the blame information on this pull request, we identified @ide and @mkonicek to be potential reviewers.

Might wanna trigger a few rebuilds on Circle CI to be sure it works consistently. LGTM otherwise!

@bestander updated the pull request.

@avaly done

@facebook-github-bot shipit

Thanks for importing. If you are an FB employee go to Phabricator to review.


select cells on mousedown, so it works also when mouseup is fired on different cell ( from the same row )

this is needed, so for example, if you start to select the text content of a cell with the mouse, and the
mouseup will be on the next/prev cell from the same row, the selection is still set

Do we want to globally allow selecting multiple cells via the mouse? If so, do we also need to allow the same sort of selection via keyboard nav?

I think this is fixed with the newer touch event handling - the down event is on a specific cell, but the up event is anywhere on the document.  Suggest we can probably close this.


[REQ] Copy-Paste buttons in UI

Having the ability to copy a particular button in the UI and directly paste it to an empty button slot would be a big time-saver for me. Often I want to have near the same functionality for buttons in different pages, but with only slight differences.

Yeah that's definitely happening, don't know why I never thought of it to be honest

Do you need help with that? I can have a look.

Added in #19


tx pool tweaks to style, very minor copy edit

tweaks to style, very minor copy edit.
uses "1 idea, one line" convention over the 100 char limit.

I think I can understand where you're coming from but this would be a good opportunity to align on putting our style guide to practice. This "h3" convention doesn't match up the rest of the guides so I would lean towards consistency with the others. Thoughts on this one @lsgunnlsgunn 😃 ? Perhaps we can improve how these guidelines are articulated here..

Having a h3 follow h1 breaks a fundamental rule. Please don't do this. If you think you have a legitimate rationale for breaking this rule, please explain what it is. (If you just don't like the size of h2 or something, let's put that in the list of visual elements we might want to revisit. In most cases, most of your headings should be h2 level heads.


Check whole string in is_number

The stod test passed on strings that starts like a number ("1a", "0.3e23udonki"), producing errors on C++ compiling. Now the whole string must be a valid numeric representation.
Example:
PROCEDURE:
display 0.3e23udonki

Oof, that's right! This, however, breaks the possibility of doing STORE "15" in number-var, as per the spec, or not? In places where you could use a string as a number, the behaviour should remain unchanged 😕 could you check this?
Thank you very much for your wonderful contributions! 😄

(we spoke about this on the Telegram channel and Damián told me what I said shouldn't happen. I checked the code and he is right)
Accepting PR! Thank you very much for your contributions to the language!


go('check') on MacOS fails

When running go('check') in MacOS version, it aborts with the message
Abort trap:  6

Resolved with commit #35


Conversion of listnavs to Patternfly/Bootstrap

@skateman Please use these files as the basis for your conversions and include in your PR. Message me if you have any questions. Thanks.

@epwinchell can you show me an example where the listnav begins with a quadicon, I don't really know how it should look.

@epwinchell is it okay that in your example, more than one DIV has the same ID collapseOne?

@epwinchell, you're using 'data-target' => 'accordion', but because it should be 'data-target' => '#accordion'. By specifying data-target, only one panel can be expanded and we need to change the logic of selecting the default panel to expand when the page is loaded.

@skateman Great

followup issue: #1744


Custom exceptions should be private

Right now exceptions are defined as classes, like this:
class InvalidResourceSpecificationException(Exception):
    """ Pipeline interface resources--if present--needs default. """
    def __init__(self, reason):
        super(InvalidResourceSpecificationException, self).__init__(reason)

These will clutter our automatic API here: http://looper.readthedocs.io/en/latest/api.html
Can we define them private (with _ names) to exclude them from these public APIs?

Yeah good idea

https://github.com/epigen/looper/pull/122


Ferret crash after Ctrl-C when reading dataset

Reported by andrew wittenberg on 26 Dec 2012 22:07 UTC
Ctrl-C works as advertised and stops the data I/O -- until I try to issue the next command:
 	NOAA/PMEL TMAP
 	FERRET v6.84
 	Linux 2.6.32-279.14.1.el6.x86_64 64-bit - 12/18/12
 	26-Dec-12 17:02

yes? use "/net2/atw/archive/CM2.1U_Control-1860_D4/pp/atmos/ts/monthly/100yr/atmos.t_surf.nc"
 *** NOTE: Evenly spaced axis has edges definition: lon - ignored
 *** NOTE: Units on axis "nv" are not recognized: none
 *** NOTE: They will not be convertible:
yes? shade/y=0 t_surf
^C **TMAP ERR:
             Reading variable t_surf, interrupted from command line
             Data set: /net2/atw/archive/CM2.1U_Control-1860_D4/pp/atmos/ts/monthly/100yr/atmos.t_surf.nc
** INTERRUPTED! **
yes? shade/y=0 t_surf
ferret_v6.84: posixio.c:265: px_pgin: Assertion `*posp == ((off_t)(-1)) || *posp == lseek(nciop->fd, 0, 1)' failed.
Abort

Migrated-From: http://dunkel.pmel.noaa.gov/trac/ferret/ticket/2019

Comment by ansley.b.manke on 6 Feb 2013 18:32 UTC
A local example. Incorrectly ask to SHADE a 3-D variable, then hit Ctrl-C. Try same command and we get the abort.  Karl, I'm giving this one over to you.
Note that if we let the variable load, then it's in disk cache and the next time the script runs, it won't crash on the second "LOAD" but also the CTRL-C doesn't work.

yes? use "/home/data/socat/SOCAT_tracks_gridded_stats_AD.nc"
yes? sh dat
     currently SET data sets:
    1> /home/data/socat/SOCAT_tracks_gridded_stats_AD.nc  (default)
 name     title                             I         J         K         L         M         N
 COUNT_CRUISE
          Number of cruises                1:360     1:180     ...       1:480     ...       ...
 FCO2_CRUISE_AVE
          fco2 mean - per cruise weighted  1:360     1:180     ...       1:480     ...       ...
(etc)

yes? set mem/siz=300
 Cached data cleared from memory
yes? shade LON_OFFSET_UNWTD
 **ERROR: variable unknown or not in data set: LON_OFFSET_UNWTD
yes?
yes? shade FCO2_CRUISE_AVE
^C  **TMAP ERR:
             Reading variable FCO2_CRUISE_AVE, interrupted from command line
             Data set: /home/data/socat/SOCAT_tracks_gridded_stats_AD.nc
** INTERRUPTED! **

yes? shade FCO2_CRUISE_AVE
ferret: posixio.c:286: px_pgin: Assertion `*posp == ((off_t)(-1)) || *posp == lseek(nciop->fd, 0, 1)' failed.
Abort

Comment by karl.smith on 7 Nov 2013 16:41 UTC
Added ignoring any more Ctrl-C entries while processing the Ctrl-C to PyFerret code (in conjunction with ticket #1904).  I will also make this change in Ferret code and see where this issue stands.

Comment by karl.smith on 7 Nov 2013 23:51 UTC
The problem is that the opened netCDF file (opened in the "USE ..." command) is in a corrupted state after the Ctrl-C interruption of the read statement.  Ansley and I checked but did not see netCDF file equivalent to a Fortran REWIND to clear this error.  The nc_sync command appears to be strictly for writing.
I think the only solution for recovering from this is to close the netCDF file and then reopen in.  If we were sure the netCDF ID for the file remained the same, then this could be done at the point in the read-variable code where the interrupt was caught.  But if the netCDF ID changes, then either the close and open needs to be done further up the chain, or we need to make sure the new ID (which would be handed back, since it is Fortran calling C code) is stored in the appropriate places.
To demonstrate that this works, immediately after the Ctrl-C that interrupted reading a variable, CANCEL the dataset, then re-USE it.  There are no issues with closing the dataset on the CANCEL command and, as one would expect, the new USE command and subsequent commands work fine.

Comment by karl.smith on 8 Nov 2013 04:40 UTC
I am not seeing anything at Unidata about interrupting reads.  A Google search of "interrupt netcdf read" show one message from Unidata (the top hit).  It is for reading with Java, but even there they say you have to kill the thread doing the reading (in other words, kill everything about the file and the read and restart from scratch).   The second hit is perl code for converting a NetCDF file; again it catches interrupts externally and just exits the program.  The third hit is our own Ferret documentation.  Nothing more with interrupt in it.
I realized the fact that you can't interrupt a NetCDF read indicates they must be intentionally ignoring interrupts.  Standard file reads can be interrupted.  This makes me more pessimistic about them providing any support for interrupting a read.
Just on the off-chance, I tried using nc_sync to see if would clear the erroneous state.  (Ends up nc_sync can be used on read-only files to update in case the file contents changed.)  But it doesn't clear the error; it crashes.
A call to NF_CLOSE does work (as expected from being able to cancel the dataset), but I am not sure what name to use with NF_OPEN (to try reopening in place with minimal impact on Ferret).  There appears to be a number of NF_OPEN calls in the code, getting the name from various places.  I assume there must be a place the name to use for the NF_OPEN is stored, but I am not seeing it.  I do see there the NetCDF file ID is stored and retrieved, so that is not a problem.

Comment by karl.smith on 8 Nov 2013 23:25 UTC
After much discussion, decided to roll-back the Ctrl-C catching.  To the best of our knowledge, the NetCDF libraries do not support interrupts.  To just close (and possibly reopen) the NetCDF file makes the assumption that nothing else in the library has been corrupted by this "jumping out" of a NetCDF read.  We do not know that to be the case.  Instead we need to work with the NetCDF developers to get a NetCDF solution to this problem.
BTW, I realized that I was wrong about NetCDF setting to ignore Ctrl-C.  If they had code to ignore Ctrl-C, my signal catching would not work because it would have been replaced with an "ignore".
Will reopen ticket #1976 which was the origin of this change, but was dealing with catching invalid fill or shade before reading the variable.  Leaving this ticket open to deal with interrupting the reading of a variable in NetCDF, but modifying the title and setting the priority and severity back to normal with the code roll-back.

Comment by karl.smith on 8 Nov 2013 23:32 UTC
Created ticket #2108 instead of reopening #1976.


Run NUnit in Visual Studio Express

Hi Tony,
Do you have any experience in running TE's NUnit-based tests in Visual Studio Express? The following article worries me a bit http://stackoverflow.com/questions/20907842/how-to-install-nunit-plugin-in-visual-studio-2013-express. Shouldn't we stick to built-in testing framework to encourage the open source community for more active contributions?
Regards,
Alex

Hi Alex,
I seem to remember you had some issues with NUnit and getting it to work in Visual Studio.  The current "official" testing framework is xUnit, which is supported by Visual Studio.  It would be great to migrate the tests from NUnit to xUnit.
In terms of Visual Studio editions, be aware that VS Express is now legacy.  Instead developers need to use Visual Studio Community Edition, which is basically a free version of VS Professional, and it supports running xUnit tests from the built-in Test Explorer. :smile:
Cheers,
Tony

Thanks for the info! I will try to migrate our tests to xUnit, though I might need your help with SpecFlow tests.

Terrific, thanks! I'll let you know about the SpecFlow tests.

Closing this issue as implemented in #70.


Allow to set the source location to an URL pointing to an archive

Currently, setting the source location triggers a wizard to browse for a GitHub repository. While a VCS location certainly is to be preferred, some sources are only available as source artifacts. Please support setting those as the source location.

@fossygirl @geneh what do you think about this suggestion?

@storrisi Let's please bring all of these questions to the biweekly meeting so everyone in the community can weigh in.

Just to be clear, as I read the specs, sourceLocation can already be a sourcearchive, so this is not a new spec feature I'm asking for, but just to expose it through the web UI.

@sschuberth with the knowledge that sourceLocation must point to an exact commit level of detail can you clarify what "source artifacts" actually means? I suppose, for example, it could point to a tarball? Can you elaborate?
I've included a screen shot of the current prompt which shows:
GitHub  [ user / organization ] [ repo ]

Do you have some thoughts about how the UI should look for sourcearchive?
Specifically I think we might need a new provider to respresent the kind of thing(s) you want to point to.
I note that despite the big cross product of all combinations of type and provider currently the data only represents a small subset -- and often a provider and type are associated
(the URI scheme is /curations/{type}/{provider}/{namespace}/{name}):
tmarble@avenir 244 :) pwd
/home/tmarble/src/github/clearlydefined/curated-data
tmarble@avenir 245 :) find curations -mindepth 2 -maxdepth 2 -type d
curations/pypi/pypi
curations/nuget/nuget
curations/git/github
curations/gem/rubygems
curations/sourcearchive/mavencentral
curations/npm/npmjs
curations/maven/mavencentral
tmarble@avenir 246 :)

I suppose, for example, it could point to a tarball? Can you elaborate?

Indeed, sourceLocation should be able to point to any type of archive like

a tarball at the NPM registry (e.g. NPM package sources like https://registry.npmjs.org/mime-types/-/mime-types-2.1.25.tgz)
a jar at Maven Central (e.g. Java sources like https://repo1.maven.org/maven2/com/vdurmont/semver4j/3.1.0/semver4j-3.1.0-sources.jar)
a zip at any custom location (e.g. custom source archives like https://www.antlr2.org/download/antlr-2.7.3.zip)

Do you have some thoughts about how the UI should look for sourcearchive?

I guess there's no way around adding something like "Custom URL" next to "GitHub" where any URL could be entered. Whether it's valid must be verified by a human as part of reviewing the curation before merging.

Specifically I think we might need a new provider to represent the kind of thing(s) you want to point to.

Correct, at least the last of my examples (antlr-2.7.3) would require a new "custom" provider. For the former two examples (mime-types-2.1.25 and semver4j-3.1.0) the npmjs and mavencentral provider should be used, respectively, with a type of sourcearchive each.
Note that for cases like npmjs where the ("binary") package being pulled in by the package manager for building is actually equal to the source package (i.e. the language is interpreted and not compiled), you could argue that for an URL like https://registry.npmjs.org/mime-types/-/mime-types-2.1.25.tgz both a type / provider pair of npm / npmjs and sourcearchive / npmjs could be valid. Does ClearlyDefined specify clearly (no pun intended) how to handle such cases?

Thank you @sschuberth for your comments!
Based on your examples I propose that the type/provider be chosen for your examples (respectively):

sourcearchive/npmjs
sourcearchive/mavencentral
sourcearchive/archive <- as you point out "archive" as a provider is new

My initial thought about the UI is there should be a combo box or some choice for type.
Then, based on the type chosen, the list of providers (in an adjacent combo box) would be narrowed to the only ones that apply for that type. Then, depending on the type/provider text boxes would allow entry for namespace, url, and/or path.
Your last paragraph highlights a question that I have: "How are the curations interpreted based on type/provider"? I'm not sure where to look for this code in either the website or services repos... For example

Using your example: do npm/npmjs and sourcearchive/npmjs both expand to https://registry.npmjs.org/mime-types/-/mime-types-2.1.25.tgz ? In other words what is the difference between an npm package and npm source?
What's the difference between maven/mavencentral and sourcearchive/mavencentral?

If the former is the binary jar, then we can see an example (you provided) for semver4j/3.1.0:

https://repo1.maven.org/maven2/com/vdurmont/semver4j/3.1.0/semver4j-3.1.0.jar

The latter means the source jar (i.e. ends with -sources.jar):

https://repo1.maven.org/maven2/com/vdurmont/semver4j/3.1.0/semver4j-3.1.0-sources.jar

Finally allow me to add a new question: How much validation of a sourceLocation should the website do while entering a curation? Based on the fully elaborated URL (calculated using the logic from the code that interprets type/provider) should we try to start downloading the artifact (to ensure we don't get a 404 or some other error)? Allow me to note two example curations:

maven/mavencentral for antlr/2.7.7 ==> https://repo1.maven.org/maven2/org/lucee/antlr/2.7.7/antlr-2.7.7.jar
sourcearchive/mavencentral for antlr/2.7.7 ==> https://repo1.maven.org/maven2/org/lucee/antlr/2.7.7/antlr-2.7.7-sources.jar DOES NOT EXIST

@geneh can you help answer these questions?

@tmarble This is a lower priority issue. Let's please bring all of these questions to the biweekly meeting so everyone in the community can weigh in.

Thank you @sschuberth for your comments!
Based on your examples I propose that the type/provider be chosen for your examples (respectively):

sourcearchive/npmjs
sourcearchive/mavencentral
sourcearchive/archive <- as you point out "archive" as a provider is new

My initial thought about the UI is there should be a combo box or some choice for type.
Then, based on the type chosen, the list of providers (in an adjacent combo box) would be narrowed to the only ones that apply for that type. Then, depending on the type/provider text boxes would allow entry for namespace, url, and/or path.
Your last paragraph highlights a question that I have: "How are the curations interpreted based on type/provider"? I'm not sure where to look for this code in either the website or services repos... For example

Using your example: do npm/npmjs and sourcearchive/npmjs both expand to https://registry.npmjs.org/mime-types/-/mime-types-2.1.25.tgz ? In other words what is the difference between an npm package and npm source?

What's the difference between maven/mavencentral and sourcearchive/mavencentral?

If the former is the binary jar, then we can see an example (you provided) for semver4j/3.1.0:

https://repo1.maven.org/maven2/com/vdurmont/semver4j/3.1.0/semver4j-3.1.0.jar

The latter means the source jar (i.e. ends with -sources.jar):

https://repo1.maven.org/maven2/com/vdurmont/semver4j/3.1.0/semver4j-3.1.0-sources.jar

Finally allow me to add a new question: How much validation of a sourceLocation should the website do while entering a curation? Based on the fully elaborated URL (calculated using the logic from the code that interprets type/provider) should we try to start downloading the artifact (to ensure we don't get a 404 or some other error)? Allow me to note two example curations:

maven/mavencentral for antlr/2.7.7 ==> https://repo1.maven.org/maven2/org/lucee/antlr/2.7.7/antlr-2.7.7.jar
sourcearchive/mavencentral for antlr/2.7.7 ==> https://repo1.maven.org/maven2/org/lucee/antlr/2.7.7/antlr-2.7.7-sources.jar DOES NOT EXIST

@geneh can you help answer these questions?

Hi,
@tmarble or @geneh : Were these questions ever answered on a call by any chance? I have the same questions as Tom and cannot seem to find them documented where I'd expect to see them (CD Docs, minutes, etc.).
Two questions I have that might be similar to what was being asked previously here...

What's the difference between maven/mavencentral and sourcearchive/mavencentral?

If the former is the binary jar, then we can see an example (you provided) for semver4j/3.1.0:

https://repo1.maven.org/maven2/com/vdurmont/semver4j/3.1.0/semver4j-3.1.0.jar

The latter means the source jar (i.e. ends with -sources.jar):

https://repo1.maven.org/maven2/com/vdurmont/semver4j/3.1.0/semver4j-3.1.0-sources.jar

If the above picture is accurate, then I'm also curious what happens if one of the jar's don't exist?
For example with multi-module projects... I.e. like https://repo1.maven.org/maven2/com/google/inject/guice-parent/4.0/, there is no source or binary jar at the parent level. Just some docs and the parent POM.
And lastly, is the type of "sourcearchive" still exclusively for the "mavencentral" provider?
Thanks and apologies in advance if I'm asking duplicate questions with answers already documented somewhere else :)

Using your example: do npm/npmjs and sourcearchive/npmjs both expand to https://registry.npmjs.org/mime-types/-/mime-types-2.1.25.tgz ?

Yes.

In other words what is the difference between an npm package and npm source?

At the example of NPM, there is none.

What's the difference between maven/mavencentral and sourcearchive/mavencentral?

Like you say, the former is the binary artifact whereas the latter is the sources artifact.

How much validation of a sourceLocation should the website do while entering a curation?

I believe a simple file existence check should suffice.

sourcearchive/mavencentral for antlr/2.7.7 ==> https://repo1.maven.org/maven2/org/lucee/antlr/2.7.7/antlr-2.7.7-sources.jar DOES NOT EXIST

Correct. Which is why I would want to set sourcearchive/mavencentral for antlr/2.7.7 to https://www.antlr2.org/download/antlr-2.7.7.tar.gz.


How to train with custom data - AssertionError: datasets should not be an empty iterable

I use this command to train: !python3 '/content/deep-text-recognition-benchmark/create_lmdb_dataset.py' --inputPath '/content/deep-text-recognition-benchmark/train' --gtFile '/content/gt.txt' --outputPath '/content/deep-text-recognition-benchmark/result'
I want to use it to detect license plates.
Input_path have inputPath with input images, with names like 'CJFY10,jpg'
outputPath it is an empty folder.
gtFile it is an txt with this format:
C:/Users/X/Desktop/deep-text-recognition-benchmark-master/train/DVHS56.png DVHS56
C:/Users/X/Desktop/deep-text-recognition-benchmark-master/train/DYVS72.png DYVS72
C:/Users/X/Desktop/deep-text-recognition-benchmark-master/val/HDYP18.png HDYP18
C:/Users/X/Desktop/deep-text-recognition-benchmark-master/val/HKHT72.png HKHT72
C:/Users/X/Desktop/deep-text-recognition-benchmark-master/val/HPXC69.png HPXC69

And error when I run the command it is:
Traceback (most recent call last):
  File "/content/deep-text-recognition-benchmark/create_lmdb_dataset.py", line 87, in <module>
    fire.Fire(createDataset)
  File "/usr/local/lib/python3.6/dist-packages/fire/core.py", line 138, in Fire
    component_trace = _Fire(component, args, parsed_flag_args, context, name)
  File "/usr/local/lib/python3.6/dist-packages/fire/core.py", line 468, in _Fire
    target=component.__name__)
  File "/usr/local/lib/python3.6/dist-packages/fire/core.py", line 672, in _CallAndUpdateTrace
    component = fn(*varargs, **kwargs)
  File "/content/deep-text-recognition-benchmark/create_lmdb_dataset.py", line 47, in createDataset
    imagePath, label = datalist[i].strip('\n').split('\t')
ValueError: not enough values to unpack (expected 2, got 1)

What I'm doing wrong? Any help is welcome

Make sure your gt file does not contain space in the middle or  at the end.Every line should have path and label seperated by space.

Make sure your gt file does not contain space in the middle or at the end.Every line should have path and label seperated by space.This is because a particular line in gt file contains only space.

when it had to be modified this line
env = lmdb.open(outputPath, map_size=1099511627776) to this env = lmdb.open (outputPath, map_size =<PHONE_NUMBER>7)
The output was 2 files in result folder, data.mdb and lock.mdb
I changed that line because of space problems. Now I'm running that in my local computer and not in Google Colab.
And also I did this 1 step of this [link] by ku21fan (https://github.com/clovaai/deep-text-recognition-benchmark/issues/85) except the last one of

you should change opt.character into your own character list

And now when I trying to run: python train.py --train_data 'C:/Users/X/Desktop/deep-text-recognition-benchmark-master/train' --valid_data 'C:/Users/X/Desktop/deep-text-recognition-benchmark-master/val' --Transformation TPS --FeatureExtraction ResNet --SequenceModeling BiLSTM --Prediction Attn
But the output is:
Filtering the images containing characters which are not in opt.character
Filtering the images whose label is longer than opt.batch_max_length
--------------------------------------------------------------------------------
dataset_root: 'C:/Users/X/Desktop/deep-text-recognition-benchmark-master/train'
opt.select_data: ['/']
opt.batch_ratio: ['1']
--------------------------------------------------------------------------------
dataset_root:    'C:/Users/X/Desktop/deep-text-recognition-benchmark-master/train'       dataset: /
Traceback (most recent call last):
  File "train.py", line 314, in <module>
    train(opt)
  File "train.py", line 31, in train
    train_dataset = Batch_Balanced_Dataset(opt)
  File "C:\Users\X\Desktop\deep-text-recognition-benchmark-master\dataset.py", line 42, in __init__
    _dataset, _dataset_log = hierarchical_dataset(root=opt.train_data, opt=opt, select_data=[selected_d])
  File "C:\Users\X\Desktop\deep-text-recognition-benchmark-master\dataset.py", line 124, in hierarchical_dataset
    concatenated_dataset = ConcatDataset(dataset_list)
  File "C:\Users\X\Anaconda3\lib\site-packages\torch\utils\data\dataset.py", line 68, in __init__
    assert len(datasets) > 0, 'datasets should not be an empty iterable'
AssertionError: datasets should not be an empty iterable

Why this error happends? AssertionError: datasets should not be an empty iterable

Hello,

the image path and labels should be separated with 'tab'
{imagepath}\t{label}\n
\t means 'tab'

So I recommend replacing .png  (.png + space) with .png\t (.png + tab) in your gt file.

AssertionError: datasets should not be an empty iterable
-> this error occurs when the lmdb dataset is empty.
so, if you succeed to create the lmdb dataset, it would be also solved.

Hope it helps,
Best

Hello @ku21fan,
I have followed your instructions and changed the gt file to follow the format {imagepath}\t{label}\n however, I am still facing the AssertionError. Is there anyway to check if the lmdb dataset is created properly?
I am currently trying to train the model on Thai. I have changed the character list as follows:

and also updated --select_data and --batch_ratio as follows:

but I am still facing the same error when I try to train using the command train.py --train_data train/result/data.mdb --valid_data validation/result/data.mdb --Transformation None --FeatureExtraction VGG --SequenceModeling BiLSTM --Prediction CTC --data_filtering_off

Is there anything I am missing out?

did you resolve it?

So I've encountered the same problem. It looks like train.py args like --select_data and --batch_ratio are needed to be set together to some value to not filter out directories with some names.
So if you have train directory, you can specify --select_data train --batch_ratio 0.5 to make it work.

I'm facing the same issue did anyone resolve it?

Same issue here

Maybe you have a blank line at the end if you are using pandas.to_csv(separator = '\t') function. You should remove any blank line at the end of the file  (\n alone in the last line)

Same here. Issue remains.


Show "Last updated" date

I was checking a random page https://aisafety.info/?state=8368_ and realized that a lot of answers can be time sensitive / based on current news.
It would be useful to display a timestamp at the bottom of each answer, e.g. "Last updated: ..." - ideally based on the last edit of the Google Doc, but if that won't be possible, then it the time of last ingestion from GDocs to Coda should be good enough.

hm, what about the case where someone makes a minor typo fix on an outdated question and refreshes the date?

There has been effort to remove things from existing answers that might have a temporal context. Here is a link to the relevant meta-editing comment.
I think it has also been mentioned in the editing guidelines.
Do you think if the author just mentions the write date for time sensitive content in the answer it might mitigate the issue?
Another idea to address the problem that @plexish mentioned is to only update the last updated date when the amount of content changed is over some threshold. E.g num of text tokens changed in the doc. This requires a lot more doing as compared to the gdoc or the coda timestamp though.

how about something like the date when the question last changed status? That would handle most cases, i.e. from in progress to live on site seems like a decent cutoff. How often do live questions get major overhauls? Does their status get changed then?

weakly against trying to track this in the UI as it'll either be quite manual or miss many cases, and in favour of having a time-sensitive tag which the editors review regularly instead. status change is the best of a bad bunch of options, but i still don't love it

Whether this was good or not, this was completed, see https://github.com/StampyAI/stampy-ui/issues/381


perf(es/parser): Use faster unicode crate

Description:
cc @Boshen
Related issue (if exists):

The performance actually regressed.
Starting recording with the Time Profiler template. Launching process: parser-b740e19dcb07a563.
Ctrl-C to stop the recording
Gnuplot not found, using plotters backend
Benchmarking es/parser/colors
Benchmarking es/parser/colors: Warming up for 3.0000 s
Benchmarking es/parser/colors: Collecting 100 samples in estimated 5.0518 s (379k iterations)
Benchmarking es/parser/colors: Analyzing
es/parser/colors        time:   [13.219 µs 13.234 µs 13.248 µs]
                        change: [+1.6279% +2.0811% +2.5388%] (p = 0.00 < 0.05)
                        Performance has regressed.
Found 15 outliers among 100 measurements (15.00%)
  3 (3.00%) low severe
  4 (4.00%) low mild
  4 (4.00%) high mild
  4 (4.00%) high severe

Benchmarking es/parser/angular
Benchmarking es/parser/angular: Warming up for 3.0000 s
Benchmarking es/parser/angular: Collecting 100 samples in estimated 5.5612 s (800 iterations)
Benchmarking es/parser/angular: Analyzing
es/parser/angular       time:   [6.7614 ms 6.7870 ms 6.8175 ms]
                        change: [+3.0888% +3.5027% +3.9238%] (p = 0.00 < 0.05)
                        Performance has regressed.
Found 5 outliers among 100 measurements (5.00%)
  2 (2.00%) high mild
  3 (3.00%) high severe

Benchmarking es/parser/backbone
Benchmarking es/parser/backbone: Warming up for 3.0000 s
Benchmarking es/parser/backbone: Collecting 100 samples in estimated 9.2027 s (10k iterations)
Benchmarking es/parser/backbone: Analyzing
es/parser/backbone      time:   [892.45 µs 894.34 µs 896.45 µs]
                        change: [+2.2134% +2.8471% +3.4264%] (p = 0.00 < 0.05)
                        Performance has regressed.
Found 1 outliers among 100 measurements (1.00%)
  1 (1.00%) high severe

Benchmarking es/parser/jquery
Benchmarking es/parser/jquery: Warming up for 3.0000 s
Benchmarking es/parser/jquery: Collecting 100 samples in estimated 5.1279 s (1000 iterations)
Benchmarking es/parser/jquery: Analyzing
es/parser/jquery        time:   [5.0261 ms 5.0340 ms 5.0435 ms]
                        change: [+1.9508% +2.2250% +2.4789%] (p = 0.00 < 0.05)
                        Performance has regressed.
Found 13 outliers among 100 measurements (13.00%)
  5 (5.00%) high mild
  8 (8.00%) high severe

Benchmarking es/parser/jquery mobile
Benchmarking es/parser/jquery mobile: Warming up for 3.0000 s
Benchmarking es/parser/jquery mobile: Collecting 100 samples in estimated 5.4763 s (700 iterations)
Benchmarking es/parser/jquery mobile: Analyzing
es/parser/jquery mobile time:   [7.6303 ms 7.6467 ms 7.6677 ms]
                        change: [+1.8993% +2.2899% +2.6483%] (p = 0.00 < 0.05)
                        Performance has regressed.
Found 11 outliers among 100 measurements (11.00%)
  5 (5.00%) high mild
  6 (6.00%) high severe

Benchmarking es/parser/mootools
Benchmarking es/parser/mootools: Warming up for 3.0000 s
Benchmarking es/parser/mootools: Collecting 100 samples in estimated 5.1168 s (1300 iterations)
Benchmarking es/parser/mootools: Analyzing
es/parser/mootools      time:   [3.8887 ms 3.8957 ms 3.9043 ms]
                        change: [+1.9129% +2.1881% +2.4554%] (p = 0.00 < 0.05)
                        Performance has regressed.
Found 16 outliers among 100 measurements (16.00%)
  1 (1.00%) low mild
  8 (8.00%) high mild
  7 (7.00%) high severe

Benchmarking es/parser/underscore
Benchmarking es/parser/underscore: Warming up for 3.0000 s
Benchmarking es/parser/underscore: Collecting 100 samples in estimated 7.8020 s (10k iterations)
Benchmarking es/parser/underscore: Analyzing
es/parser/underscore    time:   [763.70 µs 764.46 µs 765.44 µs]
                        change: [+1.2490% +1.7991% +2.3571%] (p = 0.00 < 0.05)
                        Performance has regressed.
Found 13 outliers among 100 measurements (13.00%)
  3 (3.00%) high mild
  10 (10.00%) high severe

Benchmarking es/parser/three
Benchmarking es/parser/three: Warming up for 3.0000 s
Benchmarking es/parser/three: Collecting 100 samples in estimated 6.7034 s (300 iterations)
Benchmarking es/parser/three: Analyzing
es/parser/three         time:   [21.836 ms 21.890 ms 21.958 ms]
                        change: [+1.8859% +2.2254% +2.5858%] (p = 0.00 < 0.05)
                        Performance has regressed.
Found 14 outliers among 100 measurements (14.00%)
  6 (6.00%) high mild
  8 (8.00%) high severe

Benchmarking es/parser/yui
Benchmarking es/parser/yui: Warming up for 3.0000 s
Benchmarking es/parser/yui: Collecting 100 samples in estimated 5.0038 s (1300 iterations)
Benchmarking es/parser/yui: Analyzing
es/parser/yui           time:   [3.8376 ms 3.8446 ms 3.8535 ms]
                        change: [+0.7458% +1.2939% +1.7518%] (p = 0.00 < 0.05)
                        Change within noise threshold.
Found 7 outliers among 100 measurements (7.00%)
  3 (3.00%) high mild
  4 (4.00%) high severe

I'll try ASCII optimization

It's a bit slower even with ascii optimization.
Starting recording with the Time Profiler template. Launching process: parser-b740e19dcb07a563.
Ctrl-C to stop the recording
Gnuplot not found, using plotters backend
Benchmarking es/parser/colors
Benchmarking es/parser/colors: Warming up for 3.0000 s
Benchmarking es/parser/colors: Collecting 100 samples in estimated 5.0362 s (384k iterations)
Benchmarking es/parser/colors: Analyzing
es/parser/colors        time:   [13.016 µs 13.054 µs 13.102 µs]
                        change: [+0.1338% +0.5817% +1.0055%] (p = 0.00 < 0.05)
                        Change within noise threshold.
Found 20 outliers among 100 measurements (20.00%)
  5 (5.00%) low severe
  11 (11.00%) low mild
  1 (1.00%) high mild
  3 (3.00%) high severe

Benchmarking es/parser/angular
Benchmarking es/parser/angular: Warming up for 3.0000 s
Benchmarking es/parser/angular: Collecting 100 samples in estimated 5.4323 s (800 iterations)
Benchmarking es/parser/angular: Analyzing
es/parser/angular       time:   [6.5944 ms 6.6080 ms 6.6253 ms]
                        change: [+0.5313% +0.7733% +1.0688%] (p = 0.00 < 0.05)
                        Change within noise threshold.
Found 19 outliers among 100 measurements (19.00%)
  3 (3.00%) low mild
  4 (4.00%) high mild
  12 (12.00%) high severe

Benchmarking es/parser/backbone
Benchmarking es/parser/backbone: Warming up for 3.0000 s
Benchmarking es/parser/backbone: Collecting 100 samples in estimated 8.9748 s (10k iterations)
Benchmarking es/parser/backbone: Analyzing
es/parser/backbone      time:   [873.34 µs 874.72 µs 876.45 µs]
                        change: [+0.2223% +0.8462% +1.4447%] (p = 0.01 < 0.05)
                        Change within noise threshold.
Found 11 outliers among 100 measurements (11.00%)
  2 (2.00%) high mild
  9 (9.00%) high severe

Benchmarking es/parser/jquery
Benchmarking es/parser/jquery: Warming up for 3.0000 s
Benchmarking es/parser/jquery: Collecting 100 samples in estimated 5.0055 s (1000 iterations)
Benchmarking es/parser/jquery: Analyzing
es/parser/jquery        time:   [4.9462 ms 4.9576 ms 4.9729 ms]
                        change: [+0.3647% +0.6720% +1.0585%] (p = 0.00 < 0.05)
                        Change within noise threshold.
Found 10 outliers among 100 measurements (10.00%)
  4 (4.00%) high mild
  6 (6.00%) high severe

Benchmarking es/parser/jquery mobile
Benchmarking es/parser/jquery mobile: Warming up for 3.0000 s
Benchmarking es/parser/jquery mobile: Collecting 100 samples in estimated 5.3931 s (700 iterations)
Benchmarking es/parser/jquery mobile: Analyzing
es/parser/jquery mobile time:   [7.5162 ms 7.5264 ms 7.5391 ms]
                        change: [+0.3279% +0.6804% +0.9863%] (p = 0.00 < 0.05)
                        Change within noise threshold.
Found 11 outliers among 100 measurements (11.00%)
  6 (6.00%) high mild
  5 (5.00%) high severe

Benchmarking es/parser/mootools
Benchmarking es/parser/mootools: Warming up for 3.0000 s
Benchmarking es/parser/mootools: Collecting 100 samples in estimated 5.0082 s (1300 iterations)
Benchmarking es/parser/mootools: Analyzing
es/parser/mootools      time:   [3.8306 ms 3.8457 ms 3.8651 ms]
                        change: [+0.4605% +0.8765% +1.4507%] (p = 0.00 < 0.05)
                        Change within noise threshold.
Found 14 outliers among 100 measurements (14.00%)
  6 (6.00%) high mild
  8 (8.00%) high severe

Benchmarking es/parser/underscore
Benchmarking es/parser/underscore: Warming up for 3.0000 s
Benchmarking es/parser/underscore: Collecting 100 samples in estimated 7.6556 s (10k iterations)
Benchmarking es/parser/underscore: Analyzing
es/parser/underscore    time:   [751.47 µs 752.78 µs 754.50 µs]
                        change: [-0.5024% +0.0448% +0.6749%] (p = 0.89 > 0.05)
                        No change in performance detected.
Found 10 outliers among 100 measurements (10.00%)
  3 (3.00%) high mild
  7 (7.00%) high severe

Benchmarking es/parser/three
Benchmarking es/parser/three: Warming up for 3.0000 s
Benchmarking es/parser/three: Collecting 100 samples in estimated 6.5835 s (300 iterations)
Benchmarking es/parser/three: Analyzing
es/parser/three         time:   [21.547 ms 21.604 ms 21.675 ms]
                        change: [+0.5606% +0.8868% +1.2536%] (p = 0.00 < 0.05)
                        Change within noise threshold.
Found 14 outliers among 100 measurements (14.00%)
  6 (6.00%) high mild
  8 (8.00%) high severe

Benchmarking es/parser/yui
Benchmarking es/parser/yui: Warming up for 3.0000 s
Benchmarking es/parser/yui: Collecting 100 samples in estimated 5.3409 s (1400 iterations)
Benchmarking es/parser/yui: Analyzing
es/parser/yui           time:   [3.8010 ms 3.8063 ms 3.8125 ms]
                        change: [-0.2432% +0.2851% +0.7039%] (p = 0.27 > 0.05)
                        No change in performance detected.
Found 7 outliers among 100 measurements (7.00%)
  2 (2.00%) high mild
  5 (5.00%) high severe

Target app exited, ending recording...
Recording completed. Saving output file...
Output file saved as: parser-b740e19dcb07a563_time_2024-03-27_154936-161.trace

Wouldn't it just be noise if none of the test files contain any unicode 🤔

Oops you are right


Makes reference to another variable in the same translation file

Example:
File : lang.en.yml

en:

hi: "Hello world!!!"
common:

password: "Password"
username: "Username"
create: "Create"
add: "Add"
remove: "Remove"
delete: "Clear"
cancel: "Cancel"
save: "Save"
email: "E-mail"
search: "Search"
login: "Login"
register: "Register"
version: "Version"
logged: "Logged in as reference to common.username "

python-i18n do this? referencing logged to common.username.

This functionality is not supported by the current implementation.
I remember having the same issue with other i18n libraries and finally just passed translated strings as variables, for example:
add_translation("foo.with_variable", "%{i18n_variable} is a translation")
add_translation("foo.variable", "my variable")
print(t("foo.with_variable", i18n_variable=t("foo.variable")))

Would this fit your current use case?

I had already tested that way there and know it works without problem ..

The implementation of nested translations seems to add too much complexity,
but if you want to give it a try I am open for pull requests.

I'm new still developing python and it still do not have the knowledge to modify codes.  You can count on me.

Is there any use case for this? The use-case given above is a perfect example of how translations shouldn’t work. It makes assumptions on the language’s grammar that don’t hold in general.

I think actually it would be a little bit more organized and don't require to split to files if it isn't that much


Login is broken

Full users can't log in because the user manager compares two hashes with different salts

Nevermind, Postman encoded the header wrong.


Support a range of TypeScript compiler versions

fix #144

add TypeScript multiple versions tests using npm scripts
downgrade TypeScript version dependency

Excellent. Thanks very much @vogloblinsky!


Add Admin client CLI tool to test-clients

This PR:

adds KafkaAdmin CLI tool for operating Kafka topics (mainly in our STs)
adds README.md with basic info about tool
updates run.sh to check whether CLIENT_TYPE env variable is used -> in case of producer, consumer, or streams it will continue normally with the clients jar, otherwise it will do nothing and it will be "static" Pod for commands execution
adds Makefile targets for building the tool
adds example Deployment file for the tool

For implementation I picked picocli that provides clear API (and sub-commands are handled really well).
This implementation covers basic functionality of the Admin client, we should add security and support for operations with ACLs.

LGTM. as Maros mentioned usage of picocli seems as great choice 👍


disable editing of confirmed rents

when the confirmation status of a rent is confirmed all inputs except for the return date should be disabled

changed it that if it's waiting i it is disabled as well

added "not allowed" cursor and made note always editable

updating the return- date, teacher or note on a confirmed rent still does not work


feat: Cookbook Onboard (AI Assistant & Playground) integration

Preview
Preview link: https://oasis-docs-cookbook.vercel.app
Ask Cookbook AI Assistant
Cookbook's Ask Cookbook AI assistant and co-pilot is trained on all existing Oasis resources (source code, docs website, etc.) and is available as a standalone modal, embeddable as a button on any page (recommended for technical docs). It answers developer questions about building on Oasis, acting as an enhanced and streamlined technical documentation search tool as well as a Solidity coding co-pilot.
Ask Cookbook AI can also access context from thousands of data sources indexed by Cookbook.dev in addition to Oasis-specific data sources, providing the best blockchain developer-focused answers of any chatbot on the market. Cookbook will assist in the tuning and calibration of the AI assistant to ensure the highest answer quality.

Cookbook Onboard Playground
The Cookbook Onboard Playground embeds a Solidity IDE with smart contract templates displayed alongside the Ask Cookbook AI Assistant.
Developers can search for and deploy Cookbook’s entire smart contract library from your technical documentation.
Features:

Deploy smart contracts or entire protocols to Oasis without leaving the docs
Acts as a free, no-code or low-code token and NFT launchpad
Save source code as a Foundry, Hardhat, or Scaffold project or export it to Remix or Chain IDE in one click

Seeing how this is spammed on a 100 crypto projects for free: what is the probability that this is a planned supplychain attack?

Seeing how this is spammed on a 100 crypto projects for free: what is the probability that this is a planned supplychain attack?

Hey, I could see where you are coming from. Just to reassure you, we’re Cookbook.dev, a legit and well-funded company that was part of the last batch of Orange DAO. We’ve already integrated with platforms like Sui, Avalanche, Celo, Remix IDE Docs, Movement Labs, Linea, and many others. We’re genuinely trying to contribute positively to the ecosystem and always open to chat in person about our strategy on conferences or in our office in San Francisco. Lmk if you have any more questions :)


x/pkgsite: remove packages git.goodev.de/logol/*

What is the URL of the page with the issue?

https://pkg.go.dev/git.goodev.de/logol/sorm/orm
https://pkg.go.dev/git.goodev.de/logol/sorm/orm/ormerror
https://pkg.go.dev/git.goodev.de/logol/mailer

What did you do?

Deleted repositories
Opened pkg.go.dev pages in the browser

What did you expect to see?
Nothing, since the packages don't exist anymore
What did you see instead?
Documentation pages for the mentioned packages

Done.


ipcfabric/ is a copy of kineto's folder, consider using upstream

ipcfabric/ is the same between this repo and https://github.com/pytorch/kineto/tree/main/libkineto/ipcfabric . Consider adding a submodule dependency one way or another? Probably depending on libkineto from dynolog is preferred.
Additionally those files are licensed differently (BSD vs MIT)

@dzhulgakov yes this is a known issue. The literal copy in Kineto was initially because we were still bootstrapping dynoloog on github. Another issue is Kineto is using C++14 so we had to use a slightly different version.
Kineto is in the process of switching to C++ 17 and we will be removing that version of ipcfabric, and adding a submodule in kineto to get the ipcfabric code.
Let's keep this issue open and we can share updates as things progress.

Marking this as resolved :) we have dynolog as dependency in kineto now.
https://github.com/pytorch/kineto/tree/main/libkineto/third_party


microsoft CDN does not work as stated in docs

In docs it states msal.js can be obtained through a CDN
https://secure.aadcdn.microsoftonline-p.com/lib/VERSION/js/msal.min.js
The thing is the following url does not work as expected
https://secure.aadcdn.microsoftonline-p.com/lib/1.1.3/js/msal.min.js

The url is in this file
https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/README.md

20 days and the CDN is still not working - Imagine if you were relying on the CDN to work for people to sign into your website! It's not really filling me with confidence.

@keystroke @ispysoftware Sorry for the delay. We had some issues with the CDN upload process. We have mostly rectified them, and the new files will be available here:
https://alcdn.msftauth.net/lib/1.1.3/js/msal.js
https://alcdn.msftauth.net/lib/1.1.3/js/msal.min.js
https://alcdn.msauth.net/lib/1.1.3/js/msal.js

@pkanher617 Thanks! The 1.1.3 link isn't working for me yet but as you say should be available shortly. For the new links, what is the difference between using the "msauth" and "msftauth" endpoints? Is one intended for internal consumption only? Or just redundant endpoints?

This should be completed, @keystroke  can you check again?
@pkanher617  to add context on the endpoint differences

@DarylThayil Thanks! Verified I can access both endpoints for the CDN. Gave my app a spin and no explosions so looks like things are still working fine ;)

I'll keep this open until we get the README updated.

@negoe FYI

Closing this as the README is now merged to dev.


RuntimeError: CUDA error: an illegal memory access was encountered

It seems that there exist a strange bug with this line of code,
https://github.com/mapillary/inplace_abn/blob/7c85a8df3931987cca7185e0341885883fd82a5b/modules/functions.py#L159
when calling the API  nn.parallel.parallel_apply.
I am using Ubuntu 16.04 with CUDA10.0 installed with Pytorch1.0 and the cudnn is 7.5

Can you try again with the latest version of the library? We were (rarely) encountering similar issues before v1.0.0, but not anymore after the update.


Fix: named ref in v-for regression fix(#5116)

closes #5116
closes #5447

also fixes: #5447

Look at this example:vue-sfc-playground
The output value should be 1.:grin:

Look at this example:vue-sfc-playground
The output value should be 1.😁
Can you explain

There are 3 elements. The output is the length of the ref array with  truthy value

Look at this example:vue-sfc-playground
The output value should be 1.😁

Can you explain
There are 3 elements. The output is the length of the ref array with truthy value

sorry，I seem to have misunderstood it.


docs(@toss/uitls): add NonEmptyArray example

Overview

영어문서와 한글 문서의 내용이 달라 통일해주었습니다.
타입 형태와 example이 빠져 있어 예시 코드를 추가해주었습니다.
isNonEmptyArray util에서 해당 타입을 사용하고 있어 isNonEmptyArray와 관련된 설명과 링크를 추가해주었습니다.

PR Checklist

[x] I read and included theses actions below

I have read the Contributing Guide
I have written documents and tests, if needed.

Thank you for the quick review!
But I have a question. Is there a special reason for communicating in English in this library?👀

Is there a special reason for communicating in English in this library?👀

In contribution docs
written All communications in this repo will be by English.
So I think you should revise your PR content, too!
When I talked to the library owner in the past,
Since slash is an open source, non-Korean users often use it, and he said that they thought it would be convenient if it was written in English, a common language, when grasping the history of slash.

Thank you for your kind explanation!
I'll fix it!


InitializeProxy() failed after changing the language on the head unit

Bug Report
InitializeProxy failed after changing the language on the head unit
Reproduction Steps

Connect mobile, register mobile app and activate it on the head unit
Changing the language on the head unit

Expected Behavior
The proxy is restarted successfully
Observed Behavior
The proxy is restarted unsuccessfully
OS & Version Information

Android Version: Android 9
SDL Android Version: 4.9.0
Testing Against: SDL Core 5.1.3 + HMI running on our development environment.

Test Case, Sample Code, and / or Example App
Example App:https://github.com/smartdevicelink/sdl_java_suite/tree/master/android
Logs:initializeProxyError.zip
Occurrence:
100%
Recovery Method
Restart the mobile app, reconnect mobile

Hi @zhouxin627 , this has already been addressed in 4.10.0 with PR #1143.


Changes required for Voting plugin

These changes are necessary for my Voting plugin it work. I believe they are also required by the VoteCollector plugin

My remarks are still open and I think @emanuelschuetze would not like the changes in the translation files.

New pullrequest created, see #3127


add episode 142

Sorry I didn't get to this Josh.  Feel free to fix up DCO and self-merge.

Sorry I didn't get to this Josh.  Feel free to fix up DCO and self-merge.


Add Zstd::compress variant that enables checksumming

So, I know we've discussed this in Issue #89 but I was going through the Zstd source and found that we could simply enable the checksumming flag on the ZSTD_CCtx. The reason we'd like this to be part of the JNI rather than using streams is that, using streams would generate a lot of garbage in the JVM as opposed to adding this into the JNI utility. Here's a mock up of the change that is needed (In src/main/native/compress/zstd_compress.c) -
size_t ZSTD_compress_checksummed(void* dst, size_t dstCapacity,
               const void* src, size_t srcSize,
                     int compressionLevel)
{
    size_t result;
    ZSTD_CCtx ctxBody;
    ZSTD_initCCtx(&ctxBody, ZSTD_defaultCMem);
    ZSTD_CCtx_setParameter(&ctxBody, ZSTD_c_checksumFlag, 1);

    result = ZSTD_compressCCtx(&ctxBody, dst, dstCapacity, src, srcSize, compressionLevel);
    ZSTD_freeCCtxContent(&ctxBody);   /* can't free ctxBody itself, as it's on stack; free only heap content */
    return result;
}

We'd need to add a new JNI method and plumb the call through to zstd_compress.c but it is doable. It would really help out if you could make this part of the JNI.

Fare enough. I will add it in the next version. Do you want to send a PT? I better have your name as you have the code already working.

BTW, I missed this variant when looking in zstd.h

Hi @luben perhaps I wasn't clear. This would be a new method that we would as part of the JNI. It is the same as ZSTD_compress except that it calls ZSTD_CCtx_setParameter(&ctxBody, ZSTD_c_checksumFlag, 1); to enable the checksum flag.

Yes, I can copy your code from above and write the Java part, or you can send me the CR yourself if you prefer.

Merged and released: https://repo1.maven.org/maven2/com/github/luben/zstd-jni/1.3.8-5/
Thanks for the contribution!

Thank you! The Apache Cassandra project is grateful! 👍


Publish plugin on https://plugins.gradle.org

It will allow to use plugin for gradle version >2.1 as follows:
plugins {
    id 'ru.d10xa.allure' version '0.5.5'
}

And remove block:
buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath "ru.d10xa:gradle-allure-plugin:0.5.5"
    }
}

with
apply plugin: 'ru.d10xa.allure'

Probably I'll publish the next release there


Update Posts “welcome”

Automatically generated by Netlify CMS

👷 Deploy Preview for jchendriks-s5 processing.
🔨 Explore the source changes: 77862ffc089790e425a8b119d024a72c51dbfdc9
🔍 Inspect the deploy log: https://app.netlify.com/sites/jchendriks-s5/deploys/6182b2787a905c00071d53a8


Builder not transpililng es6?

 (The code works fine just using System.import('app').)
gulpfile.js + systemjs-builder:
var path = require('path')
var gulp = require('gulp')
var shell = require('shelljs')
var Builder = require('systemjs-builder');
var builder = new Builder();

var output = 'dist/app-bundle.js'
shell.mkdir('-p', path.dirname(output))

gulp.task('build', function() {
    builder.reset()
    builder.loadConfig('./src/config.js').then(function() {

        builder.config({
            baseURL: '.'
        });

        return builder.buildSFX('app', output)
    });
})

Loading bundle with
<script src="src/jspm_packages/system.js"></script>
<script src="src/config.js"></script>
<script src="dist/app-bundle.js"></script>

Browser console gives:
Uncaught SyntaxError: Unexpected reserved word
app-bundle.js:1382

app-bundle.js#L1382-1400
import m from<EMAIL_ADDRESS>export default {
  controller: function() {
    var name = m.prop("Apex");
    return {name: name};
  },
  view: function(ctrl) {
    return [m("h1", ctrl.name() + " says hi!")];
  }
};

<EMAIL_ADDRESS><EMAIL_ADDRESS>true, function(require, exports, module) {
  var global = System.global,
      __define = global.define;
  global.define = undefined;
  module.exports = require("npm:mithril@0.1.30/mithril");
  global.define = __define;
  return module.exports;
});

can confirm, 0.9.0

also can confirm that this happens even with builder.reset() removed.

Thanks - can you share a repo I can clone to try this?

Do you have a transpiler value set in your config perhaps?

@guybedford using babel, transpiler set to 6to5.

@guybedford you can clone this repo https://github.com/silenceisgolden/builder-probs

Yup, 0.9.0 here too, with 6to5.

@guybedford cause is here https://github.com/systemjs/builder/blob/1e46a3d07fa0da46ff647c78a6822a95787bebc1/compilers/es6.js#L37
@gnimmelf @silenceisgolden  Need to change transpiler option to "babel".

Should probably check for either string to make lives easier.
Should display deprecation warning for for '6to5' option.
Should warn on unrecognised transpiler options.

Oki, building now works, no plaintext import statements in the bundle.
Just to recap, if other newbies are in distress:
Builder is now:
builder.reset()
builder.loadConfig('./config.js').then(function() {

    builder.config({
        transpiler: 'babel',
        baseURL: '.'
    });

    return builder.buildSFX('./src/app', output)
});

Next then, when not using the bundle, this was the kickoff in my index.html:
<script>
    System.import('src/app').catch(console.error.bind(console));
</script>

Replacing that with the bundle:
<script src="/dist/app-bundle.js"></script>

All good!

Great glad that sorts it, will make this easier.


001-install-main-lazylead-tables.sql:50-53: task.cron -...

The puzzle DEV-6508c131 from #DEV has to be resolved:
https://github.com/dgroup/lazylead/blob/37c35874b93f82ac20f4c96ec8add5bd15f9c593/upgrades/sqlite/001-install-main-lazylead-tables.sql#L50-L53
The puzzle was created by @dgroup on 06-Jun-20.
role: DEV.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

The puzzle DEV-6508c131 has disappeared from the source code, that's why I closed this issue.


Be more explicit about where to look for hip-config.cmake

Also adds ROCM_PATH to CMAKE_PREFIX_PATH to ensure that all the *-config.cmake files that hip-config.cmake depends on get found properly - otherwise the user would have to provide (or we would have to infer) a large number of additional *_DIR variables.

Merge when you feel this is ready @davidbeckingsale

Merge when you feel this is ready @davidbeckingsale

Got one more fix coming...

Thanks both @mcfadden8 and @davidbeckingsale for tracking down all these edge cases and making this work!


Algolia autocomplete with autoselect: true issue

I have the following search code:
 autocomplete('#@countrySearchId', { hint: false, autoselect: true }, [
    {
        source: autocomplete.sources.hits(countries, { hitsPerPage: 5 }),
        displayKey: 'CountryName',
        templates: {
            suggestion: function(hit) {
                return hit._highlightResult.CountryName.value;
            }
        }
    }
]).on('autocomplete:selected', function (event, suggestion, dataset) {
    //DoSomething
}).on('autocomplete:autocompleted', function (event, suggestion, dataset) {
    //DoSomething
});

My problem is that when I start typing in the search box, the top element is selected and the text in the search box is set to this match. I am unable to keep typing or deleting the text in the search box. Typing or deleting simply keeps selecting the original match.
I am trying to make the first hit highlighted to select it on enter, but I want to be able to keep typing or select another item if the top one is not the one I am looking for.
If I remove the option autoselect: true, the search box works, but of course without the autoselect feature.

Definitely a bug @Mystmoon, we shouldn't fill the input with the displayKey in that case. I'll work on that in the next few days.

+1 on this bug as a priority please

+1 on this bug from me too

asd

This has been fixed in 0.21.5. Let me know how that goes!

0.21.5 fixes the issue for me - thx!


"AttributeError: module 'enum' has no attribute 'IntFlag'" during Docker build (solved)

I got this error trying to run the docker build using sudo docker build -t stardist --build-arg NVIDIA_DRIVER_VERSION=455 .
The solution was to add
RUN pip uninstall -y enum34
to the dockerfile above line 16, meaning above RUN pip install stardist gputools edt
After this the build ran successfully.

Thanks for letting us know!
I've updated the Dockerfile to use a more recent parent container and the problem went away.
Best,
Uwe

Thanks for letting us know!
I've updated the Dockerfile to use a more recent parent container and the problem went away.
Best,
Uwe

Hi @uschmidt83 ,
We actually found that we don't have GPU available for Tensorflow after our build- we suspect this is because we used NVIDIA_DRIVER_VERSION=455 (not listed as supported in the README). Will the updated version of tensorflow work with this driver version?

Hi @uschmidt83 ,
We actually found that we don't have GPU available for Tensorflow after our build- we suspect this is because we used NVIDIA_DRIVER_VERSION=455 (not listed as supported in the README). Will the updated version of tensorflow work with this driver version?

We actually found that we don't have GPU available for Tensorflow after our build

What do you mean? Are you referring to this problem?

we suspect this is because we used NVIDIA_DRIVER_VERSION=455 (not listed as supported in the README).
Will the updated version of tensorflow work with this driver version?

The variable NVIDIA_DRIVER_VERSION is simply used to indicate the name of a package to be installed. If the docker build command completed successfully, then it was likely not the issue.

We actually found that we don't have GPU available for Tensorflow after our build

What do you mean? Are you referring to this problem?

we suspect this is because we used NVIDIA_DRIVER_VERSION=455 (not listed as supported in the README).
Will the updated version of tensorflow work with this driver version?

The variable NVIDIA_DRIVER_VERSION is simply used to indicate the name of a package to be installed. If the docker build command completed successfully, then it was likely not the issue.

Pinging @ksugar, who created the Dockerfile.

Pinging @ksugar, who created the Dockerfile.

@markemus Thanks for reporting this issue. It seems that the problem was caused by the enum34 module as you pointed out. Similar problems are found here.
Both your solutions should work. Thanks @uschmidt83 for updating the Dockerfile. I confirmed that only the previous parent image has the enum34.
docker run --rm -it tensorflow/tensorflow:1.13.2-gpu-py3-jupyter /bin/bash -c "pip freeze | grep enum"
enum34==1.1.6

docker run --rm -it tensorflow/tensorflow:1.15.4-gpu-py3-jupyter /bin/bash -c "pip freeze | grep enum"
# no output

Additional note
libnvidia-compute-${NVIDIA_DRIVER_VERSION} is required to use the gputools module at runtime.

@markemus Thanks for reporting this issue. It seems that the problem was caused by the enum34 module as you pointed out. Similar problems are found here.
Both your solutions should work. Thanks @uschmidt83 for updating the Dockerfile. I confirmed that only the previous parent image has the enum34.
docker run --rm -it tensorflow/tensorflow:1.13.2-gpu-py3-jupyter /bin/bash -c "pip freeze | grep enum"
enum34==1.1.6

docker run --rm -it tensorflow/tensorflow:1.15.4-gpu-py3-jupyter /bin/bash -c "pip freeze | grep enum"
# no output

Additional note
libnvidia-compute-${NVIDIA_DRIVER_VERSION} is required to use the gputools module at runtime.

@ksugar thank you for the fix. The new Dockerfile runs without error, and tensorflow installs correctly.
I still don't have GPU (tf.test.is_gpu_available() returns False), but I'm assuming that it's due to something else I'm doing wrong and I'll open a new issue if I can't figure it out.

@ksugar thank you for the fix. The new Dockerfile runs without error, and tensorflow installs correctly.
I still don't have GPU (tf.test.is_gpu_available() returns False), but I'm assuming that it's due to something else I'm doing wrong and I'll open a new issue if I can't figure it out.


bscXfer hicups

HI Joan
Firstly haha yes writing documentation is quite boring but I find your code easy to follow and quite elegant IMHO. I especially like the way you do the 2 line if else statements. It makes it very easy to read.
I have been getting a few strange things happening.
WARNING this could get a little long winded so I will just introduce the problem first.
To simplify the issue I setup an Arduino with the standard Wire library as the I2C master with the PI as the slave.
The master simply sends one char which the slave then returns.
The main problem I am finding with this is the master sends a byte then terminates the connection in the normal way. Then asks the slave for a byte to be sent back
The slave is receiving the byte as sent however the BSC hangs onto the old data and repeatedly sends the same thing even though it is clear ( by printing out the buffer ) that the txBuf has changed.
The data received by the master is the old data.
I have tried

adding delays on both ends and in different places.
doing repeated reads by the master.
sending different values.

Eventually it changes but it is difficult to say if it is because of a timeout or something else.
I thought that maybe I could sort of HUP the BSC or clear it but that seems to require a Term/Init sequence.
I haven't yet tried adding another function in pigpio to set the bscsReg[BSC_CR]=0; /* clear device */
I hope I have explained the problem clearly enough.
BTW
if you set the txCnt to zero it sort of stops everything. I haven't revisited this to see what stops but early in my testing I made the mistake and fixed it in my code. When it was set to zero the slave doesn't respond to the master at all (or so it seemed).

even though the xfer.txCnt is set each time it seems to be ignored and the new data is stuck incrementally into the bsc's actual buffer until it is full then the buffer is flushed and the new data goes into the correct place.
18 seems to be the magic number.
Any ideas??
This is the cleanest way I have found so far to get a reliable result.
the master needs to send the data (which is received cleanly the first time on the slave end)
as
`
bsc status
S  S  S  S  S  R  R  R  R  R  T  T  T  T  T RB TE RF TF RE TB
1              0              0  0  1  0  0  1  0
Status flags	receive FIFO empty	transmit FIFO full
rx(in) = 0x18  tx(out) = 0x3
bsc status
S  S  S  S  S  R  R  R  R  R  T  T  T  T  T RB TE RF TF RE TB
1              0              1  0  0  0  0  1  0
Status flags	receive FIFO empty
rx(in) = 0x18  tx(out) = 0x18
incrementing the number of bytes in the transmit FIFO each time until it is full and the buffer is reread
bsc status
S  S  S  S  S  R  R  R  R  R  T  T  T  T  T RB TE RF TF RE TB
0              0             16  0  0  0  1  1  0
Status flags	receive FIFO empty	transmit FIFO empty
rx(in) = 0x18  tx(out) = 0x18
bsc status
S  S  S  S  S  R  R  R  R  R  T  T  T  T  T RB TE RF TF RE TB
1              0              0  0  1  0  0  1  0
Status flags	receive FIFO empty	transmit FIFO full
rx(in) = 0x18  tx(out) = 0x18
`
the slave code is simply
 while(1)   {   xfer.txBuf[0] = echo;   xfer.txCnt = 1;   int status_now = bscXfer(&xfer);   if (status != status_now )     {       status = status_now;       show_status();       printf("rx(in) = 0x%x  tx(out) = 0x%x \n", xfer.rxBuf[0], xfer.txBuf[0]);       xfer.txBuf[0] = (uint8_t) xfer.rxBuf[0];       xfer.txCnt = 1;       echo = (uint8_t) xfer.rxBuf[0];     }   usleep(200);   }
master output follows
----------------8<------------------------
`
Please enter a number 24
Sending 0x18
Asking for 18 bytes (expecting 0x18)
(1)  0x03 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0x03
(2)  0x18 0x18 0x18 0x18 0x18 0x18 0x18 0x18 0x18 0x18 0x18 0x18 0x18 0x18 0x18 0x18 0x18 0x18
`

Ok I can get it to work BUT
the last character comes first and I have to burn the first 4 reads of a 4 byte value.
and the last character comes first
example results below.
I can work around this but it is pretty strange.
the slave flags are

a  a  a  a  a  a  a  -  - IT HC TF IR RE TE BK EC ES PL PH I2 SP EN
0  0  0  1  0  0  0  0  0  0  0  0  0  1  1  0  0  0  0  0  1  0  1

Please enter a number<PHONE_NUMBER>
Sending 0xEC 0x69 0xBC 0xA7<PHONE_NUMBER> Asking for 4 bytes (expecting 0x 0xEC 0x69 0xBC 0xA7)
(1)  0x00 0x09 0x00 0x00
(2)  0x00 0x09 0x00 0x00
(3)  0x00 0x09 0x00 0x00
(4)  0x00 0x09 0x00 0x00
(5)  0x00 0xEC 0x69 0xBC
(6)  0xA7 0xEC 0x69 0xBC
Please enter a number 7645637
Sending 0xC5 0xA9 0x74 0x00 7645637 Asking for 4 bytes (expecting 0x 0xC5 0xA9 0x74 0x00)
(1)  0xA7 0xEC 0x69 0xBC
(2)  0xA7 0xEC 0x69 0xBC
(3)  0xA7 0xEC 0x69 0xBC
(4)  0xA7 0xEC 0x69 0xBC
(5)  0xA7 0xC5 0xA9 0x74
(6)  0x00 0xC5 0xA9 0x74
Please enter a number

OK some traps for those following me.

The client must flush the 16 byte buffer first before the slave can reliably add new data to it.
It needs a small delay.
the actual data starts at the 2nd byte ( the 1st byte returned often reflects the1st byte of the txBuf array on the slave ) this could be something I did wrong but txBuf[0] definitely reads on the master as rxByte[1]

I also used a command byte 0x0E to trigger the update as I was echoing back the data sent.
As we are talking to a buffer it has the data last added so to echo you need to send the data. then a trigger to read the sent data. Sorry the code is rough but it is reliable.
in arduino it looks something like

typedef union {
uint8_t bytes[4];
uint32_t number;
} UINT32;
uint8_t slave_address = 8;
UINT32 in;
in.number = 123456;
uint8_t buffer[8];
Wire.beginTransmission(slave_address); // transmit to device #8
Wire.write(in.bytes,(uint8_t) 4);
Wire.endTransmission();    // stop transmitting
delay(100);
Wire.requestFrom(slave_address,(uint8_t)16);    // request 16 bytes from slave device to flush the buffer
Wire.beginTransmission(address); // transmit to device #8
Wire.write(0x0E);  //ask to send data
Wire.endTransmission();    // stop transmitting
delay(100);
Wire.requestFrom(address,(uint8_t)5);    // request 5 bytes from slave device #8
for (int x = 0; x < 5 ; x++)  buffer[x] = Wire.read();

I'm not sure if you are saying there is a bug in the software or not.  Any data you write to the BSC FIFO will be appended to any existing data in the FIFO.  The FIFO is only read by the master (in this case Arduino).

No not at all.
I was not trying to blame you of anything or say you had done anything incorrectly. I was  just trying to understand what was actually going on.
I couldn't really find any information so I once again ended up here. I can't seem to find a reasonably forum to discuss this stuff in. Also people like yourself who understand this stuff properly and are not ' over it' are pretty thin on the ground.
Sorry to disturb you.
I am really enjoying working with pigpio it is very well written. Thank you again.
The BCM documentation is very scant. I don't know how you got as far as you did.
The process of appending to the FIFO as apposed to writting to it entirely was what tripped me up.
I presumed that if I wrote to txBuf[0] that would also be writing to that position in the bufffer on the chip.
Is there a way to flush the tx buffer of the chip or is that only not possible.
I tried setting the BRK bit to reset the buffer but that didn't seem to do anything.
The only way I have found to cleanly and reliably get the same data repeatedly is for the master to read the whole 16byte buffer each time. I suppose I could add a marker between each piece of data but that is getting messy. It appears as both I2C buses on the BCM chip only handle a 16 byte buffer.
Looking through your code I thought that as you had just mapped directly to the address space of the chip but evidently that is not the case. I would like to watch the rxBuffer directly to trigger a full bscXfer when a command comes in (instead of copying the whole thing each loop), but maybe that presumption is wrong as well.  bscXfer can't be that much more overhead.
You can close this if you like.(I sort of cut you off last time Sorry)

If you look at the current documentation and you can think of any changes to clarify what's happening with BSC xfer that might be useful.  I'm only thinking of a couple of paragraphs at most as I then have to slide that into all the relevant places.

Ok I'll have a go.
It might help clarify a few things for me as well.
So it's a win win.
I know it's hard to write documentation when you already have a deep understanding of the way the system works.
I'll get back to you here.

Ok Joan here is first draft of the introduction. I will do more after I do some more testing. You will of course have to adjust it to suit your style and the SPI interface parameters.

This function provides a low-level interface to the SPI/I2C Hardware Slave interface on BCM chip.
This peripheral allows the Pi to act as a hardware slave device on an I2C or SPI bus.
This is not a bit bang version and as such is OS timing independent. The bus timing is handled directly by the chip.
The output process is simple. You simply append data to the FIFO buffer on the chip.
This works like a queue, you add data to the queue and the master removes it.
This can create a bit of confusion at the start the master needs to know how much data to remove to arrive at the start again.

@Yardie- That's fine, I'll incorporate words to that effect into the text.

I am sorry Joan
I'm done.
This is between the BSC and the Arduino,
The cleanest way I can get this to work with the Arduino Wire library is have the Arduino do a fake request for the whole 32bytes before each read.
This works cleanly and reliably every time from an Arduino nano to a PI Zero over a 2m wire at 100kHz so it is what I was after.
It's time for me to move on.
I wouldn't have a clue how to document it, however I have added working Arduino code below.
on the PI it's like
inside the main loop
If rx count > 0 process the command and set the tx buffer and tx count
on the Arduino it's

uint8_t slave_address = 119;
uint8_t out[] = { 0x66, 0x66, 0x48, };
uint8_t how_many = 32;
// send command
Wire.beginTransmission(slave_address); // start transmit to device
Wire.write(out,(uint8_t) 3);
Wire.endTransmission();    // stop transmitting
// do fake read of the whole 32 byte buffer
Wire.requestFrom(slave_address,how_many);
delay(100);
how_many = 5;
Wire.requestFrom(slave_address,how_many);
while (Wire.available()) { // slave may send less than requested
uint8_t in =  Wire.read(); // receive a byte as unsigned 8 bit int
Serial.print("\n 0x");
Serial.print(in,HEX);
}

OH MY GOD I HAVE FINALLY GOT IT
IT'S SO SIMPLE
I'M AN IDIOT
When the code returns after a call to bscXfer it is necessary to set txCnt to 0
so simply doing this fixes it
bscXfer(&xfer);
xfer.txCnt = 0;
It was just adding more data at each call.
Thanks Joan good luck.
ps
You still get the data from the last call but that is just a FIFO order issue inherent in the FIFO buffer system.
Thanks


Using cssnano

Wouldn't it be a good idea to minify the generated CSS with cssnano? Google's PageSpeed Insights keeps complaining about un-minified CSS

v1 won't make any assumption about how use style their app, so it will be up to you to handle this.

I though webpack css loader already handle this by default

@thangngoc89 turns out the latest version of css-loader doesn't minify by default, so you just need to enable the minimize option:
{
  loader: "css-loader",
  options: {
    minimize: config.production,
    ...
  }
}

Same deal with sourcemaps.

@axelboc Yeah. First thing after I add css-loader was disable minimize and autoprefixer


Remove IT Resources Link

The e-mail addresses page has a link to IT resources:
http://webguide.ucsb.edu/email-addresses/
Per #68, this should point to a GitHub wiki page instead.

Similarly, the link to the IT Resources page needs to be removed from the "Campus Resources" page as well:
http://webguide.ucsb.edu/campus-resources/


Not clearing the image cache with v2.2.9

I am implementing profile pic adding and updating functionality  and trying to update but it's not updating when it comes to the profile screen for the next time. Clearing cache not working for me. I am using below code.
await CachedImage.InvalidateCache(rootObj.data.patron_photo_thumb_url, FFImageLoading.Cache.CacheType.All, removeSimilar: true);
And using the latest version v2.2.9.
Can you help me on this issue.

@vijayMmenlo Please check the newest prerelease as there were some fixes in there and let me know if you're still experiencing it.

Same problem here with 2.2.10-pre-408

@daniel-luberda I am also experiencing same issues with above version.

@daniel-luberda , Iam still facing the same issue even if I used 2.2.10-pre-408.
Please help me on this as I need to fix this urgently.

Hey, I just used below code to clear cache.. It's working now
ImageService.Instance.InvalidateCacheEntryAsync(rootObj.data.patron_photo_thumb_url, FFImageLoading.Cache.CacheType.All, removeSimilar: true);

I am getting Invalidate Cache API only not the one you mentioned above? What version are you using?

IAM using latest version i.e., v2.2.10 pre-408. Please check with this version. It works
    Vijay Kumar Medisetty

Software Engineer
<EMAIL_ADDRESS>mobile +91<PHONE_NUMBER>
Confidentiality Note:  This email may contain confidential and/or private information. If you received this email in error please delete and notify sender.

From: Raj123456788<EMAIL_ADDRESS>Sent: Saturday, June 24, 2017 1:10:06 AM
To: luberda-molinet/FFImageLoading
Cc: Vijaya Kumar Medisetty; Mention
Subject: Re: [luberda-molinet/FFImageLoading] Not clearing the image cache with v2.2.9 (#634)
I am getting Invalidate Cache API only not the one you mentioned above? What version are you using?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/luberda-molinet/FFImageLoading/issues/634#issuecomment-310755566, or mute the threadhttps://github.com/notifications/unsubscribe-auth/Ab2HWfe4daVPQ-dlvQAks6G_rYgwyqpSks5sHBSWgaJpZM4N1ftA.

@vijayMmenlo @daniel-luberda : I need image to be updates every sec. Using InvalidateCacheEntryAsync API with CacheType=Memory does not update the image.

Could you test the newest prerelease? (<IP_ADDRESS>8) It should be fixed now. Please reopen if it's still a valid issue. Thanks


How to User Possible Providers

How to use possible provider like embedly and embedapi in my meteor app?

See http://docs.vulcanjs.org/embed.html


GitHub Feature Request Typo

What is the improvement or update to the Wiki you wish to see?
Not a wiki issue, it's on GitHub. Typo here, or maybe intended lol who am I to judge:

Does the docs page already exist? Please link to it.
https://github.com/meisnate12/Plex-Meta-Manager/issues/new/choose

Only @meisnate12 can resolve this one, hopefully will get done soon.

lies anyone can https://github.com/meisnate12/Plex-Meta-Manager/blob/master/.github/ISSUE_TEMPLATE/config.yml


API changes for 4.1

These API changes are up for review. Corresponding pull requests in GearVRf-Demos and GearVRf-Tests incorporate these api changes.
Removed GVRMaterialShaderManager, GVRPostEffectShaderManager (use GVRShaderManager now)
Removed GVRGUISceneObject (GVRViewSceneObject has this functionality now)
GVRBaseSensor -> GVRSensor
GVRBitmapTexture -> GVRBitmapImage
GVRCubemapTexture -> GVRCubemapImae
GVRCompressedTexture -> GVRCompressedImage
GVRCompressedCubemapTexture -> GVRCompressedCubemapImage
GVRFloatTexture -> GVRFloatImage
Removed GVRMesh.setTriangles, GVRMesh.getTriangles
Added GVRMesh.setCharIndices, GVRMesh.setIntIndices, GVRMesh.getCharIndices, GVRMesh.getIntIndices
GVRLightBase -> GVRLight
GearCursorController -> GVRGearCursorController
Moved GVRxxxShader to org.gearvrf.shaders
Move GVRCursorController to org.gearvrf.io
GearVRF DCO signed off by: Nola Donato<EMAIL_ADDRESS>

Have not examined the change but in general: new packages are only ok if the dependencies are one-way (to org.gearvrf), not too many (hard to set exact number) and there is a clean API boundary (no make this and that public just to get to it).

It is a nice improvement. You should rebase so we can get it in. Please consider the need for the io package but I am not going to get hung up on that.

@liaxim are there any other API changes you would like to see?  (other than the io package that you mentioned)

Have nothing specific. But it would be nice to remove at least some of the deprecated methods.

Well, I find public void addChildObject(GVRComponent childComponent) not particularly good. Should be removed in my opinion and its use appropriately replaced with addChildObject(GVRSceneObject child).

I agree about GVRComponent.addChildObject. I left that in for compatibility with old stuff but it can be removed.

If there are no complaints I will merge this tomorrow. Tests won't run without it.

Needs rebase


Unable to anchor anything on any liquid

Description

Title.
Reproduction

Spill 1u of anything
Attempt to anchor anything that is anchorable on a spill
"Tile occupied!"

Screenshots

Additional context

probably caused by #31555

cursed


Runbook for update to minor, major SDK versions

Describe the issue
Written instructions should be provided for manually updating the minor and major SDK versions.  (Patch version will always be updated automatically by the build process.)
Links
https://docs.aws.amazon.com/sdkref/latest/guide/maint-policy.html (SDKs & Tools maint policy)

Used this runbook to successfully ship minor version bumps on 9/13.  Closing as Done.


Doc update to "Response Templating" adding parameters. prefix

It took me a while to work out why my parameters weren't showing up in my template, and it was because I didn't realise I needed a parameters. prefix to select them from the model (I ended up debugging it to work out why it wasn't working). Thought I'd update the documentation to hopefully prevent others making the same mistake with this great tool!

Thanks!


File creation time is missing

This is referred to as "birth time" and maps to statx.stx_ctime on Linux and stat.st_birthtime on Darwin

Currently, glibc does not provide alias for statx. To call it, one either have to use syscall like [so] (https://github.com/torvalds/linux/blob/master/samples/vfs/test-statx.c), or include their own implementation. Neither are good option for this library.


media: add auto_hwaccel param

This parameter is useful to disable hardware decoding.

suggest to rename to "hwaccel" = [ true | false ].
If hwaccel is true and not supported, it will fall back to sw decoding

Also, why do you want to disable hardware decoding?

Also, why do you want to disable hardware decoding?

It is useful for testing purposes. Hardware decoders can fail to decode certain bitstream properly (the output can be garbled, ...) and you want to enforce the use of a software decoder to compare the output.
It can also be useful for running tests on different platforms using the same decoder implementation (FFmpeg here).

suggest to rename to "hwaccel" = [ true | false ].
If hwaccel is true and not supported, it will fall back to sw decoding

I used this name to match the one in sxplayer. I am not against renaming it to hwaccel as you suggest. @cboesch-gpsw  what do you think ?

suggest to rename to "hwaccel" = [ true | false ].
If hwaccel is true and not supported, it will fall back to sw decoding

I used this name to match the one in sxplayer. I am not against renaming it to hwaccel as you suggest. @cboesch-gpsw what do you think ?

I initially thought a bool param would have been appropriate but I'd make a hwaccel select param with auto and disabled as choices instead because "hwaccel=true" would otherwise lead to no acceleration sometimes, which is kinda counter intuitive.

suggest to rename to "hwaccel" = [ true | false ].
If hwaccel is true and not supported, it will fall back to sw decoding

I used this name to match the one in sxplayer. I am not against renaming it to hwaccel as you suggest. @cboesch-gpsw what do you think ?

I initially thought a bool param would have been appropriate but I'd make a hwaccel select param with auto and disabled as choices instead because "hwaccel=true" would otherwise lead to no acceleration sometimes, which is kinda counter intuitive.

Updated.