text:
Two directories in BLT MPI link path cause -rpath to appear in quotes

Hi,
I've encountered this issue on Quartz when compiling Conduit through Ascent's uberenv.
In this particular case I'm using my local compilation of MPICH. Here are the excerpts from the compilation log:
-- BLT Version: 0.3.0
-- CMake Version: 3.14.5
-- BLT MPI Link Flags:     -Wl,-rpath -Wl,/g/g92/shudler1/install/mpich/lib;-Wl,-rpath -Wl,/g/g92/shudler1/install/mpich/lib
...
[  6%] Linking CXX executable ../../../tests/blt_mpi_smoke
...
/usr/tce/packages/gcc/gcc-4.9.3/bin/g++      -O2 -g -DNDEBUG  -rdynamic -Wl,-rpath -Wl,/g/g92/shudler1/install/mpich/lib "-Wl,-rpath -Wl,/g/g92/shudler1/install/mpich/lib" CMakeFiles/blt_mpi_smoke.dir/blt_mpi_smoke.cpp.o  -o ../../../tests/blt_mpi_smoke -Wl,-rpath,/g/g92/shudler1/install/mpich/lib /g/g92/shudler1/install/mpich/lib/libmpi.so /g/g92/shudler1/install/mpich/lib/libmpicxx.so /g/g92/shudler1/install/mpich/lib/libmpifort.so
It looks like the link parameters after ';' are put inside quotes.
When I use the Mvapich2 installation this issue doesn't happen because there is only one directory in the flags:
-- BLT MPI Link Flags:     -Wl,-rpath -Wl,/usr/tce/packages/mvapich2/mvapich2-2.2-gcc-4.9.3/lib
This issue looks related to #266
Thanks,
Sergei

Are you on the newest BLT develop?  Some recent fixes were put in place to solve this and by looking at your link line you might be in an old state...

No, it appears I'm using the master branch (right at commit 2c19277). That's the BLT version pointed by Conduit's master branch which I'm compiling from.

Try develop, some recent fixes went in to get cmake 3.14.5 working on various projects.

@white238 Conduit is using BLT 0.3.0, should we move to a newer version?

@sshudler -- for ascent, which spack config setup are you using?
I suggest using:
scripts/uberenv/spack_configs/llnl/pascal_openmp/
To point to the proper MPI.

develop is the only one with the specific CMake 3.14.5 fixes (its been less than a month since those were implemented).  They have been working in various projects (Axom, Serac, etc.)

authors: cyrush sshudler white238

repo: LLNL/blt


text:
more docs

https://github.com/LLazyEmail/awesome-email-marketing/blob/main/github1.md
https://github.com/LLazyEmail/awesome-email-marketing/blob/main/333.md
https://github.com/LLazyEmail/awesome-email-marketing/blob/main/mobile-browser.md

Done

was content moved into the readme file?
if yes, please remove those files as we need them only for temporary use.

Done

source: gharchive/issue

repo: LLazyEmail/awesome-email-marketing

license: MIT

license_type: permissive

license_source: github-api


text:
Added normalize_exposure function - [merged]

In GitLab by @PaulJWright on Aug 24, 2020, 15:01
Merges exposure_normalisation -> master
Added normalize_exposure function, updated the appropriate example, and included tests. Addresses #27

In GitLab by @wtbarnes on Aug 24, 2020, 15:15
Commented on aiapy/calibrate/prep.py line 196
I think we can just rely on the derived exposure_time property here on the map. Map already does a get on that FITS keyword so we don't ever have to worry about it being missing. I'd probably just reduce this to checking if the exposure time property is (less than or) equal to 0

In GitLab by @wtbarnes on Aug 24, 2020, 15:16
This looks great! Could you add a test as well? :grin: :grin:

In GitLab by @wtbarnes on Aug 24, 2020, 15:15
Commented on aiapy/calibrate/prep.py line 204
Is 'pixlunit' a standard FITS keyword? I think the keyword to set here is 'bunit'. I'd also suggest using 'ct' rather than 'DN' as this is what astropy units understands (though the unit of the map is not used anywhere in the map infrastructure so it doesn't matter too much.

In GitLab by @PaulJWright on Aug 24, 2020, 15:39
Commented on aiapy/calibrate/prep.py line 204
Unclear. bunit doesn't seem exist in the data when downloaded from JSOC:
res = Fido.search(
    attrs.Time('2019-01-01T00:00:10', '2019-01-01T00:00:11'),
    attrs.Wavelength(wavemin=335*u.angstrom, wavemax=335*u.angstrom),
    attrs.jsoc.Series('aia.lev1_euv_12s'),
    attrs.jsoc.Notify('paul@pauljwright.co.uk'))

In GitLab by @PaulJWright on Aug 25, 2020, 12:13
Commented on aiapy/calibrate/prep.py line 204
BUNIT doesn't seem to exist (at least in the aia.lev1_euv_12s series), but will add it in and change pixlunit too.

In GitLab by @PaulJWright on Aug 25, 2020, 17:02
Commented on aiapy/calibrate/prep.py line 204
changed this line in version 2 of the diff

In GitLab by @wtbarnes on Aug 25, 2020, 11:21
Commented on aiapy/calibrate/prep.py line 204
http://archive.stsci.edu/fits/fits_standard/node40.html#SECTION00942530000000000000
From what I can gather BUNIT is the standard for array units. If it doesn't already exist, we can always add it in.

In GitLab by @PaulJWright on Aug 25, 2020, 17:02
Commented on aiapy/calibrate/prep.py line 196
changed this line in version 2 of the diff

In GitLab by @PaulJWright on Aug 25, 2020, 17:02
added 1 commit
f149a7b8 - Updated test_prep.py accounting for suggestions in #27
Compare with previous version

In GitLab by @PaulJWright on Aug 25, 2020, 17:04
Still need to write tests.

In GitLab by @PaulJWright on Aug 25, 2020, 17:04
Commented on aiapy/calibrate/prep.py line 180
is this required?

In GitLab by @wtbarnes on Aug 28, 2020, 08:59
Commented on aiapy/calibrate/tests/test_prep.py line 135
    assert np.all(aia_171_map_norm.data == (aia_171_map.data/aia_171_map.exposure_time.to(u.s).value))
    assert aia_171_map_norm.exposure_time == 1.0*u.s

In GitLab by @PaulJWright on Aug 25, 2020, 17:58
added 1 commit
68a464cf - Added tests for normalize_exposure
Compare with previous version

In GitLab by @PaulJWright on Aug 25, 2020, 17:18
added 1 commit
90c90a02 - Update prep.py: add new line at end of file
Compare with previous version

In GitLab by @codecov on Aug 25, 2020, 17:09
Codecov Report

Merging #78 into master will increase coverage by 0.22%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #78      +/-   ##
==========================================
+ Coverage   91.02%   91.25%   +0.22%
==========================================
  Files          14       14
  Lines         390      400      +10
==========================================
+ Hits          355      365      +10
  Misses         35       35

Impacted Files
Coverage Δ

aiapy/calibrate/prep.py
97.67% <100.00%> (+0.70%)
:arrow_up:

Continue to review full report at Codecov.

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

In GitLab by @wtbarnes on Aug 28, 2020, 09:00
Commented on aiapy/calibrate/tests/test_prep.py line 136
Just one last test to always make sure the function is doing what we expect. If this looks good to you, just hit "Apply Suggestion" and it should kick off the pipeline again.

In GitLab by @wtbarnes on Aug 28, 2020, 09:20
Commented on aiapy/calibrate/prep.py line 180
Nope. Only needed when one of the inputs is a astropy.units.Quantity

In GitLab by @PaulJWright on Aug 28, 2020, 09:15
added 1 commit
d2481955 - Apply 1 suggestion(s) to 1 file(s)
Compare with previous version

In GitLab by @wtbarnes on Aug 28, 2020, 09:20
resolved all threads

In GitLab by @wtbarnes on Aug 28, 2020, 09:23
resolved all threads

In GitLab by @wtbarnes on Aug 28, 2020, 09:22
Commented on aiapy/calibrate/tests/test_prep.py line 136
    assert aia_171_map_norm.exposure_time == 1.0*u.s

In GitLab by @wtbarnes on Aug 28, 2020, 09:23
Commented on aiapy/calibrate/tests/test_prep.py line 136
Sorry, meant to add this suggestion on the previous one :sweat_smile:

In GitLab by @wtbarnes on Aug 28, 2020, 09:23
added 1 commit
6f06ace3 - Apply 1 suggestion(s) to 1 file(s)
Compare with previous version

In GitLab by @wtbarnes on Aug 28, 2020, 09:23
Commented on aiapy/calibrate/tests/test_prep.py line 136
changed this line in version 6 of the diff

In GitLab by @PaulJWright on Aug 28, 2020, 09:59
No, this is bizarre...
_____________________________________________________________________________ test_normexptime ______________________________________________________________________________

aia_171_map = <sunpy.map.sources.sdo.AIAMap object at 0x129cf6400>
SunPy Map
---------
Observatory:		 SDO
Instrument:		 AIA 3
Detect...807,  1.26580811],
       [ 0.75378418,  0.78479004,  0.8157959 , ...,  1.21514893,
         1.25018311,  1.28521729]])

    def test_normexptime(aia_171_map):
        aia_171_map_norm = normalize_exposure(aia_171_map)
>       assert np.all(aia_171_map_norm.data == (aia_171_map.data/aia_171_map.exposure_time.to(u.s).value))
E       assert False
E        +  where False = <function all at 0x10a69d1f0>(array([[-1.67... 0.64254728]]) == array([[-3.35... 1.28521729]])
E        +    where <function all at 0x10a69d1f0> = np.all
E           Use -v to get the full diff)

