Stalled TCP connection because window update is not announced after reading

Only ACKs generated by dispatch are updating remote_last_win but not the ACKs generated by  process, failing to keep track of the last announced receive window. This leaves window_to_update to return false in dispatch after the RX buffer was emptied, thus not announcing that the receive window is not zero anymore after reading from the RX buffer → Connection is stalled if keep-alive is off.
I will submit a patch now.
Actually I also want to use this issue to ask if Probing Zero Windows should be added to the list as not supported: https://tools.ietf.org/html/rfc1122#page-92 (This requires a timer for a sender which got a zero window announced from the receiver.)

Thanks, excellent catch!

Actually I also want to use this issue to ask if Probing Zero Windows should be added to the list as not supported: https://tools.ietf.org/html/rfc1122#page-92 (This requires a timer for a sender which got a zero window announced from the receiver.)

Yes. That, or an implementation.


Contact MP Customers who don't have SSM Agents installed on their instances - 2nd Wave

User Story
Following on from https://github.com/ministryofjustice/modernisation-platform/issues/7088 (05/07/2024) where all teams were notified of any instances not running the SSM agent and requested to arrange installation (where possible), this ticket is to run the script and reach out to the teams where the SSM agent is not installed (suggested waiting 1-2 months before actioning ticket).
As a MP engineer
I want to identify and make contact with MP customers who are not running SSM agents on their instances
So that I can ensure that all instances on MP that can possibly host the agent have it installed
Value / Purpose
Following on from https://github.com/ministryofjustice/modernisation-platform/issues/2415 this issue would be to run the script that has been generated in the MP Security repo and get a list of the instances without the SSM agent installed and then contact the customers who we think should be able to get the agent installed based on the platform information. If there is no platform info available we would need to make contact to find out the possibility of installing the SSM agent.
Useful Contacts
Aaron Robinson / Rich Green
Additional Information
Script can be found here
Definition of Done

[x] SSM monitoring script has been run to get results
[x] Customers on list with instances that should be able to host SSM agent are contacted to ask them to install/activate it or attach the relevant IAM policy (where it is already pre-baked)
[ ] Add instances to the risk register where the SSM agent cannot be installed/activated.

@ASTRobinson will get the last spreadsheet and attach a link to the ticket.

Ran Script here

I have sent the below email to all teams/users with instances without the SSM agent...
_Hello XXXX team,
I hope this message finds you well.
As part of our ongoing efforts to enhance our operational capabilities and in line with our Production Ready Checklist, we need to ensure that the AWS Systems Manager Agent (SSM Agent) is installed on all EC2 instances across the Modernisation Platform.
To achieve this, I kindly request that you install the SSM Agent on your EC2 instances. Below is a list of identified instances without the SSM Agent. The installation process is straightforward, and many AMIs come with the SSM Agent pre-installed.
If you encounter any issues or have any questions during the installation process, please do not hesitate to reach out for assistance via the #ask-modernisation-platform channel.
Thank you for your cooperation in this important initiative.
Best regards,
Aaron Robinson_

Account ID
Account Name
Instance ID
Instance Name
SSM Status

1234567890
xxxx-development
i-1234567890
instance-name
Not Managed

Started getting replies. We have some false positives. Reviewing the list (129 instances) against SSM Inventory. If large number of false positives are identified will have to raise a ticket to fix the script.

Sent more emails to for people who did not respond

Logic added to remove false positives. Checking results to see if any false positives still exist.

For List of instances to be excluded, see this link.

Resourse who can install or answer questions around moj-network-operation instances ins returning from annual leave on Monday 28 October. Will put the ticket in blocked until she returns

Had meeting with Nicholas Fin for today to discuss his instances that does not have SSM installed. Meeting got cancelled today moved to tomorrow

Had a meeting with Nicholas and sent follow up email with value of installing SSM and a user data script we have from in our code. Waiting for an update from him once thats done/ he gives us a list of instances that should be added to the risk register. See the instances below,

Account   Name
Email
Manual Check
Instance ID
Instance Name

moj-network-operations-centre-preproduction
<EMAIL_ADDRESS>No
i-02315e9ab49832ff4
OPENSWAN-EC2

moj-network-operations-centre-preproduction
<EMAIL_ADDRESS>No
i-0353292f94b2d9357
NLB Test

moj-network-operations-centre-production
<EMAIL_ADDRESS>No
i-0dd071634a2793af1
MOJ-NS-NOC-ION-002

moj-network-operations-centre-production
<EMAIL_ADDRESS>No
i-0967f522f57ca0530
MOJ-NS-NOC-SWAPSVR001

moj-network-operations-centre-production
<EMAIL_ADDRESS>No
i-0a69252c667fdfa5f
MOJ-NS-NOC-ION-001

moj-network-operations-centre-production
<EMAIL_ADDRESS>No
i-00164851f54a4b161
MOJ-NS-NOC-PALOVM01

moj-network-operations-centre-production
<EMAIL_ADDRESS>No
i-013efa1497d75ac11
MOJ-NS-NOC-XSIAMBROKER001

moj-network-operations-centre-production
<EMAIL_ADDRESS>No
i-08607f127c9053d32
MOJ-NS-NOC-PALOVM02

moj-network-operations-centre-production
<EMAIL_ADDRESS>No
i-0c3af78b90d53bd2f
MOJ-NS-NOC-XSIAMBROKER002

moj-network-operations-centre-production
<EMAIL_ADDRESS>No
i-0d81805de6dda6817
MOJ-NS-NOC-PAN02A

moj-network-operations-centre-production
<EMAIL_ADDRESS>No
i-0f2ba0dab8812f968
MOJ-NS-NOC-PAN01A

moj-network-operations-centre-production
<EMAIL_ADDRESS>No
i-03b0cade3b946f5af
Guacamole 30

moj-network-operations-centre-production
<EMAIL_ADDRESS>No
i-0eb735f3778cf6d34
MOJ-NS-NOC-TEMP-SYSLOG

Answers have come from the MOJNOC and the instances have been added to the exclusion list.

moj-network-operations-centre-preproduction
i-02315e9ab49832ff4
OPENSWAN-EC2
Not Managed
Test device only - Not required as will be   shutdown

moj-network-operations-centre-preproduction
i-0353292f94b2d9357
NLB Test
Not Managed
Test device only - Not required as will be shutdown

moj-network-operations-centre-production
i-0077ab995a013e100
netbox
Not Managed
Test device only - Not required as will be shutdown

moj-network-operations-centre-production
i-00436f85d169dbc9f
Aruba ClearPass Policy Manager
Not Managed
Managed by Vendor

moj-network-operations-centre-production
i-07d9030e2d7d6adc4
PHPIPAM
Not Managed
Shutdown/Not Live/No changes to be made

moj-network-operations-centre-production
i-0dd071634a2793af1
MOJ-NS-NOC-ION-002
Not Managed
Managed by Vendor

moj-network-operations-centre-production
i-0967f522f57ca0530
MOJ-NS-NOC-SWAPSVR001
Not Managed
Managed by Vendor

moj-network-operations-centre-production
i-084fed5c016b8a8f2
EC2-NLB-11
Not Managed
Test device only - Not required as will be shutdown

moj-network-operations-centre-production
i-0a69252c667fdfa5f
MOJ-NS-NOC-ION-001
Not Managed
Managed by Vendor

moj-network-operations-centre-production
i-064f0f8f90a226852
MOJ-NS-NOC-SWWEB002
Not Managed
Shutdown/Not Live/No changes to be made

moj-network-operations-centre-production
i-05d153302f033bc1d
ITHC-BSI-KALI-Linux
Not Managed
Shutdown/Not Live/No changes to be made

moj-network-operations-centre-production
i-00164851f54a4b161
MOJ-NS-NOC-PALOVM01
Not Managed
Managed by Vendor

moj-network-operations-centre-production
i-013efa1497d75ac11
MOJ-NS-NOC-XSIAMBROKER001
Not Managed
Managed by Vendor

moj-network-operations-centre-production
i-08607f127c9053d32
MOJ-NS-NOC-PALOVM02
Not Managed
Managed by Vendor

moj-network-operations-centre-production
i-0c3af78b90d53bd2f
MOJ-NS-NOC-XSIAMBROKER002
Not Managed
Managed by Vendor

moj-network-operations-centre-production
i-0d81805de6dda6817
MOJ-NS-NOC-PAN02A
Not Managed
Managed by Vendor

moj-network-operations-centre-production
i-0f2ba0dab8812f968
MOJ-NS-NOC-PAN01A
Not Managed
Managed by Vendor

moj-network-operations-centre-production
i-05ed21567311505a9
test-ulinux-swagent
Not Managed
Test device only - Not required as will be shutdown

moj-network-operations-centre-production
i-007c13410fb54df7d
ArubaAirWave
Not Managed
Managed by Vendor

moj-network-operations-centre-production
i-07f76175c68ec2d82
testaruba
Not Managed
Test device only - Not required as will be shutdown

Instances in exclusion list have been added to risk register. Can now be closed
https://docs.google.com/spreadsheets/d/1qncGrSJF7No6hRIKOGGfcvaXsk_MvVG6FoHEar4iz74/edit?gid=1230140326#gid=1230140326

Moving this done as customers have been notified and non-compliant instances added to the risk register.


Create synth scripts for nodejs repositories

Using this as the top level issue for tracking the addition of synth scripts to our gapic libraries.

[x] https://github.com/googleapis/nodejs-bigquery-data-transfer/pull/43
[x] https://github.com/googleapis/nodejs-bigtable/issues/211
[x] https://github.com/googleapis/nodejs-cloud-container/issues/37
[x] https://github.com/googleapis/nodejs-dataproc/pull/35
[x] https://github.com/googleapis/nodejs-datastore/issues/116
[x] https://github.com/googleapis/nodejs-dlp/pull/70
[x] https://github.com/googleapis/nodejs-firestore/issues/221
[x] https://github.com/googleapis/nodejs-language/issues/63
[x] https://github.com/googleapis/nodejs-logging/pull/127
[x] https://github.com/googleapis/nodejs-monitoring/issues/59
[x] https://github.com/googleapis/nodejs-os-login/issues/33
[x] https://github.com/googleapis/nodejs-pubsub/issues/151
[x] https://github.com/googleapis/nodejs-redis/pull/11
[x] https://github.com/googleapis/nodejs-spanner/pull/244
[x] https://github.com/googleapis/nodejs-speech/issues/94
[x] https://github.com/googleapis/nodejs-tasks/pull/12
[x] https://github.com/googleapis/nodejs-text-to-speech/pull/27
[x] https://github.com/googleapis/nodejs-video-intelligence/issues/48
[x] https://github.com/googleapis/nodejs-vision/pull/78

After we're done here, lets go get these added to the kokoro job for autosynth.

Thank you @crwilcox and @kinwa91 for banging these out :) @kinwa91 - can you submit a CL to update autosynth to cover all of these?

FYI @theacodes

Saw this CL drop today - so Imma close this out.  Thank you folks 🎉


Rename default branch as 'main'

default branch 'master' -> 'main'

Done

Thanks for making this switch. I wasn't sure how complicated it would be as a client, but the github UI popped up with the code I needed to run locally and it was all very easy.


Error on Import when Running CreateReactApp Test

I have included Ally.js into a React/Redux/TypeScript project. Now, that I have made some good progress including it and getting it working I have hit an error when running yarn test before committing the updates. The error is as follows:
FAIL  src/containers/App/tests/index.test.tsx
 ● Test suite failed to run

   [path]/node_modules/ally.js/esm/maintain/disabled.js:21
   import nodeArray from '../util/node-array';
   ^^^^^^

   SyntaxError: Unexpected token import

     at ScriptTransformer._transformAndBuildScript (node_modules/jest-runtime/build/ScriptTransformer.js:289:17)
     at Object.<anonymous> (src/components/RightSidebar/index.tsx:19:18)
     at Object.<anonymous> (src/components/Layout/index.tsx:6:22)

I have imported the components in from the ESM directory and added them to my types file for ActionScript.
declare module 'ally.js/esm/maintain/disabled';
declare module 'ally.js/esm/maintain/tab-focus';
declare module 'ally.js/esm/query/first-tabbable';
declare module 'ally.js/esm/when/key';

And inside my RightSidebar component I bring the components in with the following:
import AllyDisabled from 'ally.js/esm/maintain/disabled';
import AllyTabFocus from 'ally.js/esm/maintain/tab-focus';
import AllyKey from 'ally.js/esm/when/key';

Running this works fine as I've gotten the functionality to work. Only now when I run yarn test do I hit the error.

Is it possible that the test runner (whichever that is?!) is not capable of handling ES6 Modules?

I am using CreateReactApp which by default supports Jest. Since CRA does support ES6 syntax, I am unsure if that is the issue here. I would also suspect it would occur in more files than just nodeArray.
I've tried a couple different workarounds but with no luck yet.