aiapy/calibrate/tests/test_prep.py:135: AssertionError```

In GitLab by @wtbarnes on Aug 28, 2020, 09:32
Hmm the test that checks actual normalized data array is now failing...do you know why that might be happening?

In GitLab by @wtbarnes on Aug 28, 2020, 10:45
mentioned in commit af6a89002bf9588c2ee6ca8c49717a6e1f9cead2

In GitLab by @PaulJWright on Aug 28, 2020, 10:30
added 1 commit
3b68b908 -  requires  here
Compare with previous version

In GitLab by @wtbarnes on Aug 28, 2020, 10:43
approved this merge request

repo: LM-SAL/aiapy


text:
fix: dom props warning

Description:
Recent migration to withRouter HOC usage instead of connected-router-dom results in staticContext prop being added to wrapped components, which is not recognized as a DOM prop when spread onto Form

How Has This Been Tested?
Dev tools monitoring

Types of changes:
Refactor

Checklist:

[x] My code follows the code style of this project.
[x] I have reviewed and updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes where needed.
[x] All new and existing tests passed.
[x] My commits have been squashed into a concise set of changes.

Coverage remained the same at 20.322% when pulling 7cb260adbf44daf7742cbf9c1941d5a1cc67cfba on korhaliv:fix/dom-prop into dcd68da0dc183a91e645cf7f5595f20aee1d5641 on LN-Zap:next.

Coverage remained the same at 20.322% when pulling 7cb260adbf44daf7742cbf9c1941d5a1cc67cfba on korhaliv:fix/dom-prop into dcd68da0dc183a91e645cf7f5595f20aee1d5641 on LN-Zap:next.

source: gharchive/pull-request

authors: coveralls korhaliv

repo: LN-Zap/zap-desktop

license: mit

license_source: bigquery


text:
Increase multi-protocol commitment tree size limit

Currently MPC trees (LNPBP-4) are limited to maximum depth of 2^4 = 16, i.e. they may contain up to 2^16=65536 elements. The original design assumed that's enough to host all assets which may be allocated to a single UTXO.
However, tests do show that even 127 different assets may not UNIQUELY fit into a tree with 655536 width (the position of the asset is 256-bit asset id modulo size of the tree) and practically we can assume just around 64 assets to be assignable to the same UTXO.
Here I propose extend MPC tree depth to 32 and tree width to 2^32 such that the tree may host up to 16000 separate assets (no of assets < 2^(width / 2 - 2))

With depth of 64 we will have 2^64 tree width and can safely have up to 1 billion of assets on the same UTXO

BTW we can achieve better packing efficiency if we allow non-power-2 tree width.

It is a consensus-breaking change, but we already had one in the required bugfix in https://github.com/LNP-BP/client_side_validation/pull/129 so I'd like to use the opportunity and make other improvements (like this one) as well.
I was also thinking about 64 bits - the only drawback is that it may worsen work with hardware and low-end devices. A tree of 64 depth will have 2^64+2^32+..., i.e. ~18 quintillions of nodes, which must be computed at state transition time. Sounds like a performance & scalability killer.
So I am also thinking about improving the "fitness" of the protocols into smaller-size trees by introducing a co-factor. I expect this approach will allow us to fit into a 16-bit depth tree up to 10000 assets - and up to a million into a 24-bit depth tree. Writing a PR demonstrating that.

So, testing results.
With the current approach (no cofactor, tree depth limit is 16) we can fit up to 48 contracts/assets:
Depth: avg=11.20 [12, 10, 12, 11, 11, 9, 13, 12, 10, 12]

Once we go to 50, at least in 10% of chances we can't fit them into a 16-level deep tree (i.e. 50 256-bit random numbers with 10% probability will not have a common denominator in the set of {2, 4, 8, 16, 32, 64 ... 2^16 }).
Once I introduce a cofactor in https://github.com/LNP-BP/client_side_validation/pull/131 I am able to fit 500 contracts/protocols in the same 16-level deep tree:
Depth: avg=14.90 [15, 15, 14, 15, 15, 15, 15, 15, 15, 15]
Cofactors: [2, 1, 143, 30, 56, 5, 66, 62, 49, 15]

I think with https://github.com/LNP-BP/client_side_validation/pull/132 we now have what we need and 32 bits "should be enough for everyone" (C)


text:
Penguasa Misteri/Lord of the mysteries (Chapter is empty)

Source information
IndoWebNovel
Steps to reproduce

Expected behavior

Actual behavior

LNReader version
1.1.1.9
Android version
Android 13
Other details
chapter is empty, but in WebView it's fine at all
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open issue.
[X] I have written a short but informative title.
[X] I have updated the app to version 1.1.12.
[X] I have updated all installed extensions.
[X] If this is an issue with the app itself, I should be opening an issue in the app repository.
[X] I will fill out all of the requested information in this form.

has been fixed

Done in https://github.com/LNReader/lnreader-plugins/pull/882 (beta app)

authors: AhmadNaruto RrvyeeE nyagami

repo: LNReader/lnreader-plugins


text:
export to tflite uint8 got worng!

Dear Author,
When I converted the ONNX model to a SavedModel and then to a TFLite model with both input and output as uint8, I encountered an issue. It seems that the first four values (x,y,w,h) among the 85 output values from the last layer are not in the range of 0 to 1. As a result, after quantization, the obj_conf value minus the zero point becomes 0, making it impossible to correctly perform post-processing.
Could you please advise on how to resolve this issue?
Thank you for your assistance.

Unfortunately I've never used TFLite before and I just don't know how to solve it, and my code does not support converting model with UINT8 input, but maybe code in cpp/rknn/include/image_utils/rknn.h can help you a little bit?

Hi @LiaoZihZrong,
I managed to solve it by dividing the xy and wh by image size in the forward pass (only when exporting the model):
https://github.com/ramonhollands/edgeyolo/blob/1110ac7964ef2fe1b071740ddc95712c640d470b/edgeyolo/models/yolo.py#L144
Then using onnx2tf the int8 model works as expected. I did quantize it while leaving input and output to float32 format.
The speed of tflite quantize (and resulting file size) is about 4 times faster than float32 with very little loss on accuracy.
Best regards,
Ramon

Hi @LiaoZihZrong,
I managed to solve it by dividing the xy and wh by image size in the forward pass (only when exporting the model): https://github.com/ramonhollands/edgeyolo/blob/1110ac7964ef2fe1b071740ddc95712c640d470b/edgeyolo/models/yolo.py#L144
Then using onnx2tf the int8 model works as expected. I did quantize it while leaving input and output to float32 format.
The speed of tflite quantize (and resulting file size) is about 4 times faster than float32 with very little loss on accuracy.
Best regards, Ramon

many thanks! your code help me a lot !

Hi @LiaoZihZrong,
I managed to solve it by dividing the xy and wh by image size in the forward pass (only when exporting the model): https://github.com/ramonhollands/edgeyolo/blob/1110ac7964ef2fe1b071740ddc95712c640d470b/edgeyolo/models/yolo.py#L144
Then using onnx2tf the int8 model works as expected. I did quantize it while leaving input and output to float32 format.
The speed of tflite quantize (and resulting file size) is about 4 times faster than float32 with very little loss on accuracy.
Best regards, Ramon

if i want train a new edgeyolo, and output xy, wh, is in range 0-1,and not use torch.exp (my machine not support), can you help me ?

Hi @LiaoZihZrong,
What machine are you on? Maybe it's better to upgrade the tensorflow version. That would be the easiest option I think.
Regards,
Ramon

Hi @LiaoZihZrong,
What machine are you on? Maybe it's better to upgrade the tensorflow version. That would be the easiest option I think.
Regards, Ramon

@ramonhollands
My edge device can`t use exp op,
So i want to train a new edgeyolo,
Maybe set the xywh to sigmoid
Or other op to replace exp
But when i use sigmoid or tanh
Its fail to train a new one
Do you have any idea
Thank you a lot❤

well just let cpu(instead of gpu or other accelerate device) do the exp opration by using math or other library.

authors: LSH9832 LiaoZihZrong ramonhollands


text:
instruction for DC2 users to contribute their code/notebooks

One of main purposes of this repo is to encourage DC2 users to share their code/notebooks that may not belong to a standalone repo with the broader audience.
Before we can write down the instruction, there's some questions we need to first answer.
directory structure
The simplest thing we can do is having a contributed directory and then ask people to upload their notebooks/code into it.
Or we can have the contributed/<user> structure. For example, I can upload my notebook to contributed/yymao.
Or we can use data type as subdir, like contributed/truth. Though some notebooks may not be easy to classified with one data type.
Or we can use WG/TF as subdir, like contributed/WL. Again, some notebooks may not be easy to classified with one WG/TF.
Or other subdirectory structure.
push to master vs. push to branch and then PR
Another question is whether we should ask contributors to directly push to master or push to branch and then PR. The latter protects the master branch but the former lowers the bar to contribute. If we decide to using branch+PR, we also need to decide what level of review do we need. For example, we can approve all PRs as long as they follow the directory structure that we recommend. Or we can have more substantial review.

Some combination of contributed/<data type> and contributed/<WG/TF> could work well and cover any likely type of contribution.  I think it is always advisable to have contributions go through the branch+PR process since it helps safeguard against someone accidentally pushing changes to existing code that they did not intend to touch.  The classification of the subdir could also be discussed and sorted out in the PR.

I agree with Jim; I would rather protect the master branch and have contributions go through the branch+PR process.  In fact, I will go protect the master branch now (we can always remove the protection later if there is a strong agreement that we should do so, but I think a protected master branch is a reasonable default for any repo with multiple contributors to code).  To ensure the bar to contribute is not too high, we can avoid making the review process onerous.
Since some notebooks will most easily be classified based on data type - like they do a lot of things to demonstrate use of that data type - and others based on science, I agree we should have a mix of contributed/<data type> and contributed/<WG/TF>.  We can simply ask people to look at the existing contribution types to classify theirs before creating something new (and move things around during the review if needed).

(Removing proposer's hat) I agree with both of you too. If there's no further comments from other people, what we need to do is to write this up.
Since we are going with branch+PR approach, we will need some step-by-step instruction to lower the bar for contribution. I wrote some git instructions for gcr-catalogs that people seem to find useful. (Note that if we are granting people write access we can change the first point to new branch rather than fork.)

One question comes to me when I am thinking about the instruction ---
Regarding the contributed notebooks, should we ask the contributors to clear all notebook outputs before they push their notebooks to this repo?
And if so, should we set up @drphilmarshall's auto rendering script for the contributed notebooks as well?

Wouldn't it be good to get this ready to be announced on the DC2 telecon this Friday, or is it too hurried @katrinheitmann? If needed I can set some time Thursday afternoon to help setting up this repo after the questions here are discussed in the Data Access telecon.

I think it would be good to announce this on Friday. It can always be emphasized that it's still under construction. How about I start a slide deck "general update" and you and/or Rachel can say a few words? Thanks!

Answers to questions above (as discussed in the Data Access telecon):

For now, ask contributors to put their notebooks/code under contributed. We can worry about finer structures when we have more than ~10 notebooks.
Ask contributors to request write access, so that they can open new branches when contributing.
Ask contributors to clear notebook output before commit.
Ask contributors to use branch-PR workflow, with a minimal, low-bar review process.
Consider providing Phil's rendering service in contributed as well.

As all the questions are now answered. I'll create contributed/README.md to detail the instruction there.

I think it'll be useful having the contributed notebooks rendered as well - as long as the folder has a README.rst table like the main one, we should be able to make the script work on this as well pretty easily, I'm happy to set that up.

We might want to provide a link or two in one of our README docs to other notebook repositories that contributors may find helpful for their own work.  A couple that come to mind are
https://github.com/lsst-com/notebooks
https://github.com/lsst-dm-tutorial/lsst2017

@jchiang87 those links are useful, thanks! I wonder if it's more suitable for them to go to tutorials/README.md?

@drphilmarshall, in fact, I was going to suggest that we change the way beavis-ci.sh works. I think it should create the README.md rather than reading it in, so that we don't need to ask every contributor to to touch the README file. (It would have also save one hour of my time change tutorials/README.md`)
So the idea is to push script-generated README to the rendered branch, and in the README in master, we just have a link to the script-generated README. What do you think, @drphilmarshall?
If you think that's a good idea, can you open an issue and assign yourself or me, depending on your time?

I think this is a good idea - certainly editing the README is fiddly, and this approach would remove that burden on the user. What it does mean, though, is that the list of notebooks to be tested has to be passed in some other way. The default could be that all the notebooks in the folder are run: this was the original beavis scheme, but I changed it because it looked as though the DC2 folder had some notebooks in it that should not be expected to just run. I think as long as we are happy with existence-in-folder being the trigger for CIT then we should go ahead with auto-generating the README file. Also, I will agree here and also elsewhere that beavis-ci should live in its own repo - I think we should make that jump first, and then issue improvements. After merging #10 , that is...

authors: drphilmarshall jchiang87 katrinheitmann rmandelb yymao


text:
Template optimization via ESP as part of inform stages

During a discussion this afternoon Shahab and Markus mentioned that we could add some of the functionality from Bryce's ESP package: https://github.com/jbkalmbach/ESP
to construct more optimal templates given the training data

thanks

repo: LSSTDESC/RAIL


text:
test: integration tests for write endpoint

3 integration test in order to document the api specification.
Also refactoring in order to fix unsafe usage of code. Before simulaneous access to db would have been possible. Now fixed.

LGTM!

authors: FelixMoelders LSchwiedrzik

repo: LSchwiedrzik/agl-persistent-storage-api


text:
Error

When I  run  main.py,the following error occurred. How did I solve it?
OSError: Unable to open file (unable to open file: name = 'Action/framewise_recognition.h5', errno = 2, error message = 'No such file or directory', flags = 0, o_flags = 0)

did you make sure to clone the entire project on to the same directory?


text:
I cant drive it

Hello. I use stm32f103c8 and keil.
SI4463_Transmit()  , always return -50.
what is that problem ?

@nimaltd -50 means SI4463_ERR_OVER_TX_FIFO - overflow TX fifo

@nimaltd please post your routine with data sending so I could help you

/* StartDefaultTask function */
void StartDefaultTask(void const * argument)
{
/* USER CODE BEGIN StartDefaultTask /
/ Infinite loop /
/ Assign functions */
si4463.IsClearToSend = SI4463_IsCTS;
si4463.WriteRead = SI4463_WriteRead;
si4463.Select = SI4463_Select;
si4463.Deselect = SI4463_Deselect;
si4463.SetShutdown = SI4463_SetShutdown;
si4463.ClearShutdown = SI4463_ClearShutdown;
si4463.DelayMs = SI4463_Delay;
/* Disable interrupt pin for init Si4463 */
HAL_NVIC_DisableIRQ(EXTI1_IRQn);
/* Init Si4463 with structure */
ii=SI4463_Init(&si4463);
/* Clear RX FIFO before starting RX packets /
SI4463_ClearRxFifo(&si4463);
/ Start RX mode.

SI4463_StartRx() put a chip in non-armed mode in cases:

successfully receive a packet;

invoked RX_TIMEOUT;

invalid receive.

For receiveing next packet you have to invoke SI4463_StartRx() again!*/
SI4463_StartRx(&si4463, APP_PACKET_LEN, false, false, false);

#ifdef DEMOFEST
/* Debug message on UART */
printf("INIT\n");
#endif
/* Enable interrupt pin and /
HAL_NVIC_EnableIRQ(EXTI1_IRQn);
/ Clear interrupts after enabling interrupt pin.

Without it may be situation when interrupt is asserted but pin not cleared./
SI4463_ClearInterrupts(&si4463);
for(;;)
{
sprintf((char)outgoingBuffer,"%d",HAL_GetTick());
xx=SI4463_Transmit(&si4463, outgoingBuffer, APP_PACKET_LEN);

osDelay(50);

}
/* USER CODE END StartDefaultTask */
}

void GPIO_EXTI_Callback(void)
{
/* Prevent unused argument(s) compilation warning */
Last2=HAL_GetTick()-Last1;
Last1=HAL_GetTick();

/* Clear incoming buffer */
memset(incomingBuffer, 0x00, APP_PACKET_LEN);
/* Get interrupts and work with it */
SI4463_GetInterrupts(&si4463);
/* Handling PH interrupts /
if (si4463.interrupts.filterMatch)
{
/ Handling this interrupt here /
/ Following instruction only for add breakpoints. May be deleted /
si4463.interrupts.filterMatch = false;
}
if (si4463.interrupts.filterMiss)
{
/ Handling this interrupt here /
/ Following instruction only for add breakpoints. May be deleted /
si4463.interrupts.filterMiss = false;
}
if (si4463.interrupts.packetSent)
{
/ Handling this interrupt here /
/ Clear TX FIFO /
SI4463_ClearTxFifo(&si4463);
#ifdef DEMOFEST
printf("OUT >");
for(uint8_t i=0;i<APP_PACKET_LEN;i++)
printf("%c",outgoingBuffer[i]);
printf("\n");
#endif / DEMOFEST /
/ Re-arm StartRX */
SI4463_StartRx(&si4463, APP_PACKET_LEN, false, false, false);
  /*Toggle led for indication*/
  //HAL_GPIO_TogglePin(LED_ONBOARD_GPIO_Port, LED_ONBOARD_Pin);
	LL_GPIO_TogglePin(LED_ONBOARD_GPIO_Port,LED_ONBOARD_Pin);
  /* Following instruction only for add breakpoints. May be deleted */
  si4463.interrupts.packetSent = false;

}
if (si4463.interrupts.packetRx)
{
/* Handling this interrupt here /
/ Get FIFO data /
SI4463_ReadRxFifo(&si4463, incomingBuffer, APP_PACKET_LEN);
/ Clear RX FIFO /
SI4463_ClearRxFifo(&si4463);
#ifdef DEMOFEST
printf("IN >");
for(uint8_t i=0;i<APP_PACKET_LEN;i++)
printf("%c",incomingBuffer[i]);
printf("\n");
#endif / DEMOFEST */
  /* Start RX again.
   * It need because after successful receive a packet the chip change
   * state to READY.
   * There is re-armed mode for StartRx but it not correctly working */
  SI4463_StartRx(&si4463, APP_PACKET_LEN, false, false, false);

  /*Toggle led for indication*/
  LL_GPIO_TogglePin(LED_ONBOARD_GPIO_Port, LED_ONBOARD_Pin);

  /* Following instruction only for add breakpoints. May be deleted */
  si4463.interrupts.packetRx = false;

}
if (si4463.interrupts.crcError)
{
/* Handling this interrupt here */
  /* Following instruction only for add breakpoints. May be deleted */
  si4463.interrupts.crcError = false;

}
if (si4463.interrupts.txFifoAlmostEmpty)
{
/* Handling this interrupt here */
  /* Following instruction only for add breakpoints. May be deleted */
  si4463.interrupts.txFifoAlmostEmpty = false;

}
if (si4463.interrupts.rxFifoAlmostFull)
{
/* Handling this interrupt here */
  /* Following instruction only for add breakpoints. May be deleted */
  si4463.interrupts.rxFifoAlmostFull = false;

}
/* Handling Modem interrupts /
if (si4463.interrupts.postambleDetect)
{
/ Handling this interrupt here /
/ Following instruction only for add breakpoints. May be deleted /
si4463.interrupts.postambleDetect = false;
}
if (si4463.interrupts.invalidSync)
{
/ Handling this interrupt here /
/ Following instruction only for add breakpoints. May be deleted /
si4463.interrupts.invalidSync = false;
}
if (si4463.interrupts.rssiJump)
{
/ Handling this interrupt here /
/ Following instruction only for add breakpoints. May be deleted /
si4463.interrupts.rssiJump = false;
}
if (si4463.interrupts.rssi)
{
/ Handling this interrupt here /
/ Following instruction only for add breakpoints. May be deleted /
si4463.interrupts.rssi = false;
}
if (si4463.interrupts.invalidPreamble)
{
/ Handling this interrupt here /
/ Following instruction only for add breakpoints. May be deleted /
si4463.interrupts.invalidPreamble = false;
}
if (si4463.interrupts.preambleDetect)
{
/ Handling this interrupt here /
/ Following instruction only for add breakpoints. May be deleted /
si4463.interrupts.preambleDetect = false;
}
if (si4463.interrupts.syncDetect)
{
/ Handling this interrupt here /
/ Following instruction only for add breakpoints. May be deleted */
si4463.interrupts.syncDetect = false;
}
/* Handling Chip interrupts /
if (si4463.interrupts.cal)
{
/ Handling this interrupt here /
SI4463_GetChipStatus(&si4463);
/ Following instruction only for add breakpoints. May be deleted /
si4463.interrupts.cal = false;
}
if (si4463.interrupts.fifoUnderflowOverflowError)
{
/ Handling this interrupt here /
/ Clear RX FIFO /
SI4463_ClearRxFifo(&si4463);
/ Claer Chip Status errors if exists /
SI4463_GetChipStatus(&si4463);
/ Following instruction only for add breakpoints. May be deleted /
si4463.interrupts.fifoUnderflowOverflowError = false;
}
if (si4463.interrupts.stateChange)
{
/ Handling this interrupt here /
SI4463_GetChipStatus(&si4463);
/ Following instruction only for add breakpoints. May be deleted /
si4463.interrupts.stateChange = false;
}
if (si4463.interrupts.cmdError)
{
/ Handling this interrupt here /
SI4463_GetChipStatus(&si4463);
/ Following instruction only for add breakpoints. May be deleted /
si4463.interrupts.stateChange = false;
}
if (si4463.interrupts.chipReady)
{
/ Handling this interrupt here /
SI4463_GetChipStatus(&si4463);
/ Following instruction only for add breakpoints. May be deleted /
si4463.interrupts.chipReady = false;
}
if (si4463.interrupts.lowBatt)
{
/ Handling this interrupt here /
SI4463_GetChipStatus(&si4463);
/ Following instruction only for add breakpoints. May be deleted /
si4463.interrupts.lowBatt = false;
}
if (si4463.interrupts.wut)
{
/ Handling this interrupt here /
SI4463_GetChipStatus(&si4463);
/ Following instruction only for add breakpoints. May be deleted */
si4463.interrupts.wut = false;
}
/* Clear All interrupts before exit */
SI4463_ClearAllInterrupts(&si4463);
}
bool SI4463_IsCTS(void)
{
if(HAL_GPIO_ReadPin(CTS_GPIO_Port, CTS_Pin) == GPIO_PIN_SET)
{
return true;
}
else
{
return false;
}
}
void SI4463_WriteRead(const uint8_t * pTxData, uint8_t * pRxData, const uint16_t sizeTxData)
{
HAL_SPI_TransmitReceive(&hspi1, (uint8_t*)pTxData, pRxData, sizeTxData, 100);
}
void SI4463_SetShutdown(void)
{
HAL_GPIO_WritePin(SD_GPIO_Port, SD_Pin, GPIO_PIN_SET);
for(uint8_t	i=0;i<10;i++)
__NOP();
}
void SI4463_ClearShutdown(void)
{
HAL_GPIO_WritePin(SD_GPIO_Port, SD_Pin, GPIO_PIN_RESET);
for(uint8_t	i=0;i<10;i++)
__NOP();
}
void SI4463_Select(void)
{
HAL_GPIO_WritePin(CS_GPIO_Port, CS_Pin, GPIO_PIN_RESET);
for(uint8_t	i=0;i<10;i++)
__NOP();
}
void SI4463_Deselect(void)
{
__NOP();__NOP();__NOP();__NOP();__NOP();
HAL_GPIO_WritePin(CS_GPIO_Port, CS_Pin, GPIO_PIN_SET);
for(uint8_t	i=0;i<10;i++)
__NOP();
}
void SI4463_Delay(uint32_t d)
{
osDelay(d);
}

How length of the packet do you use?
сб, 7 апр. 2018 г., 9:48 Nima Askari ----- نیما عسکری <
notifications@github.com>:

void GPIO_EXTI_Callback(void)
{
/* Prevent unused argument(s) compilation warning */
Last2=HAL_GetTick()-Last1;
Last1=HAL_GetTick();
/* Clear incoming buffer */
memset(incomingBuffer, 0x00, APP_PACKET_LEN);
/* Get interrupts and work with it */
SI4463_GetInterrupts(&si4463);
/* Handling PH interrupts
/ if (si4463.interrupts.filterMatch) { / Handling this interrupt here
/ / Following instruction only for add breakpoints. May be deleted
/ si4463.interrupts.filterMatch = false; } if
(si4463.interrupts.filterMiss) { / Handling this interrupt here
/ / Following instruction only for add breakpoints. May be deleted
/ si4463.interrupts.filterMiss = false; } if
(si4463.interrupts.packetSent) { / Handling this interrupt here
/ / Clear TX FIFO
/ SI4463_ClearTxFifo(&si4463); #ifdef DEMOFEST printf("OUT >");
for(uint8_t i=0;i<APP_PACKET_LEN;i++) printf("%c",outgoingBuffer[i]);
printf("\n"); #endif / DEMOFEST
/ / Re-arm StartRX */
SI4463_StartRx(&si4463, APP_PACKET_LEN, false, false, false);
/Toggle led for indication/
//HAL_GPIO_TogglePin(LED_ONBOARD_GPIO_Port, LED_ONBOARD_Pin);
LL_GPIO_TogglePin(LED_ONBOARD_GPIO_Port,LED_ONBOARD_Pin);
/* Following instruction only for add breakpoints. May be deleted */
si4463.interrupts.packetSent = false;
}
if (si4463.interrupts.packetRx)
{
/* Handling this interrupt here
/ / Get FIFO data
/ SI4463_ReadRxFifo(&si4463, incomingBuffer, APP_PACKET_LEN); / Clear
RX FIFO
/ SI4463_ClearRxFifo(&si4463); #ifdef DEMOFEST printf("IN >");
for(uint8_t i=0;i<APP_PACKET_LEN;i++) printf("%c",incomingBuffer[i]);
printf("\n"); #endif / DEMOFEST */
/* Start RX again.

It need because after successful receive a packet the chip change
state to READY.
There is re-armed mode for StartRx but it not correctly working */
SI4463_StartRx(&si4463, APP_PACKET_LEN, false, false, false);

/Toggle led for indication/
LL_GPIO_TogglePin(LED_ONBOARD_GPIO_Port, LED_ONBOARD_Pin);
/* Following instruction only for add breakpoints. May be deleted */
si4463.interrupts.packetRx = false;
}
if (si4463.interrupts.crcError)
{
/* Handling this interrupt here */
/* Following instruction only for add breakpoints. May be deleted */
si4463.interrupts.crcError = false;
}
if (si4463.interrupts.txFifoAlmostEmpty)
{
/* Handling this interrupt here */
/* Following instruction only for add breakpoints. May be deleted */
si4463.interrupts.txFifoAlmostEmpty = false;
}
if (si4463.interrupts.rxFifoAlmostFull)
{
/* Handling this interrupt here */
/* Following instruction only for add breakpoints. May be deleted */
si4463.interrupts.rxFifoAlmostFull = false;
}
/* Handling Modem interrupts
/ if (si4463.interrupts.postambleDetect) { / Handling this interrupt
here
/ / Following instruction only for add breakpoints. May be deleted
/ si4463.interrupts.postambleDetect = false; } if
(si4463.interrupts.invalidSync) { / Handling this interrupt here
/ / Following instruction only for add breakpoints. May be deleted
/ si4463.interrupts.invalidSync = false; } if
(si4463.interrupts.rssiJump) { / Handling this interrupt here
/ / Following instruction only for add breakpoints. May be deleted
/ si4463.interrupts.rssiJump = false; } if (si4463.interrupts.rssi) { /
Handling this interrupt here
/ / Following instruction only for add breakpoints. May be deleted
/ si4463.interrupts.rssi = false; } if
(si4463.interrupts.invalidPreamble) { / Handling this interrupt here
/ / Following instruction only for add breakpoints. May be deleted
/ si4463.interrupts.invalidPreamble = false; } if
(si4463.interrupts.preambleDetect) { / Handling this interrupt here
/ / Following instruction only for add breakpoints. May be deleted
/ si4463.interrupts.preambleDetect = false; } if
(si4463.interrupts.syncDetect) { / Handling this interrupt here
/ / Following instruction only for add breakpoints. May be deleted */
si4463.interrupts.syncDetect = false;
}
/* Handling Chip interrupts
/ if (si4463.interrupts.cal) { / Handling this interrupt here
/ SI4463_GetChipStatus(&si4463); / Following instruction only for add
breakpoints. May be deleted
/ si4463.interrupts.cal = false; } if
(si4463.interrupts.fifoUnderflowOverflowError) { / Handling this
interrupt here
/ / Clear RX FIFO
/ SI4463_ClearRxFifo(&si4463); / Claer Chip Status errors if exists
/ SI4463_GetChipStatus(&si4463); / Following instruction only for add
breakpoints. May be deleted
/ si4463.interrupts.fifoUnderflowOverflowError = false; } if
(si4463.interrupts.stateChange) { / Handling this interrupt here
/ SI4463_GetChipStatus(&si4463); / Following instruction only for add
breakpoints. May be deleted
/ si4463.interrupts.stateChange = false; } if
(si4463.interrupts.cmdError) { / Handling this interrupt here
/ SI4463_GetChipStatus(&si4463); / Following instruction only for add
breakpoints. May be deleted
/ si4463.interrupts.stateChange = false; } if
(si4463.interrupts.chipReady) { / Handling this interrupt here
/ SI4463_GetChipStatus(&si4463); / Following instruction only for add
breakpoints. May be deleted
/ si4463.interrupts.chipReady = false; } if (si4463.interrupts.lowBatt) {
/ Handling this interrupt here
/ SI4463_GetChipStatus(&si4463); / Following instruction only for add
breakpoints. May be deleted
/ si4463.interrupts.lowBatt = false; } if (si4463.interrupts.wut) { /
Handling this interrupt here
/ SI4463_GetChipStatus(&si4463); / Following instruction only for add
breakpoints. May be deleted */
si4463.interrupts.wut = false;
}
/* Clear All interrupts before exit */
SI4463_ClearAllInterrupts(&si4463);
}
bool SI4463_IsCTS(void)
{
if(HAL_GPIO_ReadPin(CTS_GPIO_Port, CTS_Pin) == GPIO_PIN_SET)
{
return true;
}
else
{
return false;
}
}
void SI4463_WriteRead(const uint8_t * pTxData, uint8_t * pRxData, const
uint16_t sizeTxData)
{
HAL_SPI_TransmitReceive(&hspi1, (uint8_t*)pTxData, pRxData, sizeTxData,
100);
}
void SI4463_SetShutdown(void)
{
HAL_GPIO_WritePin(SD_GPIO_Port, SD_Pin, GPIO_PIN_SET);
for(uint8_t i=0;i<10;i++)
__NOP();
}
void SI4463_ClearShutdown(void)
{
HAL_GPIO_WritePin(SD_GPIO_Port, SD_Pin, GPIO_PIN_RESET);
for(uint8_t i=0;i<10;i++)
__NOP();
}
void SI4463_Select(void)
{
HAL_GPIO_WritePin(CS_GPIO_Port, CS_Pin, GPIO_PIN_RESET);
for(uint8_t i=0;i<10;i++)
__NOP();
}
void SI4463_Deselect(void)
{
__NOP();__NOP();__NOP();__NOP();__NOP();
HAL_GPIO_WritePin(CS_GPIO_Port, CS_Pin, GPIO_PIN_SET);
for(uint8_t i=0;i<10;i++)
__NOP();
}
void SI4463_Delay(uint32_t d)
{
osDelay(d);
}
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Lab409/driver_si4463/issues/10#issuecomment-379437573,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFmGJeSyfa3aFu6IvVAdBx0Lw1iObB6Yks5tmGEfgaJpZM4TDRIT
.

Your default config. I think 10

@nimaltd please check the value of the APP_PACKET_LEN. It literal should be created in your app

I dont have si4463 Know :(

authors: DanilBorchevkin nimaltd


text:
Disallow overriding email template replacement parameters

Rationale
EmailTemplate seems to let subclasses override replacement parameters, but the behavior is inconsistent (e.g., duplicate parameters appear on the customize page). This just seems like a bad idea, so remove existing overrides and add a check to prevent others in the future. Should fix MessagesLongTest, which flagged a related change in behavior.
Related Pull Requests

https://github.com/LabKey/platform/pull/2439

Changes

AnnouncementDigestProvider: remove redundant override of folderName; just use folderPath
ReportAndDatasetChangeDigestEmailTemplate: remove redundant overrides of folderUrl and folderPath
Add assert that disallows adding a parameter that matches an existing parameter name for that template

The two places that enumerate getAllReplacements() resolve names via equalsIgnoreCase(). Would be nice if these were held in a (case-insensitive) map instead of constantly enumerating, but I'm done making changes for now.

MessagesLongTest passed with this change: https://teamcity.labkey.org/viewLog.html?buildId=1474524&buildTypeId=bt20&tab=buildResultsDiv&branch_LabkeyTrunk_DailySuites=foldName_vs_folderPath

repo: LabKey/platform


text:
Padronización nombre programa

La mejora que quieres proponer hace relación a un problema?
Creo que deberíamos usar el nombre del bootcamp siempre en ES o PT. = Bootcamp de Desarrollo Web
Describe la solución que te gustaría
En la pregunta de edad, cuando es menor de edad, sale "Bootcamp Web Dev" en el mensaje"

En el aviso que es menor de edad, usamos "Bootcamp Web Dev"
¿Qué alternativas has considerado?
Descripción clara y concisa de otras soluciones alternativas que hayas
considerado.
Contexto adicional
Agrega cualquier otra cosa que pueda ayudar a entender el contexto en el que
ocurre el problema.
Alerta
Recuerda que este repositorio es público, todos los issues y conversaciones
relacionadas son públicas y visibles a todo el mundo.
Si necesitas compartirnos información de forma privada, NO lo hagas a través de este repo,
nos pondremos en contacto para poder dar soporte a través de un canal privado.

Entorno
Location: https://laboratoria-bootcamp-next.web.app/es/auth/signup?r=/es/apply?programId=1
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36
Navigator Language: en-US
Selected Language: es

@rocioalberdi , ¿priorizamos este cambio que sugiere Ju?

No lo priorizaría ahora. Sí estoy de acuerdo con que debemos dejarlo igual, pero podemos hacerlo más adelante

Cerrado en favor de: https://github.com/Laboratoria/bootcamp.laboratoria.la/issues/193

authors: JulianaFacciolla adsotoh rocioalberdi

repo: Laboratoria/tech-support


text:
Support for Construct's Armory

Could you make InfiniTiC support the addon Construct's Armory?
https://minecraft.curseforge.com/projects/constructs-armory
It's a mod which adds armor for TiC and custom armor would be a nice addition to your mod. Btw. really like your mod.

I'm going to investigate whether we can make this work, next.

I know it's been a while, sorry for bugging you about it, but I'd also love to know if this was looked into and/or discarded. Love the mod regardless! Cheers.

authors: JaselUmena LakMoore Pabilo8

repo: LakMoore/InfiniTiC


text:
Problems with server

Hello! I am reaching out for some help with the fusion helper using macOS  13.7.1.
I have launched bonelab and have connected my steam acc. The helpers says i am connected using my port and my quest was picked up by the program. For some unknown reason i have zero access to any of the servers and or games open. All of the mods I need have been installed.  Also there has been no firewall pop up asking to receive information.
If you can help with this issue it would be much appreciated. Thanks! Merry Christmas!

Please follow the instructions here: https://github.com/Lakatrazz/BONELAB-Fusion/wiki/Common-Fixes#i-cant-make-serversit-says-no-servers-found-macos-fusionhelper

It works now! Thank you lakatrazz!

repo: Lakatrazz/Fusion-Helper


text:
Admin endpoints

Description
Fixes #N/A
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] This change requires a documentation update

Change Status

[ ] Complete, tested, ready to review and merge
[x] Complete, but not tested (may need new tests)
[ ] Incomplete/work-in-progress, PR is for discussion/feedback

Checklist

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] My code has been reviewed by at least one peer
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] There are no merge conflicts

looks good the utility will be useful to create and delete data


text:
User Avatar and Video Thumbnails

Description

modified some team member cards and lists plus the header to show user avatar
modified video card to show thumbnail image

Type of change
Please delete options that are not relevant.

[x] New feature (non-breaking change which adds functionality)

Change Status

[x] Complete, tested, ready to review and merge
[ ] Complete, but not tested (may need new tests)
[ ] Incomplete/work-in-progress, PR is for discussion/feedback

How Has This Been Tested?

[x] Test A - confirmed local dev render in browser
[ ] Test B

Checklist

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] My code has been reviewed by at least one peer
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] There are no merge conflicts

 Modify FE to display avatars and video thumbnails

 Change team dash display based upon logged in user role


text:
Install command, or specific command that publishes config file