I was able to solve this issue by the following:

I installed the 'babel-polyfill' package
Included `import 'babel-polyfill' at the top of my entry point file for my app

I will have a blog up this week going over this process and working with Ally.js within React and Typesacript.
Thanks!


Facility for padding image files

develop 9795c55
Problem space:  There are plenty of images (both hard drive and CD-ROM) floating around out there that are of non-standard sizes, i.e. not a multiple of 512 (or 2048 etc.)  Other more lenient pieces of software such as Basilisk II will happily read such files, but RaSCSI won't.
Solution:  Just spitballing at this point, but provide some facility to pad such image files, either dynamically at load time, or as a separate tool/UI flow to add the padding permanently.

Voting for a separate tool or just CLI option to do the padding. Seems like silently modifying images like that may have unintended consequences if someone assumes the file hasn't changed. Example. Maybe they intended to mount read-only then later a HASH doesn't match and they get confused.

I agree that rascsi should not do anything like that. rascsi is not meant to be a tool that repairs files etc. In addition, if rascsi is too lenient with using files that are not usable it might cover filesystem issues or other severe issues, which should not be hidden from the user.

Attaching an image for a use case. This ISO boots and is installable in BasaliskII and, if burned to a CD, is bootable in drives that can read burned media.

@stinkerton18 Can you share the URL where you got the file from?

Certainly. I picked up the ISO I'm using from Winworld here: https://winworldpc.com/download/7724c394-e280-9362-c382-11c3a6e28094

@stinkerton18 Thanks for sharing!  Now, I was actually able to attach this image as-is with RaSCSI over here, so maybe the problem you had was with that upload form corruption bug?
Anyhow, I've found two test cases of my own:
https://macintoshgarden.org/apps/macintosh-os-71x (0074 in MacOS71_CD.ZIP)
https://macintoshgarden.org/apps/adam-the-inside-story
Was able to confirm that this method worked for padding:
dd if=/dev/null of=TheInsideStory.iso bs=1 count=1 seek=456486912

Implemented in rascsi-web here: https://github.com/akuker/RASCSI/pull/269


K8s VM template

Currently the tool expects a VM template to be exisitng in the VCenter. This template will be used to clone VMs and install K8s. It would be nice if the app can embed the template image and in the workflow the user can request to create the VM template with the embedded image.

The image is already embedded
On Thu, 3 Feb 2022 at 20:56, ddastoli @.***> wrote:

Currently the tool expects a VM template to be exisitng in the VCenter.
This template will be used to clone VMs and install K8s. It would be nice
if the app can embed the template image and in the workflow the user can
request to create the VM template with the embedded image.
—
Reply to this email directly, view it on GitHub
https://github.com/camrossi/akb/issues/4, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AD6E4PL3TUFJTSFIAQVYMQTUZJGLRANCNFSM5NON6TWA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Will look at how we can upload the template automatically as a nice to have feature.

Implemented


Number placement wrong with multiple columns

When using a two-column layout, in some cases (e.g., when the note is near the end of the leftmost column), the note number will end up on the wrong side of the page (to the right of the rightmost column).

Maybe look at mparhack for ideas?


Question about the TMD code

Hello
In https://github.com/dean0x7d/pybinding/blob/master/pybinding/repository/group6_tmd.py line 99, how was h2 and h3 obtained? I cant seem to find the transformations in the paper or in the manual. A guidance from your side is appreciated
Thanks

Hi, the entries in the Liu paper are the full 'Hamiltonian' entries, whereas the entries in Pybinding are the pure onsite/hopping energies between the different orbitals.
You can't compare them to each other. However, have a look at my paper (https://scipost.org/SciPostPhysCore.7.1.004) where I made a generic implementation. In essence, the hopping values are transformed slightly (t1, t2 etc) in the paper from Liu to be more in line with a general implementation as  given by Fang.
The 'h2' and 'h3' are thus just the hopping energies or fourier transform of the Hamiltonian in the direction of the hoppings.
You should try writing them out, though it's easier to start with a simple graphene example.
The matrices 'h1', 'h2' and 'h3 are also just the rotated matrices over an angle of 120 degrees. As the basis is composed of dz2 and 2 d2 orbitals, they rotate into one another. You can see the details in the paper ;).
(Pybinding is software, this is a physics question)


Fetching wrong version of jiffy

Hi,
I tried to get mzbench working but failed due to the wrong version of jiffy being downloaded.
I get this compiler error:
..
c_src/double-conversion/bignum.cc: In member function ‘void double_conversion::Bignum::AssignDecimalString(double_conversion::Vector)’:
c_src/double-conversion/bignum.cc:101:6: error: assuming signed overflow does not occur when assuming that (X + c) < X is always false [-Werror=strict-overflow]
void Bignum::AssignDecimalString(Vector value) {
^
cc1plus: all warnings being treated as errors
ERROR: compile failed while processing /home/zendenp/work/mzbench/mzbench/server/_build/default/deps/jiffy: rebar_abort
Makefile:29: recipe for target 'build' failed
..
This is caused by the fact that the wrong jiffy package is loaded. The correct version is skipped:
..
===> Fetching goldrush ({git,"git://github.com/DeadZen/goldrush.git",
{tag,"0.1.7"}})
===> Skipping jiffy (from {git,"git://github.com/davisp/jiffy.git",
{tag,"0.14.2"}}) as an app of the same name has already been fetched
..
I verified that the file jiffy/c_src_double-conversion/bignum.cc is indeed not the latest version:
..
void Bignum::AssignDecimalString(Vector value) {
// 2^64 =<PHONE_NUMBER>3709551616 > 10^19
const int kMaxUint64DecimalDigits = 19;
Zero();
int length = value.length();
int pos = 0;                                      //<====== should be unsigned int pos = 0;
// Let's just say that each digit needs 4 bits.
while (length >= kMaxUint64DecimalDigits) {
...
Same of course happens when building the node software.
Running on Kubuntu 15.10 64-bit, Erlang/OTP 18.
Regards
Paul

Hi, thank you for your report
I don't see "Skipping jiffy" line in my log.
Could you please show us full log of the following command:
cd mzbench/server && make clean && make generate

I've changed version of jiffy to 14.2 in jiffy-14-2 branch , could you please try to build server from this branch?

Hi Timofey
Thanx for looking into it.
I’ll check building from jiffy-14-2 branch later this day.
Here is the output:
zendenp@ubuntu:~/work/mzbench$ cd mzbench/server && make clean && make generate
/home/zendenp/work/mzbench/mzbench/bin/rebar3 clean
===> Cleaning out mzbench_api...
rm -rf _build
rm -rf .make
rm -rf .make/git-rev-*
mkdir -p .make && touch .make/git-rev-d697ade987d65a05dc867d5ccc99d56ce715143a
/home/zendenp/work/mzbench/mzbench/bin/rebar3 compile
===> Fetching rebar_rsync_deps ({git,
"https://github.com/ethercrow/rebar3_rsync_resource",
{ref,
"53eb6aa50db8e0de7cf5833a48e48c205f5c8d56"}})
===> Compiling rebar_rsync_deps
/home/zendenp/work/mzbench/mzbench/server/_build/default/plugins/rebar_rsync_deps/src/rebar_rsync_resource.erl:14: Warning: variable 'Dir' is unused
/home/zendenp/work/mzbench/mzbench/server/_build/default/plugins/rebar_rsync_deps/src/rebar_rsync_resource.erl:17: Warning: variable 'State' is unused
/home/zendenp/work/mzbench/mzbench/server/_build/default/plugins/rebar_rsync_deps/src/rebar_rsync_resource.erl:29: Warning: variable 'Dir' is unused
===> Verifying dependencies...
===> Fetching cowboy ({git,"git://github.com/ninenines/cowboy.git",
{ref,
"90ae31998e8d0887b9efe4b441136ac047708bb9"}})
===> Fetching erlcloud ({git,"git://github.com/gleber/erlcloud.git",
{ref,
"da1810425b5daf48f21aebed70a898737d7ee4de"}})
===> Fetching gen_smtp ({git,"git://github.com/Vagabond/gen_smtp.git",
{ref,
"f62f2b7b99afdd9b6041e58043740af2f899da6c"}})
===> Fetching hamcrest ({git,
"git://github.com/hyperthunk/hamcrest-erlang",
{ref,
"908a24fda4a46776a5135db60ca071e3d783f9f6"}})
===> Plugin header_generator not available. It will not be used.
===> Plugin eqc_resolver not available. It will not be used.
===> Fetching jiffy ({git,"git://github.com/davisp/jiffy.git",
{ref,"137d3d94b6ee10001d761d412cbbe7f665680c98"}})
===> Plugin rebar_gdb_plugin not available. It will not be used.
===> Fetching lager ({git,"git://github.com/basho/lager.git",
{ref,"f65dde85523b6aa6a259db1c93518187ae366515"}})
===> Fetching meck ({git,"https://github.com/eproxus/meck.git",
{ref,"dde759050eff19a1a80fd854d7375174b191665d"}})
===> Fetching mzbench_language ({rsync,
"../common_apps/mzbench_language/"})
===> Fetching mzbench_utils ({rsync,"../common_apps/mzbench_utils/"})
===> Fetching cowlib ({git,"git://github.com/ninenines/cowlib.git",
{ref,
"0bd62c8920cd7c0f901207320f07229452cc5681"}})
===> Fetching goldrush ({git,"git://github.com/DeadZen/goldrush.git",
{ref,
"64864ba7fcf40988361340e48680b49a2c2938cf"}})
===> Fetching jsx ({git,"git://github.com/talentdeficit/jsx.git",
{ref,"3074d4865b3385a050badf7828ad31490d860df5"}})
===> Fetching lhttpc ({git,"git://github.com/talko/lhttpc",
{ref,
"2d01a5f9c7543b77bdd57f44c92e72801f46e423"}})
===> Fetching pretty_errors ({git,
"git://github.com/ethercrow/pretty_errors",
{ref,
"445d2aa1c10dd8e0fc1cc811b248a7494f838cc9"}})
===> Fetching ranch ({git,"git://github.com/ninenines/ranch.git",
{ref,"adf1822defc2b7cfdc7aca112adabfa1d614043c"}})
===> Compiling cowlib
===> Compiling ranch
===> Compiling meck
===> Compiling lhttpc
===> Compiling jsx
===> Compiling erlcloud
/home/zendenp/work/mzbench/mzbench/server/_build/default/deps/erlcloud/src/erlcloud_sdb.erl:336: Warning: erlang:now/0: Deprecated BIF. See the "Time and Time Correction in Erlang" chapter of the ERTS User's Guide for more information.
/home/zendenp/work/mzbench/mzbench/server/_build/default/deps/erlcloud/src/erlcloud_sdb.erl:349: Warning: erlang:now/0: Deprecated BIF. See the "Time and Time Correction in Erlang" chapter of the ERTS User's Guide for more information.
/home/zendenp/work/mzbench/mzbench/server/_build/default/deps/erlcloud/src/erlcloud_util.erl:38: Warning: crypto:md5/1 is deprecated and will be removed in in a future release; use crypto:hash/2
===> Compiling gen_smtp
/home/zendenp/work/mzbench/mzbench/server/_build/default/deps/gen_smtp/src/smtp_util.erl:65: Warning: crypto:md5_mac/2 is deprecated and will be removed in in a future release; use crypto:hmac/3
/home/zendenp/work/mzbench/mzbench/server/_build/default/deps/gen_smtp/src/smtp_util.erl:107: Warning: erlang:now/0: Deprecated BIF. See the "Time and Time Correction in Erlang" chapter of the ERTS User's Guide for more information.
/home/zendenp/work/mzbench/mzbench/server/_build/default/deps/gen_smtp/src/smtp_util.erl:113: Warning: erlang:now/0: Deprecated BIF. See the "Time and Time Correction in Erlang" chapter of the ERTS User's Guide for more information.
/home/zendenp/work/mzbench/mzbench/server/_build/default/deps/gen_smtp/src/smtp_server_example.erl:134: Warning: erlang:now/0: Deprecated BIF. See the "Time and Time Correction in Erlang" chapter of the ERTS User's Guide for more information.
===> Compiling pretty_errors
===> Compiling mzbench_utils
===> Compiling goldrush
===> Compiling lager
===> Compiling jiffy
===> Compiling mzbench_language
===> Compiling hamcrest
===> Compiling cowboy
===> Compiling mzbench_api
make -C _build/default/deps/jiffy # Until https://github.com/davisp/jiffy/issues/96 is resolved
make[1]: Entering directory '/home/zendenp/work/mzbench/mzbench/server/_build/default/deps/jiffy'
==> jiffy (get-deps)
Pulling proper from {git,"git://github.com/manopapad/proper.git","master"}
Cloning into 'proper'...
==> proper (get-deps)
./rebar compile
==> proper (compile)
make[2]: Entering directory '/home/zendenp/work/mzbench/mzbench/server/_build/default/deps/jiffy/deps/proper'
./write_compile_flags include/compile_flags.hrl
make[2]: Leaving directory '/home/zendenp/work/mzbench/mzbench/server/_build/default/deps/jiffy/deps/proper'
Compiled src/strip_types.erl
Compiled src/vararg.erl
Compiled src/proper_prop_remover.erl
Compiled src/proper_transformer.erl
Compiled src/proper_unused_imports_remover.erl
Compiled src/proper_statem.erl
Compiled src/proper_fsm.erl
Compiled src/proper_dict.erl
Compiled src/proper_queue.erl
Compiled src/proper_orddict.erl
Compiled src/proper_symb.erl
Compiled src/proper_gb_sets.erl
Compiled src/proper_gb_trees.erl
Compiled src/proper_shrink.erl
Compiled src/proper_ordsets.erl
Compiled src/proper_unicode.erl
Compiled src/proper.erl
Compiled src/proper_sets.erl
Compiled src/proper_gen.erl
Compiled src/proper_arith.erl
Compiled src/proper_array.erl
Compiled src/proper_types.erl
Compiled src/proper_typeserver.erl
==> jiffy (compile)
Compiling c_src/decoder.c
Compiling c_src/encoder.c
Compiling c_src/jiffy.c
Compiling c_src/utf8.c
Compiling c_src/util.c
Compiling c_src/doubles.cc
Compiling c_src/double-conversion/bignum-dtoa.cc
Compiling c_src/double-conversion/bignum.cc
c_src/double-conversion/bignum.cc: In member function ‘void double_conversion::Bignum::AssignDecimalString(double_conversion::Vector)’:
c_src/double-conversion/bignum.cc:101:6: error: assuming signed overflow does not occur when assuming that (X + c) < X is always false [-Werror=strict-overflow]
void Bignum::AssignDecimalString(Vector value) {
^
cc1plus: all warnings being treated as errors
ERROR: compile failed while processing /home/zendenp/work/mzbench/mzbench/server/_build/default/deps/jiffy: rebar_abort
Makefile:29: recipe for target 'build' failed
make[1]: *** [build] Error 1
make[1]: Leaving directory '/home/zendenp/work/mzbench/mzbench/server/_build/default/deps/jiffy'
Makefile:46: recipe for target '.make/compilation-up-to-date' failed
make: *** [.make/compilation-up-to-date] Error 2
zendenp@ubuntu:~/work/mzbench/mzbench/server$
================
With kind regards, met vriendelijke groeten, cordialement, С уважением,
Paul Zenden
System Architect

Sioux. Source of your Technology
Technical Software | Mechatronics | Electronics | Industrial Mathematics | Remote Solutions
Sioux Embedded Systems B.V. I Esp 405 I 5633 AJ Eindhoven  I Nederland
T + 31 (0)40 26 77 100 I paul.zenden<EMAIL_ADDRESS>I www.sioux.euhttp://www.sioux.eu/
Sioux en CCM bundelen krachten tot marktleidend systeemhuishttp://www.sioux.eu/nl/sioux-nieuws/persberichten/440-sioux-en-ccm-bundelen-krachten-tot-marktleidend-systeemhuis
From: Timofey Barmin<EMAIL_ADDRESS>Sent: woensdag 9 december 2015 11:31
To: machinezone/mzbench<EMAIL_ADDRESS>Cc: Paul Zenden<EMAIL_ADDRESS>Subject: Re: [mzbench] Fetching wrong version of jiffy (#27)
Hi, thank you for your report
I don't see "Skipping jiffy" line in my log.
Could you please show us full log of the following command:
cd mzbench/server && make clean && make generate
—
Reply to this email directly or view it on GitHubhttps://github.com/machinezone/mzbench/issues/27#issuecomment-163182271.

Hi Timofey,
Building the tiffy-12-2 branch works:
zendenp@ubuntu:~/work/mzbench$ git clone -b jiffy-14-2 https://github.com/machinezone/mzbench mzbench_jiffy-14-2
Cloning into 'mzbench_jiffy-14-2'...
remote: Counting objects: 6077, done.
remote: Compressing objects: 100% (106/106), done.
remote: Total 6077 (delta 47), reused 0 (delta 0), pack-reused 5971
Receiving objects: 100% (6077/6077), 4.88 MiB | 2.11 MiB/s, done.
Resolving deltas: 100% (3976/3976), done.
Checking connectivity... done.
zendenp@ubuntu:~/work/mzbench$ ls
mzbench  mzbench_jiffy-14-2
zendenp@ubuntu:~/work/mzbench$ sudo pip install -r mzbench_jiffy-14-2/requirements.txt
[sudo] password for zendenp:
Requirement already satisfied (use --upgrade to upgrade): docopt>=0.6.2 in /usr/local/lib/python2.7/dist-packages (from -r mzbench_jiffy-14-2/requirements.txt (line 2))
Requirement already satisfied (use --upgrade to upgrade): requests>=2.7.0 in /usr/lib/python2.7/dist-packages (from -r mzbench_jiffy-14-2/requirements.txt (line 3))
Requirement already satisfied (use --upgrade to upgrade): erl-terms>=0.1.1 in /usr/local/lib/python2.7/dist-packages (from -r mzbench_jiffy-14-2/requirements.txt (line 4))
Requirement already satisfied (use --upgrade to upgrade): parsimonious in /usr/local/lib/python2.7/dist-packages (from erl-terms>=0.1.1->-r mzbench_jiffy-14-2/requirements.txt (line 4))
Cleaning up...
zendenp@ubuntu:~/work/mzbench$ cd mzbench_jiffy-14-2/
zendenp@ubuntu:~/work/mzbench/mzbench_jiffy-14-2$ ./bin/mzbench start_server
Executing make -C /home/zendenp/work/mzbench/mzbench_jiffy-14-2/bin/../server generate
Executing /home/zendenp/work/mzbench/mzbench_jiffy-14-2/bin/../server/_build/default/rel/mzbench_api/bin/mzbench_api start
zendenp@ubuntu:~/work/mzbench/mzbench_jiffy-14-2$ ./bin/mzbench run examples/ramp.erl
{
"status": "pending",
"id": 1
}
status: complete                      03:34
{
"status": "complete",
"finish_time": "2015-12-09T13:02:05Z",
"start_time": "2015-12-09T12:58:32Z"
}
Thanx.

ok, I will merge it then

done


Prevent accidentally creating duplicate pull requests

If you accidentally clicked the "Create pull request" button multiple times, you may end up with creating duplicate pull requests (just like I did in #3274 and #3392 😅).
The button should be disabled right after you click it, just like "Comment" and "Update comment" button, but somehow GitHub doesn't enforce it (or should it be considered GitHub's bug?).
I don't know how often this could happen (or it's just me who suffers from this 😂), but I think it makes sense to disable the button after you click it, to prevent the problem.
EDIT: I remembered it wrong, "Submit new issue" button doesn't have this issue.

Please also report this to GitHub.


Figgy resource is not indexing

The exhibit indexes without exceptions, but a single resource does not index.
https://figgy.princeton.edu/catalog/3fe9a53f-4d11-4ed0-bb29-086a9b9ebc08
https://dpul.princeton.edu/pudl0036
Exhibit id: 112

Started re-index of Exhibit.

It didn't reindex. No errors as far as I can tell.

https://figgy.princeton.edu/concern/scanned_resources/3fe9a53f-4d11-4ed0-bb29-086a9b9ebc08/manifest The viewingHint is marked as multi-part for some reason, I wonder if that's causing it? It's not a MVW.

This one has that multi-part viewing hint, too, and it indexed fine. https://figgy.princeton.edu/concern/scanned_resources/a53b19fe-04a2-4ed1-a163-1acd8bcff1bb/manifest

When I reindex from the console I get an error from this solr document:
[
    {
        "spotlight_resource_id_ssim": "gid://pomegranate/IIIFResource/155513",
        "spotlight_resource_type_ssim": "iiif_resources",
        "id": "c0975b9a063a4b044f1f6cee28627979",
        "exhibit_pudl0036_public_bsi": true,
        "exhibit_pudl0036_override-title_ssim": null,
        "override-title_tesim": null,
        "exhibit_pudl0036_readonly_identifier_ssim": [
            "ark:/88435/bv73c422q"
        ],
        "readonly_identifier_tesim": [
            "ark:/88435/bv73c422q"
        ],
        "exhibit_pudl0036_readonly_edm-rights_ssim": [
            "In Copyright - Educational Use Permitted"
        ],
        "readonly_edm-rights_tesim": [
            "In Copyright - Educational Use Permitted"
        ],
        "exhibit_pudl0036_readonly_collections_ssim": [
            "Interborough Rapid Transit Company Subway Posters"
        ],
        "readonly_collections_tesim": [
            "Interborough Rapid Transit Company Subway Posters"
        ],
        "exhibit_pudl0036_readonly_start-canvas_ssim": [
            {
                "id": "c2edaf24-c854-4a9c-ae11-7f9b6de970a1"
            }
        ],
        "readonly_start-canvas_tesim": [
            {
                "id": "c2edaf24-c854-4a9c-ae11-7f9b6de970a1"
            }
        ],
        "exhibit_pudl0036_readonly_viewing-hint_ssim": [
            "individuals"
        ],
        "readonly_viewing-hint_tesim": [
            "individuals"
        ],
        "exhibit_pudl0036_readonly_visibility_ssim": [
            "open"
        ],
        "readonly_visibility_tesim": [
            "open"
        ],
        "exhibit_pudl0036_readonly_abstract_ssim": [
            "Advertising poster for the Interborough Rapid Transit Company of New York City, providing instructions on how to pay the fare for two people using the new fare gates. Includes image of two men using the fare gate"
        ],
        "readonly_abstract_tesim": [
            "Advertising poster for the Interborough Rapid Transit Company of New York City, providing instructions on how to pay the fare for two people using the new fare gates. Includes image of two men using the fare gate"
        ],
        "exhibit_pudl0036_readonly_extent_ssim": [
            "1 poster; approximately 21\u00d716 inches"
        ],
        "readonly_extent_tesim": [
            "1 poster; approximately 21\u00d716 inches"
        ],
        "exhibit_pudl0036_readonly_genre_ssim": [
            "posters"
        ],
        "readonly_genre_tesim": [
            "posters"
        ],
        "exhibit_pudl0036_readonly_part-of_ssim": [
            "http://arks.princeton.edu/ark:/88435/m039k489x"
        ],
        "readonly_part-of_tesim": [
            "http://arks.princeton.edu/ark:/88435/m039k489x"
        ],
        "exhibit_pudl0036_readonly_replaces_ssim": [
            "http://pudl.princeton.edu/objects/52e84d81-5abc-4f0c-9b25-97d21c5c94e4"
        ],
        "readonly_replaces_tesim": [
            "http://pudl.princeton.edu/objects/52e84d81-5abc-4f0c-9b25-97d21c5c94e4"
        ],
        "exhibit_pudl0036_readonly_title_ssim": [
            "To Pay Another's Fare"
        ],
        "readonly_title_tesim": [
            "To Pay Another's Fare"
        ],
        "exhibit_pudl0036_readonly_creator_ssim": [
            "Interborough Rapid Transit Company"
        ],
        "readonly_creator_tesim": [
            "Interborough Rapid Transit Company"
        ],
        "exhibit_pudl0036_readonly_date_ssim": [
            "1922-02"
        ],
        "readonly_date_tesim": [
            "1922-02"
        ],
        "exhibit_pudl0036_readonly_language_ssim": [
            "English"
        ],
        "readonly_language_tesim": [
            "English"
        ],
        "exhibit_pudl0036_readonly_subject_ssim": [
            "Advertising",
            "Subways",
            "New York (N.Y.)",
            "Posters",
            "Lee, Ivy L. (Ivy Ledbetter), 1877-1934"
        ],
        "readonly_subject_tesim": [
            "Advertising",
            "Subways",
            "New York (N.Y.)",
            "Posters",
            "Lee, Ivy L. (Ivy Ledbetter), 1877-1934"
        ],
        "exhibit_pudl0036_readonly_rights-statement_ssim": [
            "http://rightsstatements.org/vocab/InC-EDU/1.0/"
        ],
        "readonly_rights-statement_tesim": [
            "http://rightsstatements.org/vocab/InC-EDU/1.0/"
        ],
        "exhibit_pudl0036_readonly_holding-location_ssim": [
            "https://bibdata.princeton.edu/locations/delivery_locations/9"
        ],
        "readonly_holding-location_tesim": [
            "https://bibdata.princeton.edu/locations/delivery_locations/9"
        ],
        "exhibit_pudl0036_readonly_location_ssim": [
            "MC085. Box 136"
        ],
        "readonly_location_tesim": [
            "MC085. Box 136"
        ],
        "exhibit_pudl0036_readonly_downloadable_ssim": [
            "public"
        ],
        "readonly_downloadable_tesim": [
            "public"
        ],
        "exhibit_pudl0036_readonly_range-label_ssim": [
            "Main Structure"
        ],
        "readonly_range-label_tesim": [
            "Main Structure"
        ],
        "spotlight_exhibit_slug_pudl0036_bsi": true,
        "exhibit_pudl0036_tags_ssim": null,
        "spotlight_exhibit_slugs_ssim": [
            "pudl0036"
        ],
        "access_identifier_ssim": [
            "bv73c422q"
        ],
        "override-title_ssim": null,
        "readonly_identifier_ssim": [
            "ark:/88435/bv73c422q"
        ],
        "readonly_edm-rights_ssim": [
            "In Copyright - Educational Use Permitted"
        ],
        "readonly_collections_ssim": [
            "Interborough Rapid Transit Company Subway Posters"
        ],
        "readonly_start-canvas_ssim": [
            {
                "id": "c2edaf24-c854-4a9c-ae11-7f9b6de970a1"
            }
        ],
        "readonly_viewing-hint_ssim": [
            "individuals"
        ],
        "readonly_visibility_ssim": [
            "open"
        ],
        "readonly_abstract_ssim": [
            "Advertising poster for the Interborough Rapid Transit Company of New York City, providing instructions on how to pay the fare for two people using the new fare gates. Includes image of two men using the fare gate"
        ],
        "readonly_extent_ssim": [
            "1 poster; approximately 21\u00d716 inches"
        ],
        "readonly_genre_ssim": [
            "posters"
        ],
        "readonly_part-of_ssim": [
            "http://arks.princeton.edu/ark:/88435/m039k489x"
        ],
        "readonly_replaces_ssim": [
            "http://pudl.princeton.edu/objects/52e84d81-5abc-4f0c-9b25-97d21c5c94e4"
        ],
        "readonly_title_ssim": [
            "To Pay Another's Fare"
        ],
        "readonly_creator_ssim": [
            "Interborough Rapid Transit Company"
        ],
        "readonly_date_ssim": [
            "1922-02"
        ],
        "readonly_language_ssim": [
            "English"
        ],
        "readonly_subject_ssim": [
            "Advertising",
            "Subways",
            "New York (N.Y.)",
            "Posters",
            "Lee, Ivy L. (Ivy Ledbetter), 1877-1934"
        ],
        "readonly_rights-statement_ssim": [
            "http://rightsstatements.org/vocab/InC-EDU/1.0/"
        ],
        "readonly_holding-location_ssim": [
            "https://bibdata.princeton.edu/locations/delivery_locations/9"
        ],
        "readonly_location_ssim": [
            "MC085. Box 136"
        ],
        "readonly_downloadable_ssim": [
            "public"
        ],
        "readonly_range-label_ssim": [
            "Main Structure"
        ],
        "sort_title_ssi": "To Pay Another's Fare",
        "sort_date_ssi": "1922-02",
        "sort_author_ssi": null,
        "system_created_at_dtsi": "2018-09-04T21:42:07Z",
        "system_updated_at_dtsi": "2021-07-14T16:04:32Z",
        "full_title_tesim": [
            "To Pay Another's Fare"
        ],
        "thumbnail_ssim": "https://iiif-cloud.princeton.edu/iiif/2/95%2Fb9%2F4e%2F95b94e40f2814cfe9f2b78894307e3da%2Fintermediate_file/full/!200,150/0/default.jpg",
        "full_image_url_ssm": "https://iiif-cloud.princeton.edu/iiif/2/95%2Fb9%2F4e%2F95b94e40f2814cfe9f2b78894307e3da%2Fintermediate_file/full/!600,600/0/default.jpg",
        "content_metadata_iiif_manifest_field_ssi": "https://figgy.princeton.edu/concern/scanned_resources/3fe9a53f-4d11-4ed0-bb29-086a9b9ebc08/manifest",
        "tile_source_ssim": [
            "https://iiif-cloud.princeton.edu/iiif/2/95%2Fb9%2F4e%2F95b94e40f2814cfe9f2b78894307e3da%2Fintermediate_file/info.json"
        ]
    }
]

I think the problem is it's indexing start canvas with an ID.

I deployed the figgy fix and started another reindex of this collection.


add packet.net provider

added a parser & tests for packet.net provider
cleaned up the code in few places (pep8)

--
Thank you

@Theaxiom done :)

Thanks!


Ideas on design

Hi there 👋🏻
I have happily used this package in the past week (see https://github.com/evetion/OGH2023/blob/main/hackathons/landcover.ipynb). It's just what I needed for the landcover classification hackathon there, using MLJ (see https://www.kaggle.com/competitions/ogh2023). Thanks 👍🏻
Not sure if you need it, but some thoughts, also looking at your planned features.
There's the following code
landsat = read_bands(Landsat8, "LC08_L2SP_043024_20200802_20200914_02_T1/")
ndvi(landsat, Landsat8)

Ideally if one reads a landsat bandset, the rasterstack would "know" it's a Landsat8 stack. Maybe a wrapper type would help here. With a type, one can dispatch (normally on the instance of the type, so Landsat8()), so one can just do ndvi(landsat). Implementations would then follow ndvi(::Landsat8, rasterstack) (the type to dispatch on is often first).
In terms of ML, I don't see a clear path yet, it's mostly preprocessing I guess? It's DataFrame(rasterstack), dropping the dimension columns and making sure that there are no NaNs/missing/Infs. Something that should be done with the dimension columns is making sure we can do spatial cross-validation (something that exists in GeoStats.jl, but not in the MLJ ecosystem I believe).

Hey, thank for the feedback! I'm glad to hear others are finding it useful!
Regarding the bandset types, I initially tried what you proposed (wrapping Raster and RasterStack objects inside a struct), but I realized a couple months in that there would be problems with long-term maintainability. Basically, to make a Landsat8 or any other bandset compatible with external methods like mask, crop, or resample, we'd need to write a specialized method for each that unwraps and wraps the contained raster.
While this is doable for a few packages, it becomes problematic when trying to support all packages that expect a Raster or RasterStack as input. Forcing users to pass the sensor type explicitly was a tradeoff I made for the sake of maintenance and extensibility. However, I do agree it would be ideal for a raster to know what type of sensor it belongs to so users don't need to repeatedly pass it in every time. One possibility I've toyed with is attaching this information to the raster's metadata field when it's first loaded. However, I'm not sure how robust the support for this is in Rasters.jl since it doesn't seem to be currently documented.
Regarding ML frameworks, I agree that GeoStats.jl is the way forward. The main problem is that the existing Tables.jl interface provided by Rasters.jl has the following issues:

Doesn't treat Band dimension like layers when working with multiband images.
Doesn't automatically replace or drop missing values.
Poorly optimized for working with a large number of layers, which is the case for hyperspectral imagery.
No obvious way to reconstruct a Raster or RasterStack from a table with a :geometry column containing Meshes.jl geometies.

To address this, I've been working on an internal table type called RasterTable. This should demonstrate how it's intended to work:
julia> t = RasterTable(landsat) |> RemoteSensingToolbox.dropmissing
RasterTable with 40483825 rows, 9 columns, and schema:
 :X   Float64
 :Y   Float64
 :B1  UInt16
 :B2  UInt16
 :B3  UInt16
 :B4  UInt16
 :B5  UInt16
 :B6  UInt16
 :B7  UInt16

julia> geotable = georef(t, (:X, :Y))
40483825 PointSet{2,Float64}
  variables (rank 0)
    └─B1 (UInt16)
    └─B2 (UInt16)
    └─B3 (UInt16)
    └─B4 (UInt16)
    └─B5 (UInt16)
    └─B6 (UInt16)
    └─B7 (UInt16)

As you can see, we can easily convert a Raster or RasterStack to a table compatible with GeoStats. The next task will be to somehow convert a table of predictions back into a Raster. Once that's done, I think we can provide a simple interface to allow users to predict land cover classes with any GeoStats solver and MLJ model they desire.

@rafaqz

Thanks for the writeup this is all good to know!
We should aim as much as possible to fix these problems in DimensionalData.jl and Rasters.jl where they help everyone, rather than working around them here.
Metadata
You could totally put the landsat details in metadata thats really why its there. Its how netcdf and gdal metadata propagates between read and write, so its very much supported in Rasters. It may need some tweaking for your use case but at least try it.
(When there are missing docs and features first guess should be we never had time to write them. Rasters is one of very many packages I maintain in spare time, and I have to work on all the underying deps like DiskArrays, DimensionalData, GeoInterface, ArchGDAL etc for things to work at all)
Other issues

Not exactly sure what you mean here, but this is maybe doable already, load the tif as a RasterStack, there is a layerfrom=Band keyword by default which will turn bands into layers of the stack

Auto replacing missing is the easiest of these to implement in Rasters, by just running replace_missing in the constructors, with a keyword to turn it off. Its pretty much next task on my list. Dropping missing from tables isn't easy generically because missing may not be in the same place in every layer. If you have an algorithm to detect that it could also go in DD.

The slow-many-layers problem is a known issue. We could fix it in DD by addding a Vector based MDimStack (mutable) rather than tuple based DimStack. But thats a lot of work, so hasnt been done yet.

Again I just never got around to it in DD, would love to get a DimStack back from a table. AxisKeys.jl has some similar code for this.

Regarding ML frameworks, I agree that GeoStats.jl is the way forward. The main problem is that the existing Tables.jl interface provided by Rasters.jl has the following issues:
4. No obvious way to reconstruct a `Raster` or `RasterStack` from a table with a `:geometry` column containing `Meshes.jl` geometies.

My remark about GeoStats.jl was mostly about spatial cross-validation, for which we need to keep a geometry around, although a MLJ model probably doesn't need to know about it. As long as we implement Tables and GeoInterface (zipped X, Y columns) interfaces, most of the use-cases should work out of the box.
Regarding the way back to Rasters (only useful for predictions right, not for training), we should either store a logical index, or make sure that we keep all rows (skipping over them if they contain NaNs?). In the notebook I linked I just reshaped the prediction vector back to the raster.

Yes totally, we need the vector based version for that to work with RasterStack. Another option is using a keyword to make colums out of a dimension of a Raster in DimTable. Thats not actually hard to do, maybe even only a few lines of code.
Yes. This is the reason to not automatically replace, its slow.
Yeah, theyre complicated internals
You can also to it with changed order using the At selector and setindex! in a loop over the rows. But its slow.

Lets do 1 first then with a keyword to DimTable, thats any easy win

One problem with DimTable is that it exposes the columns in the type parameters. This makes it slow for tables with several hundred columns, which makes it impractical for hyperspectral images. It's for this reason that RasterTable uses a vectorized representation:
mutable struct RasterTable <: Tables.AbstractColumns
    layers::Vector{Symbol}
    cols::Vector{Vector}
end

Tables.schema(table::RasterTable) = Tables.Schema{nothing,nothing}(layers(table), [eltype(c) for c in cols(table)])

Right, guess we will have to do the same for DimTable as for DimStack. But its much less code for DimTable. Or I guess MDimTable or something.
But yeah, esentially your RasterTable work may as well be in DD so YAXArrays.jl, Arviz.jl and everyone else gets to use it too.

Yes, I think we need a fairly comprehensive overhaul of DimTable. I've opened an issue on DimensionalData where we can discuss the specifics. Ideally, we should be able to create a general solution for feeding rasters into ML workflows, which would remove the need to implement it in this package.


[Improvements]: Embedding documents should not be blocked by LLM settings

What would you like to see?
When a workspace using default settings, embedding documents from stroage is prevented due to missing setup OpenAI key.
Correct me if I'm wrong, but my understanding is embedding documents shouldn't involve a language model but an embedding model, which is pulled from HF.

@timothycarambat I didn't select any LLM so I think it's the system default LLM, which I suppose it's the OpenAI one?

How did you get past onboarding without selecting an LLM?

You can create a new workspace without specifying any LLM, and I was embedding documents on the new workspace.


MB-14785: Replace makeAddress calls with BuildAddress

Jira ticket for this change
Summary
This ticket replaces uses of testdatagen.MakeAddress with the new factory.BuildAddress in all parts of the code base where makeAddress function calls are found
Setup to Run Your Code

Run make server_test and make sure tests pass
Run make e2e_test and make sure tests pass

Verification Steps for Author
These are to be checked by the author.

[ ] Tested in the Experimental environment (for changes to containers, app startup, or connection to data stores)
[ ] Request review from a member of a different team.
[ ] Have the Jira acceptance criteria been met for this change?

Verification Steps for Reviewers
These are to be checked by a reviewer.
Backend

[ ] Code follows the guidelines for Logging
[ ] The requirements listed in Querying the Database Safely have been satisfied.

Messages

:book:
:link: MB-14785

  Generated by :no_entry_sign: dangerJS against efb804e03bee4fb2b5a6f85787abc4184444a4ba


Window not showing

I'm using atom 0.186.0-5f7015f on a Gentoo Linux. I currently have the problem that although atom is running as a process (and even xwininfo is showing the windows), no window is displayed. I am starting atom as
atom -l tmp/atom.log -f -w --safe

The call immediately returns, so a window should be created. I suspect that even if my window manager was doing something strange (I'm using awesome), some sort of logfile should be created in tmp/atom.log, but that file is not created. Also, plugins should not get in the way because of the --safe switch. I even completely moved my ~/.atom - folder to another location to get a clean start.
Thus, I'm assuming atom is doing something wrong here. Since there is no output whatsoever, no log is created, nothing shows up in my syslog or Xorg's log, I'm at a loss to do further debugging. Any idea what's wrong here?

Might be same as #5900
Look for a teeny-tiny window...

No, it's not that bug: If it was a 1x1 window, it would still be showing in my task bar. Aside from that, this is not my first launch of Atom, and also I'm using a tiling window manager, which should cause Atom to go fullscreen automatically. :( Any other ideas?

Some more info: Under /tmp, a file 'atom.sock' is created, as well as a directory 'Atom Crashes', which is empty.

It is not consistently reproducible - but happens randomly. I have first noticed in 0.186.0 build and seen in 0.187.0 build. I am using Ubuntu 14.04 LTS.
I did some trial and error - when this happens:

if i try to open another window from commandline like another folder using atom the new window opens normally.
If try to quit it will close normally.
If i reopen the folder whose window is like 1px wide it will with same dimension 1px wide.
Uploading a screenshot.

@lkarthee that's a different bug-please see #5900.

Sorry Ignore my comment - i got confused. Thank you @50Wliu. Logged a new issue #5938  as #5900 is closed.


Submission (Group<PHONE_NUMBER>_2312833_2313119_2313026_2312749

Brief description of our policy
- Best-fit: This algorithm places products into stocks by selecting the position that minimizes unused space, ensuring an efficient fit.
- Column: This algorithm minimizes empty space in columns during Column Generation, prioritizing efficient product placement to optimize cost and space usage.
The implementation
- Best-fit:
Huỳnh A Dũng (2310545): Implement code and algorithm
Hứa Thanh Tâm (2313026): Research algorithm and assist with coding
- Column Generation:
Nguyễn Đỗ Minh Quân (2312833): Implement code and algorithm
Nguyễn Công Thành (2313119): Research algorithm and assist with coding
Nguyễn Đức Phương (2312749): Write report and assist two subgroup with coding
Summarized Results:

Policy
Average Filled Ratios
Average Trim Loss

Best-fit
0.22
0.30

Column
0.22
0.26

Do not modify anythings except your folder

Do not modify anythings except your folder

i have reverted the requirement file outside my folder. Can you check again ?

Do not modify anythings except your folder

I have created a new PR at: https://github.com/martinakaduc/MM241-Assignment/pull/86
Can you ignore this PR ?


sctp_is_vtag_good: ipi_ep_mtx already locked

INFO: Seed:<PHONE_NUMBER>
INFO: Loaded 1 modules   (37952 inline 8-bit counters): 37952 [0x10aee9280, 0x10aef26c0),
INFO: Loaded 1 PC tables (37952 PCs): 37952 [0x10aef26c0,0x10af86ac0),
./fuzzer_connect_multi: Running 1 inputs 1 time(s) each.
Running: ./CORPUS_CONNECT/timeout-00b96dd43f1251438bb44daa0a5a24ae4df5bce5
[0.000] >>>>>>>>>>>>>>>>>>> LLVMFuzzerTestOneInput() - Stage 1
[0.002] [0.002] vrf_id 0x0: adding address: AF_CONN address: 0x1
[0.002] usrsctp initialized
[0.002] SCTP: add HMAC id 1 to list
[0.002] SCTP: added chunk 193 (0xc1) to Auth list
[0.002] SCTP: added chunk 128 (0x80) to Auth list
[0.003] Bind called port: 5000
[0.003] [0.003] Addr: IPv4 address: <IP_ADDRESS>:5000
[0.003] Main hash to bind at head:0x625000000198, bound port:5000 - in tcp_pool=0
[0.003] [0.003] Allocate an association for peer:AF_CONN address: 0x1
[0.003] Port:5001
[0.003] [0.003] Adding an address (from:1) to the peer: AF_CONN address: 0x1
[0.003] Association 0x61d000001480 now allocated
[0.003] Sending INIT
[0.004] Sending INIT - calls lowlevel_output
[0.004] length 104 / sizeof 12
[0.004] Found INIT, extracting VTAG :<PHONE_NUMBER>

O 13:42:21.857381 0000 13 88 13 89 00 00 00 00 00 00 00 00 01 00 00 5a 9b c8 8c 56 00 02 00 00 00 0a 08 00 ad 92 b8 9b 80 00 00 04 c0 00 00 04 80 08 00 0b c0 c2 0f c1 80 82 40 00 80 02 00 24 ce b5 79 5e b2 30 cb a4 82 4f 41 6f b7 a9 47 ea 82 61 b4 f0 94 94 f3 7c 9c 85 42 31 a9 d0 91 f4 80 04 00 06 00 01 00 00 80 03 00 06 80 c1 00 00 # SCTP_PACKET

I 13:42:21.859727 0000 13 89 13 88 9b c8 8c 56 00 00 00 00 02 00 01 f8 c7 a1 b0 4d 00 1c 71 c7 00 0a ff ff 03 91 94 1b 80 00 00 04 c0 00 00 04 80 08 00 09 c0 0f c1 80 82 00 00 00 80 02 00 24 61 6c 7e 52 2a db e0 a2 aa 78 25 1e 12 c5 01 9e 4c 60 16 df 01 6d a1 d5 cd be a7 5d a2 73 f4 1b 80 04 00 08 00 03 00 01 80 03 00 07 00 80 c1 00 00 06 00 14 2a 02 c6 a0 40 15 00 11 00 00 00 00 00 00 00 83 00 05 00 08 d4 c9 79 53 00 07 01 80 4b 41 4d 45 2d 42 53 44 20 31 2e 31 00 00 00 00 64 11 49 00 00 00 00 00 ac de 0c 00 00 00 00 00 60 ea 00 00 00 00 00 00 00 00 00 00 b2 d4 38 45 c7 a1 b0 4d d4 c9 79 52 00 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 d4 c9 79 53 00 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 00 00 00 00 d9 05 13 89 01 01 00 00 00 00 00 00 00 00 00 00 01 00 00 80 45 38 d4 b2 00 1c 71 c7 00 01 ff ff ac 40 9b 94 80 00 00 04 c0 00 00 04 80 08 00 09 c0 0f c1 80 82 00 00 00 80 02 00 24 c8 24 46 8c 7e 88 2e b7 88 8b dd a1 55 8b b4 c0 26 e3 21 bb b0 66 fd b2 d4 de f9 77 4f e4 7c bf 80 04 00 08 00 03 00 01 80 03 00 07 00 80 c1 00 00 0c 00 08 00 05 00 06 00 06 00 14 2a 02 c6 a0 40 15 00 11 00 00 00 00 00 00 00 82 00 05 00 08 d4 c9 79 52 02 00 01 f8 c7 a1 b0 4d 00 1c 71 c7 00 01 ff ff 03 91 94 1b 80 00 00 04 c0 00 00 04 80 08 00 09 c0 0f c1 80 82 00 00 00 80 02 00 24 61 6c 7e 52 2a db e0 a2 aa 78 25 1e 12 c5 01 9e 4c 60 16 df 01 6d a1 d5 cd be a7 5d a2 73 f4 1b 80 04 00 08 00 03 00 01 80 03 00 07 00 80 c1 00 00 06 00 14 2a 02 c6 a0 40 15 00 11 00 00 00 00 00 00 00 83 00 05 00 08 d4 c9 79 53 64 30 8a b9 7c e5 93 69 52 a9 c8 d5 a1 1b 7d ef ea fa 23 32 # SCTP_PACKET
[0.008] Ok, Common input processing called, m:0x611000000900 iphlen:0 offset:12 length:516 stcb:0x61d000001480
[0.008] stcb:0x61d000001480 state:2
[0.008] sctp_process_control: iphlen=0, offset=12, length=516 stcb:0x61d000001480
[0.008] sctp_process_control: processing a chunk type=2, len=504
[0.008] SCTP_INIT_ACK
[0.008] sctp_handle_init_ack: handling INIT-ACK
[0.008] Check for unrecognized param's
[0.008] Hit default param 8004
[0.008] move on
[0.009] SCTP: add HMAC id 1 to list
[0.009] SCTP: added chunk 0 (0x00) to Auth list
[0.009] SCTP: added chunk 128 (0x80) to Auth list
[0.009] SCTP: added chunk 193 (0xc1) to Auth list
[0.009] SCTP: negotiated peer HMAC id 1
[0.009] moving to COOKIE-ECHOED state
[0.009] Leaving handle-init-ack end

O 13:42:21.862747 0000 13 88 13 89 c7 a1 b0 4d 00 00 00 00 0a 00 01 80 4b 41 4d 45 2d 42 53 44 20 31 2e 31 00 00 00 00 64 11 49 00 00 00 00 00 ac de 0c 00 00 00 00 00 60 ea 00 00 00 00 00 00 00 00 00 00 b2 d4 38 45 c7 a1 b0 4d d4 c9 79 52 00 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 d4 c9 79 53 00 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 00 00 00 00 d9 05 13 89 01 01 00 00 00 00 00 00 00 00 00 00 01 00 00 80 45 38 d4 b2 00 1c 71 c7 00 01 ff ff ac 40 9b 94 80 00 00 04 c0 00 00 04 80 08 00 09 c0 0f c1 80 82 00 00 00 80 02 00 24 c8 24 46 8c 7e 88 2e b7 88 8b dd a1 55 8b b4 c0 26 e3 21 bb b0 66 fd b2 d4 de f9 77 4f e4 7c bf 80 04 00 08 00 03 00 01 80 03 00 07 00 80 c1 00 00 0c 00 08 00 05 00 06 00 06 00 14 2a 02 c6 a0 40 15 00 11 00 00 00 00 00 00 00 82 00 05 00 08 d4 c9 79 52 02 00 01 f8 c7 a1 b0 4d 00 1c 71 c7 00 01 ff ff 03 91 94 1b 80 00 00 04 c0 00 00 04 80 08 00 09 c0 0f c1 80 82 00 00 00 80 02 00 24 61 6c 7e 52 2a db e0 a2 aa 78 25 1e 12 c5 01 9e 4c 60 16 df 01 6d a1 d5 cd be a7 5d a2 73 f4 1b 80 04 00 08 00 03 00 01 80 03 00 07 00 80 c1 00 00 06 00 14 2a 02 c6 a0 40 15 00 11 00 00 00 00 00 00 00 83 00 05 00 08 d4 c9 79 53 64 30 8a b9 7c e5 93 69 52 a9 c8 d5 a1 1b 7d ef ea fa 23 32 # SCTP_PACKET
[0.009] m-c-o put out 0
[0.009] Ok, we have put out 0 chunks
[0.009] Check for chunk output prw:1864135 tqe:0 tf=0
[0.009] Calling chunk OUTPUT
[0.009] m-c-o put out 0
[0.009] Ok, we have put out 0 chunks
[0.009] chunk OUTPUT returns
[0.009]  >>> Injecting INIT_ACK

I 13:42:21.863027 0000 13 89 13 88 9b c8 8c 56 00 00 00 00 87 02 00 08 9e d0 21 f5 07 00 00 08 9e d0 21 f5 07 00 00 08 9e d0 21 f5 07 00 00 08 9e ad 00 e0 de 07 00 31 b8 b8 00 09 c0 0f b9 80 82 00 00 00 80 02 00 24 40 ea 86 6a 77 f5 36 7b d0 95 d4 45 ba 13 2a 97 b2 f4 3c 4a 17 8f 57 b5 c9 0d e4 2d 64 7a 85 75 82 00 01 00 00 1a 00 80 03 91 9e 7a 00 00 00 00 00 00 00 00 00 02 00 00 00 10 ac 40 32 00 00 00 00 00 02 00 00 00 10 ac 40 31 9b a0 00 1c 00 00 2f 01 51 00 08 9e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 d0 21 f5 07 00 07 00 00 08 9e 01 00 07 08 7e 4e ff 2f 09 ff ff 0b ea 3d ff f6 ff c6 4c ad 00 e0 de 07 2f ff ff ff ff ff ff ff 48 d6 d4 68 68 68 68 68 68 00 07 49 ff ff ff ff 08 9e 32 21 f5 01 00 11 00 80 03 ff fd ff ff ff 01 e3 94 db 57 00 ff ff 09 01 00 27 00 06 00 08 09 01 00 27 00 b1 00 08 9e d0 c0 21 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33 00 00 08 09 01 00 27 00 b1 00 08 9e d0 c0 21 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 31 00 00 00 03 fd 5c d0 00 06 00 08 09 01 00 27 00 b1 00 08 9e d0 c0 21 00 00 00 00 00 00 00 00 00 01 00 00 00 5d 80 f3 a5 00 00 00 00 00 00 00 33 00 00 08 09 01 00 27 00 b1 00 08 9e d0 c0 c0 21 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33 00 00 08 09 01 00 27 00 b1 00 08 9e d0 c0 21 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 31 00 00 00 03 fd 5c d0 00 06 00 08 09 01 00 27 00 b1 00 08 9e d0 c0 21 00 00 00 00 00 00 00 00 00 01 00 00 00 5d 80 f3 a5 00 00 00 00 00 00 00 33 00 00 08 09 01 00 27 00 b1 00 08 9e d0 c0 c0 21 00 00 00 00 00 00 00 00 01 00 00 00 5d 80 f3 a5 00 00 00 00 00 00 00 36 00 00 08 09 01 00 27 00 b1 00 08 9e d0 c0 21 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 31 00 00 00 03 fd 5c d0 00 06 00 08 09 01 00 27 00 b0 00 08 9e d0 3f 21 00 00 00 00 00 01 00 00 00 5d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33 00 00 08 09 01 00 27 00 b1 00 08 9e d0 c0 21 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 31 00 00 00 03 fd 5c d0 00 06 00 08 09 01 00 27 00 b1 00 08 9e d0 c0 21 00 00 00 00 00 00 00 00 00 01 00 00 00 5d 80 f3 a5 00 00 00 00 00 00 00 33 00 00 08 09 01 00 27 00 b1 00 08 9e d0 c0 c0 41 e6 35 00 40 61 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33 00 00 08 09 01 00 27 00 b1 00 08 9e d0 c0 21 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 31 00 00 00 03 fd 5c d0 00 06 00 08 09 01 00 27 00 b1 00 08 9e d0 c0 21 00 00 00 00 00 00 00 00 00 01 00 00 00 5d 80 f3 a5 00 00 00 00 00 00 00 33 00 00 08 09 01 00 27 00 b1 00 08 9e d0 c0 c0 21 00 00 00 00 00 00 00 00 01 00 00 00 5d 80 f3 a5 00 00 00 00 00 00 00 36 00 00 08 09 01 00 27 00 b1 00 08 9e d0 c0 21 00 00 00 00 00 00 00 00 00 80 f3 a5 00 00 00 00 00 00 00 31 00 00 8e 8e 00 00 21 00 00 00 00 00 ff ff ff f6 a4 a4 a4 00 00 00 00 # SCTP_PACKET
[0.010] Ok, Common input processing called, m:0x6110000016c0 iphlen:0 offset:12 length:1007 stcb:0x61d000001480
[0.010] stcb:0x61d000001480 state:4
[0.010] sctp_process_control: iphlen=0, offset=12, length=1007 stcb:0x61d000001480
[0.010] sctp_process_control: processing a chunk type=135, len=8
[0.010] sctp_process_control: processing a chunk type=7, len=8
[0.010] SCTP_SHUTDOWN, stcb 0x61d000001480
[0.010] sctp_handle_shutdown: handling SHUTDOWN
[0.010] sctp_process_control: processing a chunk type=7, len=8
[0.010] SCTP_SHUTDOWN, stcb 0x61d000001480
[0.010] sctp_handle_shutdown: handling SHUTDOWN
[0.010] sctp_process_control: processing a chunk type=7, len=8
[0.010] SCTP_SHUTDOWN, stcb 0x61d000001480
[0.010] sctp_handle_shutdown: handling SHUTDOWN
[0.010] sctp_process_control: processing a chunk type=222, len=49
[0.010] sctp_process_control: processing a chunk type=130, len=256
[0.010] SCTP_STREAM_RESET
[0.010] sctp_process_control: processing a chunk type=9, len=39
[0.010] SCTP_OP_ERR
[0.010] Peer does not support chunk type 9 (0x9).
[0.010] Received missing state abort flags: 1
[0.010] sctp_asconf_send_nat_state_update: unknown address family
[0.010] sctp_process_control: processing a chunk type=9, len=39
[0.010] SCTP_OP_ERR
[0.010] Received missing state abort flags: 1
  1 #!/bin/bash
[0.010] sctp_asconf_send_nat_state_update: unknown address family
[0.010] sctp_process_control: processing a chunk type=9, len=39
[0.010] SCTP_OP_ERR
[0.010] Received missing state abort flags: 1
[0.010] sctp_asconf_send_nat_state_update: unknown address family
[0.010] sctp_process_control: processing a chunk type=9, len=39
[0.010] SCTP_OP_ERR
[0.010] Received missing state abort flags: 1
[0.010] sctp_asconf_send_nat_state_update: unknown address family
[0.010] sctp_process_control: processing a chunk type=9, len=39
[0.010] SCTP_OP_ERR
[0.010] Received missing state abort flags: 1
[0.010] sctp_asconf_send_nat_state_update: unknown address family
[0.010] sctp_process_control: processing a chunk type=9, len=39
[0.010] SCTP_OP_ERR
[0.010] Received missing state abort flags: 1
[0.010] sctp_asconf_send_nat_state_update: unknown address family
[0.010] sctp_process_control: processing a chunk type=9, len=39
[0.010] SCTP_OP_ERR
[0.010] Received missing state abort flags: 1
[0.010] sctp_asconf_send_nat_state_update: unknown address family
[0.010] sctp_process_control: processing a chunk type=9, len=39
[0.010] SCTP_OP_ERR
[0.010] Received missing state abort flags: 1
[0.010] sctp_asconf_send_nat_state_update: unknown address family
[0.010] sctp_process_control: processing a chunk type=9, len=39
[0.010] SCTP_OP_ERR
[0.010] Received Colliding state abort flags: 1
[0.010] [0.010] [0.010] sctp_is_vtag_good(): sctp_is_vtag_good: ipi_ep_mtx already locked
==66290== ERROR: libFuzzer: deadly signal
    #0 0x10c2deab7 in __sanitizer_print_stack_trace (libclang_rt.asan_osx_dynamic.dylib:x86_64h+0x6aab7)
    #1 0x10ac02bb8 in fuzzer::PrintStackTrace() FuzzerUtil.cpp:206
    #2 0x10abe2328 in fuzzer::Fuzzer::CrashCallback() FuzzerLoop.cpp:237
    #3 0x10abe22ef in fuzzer::Fuzzer::StaticCrashSignalCallback() FuzzerLoop.cpp:209
    #4 0x7fff75bdab5c in _sigtramp (libsystem_platform.dylib:x86_64+0x4b5c)
    #5 0x1fffdcbac307  (<unknown module>)
    #6 0x7fff75a946a5 in abort (libsystem_c.dylib:x86_64+0x5b6a5)
    #7 0x10a534246 in terminate_non_graceful user_environment.h:94
    #8 0x10a6a7c33 in sctp_is_vtag_good sctp_pcb.c:7833
    #9 0x10a9955ff in sctp_select_a_tag sctputil.c:981
    #10 0x10a217b21 in sctp_handle_nat_colliding_state sctp_input.c:813
    #11 0x10a1ba650 in sctp_handle_error sctp_input.c:1276
    #12 0x10a182a79 in sctp_process_control sctp_input.c:5280
    #13 0x10a15b815 in sctp_common_input_processing sctp_input.c:5898
    #14 0x10abc2049 in usrsctp_conninput user_socket.c:3518
    #15 0x109e9b74d in LLVMFuzzerTestOneInput fuzzer_connect.c:438
    #16 0x10abe36e8 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) FuzzerLoop.cpp:533
    #17 0x10abd6f61 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) FuzzerDriver.cpp:280
    #18 0x10abdbddb in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) FuzzerDriver.cpp:709
    #19 0x10ac03ea2 in main FuzzerMain.cpp:20
    #20 0x7fff759ef3d4 in start (libdyld.dylib:x86_64+0x163d4)

NOTE: libFuzzer has rudimentary signal handlers.
      Combine libFuzzer with AddressSanitizer or similar for better crash reports.
SUMMARY: libFuzzer: deadly signal

PCAP: sctp_is_vtag_good.pcapng.zip
Reproduce
git clone https://github.com/weinrank/usrsctp --branch fuzzer-connected --single-branch
cd usrsctp
./build-fuzzer.sh
cd fuzzer
./fuzzer_connect_multi ./CORPUS_CONNECT/timeout-00b96dd43f1251438bb44daa0a5a24ae4df5bce5

@weinrank: I think https://github.com/sctplab/usrsctp/commit/2caf696738e09a9d60eb85290375d7462da4e0de should fix this issue. Please retest and report.

Fixed!


Load settings from file

Added the ability to load settings from a file. Once loaded, these settings would persist for every solution.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: JessMcAnally sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

@RandomEngy updated and pushed.

This has been released as part of v2.4.0. Thanks for the feature contribution!


Failed to write flash

function save_parameter save data to flash and it will write well  at the first time。It will failed to write on the second time
fn save_parameter(flash: &mut FlashWriter, ir_par: IrParameter) -> bool {
    let mut v: [u8; 128] = [0; 128];
    let mut offset = 0;
    let head_array = ir_par.header.to_be_bytes();
    let debug_array = ir_par.debugOn.to_le_bytes();
    let ir_calval_array = ir_par.ir_calval.to_le_bytes();
    let ir_maxval_array = ir_par.ir_maxval.to_le_bytes();
    let n_percent_array = ir_par.nPercent.to_le_bytes();
    for i in 0..head_array.len() {
        v[offset] = head_array[i];
        offset += 1;
    }

    for i in 0..debug_array.len() {
        v[offset] = debug_array[i];
        offset += 1;
    }
    for i in 0..ir_calval_array.len() {
        v[offset] = ir_calval_array[i];
        offset += 1;
    }
    for i in 0..ir_maxval_array.len() {
        v[offset] = ir_maxval_array[i];
        offset += 1;
    }
    for i in 0..n_percent_array.len() {
        v[offset] = n_percent_array[i];
        offset += 1;
    }
    //flash.change_verification(false);
    //.change_verification(false)
    flash.erase(FLASH_WRITE_START_ADDR, 1024).unwrap();
    //flash.page_erase(FLASH_WRITE_START_ADDR);//.unwrap();
    match flash.write(FLASH_WRITE_START_ADDR, &v) {
        Ok(_ret) => true,
        Err(_e) => false,
    };
    false
}

That's interesting. I don't quite remember the details of how flash works so I may not be of much help ATM. Do you have access to a debugger (rtt, itm etc.) or perhaps just a serial port so you could print the error being produced rather than just throwing it away. That would at least give some clues as to what might be going wrong.


Could not compile dependency :epipe

Hi! :wave: I'm having issues compiling the dependency from my project and also downloading the repo with current master:
** (Mix) Could not compile dependency :epipe, "/home/av/.asdf/installs/elixir/1.10.3-otp-23/.mix/rebar3 bare compile --paths="/home/av/OSS/crawly/_build/test/lib/*/ebin"" command failed. You can recompile this dependency with "mix deps.compile epipe", update it with "mix deps.update epipe" or clean it with "mix deps.clean epipe"

No one of the error suggestions works for me. Is this a real problem or is it only happening to me? :sweat_smile:
I think that the only place where this dependency is used is here: https://github.com/elixir-crawly/crawly/blob/b6e833fc50008f339247c52c58ab5c641bf746bf/lib/crawly/worker.ex#L53
What I was thinking is that if the only intention of this is to iterate over the list of functions, apply them in order and stop if any of them fails, maybe we can get rid of it and use plain elixir. If you agree with this I can take care of it and send a PR with a proposal :smile:
Also, even removing the :epipe dependency, I need to run mix deps.update cowboy_telemetry in order to compile the project. Does this makes sense for you? Or am I doing something strange?
Thanks in advanced!

@avillen yes, it is possible to replace it with a with...do, but we haven't gotten round to it yet. A PR would be great, I can help review.

regarding the cowboy_telemetry update, could you let me know your elixir/otp version number, i'll try to replicate it

is it 1.10.3-otp-23 ?

:wave: Hi @Ziinc

is it 1.10.3-otp-23 ?

Yes! but upgrading dependencies solves the issue :smile:

@avillen yes, it is possible to replace it with a with...do, but we haven't gotten round to it yet. A PR would be great, I can help review.

I just have pushed a PR for this, let me know if it looks good for you!

Closing this issue now that this gets merged https://github.com/elixir-crawly/crawly/pull/192. Thanks a lot! 😄


usage-threshold example does not seem correct

The usage-threshold example usage on this page says: --usage-threshold<PHONE_NUMBER>00
According to the documentation, valid values are: Min 100 GiB, max 100TiB".
The example implies that usage-threshold is the number of bytes, not the number of GiB or TiB.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 847fc003-40cc-3f88-7e10-7ac9622f0cac
Version Independent ID: 7ba81f29-c4fb-7440-f94b-bbe2725c168f
Content: az netappfiles volume
Content Source: latest/docs-ref-autogen/ext/netappfiles-preview/netappfiles/volume.yml
GitHub Login: @rloutlaw
Microsoft Alias: routlaw

Related: https://github.com/Azure/azure-cli/issues/12958

netappfiles


TFM_integration: Add support for nucleo_l552ze_q

This work adds support for nucleo_l552ze_q for TFM applications. It currently works with the sample tfm_ipc. It creates a non secure target for the nucleo_l552ze_q and modifies the sample to take the board into account.

Tested successfully on nucleo_l552ze_q:
[INF] Starting bootloader
[INF] Swap type: none
[INF] Swap type: none
[INF] Bootloader chainload address offset: 0x11000
[INF] Jumping to the first image slot
[Sec Thread] Secure image initializing!
TF-M isolation level is: 2
Booting TFM v1.1
Non-Secure system starting...

[...]
*** Secure test suites summary ***
Test suite 'PSA protected storage S interface tests (TFM_PS_TEST_2XXX)' has  PASSED
Test suite 'PS reliability tests (TFM_PS_TEST_3XXX)' has  PASSED
Test suite 'PS rollback protection tests (TFM_PS_TEST_4XXX)' has  PASSED
Test suite 'PSA internal trusted storage S interface tests (TFM_ITS_TEST_2XXX)' has  PASSED
Test suite 'ITS reliability tests (TFM_ITS_TEST_3XXX)' has  PASSED
Test suite 'Crypto secure interface tests (TFM_CRYPTO_TEST_5XXX)' has  PASSED
Test suite 'Initial Attestation Service secure interface tests(TFM_ATTEST_TEST_1XXX)' has  PASSED
Test suite 'Platform Service Secure interface tests(TFM_PLATFORM_TEST_1XXX)' has  PASSED
Test suite 'IPC secure interface test (TFM_IPC_TEST_1XXX)' has  PASSED

[...]
*** Non-secure test suites summary ***
Test suite 'PSA protected storage NS interface tests (TFM_PS_TEST_1XXX)' has  PASSED
Test suite 'PSA internal trusted storage NS interface tests (TFM_ITS_TEST_1XXX)' has  PASSED
Test suite 'Crypto non-secure interface test (TFM_CRYPTO_TEST_6XXX)' has  PASSED
Test suite 'Initial Attestation Service non-secure interface tests(TFM_ATTEST_TEST_2XXX)' has  PASSED
Test suite 'Platform Service Non-Secure interface tests(TFM_PLATFORM_TEST_2XXX)' has  PASSED
Test suite 'QCBOR regression test(TFM_QCBOR_TEST_7XXX)' has  PASSED
Test suite 'T_COSE regression test(TFM_T_COSE_TEST_8XXX)' has  PASSED
Test suite 'IPC non-secure interface test (TFM_IPC_TEST_1XXX)' has  PASSED

@ioannisg Do you have the bandwidth to do a quick review of this?

@ioannisg Do you have the bandwidth to do a quick review of this?
Yeap I will do this today

According to some comments made by Erwan, I updated the nucleo_l552ze_q_ns.yaml with the correct amount of remaining flash memory, and clarified the MPU issue.

Tested successfully on nucleo_l552ze_q target:
[INF] BANK 2 secure flash [0, 33] : OB [127, 0]
[ERR] Error while checking secure flash protection : set wmsec2
[INF] BANK 1 secure user flash [0, 29] : OB [0, 0]
[ERR] Error while checking secure user flash protection : set hdp1
[INF] Starting bootloader
[INF] Swap type: none
[INF] Swap type: none
[INF] Bootloader chainload address offset: 0x11000
[INF] Jumping to the first image slot
[Sec Thread] Secure image initializing!
TF-M isolation level is: 2
Booting TFM v1.1
*** Booting Zephyr OS build zephyr-v2.3.0-1344-g313a0fa29421  ***
The version of the PSA Framework API is 256.
The minor version is 1.
Connect success!
TFM service support version is 1.
psa_call is successful!
outvec1 is: It is just for IPC call test.
outvec2 is: It is just for IPC call test.
Connect success!
Call success!
Connect success!
Call success!
TF-M IPC on nucleo_l552ze_q

@ioannisg Care to have another look, with the 2.4 window so close to closing? Thanks!

Link to track upstream script changes for OS X support: https://developer.trustedfirmware.org/T804


rpi zero w

can anyone help me install snoopy on raspberry pi zero w?
i have raspbian lite installed on it

I may be wrong but I do not think the wireless interface on a Pi Zero W supports monitor/injection modes


Priorities: 🥚, 🐣, 🐥, 🐔 (click to learn more)

Hello, do you already have an issue ? why create a second one ?


Cleanup stale code

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/5995/
Test FAILed.

Jenkins, test this please

possibly flaky test: alluxio.server.ft.journal.ufs.UfsJournalIntegrationTest.directory

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/5997/
Test PASSed.

alluxio-bot, merge this please


Enhance machine readable logs in client

Why
The machine readable logs provided by the clients miss some information and consistency.
What
We need to make small improvements to the machine readable logs of the client:

Add timestamps in log entries
Use only one type of case (snake_case only)
When using verbose mode, the logs are not provided in json format

How

[x] Add datetime in log entries
[x] Use only one snake_case
[x] When using verbose mode, the logs are display the debug/info logs in json format(*)
[ ] Inform users of the current mithril-client-cli that impacting modifications  have been introduced

(*): How can we propagate the --json option to the logger? Maybe it needs too much refactoring, if this is the case a top level --json-log-format can be created)

@michalrus, With the merge of the PR #1400, an impacting modification have been introduced in Mithril client CLI output logs.
This updates the JSON logs for snapshot download command progress:
bytesDownloaded is now bytes_downloaded
bytesTotal is now bytes_total
secondsLeft is now seconds_left
secondsElapsed is now seconds_elapsed
These changes will be effective on release-preprod and release-mainnet with the release of the next distribution.

@dlachaumepalo thanks for the heads-up :bow:


Fix AR::RecordNotFound being raised with missing objects.

The use of ActiveRecord's #find meant missing IDs raised AR::RecordNotFound. This might come up if an object was created and then deleted without its trigram data also being deleted. To avoid the exception this uses #where instead of #find which will ignore missing results.

Due to the method with which the records are sorted to match the trigram query, in these cases nils were cropping up in the results, so this uses #compact to just return the records.

The first test case ensures no exceptions for missing objects are raised. The second test case ensures the fuzzy find still works and that no nils are returned.

Excuse the whitespace removal, that was done automatically. Let me know if you want a rebased version without that.

This is failing with Rails 2 gems. I saw a comment from 2 years ago that you still wanted to support it, has anything changed?


The installation for Sharepoint 2013 not tested on fresh Windows Server 2016 Update 1

The installation for Sharepoint 2013 prerequisites will not complete successfully on a fresh Windows Server2016 Update 1 machine, because it requires the ApplicationServer role, which does not exist.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 566a65f6-a86a-4b99-cb54-3efef5f20254
Version Independent ID: 9b5e0c05-f601-c4a0-d4b6-a77e8ccbe86c
Content: Configure SharePoint integration - TFS | Microsoft Docs
Content Source: docs/report/sharepoint-dashboards/configure-sharepoint-tfs-2017-earlier.md
Service: unspecified
GitHub Login: @douge
Microsoft Alias: kaelli

@kraftc - Thank you for your inquiry.  Reviewing Sharepoint 2013 requirements indicates that Windows Server 2016 RTM is not supported.


Weapon damage should be calculated (at least by default) and not solely manual set

This has been in place for some time, I think it's safe to close the issue


Use external log folder for docker containers

It might be simpler to switch to the appropriate logging driver (e.g. journald) when deploying using compose and letting the host take care of that?

Yes, that is a good strategy.  Sentry integration also helps a lot here, would be good that it be a logging mechanism that is easily manageable with GCP as well.


DeepSpeed Inference support for OPT

Right now OPT (https://huggingface.co/docs/transformers/model_doc/opt) can only be supported via custom kernel injection policy. It would be great if there's official support. Thanks!

I have the same requirement so I wrote a custom policy for OPT and it seems working (i.e., the inference engine was initialized successfully and I could see some nvcc commends which were for fused kernel compilation I guess?)
However when actual performing the inference, I got an error:
  File "/usr/local/lib/python3.7/dist-packages/transformers/models/opt/modeling_opt.py", line 706, in forward
    return forward_call(*input, **kwargs)
TypeError:     forward() got an unexpected keyword argument 'layer_head_mask'return forward_call(*input, **kwargs)

TypeError: forward() got an unexpected keyword argument 'layer_head_mask'
        use_cache=use_cache,use_cache=use_cache,
TypeErrorTypeError: : forward() got an unexpected keyword argument 'layer_head_mask'forward() got an unexpected keyword argument 'layer_head_mask'

I dived into the code and found that this is because of the argument mismatch between the following two:

https://github.com/microsoft/DeepSpeed/blob/b666d5cd73b25e88afe9591f4e9c010e7219df44/deepspeed/ops/transformer/inference/transformer_inference.py#L622
https://github.com/huggingface/transformers/blob/main/src/transformers/models/opt/modeling_opt.py#L281

I have no idea how to improve  DeepSpeedTransformerInference to make sure its arguments are compatible with emerging models, tho.


Add All Regions, All Countries, All Farms in node filters

parent: https://github.com/threefoldtech/home/issues/1466
See this reply for more information: https://github.com/threefoldtech/home/issues/1466#issuecomment-1817914864
This issue can be done once Regions are added.
This option is almost there for Countries. In the current playground, if you do not select a country, you can see the farms and the nodes from all countries.

Once you choose a country, you need to "delete" the country name to access all countries and farms again.
In brief, we want to make this option obvious. By default all regions, countries and farms would be the default choice. Users can then narrow their search or deploy right away, for a quick UX.

Verified,
Devnet, df55f97.
Now there's two new options in both lists: all regions and all countries.

Amazing work to all those involved.. It looks amazing. Thanks. Closing this issue since it's on devnet, and verified.


Migrate RDS database into a separate stack

Resolves #2533.
I, err, sorta deleted the RDS instances by accident when doing this. I think I restored correctly from the write replica, but guess we’ll find out? 🙈
This is now applied. There's a bug in the data stack where it wants to make the first instance not public-facing, even though it already is, and it always comes up on the terraform plan. Otherwise fine.

I’m going to merge this as-is before anything else changes underneath it or breaks


Website background glitch

I'm using Firefox 54.0.1 to access discord.js.org but around every second time the background glitches and makes the bottom of the page hard to ready.
Please fix it. Screenshots are attached

This should be reported here: https://github.com/hydrabolt/discord.js-site


Support Jellyfin 10.9.1 via plugin possible ?

Jellyfin 10.9.1 was recently released, with the plugin of mediatracker it was comfortably possible to use mediatracker. Is there a rough schedule when the plugin will be compatible again?

Plugin has been updated to Jellyfin 10.9.1

Shall the issue be closed then?


Spectrum connect rebranding

This change is

README.md, line 15 at r1 (raw file):

-945
remove

Comments from Reviewable

Review status: 0 of 1 files reviewed at latest revision, 1 unresolved discussion.

Comments from Reviewable

Comments from Reviewable


Add Funding Opportunities

to contact page, add funding opportunities list above the form.
can we make list current & expired solicitations dynamically?

i'm thinking of sourcing solicitations from a yaml file like this
- name: "CC* 21-528"
  url: https://www.nsf.gov/pubs/2021/nsf21528/nsf21528.htm
  sortDate: 2021-10-21
  displayDate: March 01, 2021; October 11, 2021
- name: "CISE-MSI Program"
  url: https://www.nsf.gov/pubs/2021/nsf21533/nsf21533.htm?org=NSF
  sortDate: 2021-04-15
  displayDate: April 15, 2021 (April 15, annually thereafter)
  #...etc

then a hook (use-solicitations.js) will handle sorting solicitations into two groups—current and expired—at build time to hand off to the contact page to render dynamically in table according to each solicitation's sortDate property.

solicitations source file: https://github.com/fabric-testbed/fabric-website/blob/staging/src/data/solicitations.yaml
result: https://staging.fabric-testbed.net/get-involved

@bryttanytodd does this seem like a good solution?
@yaxue1123 your thoughts on this are welcome, too!

i'm thinking of sourcing solicitations from a yaml file like this
- name: "CC* 21-528"
  url: https://www.nsf.gov/pubs/2021/nsf21528/nsf21528.htm
  sortDate: 2021-10-21
  displayDate: March 01, 2021; October 11, 2021
- name: "CISE-MSI Program"
  url: https://www.nsf.gov/pubs/2021/nsf21533/nsf21533.htm?org=NSF
  sortDate: 2021-04-15
  displayDate: April 15, 2021 (April 15, annually thereafter)
  #...etc

then a hook (use-solicitations.js) will handle sorting solicitations into two groups—current and expired—at build time to hand off to the contact page to render dynamically in table according to each solicitation's sortDate property.

solicitations source file: https://github.com/fabric-testbed/fabric-website/blob/staging/src/data/solicitations.yaml
result: https://staging.fabric-testbed.net/get-involved

@bryttanytodd does this seem like a good solution?
@yaxue1123 your thoughts on this are welcome, too!

Yep, I think this makes a lot of sense.
Bryttany Todd
pronouns: she/her/hers
RENCI
University of North Carolina at Chapel Hill
100 Europa Drive, Suite 540
Chapel Hill, NC 27517-7583
From: Matt Watson<EMAIL_ADDRESS>Sent: Thursday, January 21, 2021 12:19 PM
To: fabric-testbed/fabric-website<EMAIL_ADDRESS>Cc: Todd, Bryttany<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [fabric-testbed/fabric-website] Add Funding Opportunities (#38)
i'm thinking of sourcing solicitations from a yaml file like this

name: "CC* 21-528"
url: https://www.nsf.gov/pubs/2021/nsf21528/nsf21528.htm
sortDate: 2021-10-21
displayDate: March 01, 2021; October 11, 2021

name: "CISE-MSI Program"
url: https://www.nsf.gov/pubs/2021/nsf21533/nsf21533.htm?org=NSF
sortDate: 2021-04-15
displayDate: April 15, 2021 (April 15, annually thereafter)
#...etc

then a hook (use-solicitations.js) will handle sorting solicitations into two groups—current and expired—at build time to hand off to the contact page to render dynamically in table according to each solicitation's sortDate property.

solicitations source file: https://github.com/fabric-testbed/fabric-website/blob/staging/src/data/solicitations.yaml
result: https://staging.fabric-testbed.net/get-involved

@bryttanytoddhttps://github.com/bryttanytodd does this seem like a good solution?
@yaxue1123https://github.com/yaxue1123 your thoughts on this are welcome, too!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/fabric-testbed/fabric-website/issues/38#issuecomment-764805697, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AL3B6JJCFAP5SJ7ZYGZ5QJ3S3BOXLANCNFSM4WNG6S3A.

Yep, I think this makes a lot of sense.
Bryttany Todd
pronouns: she/her/hers
RENCI
University of North Carolina at Chapel Hill
100 Europa Drive, Suite 540
Chapel Hill, NC 27517-7583
From: Matt Watson<EMAIL_ADDRESS>Sent: Thursday, January 21, 2021 12:19 PM
To: fabric-testbed/fabric-website<EMAIL_ADDRESS>Cc: Todd, Bryttany<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [fabric-testbed/fabric-website] Add Funding Opportunities (#38)
i'm thinking of sourcing solicitations from a yaml file like this

name: "CC* 21-528"
url: https://www.nsf.gov/pubs/2021/nsf21528/nsf21528.htm
sortDate: 2021-10-21
displayDate: March 01, 2021; October 11, 2021

name: "CISE-MSI Program"
url: https://www.nsf.gov/pubs/2021/nsf21533/nsf21533.htm?org=NSF
sortDate: 2021-04-15
displayDate: April 15, 2021 (April 15, annually thereafter)
#...etc

then a hook (use-solicitations.js) will handle sorting solicitations into two groups—current and expired—at build time to hand off to the contact page to render dynamically in table according to each solicitation's sortDate property.

solicitations source file: https://github.com/fabric-testbed/fabric-website/blob/staging/src/data/solicitations.yaml
result: https://staging.fabric-testbed.net/get-involved

@bryttanytoddhttps://github.com/bryttanytodd does this seem like a good solution?
@yaxue1123https://github.com/yaxue1123 your thoughts on this are welcome, too!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/fabric-testbed/fabric-website/issues/38#issuecomment-764805697, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AL3B6JJCFAP5SJ7ZYGZ5QJ3S3BOXLANCNFSM4WNG6S3A.


Receive and process execution requests from API

Description
Receive execution requests from API and process them according to specified IO schedule.
Acceptance Criteria

[x] Create a new runtime module responsible for processing Circuit requests (a new Pallet). It will become the main Circuit engine and execution orchestrator.
[x] New Engine Pallet implements the composable_exec method for RPC API.
[ ] Analyze received IO Schedule using regular expressions and define & document rules of passing following execution steps and phases
[ ] New Engine Pallet is connected to Circuit node and installable as a new Pallet
[ ] Keep the context for the interoperable transaction
[ ] Use off-chain workers client to dispatch the calls to external runtimes via gateways
[ ] Analyze the response from gateways and temporarily assume it’s enough to validate the transaction’s security.

Closed by #47

Analyze received IO Schedule using regular expressions and define & document rules of passing following execution steps and phases was refactored by #50


Fix empty IP access

An empty IP can be an empty string "" or nil
so check for both.

No it's not a back port from master. This code does not exist in the master due to refactoring of code. This code is only in 9.4 and 8.12 branches

No it's not a back port from master. This code does not exist in the master due to refactoring of code. This code is only in 9.4 and 8.12 branches

I see isEmptyIP in pkg/pillar/cmd/zedrouter/ipam.go in master, and that was previously in dnsmasq.go, and the function was changed to check for nil in https://github.com/lf-edge/eve/commit/37205848aa5757a4d90b97ec006d93f087f29b21
Can you add that reference to the commit message?

Done. I amended the commit message.

Description should be: An empty IP can be represented using an empty slice or nil, so check for both.
And perhaps the commit description should contain some background on the issue being fixed, something like:
An incorrectly performed IP-emptiness check may lead to zedrouter trying to stop metadata server which has not been yet started, resulting in panic triggered from log.Fatal.

Amended the commit, please check


renaming (rebranding) the entire package

I've thought about this suggestion and whether it will be offensive to post it here rather than to fork, refactor and push it to f-droid myself. A quick online search revealed that I'm not alone with my thoughts.
This e-mail client is fine, very fine, I love it. My respect to all contributors. But most likely it will never be accepted as a serious application. The reason is an ugly name and the the whole branding (icons). Do you really think that any serious company which is not a lemonade stand would like to see an ugly robo-dog icon on their main launcher? Most people don't even know what K9 means or stands for.
How do you think about to rename the entire package into "e-mail" or "eMail" or something similar without any fancy names additions and a simple envelope icon?

I would argue that e-mail is much too generic, and I'm probably not alone with that either.
A different, but unique and otherwise appropriate name, on the other hand, is something more people might consider.

Given the history of the project, I find your tone and dismissal of "serious" to be surprising.  People do community-based open source to address their own needs, and others help.  Suggesting changing the name for vague reasons about how unspecified companies might include this instead of the AOSP mail program in locked-down phones is quite a stretch.
I like the robodog icon, FWIW.

@clawoflight I think email is fine. In the end you want to send and receive emails. There is no need to find a new name to override a very well established term which makes this app look like some special service but not an awesome email client.
@gdt Lets address the elephant in the room. Just type "k9 mail ugly" in google. The next suggestion will be "k9 mail ugly icon".
In addition the term "k9 mail ugly"  has ~16M hits on google. If only 1/16 are relevant hits, then still 1M hits are related to the ugly naming and icons.
I agree with OP that the app itself is a good piece of software and that the design and naming is a serious "Issue" therefore it's the right place to discuss it here without any sugar coat.

So uh, anyone volunteering to put in the work? How about an icon suggestion?

@Valodim I'm not sure but what do you mean by work? Refactor to eMail and use the suggested  material (Communication->Email) icon from google? For the launcher, there's just to pick one of the free envelope icons which fits into the 6.0.1 or Android N design.

So your suggestion is to drop the K-9 brand identity altogether? That makes no sense.

Imagine a poll around the world where unprejudiced people have to choose: "Which of this apps would you start if you want to send an email: eMail or K9-Mail"? How would you rate the score between both? I would go for 80/20% in the best case.
The point about common sense is clear.
However, in a meritocracy, common sense often does not play a role since personal feelings are involved. It's a justified point from you and all contributors. And I don't want to devalue your work and will use K9 anyways. But as OP still would have been happier if you could make the app suitable for the large scale. It will put a serious note on it and will attract more and more developer as a good side effect.

You base your reasoning on unprejudiced people, but in the real world you will be hard-pressed to find any of those. There is a reason they call 'em "speedos" and not "swim briefs", and that reason is brand identity. People need a specific name to address things by, or they won't be able to talk about them. There is also the matter of googleability - it's impossible to google for an app called "eMail".
Note that I'm not arguing that everything is great as it is. I talked to cketti about the possibility of a new icon and maybe hiring a designer to create one just recently, and we also definitely want a material redesign. It's just a matter that someone has to do it. We just don't exactly have volunteers lining up to get stuff done, and the material redesign in particular is a huge amount of work.

@Valodim These are valid points.
Brand identity and, googleability, non ambiguous names are quite important. Thanks for pointing out that careless handling can indeed bring more harm than use. Personally I don't think the objection is the name and googleability but more the design an the launcher name. Also the work amount should not be underredistimated.
I need to think about it, look how other projects solve such ambiguous names.

@mad-engineer Other projects solve that exactly like K9 does: with unique, catchy names and icons.
If you wanted to change that, you would need to rebuild a strong brand identity from scratch - and try to carry some of the old over. That may be harder than starting a new project from scratch.

There is an exception to this rule, and these are apps that come preinstalled. If your app comes with the OS, you can call it "Calendar" or "Email" or "Phone", but that's a really special position. Also, even though it's called email there, the name people use to refer to it is the "AOSP Email Client", so even in that case an ad-hoc brand name emerges.

Please feel free to fork K-9 Mail and make it a "serious application". Companies that are not lemonade stands sound like a lovely target audience.
Oh, and please let us know how 'attracting developers by having more users' goes for you.


fix: desc and publications for atlas concepts

Codecov Report

Merging #300 (d6f9510) into main (5d8f673) will increase coverage by 0.16%.
The diff coverage is 40.60%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main     #300      +/-   ##
==========================================
+ Coverage   35.75%   35.92%   +0.16%
==========================================
  Files          59       59
  Lines        4984     5172     +188
==========================================
+ Hits         1782     1858      +76
- Misses       3202     3314     +112

Impacted Files
Coverage Δ

siibra/core/region.py
40.08% <0.00%> (-0.25%)
:arrow_down:

siibra/core/space.py
67.50% <ø> (ø)

siibra/features/connectivity/__init__.py
100.00% <ø> (+20.00%)
:arrow_up:

siibra/retrieval/cache.py
58.20% <0.00%> (-4.70%)
:arrow_down:

siibra/configuration/factory.py
22.64% <12.50%> (-3.43%)
:arrow_down:

siibra/features/__init__.py
37.50% <16.66%> (-51.39%)
:arrow_down:

siibra/volumes/nifti.py
18.91% <16.66%> (-0.53%)
:arrow_down:

siibra/volumes/sparsemap.py
15.45% <16.66%> (-0.26%)
:arrow_down:

siibra/volumes/parcellationmap.py
37.13% <25.00%> (+1.59%)
:arrow_up:

siibra/features/feature.py
29.47% <29.47%> (ø)

... and 38 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Setup Contributor License Agreement

One the repo is public, setup the CLA process using https://cla-assistant.io/

Working with YEI legal to get a copy of the agreement we want to use

Done!


[zh]Translate docs/reference/kubernetes-api/common-definitions/node-selector-requirement.md into Chinese

This is a Feature Request
What would you like to be added
Translate docs/reference/kubernetes-api/common-definitions/node-selector-requirement.md into Chinese
Why is this needed
Not translated yet
Comments
/language zh

/assign


CC111244: Adding break-line to avoid broken display in localized pages

Hello, @rick-anderson,
This proposed file change comes from https://github.com/aspnet/Docs.zh-tw/pull/86/files .
Could you review this contribution and help to merge if agreed?
Many thanks in advance.

Thanks @Rick-Anderson


Support the new NPC API

The NPC API is being updated to be more concise and consistent with Arduino C++ styling. The next release will break existing compatibility and as such this repo will require refactoring.

Resolved via #1


Add Gravity Externals

As per Proposal 347 https://www.mintscan.io/osmosis/proposals/347 Will go live Epoch of 24th October.

There are already objects for 633 and 625, so those should be modified rather than creating new ones. In addition, would be nice to keep pool numbers in order

Didn't realise they had previous incentives sorry, replaced these objects.
Was also going by Gauge order, will do pool order in future