I’ve installed a fresh L10 + BPv6. First thing I wanted to do was change the layout from vertical to horizontal, but… I couldn’t easily do that, because the config file wasn’t published for me. Nor did I find a publish command on Github to quickly do that 😔 What I did in the end was to run “php artisan vendor:publish” and choose the Backpack\ThemeTabler\AddonServiceProvider, but that published 3 things - config (good), views (very bad) and assets (bad). We must publish the theme config file on installation, and provide docs for publishing each of the publishable things alone.
So what I think we should do is either:

(A) instruct people to copy-paste a publish command that only publishes the Theme-Tabler config file, after they install Theme-Tabler
(B) create a php artisan backpack:theme-tabler:install command that does the above

I think A is enough for now. It's just a change in docs, and a change in Backpack's own Install command to do it there too.
We should also do the same for the other themes, if they have config files (document they the way to only publish the config file).

Done, submitted the needed PRs linked above ☝

authors: pxpm tabacitu

repo: Laravel-Backpack/theme-tabler


text:
Typo in examples/transfer-learning/readme.md

In examples/transfer-learning/readme.md
 For training, the tensor has shape 211x3x224x224, this corresponds to 211 images of height and width both 211 with 3 channels (PyTorch uses the NCHW ordering for image data). The testing image tensor has dimensions 127 so there are 127 images with the same size as used in training.
But height and width are both 224.

Right, just pushed a fix to correct this, thanks for reporting it!

repo: LaurentMazare/tch-rs


text:
How to continue scrolling down after using K

Did you check docs and existing issues?

[X] I have read all the LazyVim docs
[X] I have searched the existing issues of LazyVim
[X] I have searched the existing issues of plugins related to this issue

Neovim version (nvim -v)
0.9.4
Operating system/version
debian12
Describe the bug
https://github.com/LazyVim/LazyVim/assets/93305122/8193523c-09fe-459e-99cf-b4ae344160c1
After using K, how to continue reading? For example, I want to know what the 37th function is. I tried ctrl + n or using the arrow keys but they don't let me scroll down to view.
Steps To Reproduce

using K

Expected Behavior
For example, it allows me to see more functions
Repro
-- DO NOT change the paths and don't remove the colorscheme
local root = vim.fn.fnamemodify("./.repro", ":p")

-- set stdpaths to use .repro
for _, name in ipairs({ "config", "data", "state", "cache" }) do
  vim.env[("XDG_%s_HOME"):format(name:upper())] = root .. "/" .. name
end

-- bootstrap lazy
local lazypath = root .. "/plugins/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", lazypath, })
end
vim.opt.runtimepath:prepend(lazypath)

-- install plugins
local plugins = {
  "folke/tokyonight.nvim",
  "folke/LazyVim",
  -- add any other plugins here
}
require("lazy").setup(plugins, {
  root = root .. "/plugins",
})

vim.cmd.colorscheme("tokyonight")
-- add anything else here

<C-f> or <C-b to scroll or you can press K again and that will put your cursor in the flowting window and you'll be able to use normal vim motions.

Before creating a new bug, this is what is shown:

Before reporting an issue, make sure to read the documentation and search existing issues. Usage questions such as "How do I...?" belong in Discussions and will be closed.
Did you check docs and existing issues?
...etc

Why did you create this bug report, after confirming all the check boxes?

I don't believe this is possible, since this hover menu is just a pop up window by noice which show you the docs. There's no LSP attached to it, since ft = noice.

Could there be a way to attach the LSP to this window? I think this is something really useful to be able to do and if it could be done in LazyVim by default, it would be awesome

No idea. You could try issuing :LspStart name_of_lsp_server that you want and see if that works. You could create an issue with enhancement label, so that the maintainer can take it into consideration and see if it can be done or not. I'm not that adept with Lua myself.

authors: abeldekat andresatierf brumbyhhh dpetka2001

repo: LazyVim/LazyVim


text:
riset use AXIOS / SWR to fetching data from API

Coba" dlu yang sudah duluan atau merasa  lebih enak digunakan lapor kesini aja...

Ini done juga saya close

repo: Leads-org/petstop


text:
Custom Panes and Pane Management

It would be excellent to be able to create/delete/manage custom map panes and then be able to specify which panes your layers get added to.  This would allow fine tuned control over css changes to groups of layers at once, allow you to solve z-index issues, and this would even be an excellent solution for #1734.
What has brought about this, is that I use a lot of SVG objects on my map application.  There are certain svg elements that I want to be above others all the time (with regards to z-index).  However svg elements don't use z-index, and instead the elements added to the DOM last are the ones shown on top.  The problem is that I add and remove a lot of the SVG elements to the map during normal usage of the mapping application.  So this constantly changes which SVG elements are on top all the time.
Custom map panes would solve this problem and give the user a LOT more fine tuned control over their groups of layers and how they are displayed and interacted with.
Any thoughts on this?

@mourner Does this only work with markers? I was trying to use it for a FeatureGroup, and had no luck.
var filterPane = map.createPane('filterPane');
var drawnItems = new L.FeatureGroup({pane: filterPane});

The shapes I add to the FeatureGroup still get drawn in the overlay-pane.

To answer my own question, it appears FeatureGroup does not take an options object. You must set the options explicitly, after creation.
var drawnItems = new L.FeatureGroup();
drawnItems.options.pane = 'filterPane';

@rwwagner90 it does, it just accepts a string rather than reference that I see in your sample.

@mourner I thought, based on the sample code above, either would work?

Hmm, I should look into why it didn't...

I actually was incorrect, when I said that it worked setting it to the string. I had changed something else to make it work. Setting the pane in a FeatureGroup appears to have no effect on where the shapes are drawn. They are still drawn in the overlay layer. However, using the renderer works.
var renderer = (L.SVG && L.svg()) || (L.Canvas && L.canvas());
map.createPane('filterPane');
renderer.options.pane = 'filterPane';
draw = {
      polyline: {
        metric: true,
        shapeOptions: {
          renderer: renderer,
          color: color,
          weight: 5,
          fillOpacity: 0
        }
      },
      polygon: {
        allowIntersection: false,
        showArea: true,
        drawError: {
          color: '#b00b00',
          timeout: 1000
        },
        shapeOptions: {
          renderer: renderer,
          color: color,
          weight: 5,
          fillOpacity: 0
        }
      },
      rectangle: {
        shapeOptions: {
          renderer: renderer,
          color: color,
          weight: 5,
          fillOpacity: 0
        }
      },
      circle: {
        shapeOptions: {
          renderer: renderer,
          color: color,
          weight: 5,
          fillOpacity: 0
        }
      },
      marker: false
    };

Is there a way to just get the shapes drawn in the FeatureGroup added to the pane I choose, without doing this renderer stuff?

When will this feature be in a release?

@mourner what is the supported way to use custom panes with a FeatureGroup containing shapes? I can have them show up in the correct custom pane when I first draw them, by passing a renderer in, but then when I come back to the page later, and load the shapes, I don't know how to tell it to add those shape objects to the correct pane. Help would be appreciated! This custom renderer stuff doesn't really have any documentation.

@rwwagner90 What do you mean "passing a renderer in"? Can you provide a code sample of that? I'm curious.

@Jakobud if you look a couple comments up, I posted my drawing options code. You'll see that I create a renderer, and then pass it in for each shape type's drawing options.

Hmmm. That is interesting. I didn't realize you could specify a renderer to use in vector layer options.
With the existing 0.8-dev pane management, you can create a custom pane, then create a custom renderer and add that renderer to the custom pane. Then if you just specify the renderer then it should work...   What exactly is the problem you are having?

Actually I just re-read your comment. You should be able to create a custom pane, then create a custom renderer and chose that custom pane in the renderer options.
Then, whenever you add a vector layer, specify that renderer, and it should end up on that custom pane in that renderer DOM object.

@Jakobud you are right. I was trying to just set it for the FeatureGroup though. I think it makes sense that I should be able to pass the renderer in the options object for the FeatureGroup, and not have to set it for every vector, but I can set it each time for now.

I honestly haven't worked with FeatureGroups before. Are feature groups supposed to work in a way where the individual items in a feature group are supposed to inherit the options of the feature group? If so, yeah I would expect you to be able to specify the renderer only in the feature group and the layers would inherit the renderer option. But I'm not sure. I'm brought up this approach over on #2786. It seems very straightforward. Better than what I was proposing.

@rwwagner90 I'm looking back at your code. Where are you getting the shapeOptions in your layer options? I've never heard of that before. Is shapeOptions a FeatureGroup thing?
Also how are you specifying the renderer in the options for a vector layer and having it use that layer? I don't see anything to handle that in the code:
https://github.com/Leaflet/Leaflet/blob/master/src/layer/vector/Path.js
According to that, a vector layer is going to get it's renderer from the this._map.getRenderer(this) (https://github.com/Leaflet/Leaflet/blob/master/src/layer/vector/Path.js#L27).
Can you elaborate a bit on what you are doing exactly?

Nevermind I think I figured it out here:
https://github.com/Leaflet/Leaflet/blob/master/src/layer/vector/Renderer.js#L67

shapeOptions is for leaflet.draw. It's not a pure Leaflet example. Here is roughly how you would do a renderer in pure Leaflet:
map.createPane('myPane');
var renderer = (L.SVG && L.svg()) || (L.Canvas && L.canvas());
renderer.options.pane = 'myPane';
var drawOptions = {renderer: renderer};
var layer = L.rectangle(shape.points, drawOptions);
map.addLayer(layer);

This feature is stable? It can be included to stable release?

@gorshkov-leonid It was added to the latest dev branch. See here:
https://github.com/Leaflet/Leaflet/pull/3266
I am using similar code in production here http://ps2maps.com

Great, thank you. And one more question, vector renderer can be extended to show custom labels, DIV-s - not only vector geometries?

Can be better declare method getPaneNames to provide ability iteration over all panes...

Vector renderers are for rendering either SVG or Canvas elements on the map. That's it. Custom labels are not necessarily vectors and can be put on their own custom panes just like normal.
Look at map.getPanes() to return a list of the panes.

Pane is DIV. As i understand position of DIV that has been insterted to pane should be synchronized manually during operations pan/zoom? So to automatically synchronization screen coordinates with specified longitude-latitude can I implement ILayer interface with mixing Renderer? Can you help me find documentation that API?.

@gorshkov-leonid it should only be synchronized on zoom. For an example of a very basic layer implementation, you can look at the ImageOverlay source.

Thank you very much. Sorry of dilettant question. May be better in future to describe in future 'best-practice' example in  http://leafletjs.com/examples.html.

Not sure where to ask about this, but how would I add shapes manually to these custom FeatureGroups and renderers and whatnot? I'm using Leaflet.Draw and when I draw the shapes, everything works, but if I want to prepopulate with some stored shapes, it adds the shape and then Leaflet.Draw does not know about the shape. How do I fix this?

I figured out the issue. I had to do this:
   let layer = L.geoJson(this.get('valueGeoJson'), {color: '#C12A0F', renderer: this.get('renderer')});
      this.addLayerToMapAndShapesArray(layer.getLayers()[0]);

How do I create just one layer object so I don't have to do layer.getLayers()[0]?

Hi, I cannot make the show/hide feature work...
All I want is to have different groups so that I can split my markers based on some criteria and then show/hide them with checkboxes as a group (should be more optimal than iterating them).
I have a difficulty to do it. I added 1 pane per 1 group (and added the group to the pane), so that I can (in theory) do “display = none” on the pane.
But it does not work, it seems that the pane does not contain the feature group in order to hide it when the pane also hides.
I will appreciate your feedback! Thanks!

@af7 look at #3266

Thank you, but is this needed for markers too or just vector layers?
All I have are markers that use a DivIcon with SVG inside their 'HTML'. Then I add these markers to FeatureGroups, based on some criteria.
Should i apply a custom renderer when creating the marker? (I understand that 'renderer' is not related to markers though).
All I want is to make the FeatureGroups show/hide. I would not even add them to a different 'Pane' per group if I had something like 'map.hideGroup(group1)' and 'map.showGroup(group2)'. I understand that you tie the show/hide logic with panes (and this logical), but then why aren't the layers of the group added to the pane, while I did added the group to the pane?

You can show/hide marker planes or vector planes or whatever planes you want. You don't need a custom renderer for markers.

Thanks Jake, I understand I can do this but I do not know how. I did not see any "show/hide" method for panes (I assume you mean "panes", not "planes").
And the other problem is that I added markers to a FeatureGroup which then I added to a custom pane. It appears that the markers of this group are not added inside the pane, so when I do "display:none" on the pane then nothing disappears.

There is no show/hide method. Simply use css or jQuery.
$('markers-pane').hide();
Or animate the CSS opacity, or do whatever you want. The panes are simply DOM elements so you can do whatever you want with them to show/hide them.

Are you doing this on the 1.0 beta 1 branch? This doesn't work in 0.7.x.

Ok, I manage to do this (with display:none) that was not that actual problem.
The proplem is that when you add a featureGroup to a pane, then the markers that are added afterwards to this group are not children of this pane's DIV, so they are not hidden.

That sounds like that may be a bug with the 1.0 beta1 branch then. Have you tested this with other things? Try adding markers to custom panes? Or vector lines? etc? Do they work or do you get the same result?

I tested it with simple markers and it worked. It appears that adding the FeatureGroup to a Pane has the problem with the markers of the group.

Is there a way to add a tileLayer above an objects pane, currently? I have a tile layer that's just labels which I'd like to have over a group of polylines...

@hilarykitz We've just written a tutorial on that: http://leafletjs.com/examples/map-panes.html

Whoa exactly what I was looking for, thanks so much :)

@IvanSanchez update: is there any way to still allow cursor interaction with the polylines?

@hilarykitz pointer-events css was set to none:
map.getPane('labels').style.pointerEvents = 'none';

Just don't do that if you still want to interact with the polylines.

@Jakobud that pointer-events applies to the labels pane, not to the polylines pane. And it might not even be needed if https://github.com/Leaflet/Leaflet/pull/3937/files (or a slight modification of that) gets merged.

Could someone maybe explain a bit, how to use featureGroups with map panes, I'm not entirely sure I  understand

Hi @Delboyeire, great to hear that you find Leaflet useful!
However, this issue tracker is used for reporting bugs and discussing new features.
For questions on using Leaflet, please use Stack Overflow or GIS Stack Exchange.
Note: currently panes are of no use with Layer/Feature Groups themselves, only for non-group layers (like Markers, vector shapes, etc.). See posts mentioned in https://github.com/Leaflet/Leaflet/issues/4#issuecomment-358930860

authors: Delboyeire IvanSanchez Jakobud af7 ghybs gorshkov-leonid guliash hilarykitz mourner rwwagner90

repo: Leaflet/Leaflet


text:
Marker dragging is re-enabled when layerControl overlay is toggled off and on.

[x] I've looked at the documentation to make sure the behavior is documented and expected.
[x] I'm sure this is a Leaflet code issue, not an issue with my own code nor with the framework I'm using (plain JS, leaflet).
[x] I've searched through the issues to make sure it's not yet reported.

Steps to reproduce
Steps to reproduce the behavior:

Initialize the LayerGroup, layerControl, add them to the map.
Initialize the Marker with draggable: true.
Add the marker to the LayerGroup, and add the LayerGroup to the map.
Disable the dragging for each layer of the Layer Group.  The marker becomes un-draggable on the map.
Hide the marker, by unchecking the overlay in the the layerControl box. No marker is shown on the map.
Show the marker, by checking the overlay in the the layerControl box. The marker becomes draggable on the map.

Expected behavior

After the marker is shown again on the map by checking the overlay in the layerControl box, expecting the marker to stay un-draggable.
Current behavior

After the marker is shown again on the map by checking the overlay in the layerControl box, the marker reverts to the original state of being draggable.
Environment

Leaflet version: 1.7.1
Browser (with version): Chrome Version 87.0.4280.88 (Official Build) (64-bit)
OS/Platform (with version): Windows 10 Home 20H2 19042.685

Additional context

Minimal example reproducing the issue
http://jsfiddle.net/71keLoaf/1/

[x] this example is as simple as possible
[x] this example does not rely on any third party code

I tend to agree that this behavior is a bug.
But not completely sure.
Here is some actions to set draggable option enabled after layer removed, but no action if handler is disabled.
https://github.com/Leaflet/Leaflet/blob/7db94fd1ec23f0967dd8b07a5e2e2b1554b6d8db/src/layer/marker/Marker.js#L116-L121
Still it's not clear to me why it is implemented like that: it would be simpler just keeping option in sync always.


text:
Fix setStyle method for Circle class

The Circle class inherits from CircleMarker class, which has a setStyle method which sets the radius. There was no equivalent in Circle class (the setStyle method was the one from the Path class), so we couldn't set the Circle radius with the setStyle method

Why is this needed, when there is already a setRadius() method?

I'm currently working on https://github.com/jupyter-widgets/ipyleaflet, we use python models on the backend for defining Leaflet widgets on the frontend. Every time the model changes on the backend, we update the frontend with a simple setStyle call passing the options defined in the model. This works fine for each attribute of the Circle class (those defined in the Path class: color, opacity, fillColor...), except for the radius.

setStyle appears to take the options dictionary and radius is listed in the options for the circle marker.

BTW, this could be a much cleaner change if you just replace setStyle: Path.prototype.setStyle, with setStyle: CircleMarker.prototype.setStyle,.

On second thought, it seems that the behaviour of setStyle is an oversight dating back to https://github.com/Leaflet/Leaflet/commit/508a75f7a836a0a5bd1e9472cb09434183046860. I'm partial to accepting this, but I'll wait for other maintainers to chip in.
Maybe we need to add some docstrings to make it clearer that setStyle on both Circle and CircleMarker do set the radius too.

I don't think this is an oversight. Radius not being a part of Circle "style" is intentional, because unlike CircleMarker, it'a physical property of the circle, just like geographical location. It's not a visual thing.

@mourner
Should we close this?

authors: IvanSanchez SylvainCorlay johnd0e martinRenou mourner


text:
Socket.io appears not to be working in Firefox 8 on Linux

I downloaded today's Firefox update and tested a previously working socket.io application and got the following error in the Firebug console:
Security error
http://mywebsite.com:8080/socket.io/socket.io.js
Line 2293

the same error FF8, Ubuntu.

That's expected in FF8.
https://developer.mozilla.org/en/Firefox_8_for_developers

Mixed content is not allowed with WebSockets; that is, you can no longer open a connection to a non-secure WebSocket server from secure content.

I was about post the same thing: https://bugzilla.mozilla.org/show_bug.cgi?id=662692
I was thinking about closing this as you are deliberately breaching security https -> http. I don't think we should do a fallback for that and just let it die... @guille opinions?

Hmmm... but I wasn't using https anywhere in the process.

I have this exact problem and I'm not using https, either. any movement on this? it works fine in everything else.

@KyleAMathews and @rayui,
it would be much easier to debug this issue, if you provide next information:

Version of node.js and Socket.IO
Relation between main-site and comet-site: domain-name and ports for both
Which kinds of transport are enabled?
Source code around "Line 2293" (even better link in github to the file with line) where exception thrown
Version of transport your FF8 use. I guess it's websocket. But maybe it's something different(maybe Flash or XHR-polling).
(you can observe this activity via FireBug and see which kind of connection is active)
Do you use "authenticaion" callback?
If you use authentication, how exactly does it work? Via cookies? Something different?

Ideal case would be to provide also WireShark(or tcpdump) dump of network activity between your browser and Socket.IO.
You can do it via:
sudo tcpdump -iany -s 65535 -w sio-packets.pcap tcp port 8080 and host mywebsite.com
It creates file sio-packets.pcap. You can check it's content via:
tcpdump -r sio-packets.pcap
or via WireShark.
Than upload this file somewhere and post link to it here.
Only after you put this information, it's possible to start investigation and reproduce. Socket.IO can behave very different depending on many items and it's just not enough information to reason about your issue.

okay, no problem. i can get this sorted out for you on monday.

I can confirm the bug on Firefox 9.0.1 on Mac OSX 10.6.8, using socket.io 0.8.7.
Security error
socket.io.js (line 2294): this.websocket = new Socket(this.prepareUrl() + query);

I can confirm this bug on Firefox 10.0 on Windows 7.
env: node = 0.6.7, socket.io = 0.8.7
host: Linux running as a virtual machine on Windows 7. client: Windows 7 with Firefox 10.0. port = 3000
Request:
[11:50:09.122] Firefox can't establish a connection to the server at ws://127.0.0.1:3000/socket.io/1/websocket/3621827891205209268. @ http://127.0.0.1:3000/socket.io/socket.io.js:2294
socket.io.js: 2294
this.websocket = new Socket(this.prepareUrl() + query);
I uploaded a partial wireshark dump(containing only the socket.io request) to http://blog.xiaket.org/socket.io.dump.pcap  for a full dump, visit: http://blog.xiaket.org/all.pcap
hope some of you guys would take a look. thanks.


text:
Chapter 3. Disaggregated Hardware

[ ] Make a chapter3.md file
[ ] Create a summary in the .md file

By the end of this chapter, you should be able to:
Discuss about the hardware of disaggregated and open networking Ethernet switches and wireless access points.
Review the Open Compute Project and the Telecom Infra Project.
You should remember that all Ethernet switches have a similar hardware design. They have two main components:
        A packet switching/processing ASIC chipset controls
        A CPU which hosts the software/firmware and the packet switching ASIC.

All commercial vendors lock their software with their hardware, meaning that you cannot make any changes to software, nor install a different software.
A bare metal switch includes the same hardware components, but allows you to install a network operating system.
A network operating system should support the hardware which you are planning to use. For example, if you have a 32 x 100G port switch based on Cavium, you need to choose a NOS that supports that hardware (for example Open Network Linux).
Network Operating Systems provide a hardware compatibility guide, which can help you understand what hardware they support.
In this chapter, we will take a more in-depth look at hardware disaggregation and open source hardware of network switches and wireless access points.
Commercial Networking Products vs Open Source Hardware

As we already mentioned, a disaggregated network device allows you to install your choice of operating system. You are not locked or bound to use a specific software.

Proprietary Network Device
Details

Cisco Catalyst 3750 Switch
A combination of hardware and Cisco IOS software

Juniper M10iRouter
A combination of hardware and Juniper Junos OS

Arista 7170 Switch
A combination of hardware and Arista EOS software

Disaggregated Network Device
Details

Edge-Core AS5712 (48 x 10G switch)
Comes with no software/OS.You can check compatibility and install OpenSwitch/Open Network Linux (ONL)/Cumulus Linux/Pica8/Big Switch, etc.

Mellanox SN2700
Comes with no software/OS.You can check compatibility and install Cumulus Linux.

Alpha Networks SNX-60x0-486F(48-port 10G SFP)
Comes with no software/OS.You can check compatibility and install ONL/OpenSwitch/Cumulus Linux, etc.

Inventec DCS7032Q2832 x 100GB
Comes with no software/OS.You can check compatibility and install ONL/OpenSwitch/Cumulus Linux, etc.

OCP Projects
The Open Compute Project (OCP) was announced by Facebook, along with Intel, RackSpace, Goldman Sachs, and Andy Bechtolsheim, in April 2011. The effort was the result of a redesign of Facebook's data center in Prineville, Oregon. The aim of OCP is to create open source standards for high density and highly-efficient IT equipment for data centers, including server, storage, network, and security.
OCP publishes the open hardware specifications for the data center and enterprise IT systems. There are multiple project workgroups within OCP, each including a project charter and a team working towards producing and enhancing the open source technologies within that project.
The Data Center Facility Project focuses on the design of a data center facility that maximizes mechanical performance and thermal and electrical efficiency. The project focuses on five functional areas of the data center:
        Data Center Facility Power
        Data Center Facility Cooling
        IT Space Layout and Design
        Data Center Facility Monitoring and Control
        Data Center Facilities Operation.

The High Performance Computing (HPC) Project focuses on "developing a fully open heterogenous computing, networking and fabric platform for a multi-node processor that is agnostic to any computing group".
The Rack & Power Project specifies standards for OCP racks which are in 19” and 21” form factors. The racks are designed to provide direct power to the server in a highly efficient way.
The Hardware Management Project is related to small embedded systems that manage the hardware, either a PCB board or a rack. OpenBMC is an open source project hosted by The Linux Foundation that is part of this category. OpenBMC (Open Baseboard Management Controllers) is very similar to management systems you may have seen on most servers, such as HPE iLO (Integrated Lights Out), Dell DRAC (Dell Remote Access Controller), and IPMI (Intelligent Platform Management Interface), where there is a System on a Chip (SoC) that has its own CPU, memory and operating system, and sensors that are connected to the system that it's managing and monitoring (such as a server or a network switch).

Telecom Infra Project
Similar to the Open Compute Project, which addresses open source hardware and software used to build data centers and enterprise IT, the Telecom Infra Project is a workgroup meant to create open source standards for telecommunication and service provider companies. The Telecom Infra Project includes multiple project groups:
        Backhaul Projects
        The Backhaul project group includes projects such as Multimeter wave (mmWave) networks and Open Optical and Packet Transport projects. The aim of this project group is to enhance the functionalities in wireless and backhaul networks by introducing options for ease of configuration, faster convergence, and better scalability.
        Access Projects
        This project group includes projects such as RAN, Edge Computing and site optimization. The aim of this project group is to innovate and enhance the connectivity within the Radio Access Network (RAN) to make the internet connectivity easier and more stable. The RAN (Radio Access Network) project group itself includes projects such as OpenCellular, OpenRAN, CrowdCell and vRAN Fronthaul.
        Core & Management Projects
        This project group includes projects such as AI (Artificial Intelligence), AMI (Applied Machine Learning) and end-to-end network slicing. The aim of this project group is to improve the efficiency and flexibility of telecom core networks, while simplifying the processes and reducing the operation costs.

How Ethernet Switches Are Built
Now, let’s take a look at how Ethernet switches are built. After reading this section, you will find out Ethernet switches are based on fairly simple design.
It starts with a silicon vendor; you need to choose which chipset you want to use to build your Ethernet switch.
To make it simple, there are very few companies worldwide producing merchant Ethernet switch chipset (Silicon). A merchant silicon is a chipset that is already designed, tested and built by a chipset manufacturer, which can be bought by anyone looking to build an Ethernet switch.
The following table provides a high level description of a chipset manufacturer and most recent chipsets:

Chip Manufacturer
Chipset

Broadcom Inc.
Strata SGX Family:   Helix (1G) Trident 2, 2+, 3 (10G/40G) Tomahawk 2, 3 (100G/200G/400G)   Strata DNX Family (Large buffer):   Qumran Jericho

Mellanox Technologies
Spectrum, Spectrum 2 (10G/40G/100G/200G/400G)

Cavium
XPliant (1G/10G/40G/100G)

Barefoot Networks
Tofino (10G/40G/100G)

Marvell Technology Group
Prestera switching family

Microsemi (Vitesse)
Gigabit switch chipsets

Intel Corporation
FM6000 series (10G/40G)

Notes:
We did not include the small SOHO chip manufacturers.
If you would like to learn more about how a switch chipset silicon works, you can download the Intel FM6000 datasheet.

Types of Switches
You may have heard about the terms of white-box, brite-box, and bare metal switches. These terms are very similar, but have some minor differences.
A bare metal switch is an Ethernet switch without a NOS (Network Operating System). A bare metal switch normally covers both open source hardware, as well as proprietary hardware. Some examples of bare metal switches are:
        An Edge-Core AS4610 (open source hardware)
        A Mellanox SN2700 (proprietary hardware).

A white-box switch is similar to a bare metal switch, with a few optional features:
        You can ask the manufacturer to label it with your own brand (OEM)
        They are sold without any NOS
        In general, they cover open source hardware switches.

For example, an Edge-Core AS4610 (open source hardware) is a white-box switch.
Brite-box switches are switch hardware bundled with a NOS. This model was popular a few years ago, when companies like Pica8 were selling their NOS along an Edge-Core switch as a bundled product (switch hardware and NOS).
The following table summarizes the differences between white-, brite- and bare metal switches:

Type
You can install any NOS
What is included with purchase
Hardware Support
NOS
NOS Support

Bare metal switch
Yes
Switch hardware only
Hardware manufacturer
Purchased separately
NOS vendor

White-box switch
Yes
Switch hardware only
Hardware manufacturer
Purchased separately
NOS vendor

Brite-box switch
Not supported by its vendor
Switch hardware and a NOS
Company selling the brite-box switch
Already included
Company selling the brite-box switch

Bare Metal Ethernet Switches
There are multiple bare metal switches available on the market. These switches come with different speeds and port densities. Next, we will look at a few notable bare metal switches.
Edge-Core Switches: Edge-Core is the bare metal switch brand name of Accton Technology. The Edge-Core portfolio of bare metal switches includes many product lines based on different switch silicons. All Edge-Core switches are shipped with a CPU board and an ONIE environment for easy installation of a NOS. A few notable Edge-Core switches are highlighted below:

Switch Model
Main Ports
Switch Chipset

AS4610
48 x 1G RJ45
Broadcom Helix 4

AS5712
48 x 10G
Broadcom Trident 2

AS5812
48 x 10G
Broadcom Trident 2+

AS5912
48 x 10G
Broadcom Qumran-MX

AS6712
32 x 40G
Broadcom Trident 2

AS6812
32 x 40G
Broadcom Trident 2+

AS7816
64 x 100G
Broadcom Tomahawk 2

AS7712
32 x 100G
Broadcom Tomahawk

AS7512
32 x 100G
Cavium Xpliant

AS7900
32 x 400G
Broadcom Tomahawk 3

Facebook Switches: They are Ethernet switches manufactured for Facebook by companies such as Accton Technologies. They are known as Wedge and Backpack Switches. Some examples of Facebook switches are highlighted below:

Switch Model
Main Ports
Switch Chipset

Wedge
16 x 40G
Broadcom Trident 2

Wedge 100
32 x 100G
Broadcom Tomahawk

Backpack (Chassis-based)
128 x 100G
Broadcom Tomahawk

Wedge 100C
32 x 100G
Cavium Xpliant

Wedge 100B
32 x 100G / 65 x 100G
Barefoot Tofino T10

Wedge System Building Blocks

Facebook Wedge 100B based on Barefoot Networks Tofino Chip

Mellanox Bare Metal Switches: They are based on Mellanox Spectrum/Switch-X2 series of chipsets. Below are a few examples:

Switch Model
Main Ports
Switch Chipset

MSX1410
48 x 10G / 12 x 40G
Mellanox Switch-X2

MSX1710
48 x 10G / 36 x 40G
Mellanox Switch-X2

SN 270
48 x 10G / 32 x 100G
Mellanox Spectrum

Barefoot Tofino-Based Switches: Barefoot Networks produce programmable switch silicons. Please take a look at the following example:

Switch Model
Main Ports
Switch Chipset

Wedge 100B
32 x 100G / 65 x 100G
Barefoot Tofino T10

Recently, Arista Networks also announced their new line of switches, Arista 7710, which is based on Tofino chipsets.

Bare Metal Wireless Access Points
Wireless access points have become commodity hardware and there are initiatives to produce bare metal, open hardware wireless access points. Similar to Ethernet switches, wireless access points are based on a CPU system on a chip (SOC) controlling multiple wireless radio chips for 2.4GHz, 5GHz, and 802.11ad 60GHz radios.
Bare metal wireless access points come with no firmware/operating system. Customers can choose and install the operating system and software features they need. Currently, the only supported OS for wireless access points is Linux (mainly, the OpenWRT Linux).

To better understand, you can imagine a wireless access point as a PC with single or multiple Wi-Fi cards. The CPU drives the wireless modules, creates SSIDs (Service Set Identifiers), sets encryption, authentication, etc.
OpenWRT Linux is a open source distribution that aims to support wireless access points. It includes many drivers for CPU and Wi-Fi cards. You can find compatible OpenWRT Linux firmware, install it on your home access point and have fun controlling your access point, even for consumer-grade wireless access points (such as TP-Link, Linksys, etc.).
OpenWRT is an open platform for wireless access points. It allows loading different software modules to control the wireless. For example, on a wireless access point running OpenWRT:
        You can install CAPWAP (Control and Provisioning of Wireless Access Points protocol) software to create a lightweight access point that can be controlled by a wireless controller.
        You can install an SNMP or a NETCONF server software to allow your wireless access point to be managed by an SDN controller such as OpenDaylight.

Currently, only Edge-Core is producing bare-metal wireless access points. There are different models, based on different chipsets from Qualcomm, Broadcom, etc. Bare metal access points come with no operating system.
The other wireless access points are mostly sold with an operating system which can be changed to OpenWRT. You can take a look at the OpenWRT webpage to see what access points are supported.
You can also find more details on the OCP Wiki for Networking/Specs and Designs page.
Video on wireless device.

Learning Objectives (Review)
You should now be able to:
Discuss about the hardware of disaggregated and open networking Ethernet switches and wireless access points.
Review the Open Compute Project and the Telecom Infra Project.
Summary
In this chapter, we reviewed the hardware architecture of Ethernet switches and wireless access points. We've presented some good hardware examples from the Open Compute Project, and we discovered how disaggregated Ethernet switches are built and how they can help the industry to improve the performance and software features by decoupling the hardware and software from each other.


text:
🛑 FnGuide.com1 is down

In b9c2510, FnGuide.com1 (https://www1.fnguide.com/Etc/Service?id=Monitoring_adm) was down:

HTTP code: 0
Response time: 0 ms

Resolved: FnGuide.com1 is back up in 5207f5d.


text:
🛑 WiseReport2 is down

In 0770a46, WiseReport2 (https://www2.wisereport.co.kr/servercheck.aspx) was down:

HTTP code: 0
Response time: 0 ms

Resolved: WiseReport2 is back up in 80fc5b2.


text:
🛑 CompanyWise2 is down

In 586ed8d, CompanyWise2 (https://comp2.wisereport.co.kr/servercheck.aspx) was down:

HTTP code: 0
Response time: 0 ms

Resolved: CompanyWise2 is back up in 009e730.


text:
AMD K6-2 /  LS 5MVP3 rev2.0  / windows XP SP3 VLK   -  unable to run legacyupdate

AMD K6-2 / 256MB RAM/ S3 Trio 3D2x / LS 5MVP3 rev2.0  / windows XP SP3 VLK MSDN
Trying to run LegacyUpdate for windows xp ,   result in throwing an exception with code 0xc000001d
is there anything to do with lack of SSE instruction set?

Thanks for reporting! We're already tracking this as #220 so closing in favor of that. It’s an issue with Pentium-class CPUs, which lack some instructions the setup has been (unintentionally) compiled to expect.

repo: LegacyUpdate/LegacyUpdate


text:
Encountered two children with the same key

Hello,
I've noticed when using Legend that if I render (in React Native) a Text element with two pieces of state from an observable, I get a warning that two children with the same key were found:
<Text>{user.firstname} {user.lastname}</Text>

They key that it warns about is an empty string and there's only one text element, but I think it has to do with how React Native virtualizes text components (so the two parts of the name become two virtual text elements). Does Legend do something involving keys when rendering? If I remove the lastname bit from the above or if I replace it with any two pieces of static text, there's no warning. There's also no warning if I call get on each of the name pieces so it seems to have something to do with the auto-rendering. It'd be nice if I didn't have to sometimes call get and sometimes not, as this'll confuse my team a lot :)

Another option would be to destructure, which also "unwraps" the proxy and works:
const { firstname, lastname } = user.get()

This might be the better solution anyway as it's more readable. Still curious about the main issue though when you have time. Thanks!

Oh interesting! I will fix this in the next release.
What's happening is that rendering an observable directly creates a memoized self-updating text component with the key "". I hadn't even thought of having two of those within the same component, so that was a mistake. The fix will be simple, so I will get that in soon.
If you don't see any visible problems I think it should be ok to do as you were and ignore the warning. The underlying bug will be fixed soon so the warning will go away.

Awesome, thank you so much! And thank you for being so fast to respond! Awesome project, by the way. The use of proxies is just brilliant.

Thanks! I hope it's working well for you other than this bug :). I'll just reopen this and close it when the fix is released.

I think the better way is to access raw values when rendering Text
<Text>{user.firstName.get()} {user.lastName.get()}</Text>

@jmeistrich I don't think any fix is necessary but rather the mental model on How you render observable in React.

It's fixed already :). I just set key to null instead of ''. https://github.com/LegendApp/legend-state/commit/69e1e563046774a0c6af2eec70f0c59b8df5b887
Which way is better depends on what you want, and there's tradeoffs. Rendering the observables directly as @sunny-mittal did would make the component not need to render, but it also implicitly creates auto-subscribing sub-components. If the parent is already subscribing to those properties anyway, sub-components that also subscribe is wasteful. But if isolating renders to the sub-components keeps the parent component from rendering as much then it might be better.
I think we should write up more about that tradeoff in the docs.

This should be fixed in 0.19.0. But please let me know if you still encounter it. Thanks for the report!

authors: chakravarthi-bb jmeistrich sunny-mittal

repo: LegendApp/legend-state


text:
Landing Page

Lay-understandable landing-page with

Mission Statement
Short concept of the SMO
Links to all parts of the SMO that are at least in a 'public beta' stage

Realisation should be easy via github pages (https://pages.github.com/) and either Jekyll or Hugo (and academic theme: https://sourcethemes.com/academic/)

My friend just send me this site: https://startbootstrap.com/
Contains loads of templates in huge, jekyll and others.
Thought i'll share ;)

Quickly summarizing what happened in the meanwhile :)!

We added a repo for out landing page on GitHub, which you can access over here
We added the necessary pages and redirects to the site
The site is now accessible over the following link: https://leibniz-hbi.github.io/SMO/

I will close this Issue on this repo. If you have any issues considering the landing page of our project please open an Issue on the repo of the Landing page

authors: FlxVctr manilevian

repo: Leibniz-HBI/Social-Media-Observatory


text:
Materials

Siehe https://github.com/Leibniz-HBI/SMO_PM/issues/88

@JanRau: kannst du bitte inhaltlich draufschauen und ändern/kommentieren & in main mergen? Ggf. Unterstützung von @pekasen anfragen. Dann kann das mit der Survey (wenn die gut aussieht) zusammen raus. Danke!

authors: FlxVctr nielslukaslange

repo: Leibniz-HBI/telegram-workshop


text:
Created a mobile version header and headline section of the website and setup HTML & CSS linters

This PR contains changes on the following:

Setting up HTML & CSS (Lighthouse, Webhint, Stylelint) linters
Creating a mobile version of the portfolio website
Creating a header section on the page
Creating a headline section on the page
Hoverable social icons

Hi @sja-thedude, can you please review my changes.

Hi @MeqdamAlqudah, can you please review my changes?

repo: Lembani/lembani-portfolio


text:
🛑 flibustang.ru is down

In 60417b9, flibustang.ru (https://flibustang.ru) was down:

HTTP code: 521
Response time: 268 ms

Resolved: flibustang.ru is back up in 669106f.


text:
The services in the backend are working sincronically

This would be a problem if this project scales, because having all the services running synchronically can cause concurrency problems, slowing down all the user experience of those connected to the backend.

Doing some research, I found that the better way to face this, is evaluating if the backend is requesting some database or external service, because currently it doesn't, it's not necessary to make in the services async code for now.

Doing some research, I found that the better way to face this, is evaluating if the backend is requesting some database or external service, because currently it doesn't, it's not necessary to make in the services async code for now.

repo: Lenoxo/patientor-back


text:
How LNNotificationBannerWindow show?

There isn't method call 'makeKeyAndVisible'

I don't understand what the problem is here. UIWindow has a hidden property, which controls if a window is shown or hidden.

authors: LeoNatan blackchena

repo: LeoNatan/LNNotificationsUI


text:
added configuration to allow preservation of child node ordering

This might not be what you had in mind, but it offers a configuration option to be able to iterate children in the order they appear in the XML.
Addresses https://github.com/Leonidas-from-XIV/node-xml2js/issues/31

Let me know if there are any changes needed. I think it slightly modifies behavior of text nodes. Since all nodes now retain the #name property (for obvious reasons), there is never a case where a node will look like [<string>] -- they will always instead have the text stored in the _ field.

I just modified the PR with a commit that will retain the behavior of the named (unordered) fields (removes the #name property and collapses text-only nodes at that level). The nodes in the children array still always have the #name property and thus text will always be in the _ or charkey field.

From having a quick look at the code (I don't have much time at the moment) it looks fine. I'll try to have a better look at it during the weekend (and will release 0.4.7 today with the current state so if problems occur, there is a release to roll back to), but if I forget it, please poke me again.

poke.
I updated to fix merge conflict in package.json (contrib section) + added support for preserving the ordering of text nodes with markup inside.

sooo... hey man, not trying to be a pest, but it's been a couple weeks. I already have a project in production now depending on this patch (pointing to my fork). I'm not saying that's reason on its own to merit the merge, just wondering where we stand on this. It would be nice to get back to pointing to your maintained repo and I know you have a lot of followers looking for an option in regard to this issue.
I'm happy to make any changes you desire, just let me know!

I'm currently in the final two weeks of finishing my thesis, so haven't yet had time to properly look at this, sorry! It'll definitely be the first PR I look at when I find the time. I really appreciate your effort!

No worries man. Thanks for taking the time to do the merge and to maintain this project in general!
Good luck on the thesis!

authors: Leonidas-from-XIV ryedin


text:
アカウント連携画面の作成

Fixes #58
変更内容（必須）

アカウント連携画面作成

確認して欲しい項目（必須）

[ ] /mypage/connectに遷移してページが表示されるか

どうやって確認するのか（必須）
1./mypage/connectに遷移する
備考

連携機能はまだないので、「連携する」のみ表示させている

@hello-ty
確認しました〜
タスクの粒度の問題もありますが、各サードパーティの連携部分に関して現状hoverで青色のボタンになってますがFigmaのモックだと連携しているかどうかでボタンの色を出し分けてるっぽいので、そこは修正しても良いかなぁと思いました。
あとこのタスクを閉じる前で良いと思いますが、ログアウトのボタンがあるのでsign outのボタンを消してクリックをこちらのボタンに移植も出来ると良いかなぁと思いました😎

「連携する」ボタン表示の切り替えに関しては変えずにそのままで、連携機能が実装された時にissueを立てて表示対応しようと思います。
右下のsign outボタンはレイアウトに固定されているので消すのは難しいと考え、sign outの機能だけをログアウトボタンに移植しました。

repo: Lesser-cuckoo/qintodo-next-cuckoo


text:
雷区刷新

这程序最开始有点问题，大部分扫雷是按下第一个区域之后再刷新雷区的，也就是第一下不会点到雷。

这项目开发这么多年了, 我还以为不会有我以外的其他用户了.  那看看有无兴趣提一个PR修复这个问题? 这就是开源项目的乐趣嘛 @Ssy191925


text:
Prevent h5py locking up on some files

The file /er-c-data/adhoc/in_situ_diff/2022-03-17 EMPAD live zinc growth/raw/20220317_Shiv/01_1_before liquid/01_1_before liquid.xml
locks up h5py.File(...) hard.
HDF5 files SHOULD have a reliable file magic. At least all HDF5 based test files
were recognized.
Closes #1231
Contributor Checklist:

[x] I have added or updated my entry in the creators.json file
[x] I have added a changelog entry for my contribution
[N/A] I have added/updated documentation for all user-facing changes
[ ] I have added/updated test cases
[N/A] I have included the rebuilt production build of the client (only if changes were made to the GUI)

Reviewer Checklist:

[ ] /azp run libertem.libertem-data passed

/azp run libertem.libertem-data

@sk1p it looks like the environemnts have to be rebuilt? How can that be triggered?

Upon further investigation, the issue is caused by the HDF5 library trying to obtain a lock on the file. See also https://iffgit.fz-juelich.de/weber/data-management-system/-/issues/31 (private repository).
Not sure if this change is still an improvement?

Discussion with @sk1p:
The locking issue is resolved, it was an NFS misconfiguration. python-magic expects specific DLLs on Windows that may or may not be present. We'll close this for now and may implement our own "magic" check for file formats we support if this becomes an issue again.

it looks like the environemnts have to be rebuilt? How can that be triggered?

enter refs/pull/1232/merge as commit

Actually, that needs to be entered in the "branch/tag" field, not in the commit field - otherwise, the checkout will fail (see for example https://dev.azure.com/LiberTEM/LiberTEM/_build/results?buildId=1740&view=logs&s=859b8d9a-8fd6-5a5c-6f5e-f84f1990894e )

repo: LiberTEM/LiberTEM


text:
[Question] Is this an improper way of using schema?

I'm thinking of using the schema to make querying more simple for me. My plan is to use the hash of a post as a part of the schema in order to easily grab all comments, votes, etc relating to a post? So for example, I have a post with a hash 1234 and someone makes a comment with comment_data equal to abcd, I will make a new schema 1234,comment_data with it's data equal to ,abcd, so just leave the first part as null since it's not needed.
I'm just wondering if this is not how schema is intended to be used? It helps a lot with structuring a querying the data as I can easily querying all announcements related to the original as long as I keep the same structure for each schema.
I could also add identifiers such as post, comment, vote, etc beforehand to distinguish them when searching by MSA id.

@wilwade  I believe we have to think about this.
This could be a very important requirement

to Abe able to allow optional fields
good example be graphql schemas where ! Suggest required field.

Reason: we are accepting json schema so need some sort of flag per field

I think all the schemas we are planning to support at launch all support optional fields.
Avro

Avro schemas use a "default" system to support optional. First, set the type to be a union type between null and your desired non-null type eg: type: ["null", "string"] and then set the default: default: null.
Some examples: http://bytepadding.com/big-data/spark/avro/define-avro-schema-with-default-values/
Documentation: https://avro.apache.org/docs/current/spec.html#schema_complex

Parquet
We are working on also allowing for off-chain Parquet references. (DSNP uses this for large quantities of data).
Parquet supports optional through setting the repetition type which is part of the nested encoding.
If you are using ParquetJS, then just set optional: true in the ParquetSchema for a field and it will take care of it. (Other parquet libraries work the same way).

authors: iamianM saraswatpuneet wilwade

repo: LibertyDSNP/mrc


text:
remove reference to private lib, remove Lowercase as it does not do what I thought it did

Follow-up in answer to @wilwade 's questions

removed a link which referred to one of our private libraries
Lowercase didn't do what I thought it did, which was convert values automatically. It does not do type checking for capitalization or convert. It operates only on types, not even sure about the usefulness of it now.

👍

authors: enddynayn shannonwells

repo: LibertyDSNP/sdk-ts


text:
Add a new blog's author profile

I would like to publish a post on your blog soon about my experience with LibreChat for language translations.

could you submit your article at the same time than your profile creation, it will make it easier for us to review
Thanks!

authors: fuegovic kukoboris