Orange Pi 5

Basic information

Board URL (official): http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-5.html
Board purchased from: AliExpress
Board purchase date: 2022-12-16
Board specs (as tested): 4GB
Board price (as tested): $68.00

Linux/system information
(Running Armbian build because I couldn't find a download for Orange Pi OS today...)
# output of `neofetch`
                                 admin@orangepi5
                                 ---------------
      █ █ █ █ █ █ █ █ █ █ █      OS: Armbian (23.8.1) aarch64
     ███████████████████████     Host: Orange Pi 5
   ▄▄██                   ██▄▄   Kernel: 5.10.160-legacy-rk35xx
   ▄▄██    ███████████    ██▄▄   Uptime: 2 mins
   ▄▄██   ██         ██   ██▄▄   Packages: 533 (dpkg)
   ▄▄██   ██         ██   ██▄▄   Shell: bash 5.2.15
   ▄▄██   ██         ██   ██▄▄   Resolution: 1920x1080
   ▄▄██   █████████████   ██▄▄   Terminal: /dev/pts/0
   ▄▄██   ██         ██   ██▄▄   CPU: (8) @ 1.800GHz
   ▄▄██   ██         ██   ██▄▄   Memory: 172MiB / 3921MiB
   ▄▄██   ██         ██   ██▄▄
   ▄▄██                   ██▄▄
     ███████████████████████
      █ █ █ █ █ █ █ █ █ █ █

# output of `uname -a`
Linux orangepi5 5.10.160-legacy-rk35xx #1 SMP Mon Aug 28 01:21:24 UTC 2023 aarch64 GNU/Linux

Benchmark results
CPU

Geekbench 5: (656 single / 2614 multi - https://browser.geekbench.com/v5/cpu/20095960)
Geekbench 6: (805 single / 3070 multi - https://browser.geekbench.com/v6/cpu/2505275)
53.33 Gflops (geerlingguy/top500-benchmark HPL result)

Power

Idle power draw (at wall): 1.0 W
Maximum simulated power draw (stress-ng --matrix 0): 10.0 W
During Geekbench multicore benchmark: 8.9 W
During top500 HPL benchmark: 11.5 W

Disk
SanDisk Extreme 128GB microSD

Benchmark
Result

fio 1M sequential read
68.1 MB/s

iozone 1M random read
59.78 MB/s

iozone 1M random write
20.93 MB/s

iozone 4K random read
6.80 MB/s

iozone 4K random write
3.36 MB/s

KIOXIA XG6 1TB NVMe SSD

Benchmark
Result

fio 1M sequential read
428 MB/s

iozone 1M random read
361 MB/s

iozone 1M random write
359 MB/s

iozone 4K random read
32.87 MB/s

iozone 4K random write
80.85 MB/s

curl https://raw.githubusercontent.com/geerlingguy/pi-cluster/master/benchmarks/disk-benchmark.sh | sudo bash
Run benchmark on any attached storage device (e.g. eMMC, microSD, NVMe, SATA) and add results under an additional heading. Download the script with curl -o disk-benchmark.sh [URL_HERE] and run sudo DEVICE_UNDER_TEST=/dev/sda DEVICE_MOUNT_PATH=/mnt/sda1 ./disk-benchmark.sh (assuming the device is sda).
Also consider running PiBenchmarks.com script.
Network
iperf3 results:

iperf3 -c $SERVER_IP: 942 Mbps
iperf3 --reverse -c $SERVER_IP: 906 Mbps
iperf3 --bidir -c $SERVER_IP: 931 Mbps up / 340 Mbps down

GPU

TODO: Haven't determined standardized benchmark yet. See Issue #2.

Memory
tinymembench results:

Click to expand memory benchmark result
tinymembench v0.4.10 (simple benchmark for memory throughput and latency)

==========================================================================
== Memory bandwidth tests                                               ==
==                                                                      ==
== Note 1: 1MB = 1000000 bytes                                          ==
== Note 2: Results for 'copy' tests show how many bytes can be          ==
==         copied per second (adding together read and writen           ==
==         bytes would have provided twice higher numbers)              ==
== Note 3: 2-pass copy means that we are using a small temporary buffer ==
==         to first fetch data into it, and only then write it to the   ==
==         destination (source -> L1 cache, L1 cache -> destination)    ==
== Note 4: If sample standard deviation exceeds 0.1%, it is shown in    ==
==         brackets                                                     ==
==========================================================================

 C copy backwards                                     :  12027.4 MB/s (0.3%)
 C copy backwards (32 byte blocks)                    :  12000.8 MB/s
 C copy backwards (64 byte blocks)                    :  11994.9 MB/s
 C copy                                               :  12216.1 MB/s
 C copy prefetched (32 bytes step)                    :  12494.3 MB/s
 C copy prefetched (64 bytes step)                    :  12508.1 MB/s
 C 2-pass copy                                        :   5486.6 MB/s (0.1%)
 C 2-pass copy prefetched (32 bytes step)             :   9841.2 MB/s
 C 2-pass copy prefetched (64 bytes step)             :  10479.9 MB/s
 C fill                                               :  29387.2 MB/s (2.3%)
 C fill (shuffle within 16 byte blocks)               :  29387.6 MB/s
 C fill (shuffle within 32 byte blocks)               :  29371.2 MB/s
 C fill (shuffle within 64 byte blocks)               :  29264.7 MB/s
 NEON 64x2 COPY                                       :  12341.6 MB/s
 NEON 64x2x4 COPY                                     :  12388.7 MB/s
 NEON 64x1x4_x2 COPY                                  :  12417.8 MB/s
 NEON 64x2 COPY prefetch x2                           :  11351.8 MB/s
 NEON 64x2x4 COPY prefetch x1                         :  11709.1 MB/s
 NEON 64x2 COPY prefetch x1                           :  11419.9 MB/s
 NEON 64x2x4 COPY prefetch x1                         :  11718.4 MB/s
 ---
 standard memcpy                                      :  12420.1 MB/s
 standard memset                                      :  29405.7 MB/s (0.1%)
 ---
 NEON LDP/STP copy                                    :  12454.8 MB/s
 NEON LDP/STP copy pldl2strm (32 bytes step)          :  12279.3 MB/s
 NEON LDP/STP copy pldl2strm (64 bytes step)          :  12323.1 MB/s
 NEON LDP/STP copy pldl1keep (32 bytes step)          :  12455.0 MB/s
 NEON LDP/STP copy pldl1keep (64 bytes step)          :  12453.0 MB/s
 NEON LD1/ST1 copy                                    :  12383.3 MB/s
 NEON STP fill                                        :  29418.7 MB/s (0.2%)
 NEON STNP fill                                       :  29368.8 MB/s
 ARM LDP/STP copy                                     :  12430.3 MB/s
 ARM STP fill                                         :  29350.7 MB/s (0.1%)
 ARM STNP fill                                        :  29342.7 MB/s

==========================================================================
== Framebuffer read tests.                                              ==
==                                                                      ==
== Many ARM devices use a part of the system memory as the framebuffer, ==
== typically mapped as uncached but with write-combining enabled.       ==
== Writes to such framebuffers are quite fast, but reads are much       ==
== slower and very sensitive to the alignment and the selection of      ==
== CPU instructions which are used for accessing memory.                ==
==                                                                      ==
== Many x86 systems allocate the framebuffer in the GPU memory,         ==
== accessible for the CPU via a relatively slow PCI-E bus. Moreover,    ==
== PCI-E is asymmetric and handles reads a lot worse than writes.       ==
==                                                                      ==
== If uncached framebuffer reads are reasonably fast (at least 100 MB/s ==
== or preferably >300 MB/s), then using the shadow framebuffer layer    ==
== is not necessary in Xorg DDX drivers, resulting in a nice overall    ==
== performance improvement. For example, the xf86-video-fbturbo DDX     ==
== uses this trick.                                                     ==
==========================================================================

 NEON LDP/STP copy (from framebuffer)                 :   1962.5 MB/s (0.1%)
 NEON LDP/STP 2-pass copy (from framebuffer)          :   1668.2 MB/s
 NEON LD1/ST1 copy (from framebuffer)                 :   1958.7 MB/s
 NEON LD1/ST1 2-pass copy (from framebuffer)          :   1676.7 MB/s
 ARM LDP/STP copy (from framebuffer)                  :   1918.2 MB/s
 ARM LDP/STP 2-pass copy (from framebuffer)           :   1672.1 MB/s

==========================================================================
== Memory latency test                                                  ==
==                                                                      ==
== Average time is measured for random memory accesses in the buffers   ==
== of different sizes. The larger is the buffer, the more significant   ==
== are relative contributions of TLB, L1/L2 cache misses and SDRAM      ==
== accesses. For extremely large buffer sizes we are expecting to see   ==
== page table walk with several requests to SDRAM for almost every      ==
== memory access (though 64MiB is not nearly large enough to experience ==
== this effect to its fullest).                                         ==
==                                                                      ==
== Note 1: All the numbers are representing extra time, which needs to  ==
==         be added to L1 cache latency. The cycle timings for L1 cache ==
==         latency can be usually found in the processor documentation. ==
== Note 2: Dual random read means that we are simultaneously performing ==
==         two independent memory accesses at a time. In the case if    ==
==         the memory subsystem can't handle multiple outstanding       ==
==         requests, dual random read has the same timings as two       ==
==         single reads performed one after another.                    ==
==========================================================================

block size : single random read / dual random read
      1024 :    0.0 ns          /     0.0 ns
      2048 :    0.0 ns          /     0.0 ns
      4096 :    0.0 ns          /     0.0 ns
      8192 :    0.0 ns          /     0.0 ns
     16384 :    0.0 ns          /     0.0 ns
     32768 :    0.0 ns          /     0.0 ns
     65536 :    0.0 ns          /     0.0 ns
    131072 :    1.1 ns          /     1.5 ns
    262144 :    2.2 ns          /     2.8 ns
    524288 :    3.4 ns          /     3.9 ns
   1048576 :    9.9 ns          /    12.9 ns
   2097152 :   13.7 ns          /    15.6 ns
   4194304 :   35.7 ns          /    53.1 ns
   8388608 :   74.8 ns          /   155.9 ns
  16777216 :  198.8 ns          /   245.6 ns
  33554432 :  223.1 ns          /   257.5 ns
  67108864 :  236.4 ns          /   263.0 ns

Phoronix Test Suite
Results from pi-general-benchmark.sh:

pts/encode-mp3: 12.269 sec
pts/x264 4K: 3.52 fps
pts/x264 1080p: 22.69 fps
pts/phpbench: 420027
pts/build-linux-kernel (defconfig): 1321.267 sec

I tried downloading Orange Pi OS today and all the Google Drive folders for Arch and OH (whatever that is?) were empty :(

So sticking with Armbian for my testing.

Hi Jeff,
First, huge thank you for all your work and for making technology more accessible and easy to understand!
I'm wondering if you've ever done/planning to do a review of the Orange Pi 5 Plus - the specs seem VERY compelling when compared even with Raspberry Pi 5. Particularly the 32GB RAM, built-in NVME and 2x 2.5Gbps ports, NPU and GPU. Too good to be true? :)
http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-5-plus-32GB.html
Cheers!

@dkarter - I would, but it seems impossible to get my hands on one... It seems to be even harder to get than a Raspberry Pi 5 lately.

It appears that the OH version is the orangepi os based on OpenHarmony.

Hey @geerlingguy ,
I was doing some research about the Orange Pi 5 and its new MAX version.
I see in the geekbench 6 scores you mentioned above, I see that it only shows the CPU to be 1.8 GHz, while the specs of the Orange Pi 5 have the A76 @2.4 GHz and an A55 @1.8 GHz.
is it that GeekBench only uses the A55 to do the multicore test?

@amrutprabhu - Geekbench is always a bit funky with CPU + frequency detection. Sometimes it thinks there's just 1 core with 4 threads for a 4 core Arm SoC, sometimes it just reports 1/1, sometimes it reports a lower frequency or higher... I wouldn't put much stock into the Geekbench results.
It's better to run something like sbc-bench to see actual frequencies on all cores. Honestly I was also testing this board with Armbian as the Orange Pi OS version was hard to find when I was testing... so that could have something to do with it too.

@amrutprabhu - Geekbench is always a bit funky with CPU + frequency detection. Sometimes it thinks there's just 1 core with 4 threads for a 4 core Arm SoC, sometimes it just reports 1/1, sometimes it reports a lower frequency or higher... I wouldn't put much stock into the Geekbench results.
It's better to run something like sbc-bench to see actual frequencies on all cores. Honestly I was also testing this board with Armbian as the Orange Pi OS version was hard to find when I was testing... so that could have something to do with it too.

ohh.. thanks for this. I haven't explored this tool yet.
Geekbench kind of made it simple to measure scores across devices.


Set up a token (or words) limit to be sent to the LLM

Is your feature request related to a problem? Please describe.
I just ran into a problem when Vanna.ai tried to make a pretty big request to answer a single question:
Extracted SQL: SELECT BARBER_ID, COUNT(*) AS schedule_count
FROM SCHEDULES
GROUP BY BARBER_ID
Using model gpt-4o for **1,349,982.75** tokens (approx)

That's more than a million tokens!
Luckily, OpenAi sent me 429 error:
openai.RateLimitError: Error code: 429 - {'error': {'message': 'Request too large for gpt-4o in organization org-2.... on tokens per min (TPM): Limit 30000, Requested 1349985.
Describe the solution you'd like
I'd like to be able to pass a parameter specifying the max size in tokens that I'm comfortable with.
Describe alternatives you've considered
Setting up a limit at OpenAi - I'm not an admin there.
Additional context
I tried to connect Vanna AI to our prod db with 100+ tables and a lot of data. I believe the error could have appeared due to "let Vanna ai send your data to LLM" flag.

This is likely due to the vn.generate_summary call. That's the only method that will send the entire dataframe to the LLM.
If you'd like to disable this functionality you can set summarization=False for the web app:
https://vanna.ai/docs/web-app/#vanna.flask.VannaFlaskApp
There probably does need to be some kind of option to limit the number of rows sent to the LLM for summarization.


Modifying the About Us section

I'm Deepika.
I went through the Tourguide website. I must appreciate that it's so beautifully built.
But to my concern the about us section not appearing too good.
Any user first goes through at some point is about the website but I figured out the padding is not proper in the section.
May be we can play with some background colors and even colors to the text to make it more attractive and making it blends with the webpage.
I hope you assign it to me @apu52
Thank you. I'm looking forward to work with you.

Hello, @apu52
I would really like to contribute to this issue please assign it to me and label it for gssoc.
Thank you

@Deepikaa20 this issue is really good .Can you just raise this issue once again with the changes you want to make in the about us section by attaching some SS using the issue templates once again so that I can assign you this issue .
So , I am closing this issue & hope to see your new issue ASAP


KCE-64 Adapt State Machine to use JSON instead of YAML

Questions

~@tomasz3dk, is it fine to remove -DKPSR_WITH_YAML from .github/workflows/*.yml?~ -> Mandar by Teams: ok.

TODO

Proof of concept of an SM read from state_machine.json and written back (state_machine-bis.json).
(Structure of sm1.json, converted from sm1.yaml, is not a valid JSON.)
json2sm-poc.zip

Proof of concept of an SM read from state_machine.json, printed, and written back to state_machine-bis.json (Structure of sm1.json, converted from sm1.yaml, is not a valid JSON.) json2sm-poc.zip

Ok this looks good. You can go ahead with this change.

I think from the conf folder, you should be able to install only : json_config_loader.h, kpsr_state_machine.h

Does the "rearrange headers" commit address this?

I think from the conf folder, you should be able to install only : json_config_loader.h, kpsr_state_machine.h

Does the "rearrange headers" commit address this?

No. You should revert that change. Actually what should be done is modify the CMakeLists.txt in conf & state_machine folder.
Change:
install(
    DIRECTORY "include/klepsydra"
    DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
    COMPONENT dev)

to
install(
    FILES ${INSTALL_HEADERS}
    DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/klepsydra/conf/"
    COMPONENT dev)

The argument provided to FILES  - INSTALL_HEADERS can be set using
set(INSTALL_HEADERS "include/klpesydra/conf/json_config_loader.h" ..... )

You have to experiment with what is the minimum set of files to be installed.


adds paambaati instructs for cc test cov

Description
CodeClimate "Maintainability" is a tool that will provide static analysis of our codebase and provide insights into how we can make it stronger. It also allows for us to publish our current code_coverage metric report back up through the pipeline. This PullRequest augments the .ci.yml file in our repo so that we can run coverage and report it back up to codeclimate.
 This will ensure that the suite can run and it will allow us to see the current condition of the true coverage report.
ISSUES:
There are still problems with the testing suite so I expect the reports to fail until we get those errors cleaned up.

The current status of the testing suite is indeed blocked. The tests in AdminDashboard.test.js, MenteeDashboard.test.js MenteeDashboard.test.js are broken. They rely upon and were integrating with a HomeContainer component that doesn't seem to be in the repo anymore.

Ok @paulstgermain I'm fairly certain this will indeed work once the testing suite is fixed. Merge at your leisure.


MAISTRA-2149: Make IOR robust in multiple replicas

In scenarios where multiple replicas of istiod are running,
only one IOR should be in charge of keeping routes in sync
with Istio Gateways. We achieve this by making sure IOR only
runs in the leader replica.
Also, because leader election is not 100% acurate, meaning
that for a small window of time there might be two instances
being the leader - which could lead to duplicated routes
being created if a new gateway is created in that time frame -
we also change the way the Route name is created: Instead of
having a generateName field, we now explicitly pass a name to
the Route object to be created. Being deterministic, it allows
the Route creation to fail when there's already a Route object
with the same name (created by the other leader in that time frame).
Use an exclusive leader ID for IOR
Manual cherrypick of https://github.com/maistra/istio/pull/275

/retest


RVC in API form

I want to use RVC model and host it on aws and get an api which can be used to send some basic details and a voice sample to api, it processes it according to the data sent and sends back a converted voice sample
Please help, this is quite urgent for me, even if you don't have a complete solution, tell me whatever you can, just point me in correct direction

Check it!
https://github.com/RVC-Project/Retrieval-based-Voice-Conversion

u can open an issue on this repository if you have problem, I'll help you


[Carthage] AKAppleSampler.loadMelodicSoundFont(): unrecognized selector sent to instance

When built with Carthage with only github "audiokit/AudioKit" in Cartfile and standard installation procedure, it seems the header and / or implementation of this method cannot be found.
This works fine when built with Cocoapods
I will attach a minimum demonstration example below shortly.
A minimum working example is here
https://github.com/DJBen/AudioKit-loadSF-demo

AudioKit no longer supports Carthage.

Good to know. Any reasons to keep the Carthage badges and Carthage installation guide in the README?


Update keygen artifacts to produce .pub & .priv files

Commands 'sawtooth admin keygen' and 'sawtooth keygen'
updated to produce files with extensions .priv & .pub
instead of .wif & .addr
Files ending in .priv are equivalent to the files that
ended in .wif.
Signed-off-by: Todd Ojala<EMAIL_ADDRESS>

Notes:
I had intended to make the documentation update a separate commit, but mistakenly squashed it together.
Second note: battleship and XO still use and create their own .addr files. Not sure if Battleship is currently even functional, but didn't want to touch code unnecessarily.  The creation of .addr files from the public key by the games seemed like something that didn't need to be changed.


Rename verifyCodeStyle to checkCodeStyle

See https://github.com/apache/incubator-pekko-connectors/pull/208#discussion_r1294331081 for context
@He-Pin

@mdedetrich Will this confuse someone who contributes to both project(pekko & akka), like @dongxuwang

@mdedetrich Will this confuse someone who contributes to both projects(pekko & akka), like @dongxuwang

For me having the commands be consistent amongst pekko projects is more important then being in sync with akka. I can make a command alias from verifyCodeStyle to checkCodeStyle but I think this is a fairly minor problem.
@pjfanning wdyt?

lgtm, but better with anoter one lgtm?

Sure this is not urgent

@mdedetrich Now we have two lgtm, let me merge this then.


Fine-tuning ConPLex on custom datasets

Is there any plans to support custom dataset contrastive fine-tuning? And if not, do you have any advice on good first steps to do so ourselves?

Hi @seyonechithrananda ,
Custom training data for both binary and contrastive training is on our list, but is currently lower priority as we're currently focused more on making the inference mode with pre-trained models available. To get started yourself, I'd recommend looking at the ContrastiveDataset and DUDEDataModule classes. These are a good place to get started for defining your own contrastive fine-tuning data sets, as they should have the same functionality as this DataModule, which is created here in training.


@next docs/quickstart misleading regarding npm install

Hi all,
https://react-router.now.sh/quick-start states
npm install react-router history

but it according to github docs it should be
npm install react-router@next history

This was fixed in #4040 but it appears that the changes haven't been pushed to the website yet.


fix: hid ui primary and secondary constraints on k-toolbar in the meantime

Closes #283
Summary
See updated changelog file (I'll send a backport to 2022.3.1 shortly)
Local Tests
I confirmed that on k-toolbar the constraint options were hid as expected, and in the edit view component the optional constraint options are still available and functioning

        "primary_constraints": {
            "desired_links": [],
            "mandatory_metrics": {
                "ownership": "blue"
            },
            "spf_attribute": "hop",
            "spf_max_path_cost": 100.0,
            "undesired_links": []
        },

End-to-End Tests
N/A

I'll go ahead and prioritize merging this to avoid confusion, since the backport has landed on PR #285.
kytos.json version key will still continue on 2022.3.0 on master.


Docs: add short FAQ about cancel button triggering form submission

Could you retarget this to main? docs was merged in #15 and I forgot to delete it.

Didn't mean to close -- it auto-closed when I deleted the docs branch.


handle circular-reference errors in attributes instead of breaking

Intended to fix #13.
Notes:

I don't really know how the evaluation / rendering cycle works yet. Experimentation shows that whenever attribute expressions change, Attribute::dependencies is always called at some point before Attribute::value. I rely upon this, by setting the error state in Attribute::dependencies and reading it in Attribute::value. I feel uncertain about the consequences of this, especially in edge cases like deserialized models. Let me know if there is a better way of handling this.
Recursive shapes still seem to work. :smile:
I updated the value display to include error text. This allows the user to see the cause of the error, rather than just "(Error)".

Screenshot:

I agree that relying on Attribute::value calling Attribute::dependencies and throwing an error from Attribute::dependencies is dubious. Maybe a cleaner way would be to add a method Attribute::hasCircularDependencies and have Attribute::value call this outright in the beginning and throw the error from Attribute::value.
Yes, good first step to actually display the error message :smile_cat:

@electronicwhisper Does this look any better? (I rearranged the flow in Attribute.coffee and added some tests.)

Hmm. I think I don't like setting that extra state variable @__circularReferenceError. There's already quite a bit of these confusing state variables in the Attribute.coffee file. Most of it's for cacheing, which I guess is a necessary evil :frowning:. Ideally there wouldn't be any (if you can think of a way to decouple cacheing that would be cool...).
Maybe a way to get rid of @__circularReferenceError would be to make a helper function called like @_analyzeDependencies which would return both a list of dependencies and a boolean saying whether it was circular. Then both @dependencies and @checkForCircularReferenceError would call this helper function.
I'm not sure if it matters much performance-wise, but these lines are at the top of @_value intentionally:
# Optimization
if @isNumber()
  return parseFloat(@exprString)

Basically almost all attributes are literal values so getting those out of the way first was a big performance boost from when I used to rely on eval all the time. Like I said, not sure if it makes a big performance difference in this case, since @_dependencies will exit pretty quick, but maybe it should be on top (perhaps with a note). Putting your circular check above this line:
referenceValues = _.mapObject @references(), (referenceAttribute) ->

would make sense because that is where you will run into trouble if you have a circular reference, so it makes sense to group all that logic together.
I think this Attribute.coffee file is one of the ugliest in the codebase. So let's talk about it next time we're together, maybe we can come up with something nicer.

OK! Your @_analyzeDependencies approach is cleaner. Putting the optimization first also makes sense. PTAL.
(I agree that a more coherent approach to caching would be a really nice improvement. Let's work something out.)


Ensure tests marked by memray run even if --memray is not passed

The fact that the plugin is not registered if --memray is not
provided has proven to be a source of confusion and provides a bad
UX.
Closes: #49

The CI is failing?

We need to fix the flaky test. Is passing now


Customize unicorn url.

Currently, it does not seem to be possible to change which url Unicorn accesses when actions are triggered. This is a problem for us since our Django app does not run at the root of its domain.
Possible solutions:

Add a setting, e.g. BASE_URL that allows specifying the base url of the unicorn routes.
Use a route name for the unicorn route and do a reverse-lookup via that.

Woohoo, I'm glad this is working for you! :)


feat: ios app - make documents files visible to the Finder/AppleDevices app

This PR can make ios app's documents files visible to the Finder/AppleDevices app.
This allows users to transfer files in the LocalSend documents directory between Mac/Win and iOS devices .
Finder (Mac)

AppleDevices (Windows)

Thank you


chore: bump dependencies

Should fix the security advisories which I've getting a lot recently.

Do you prefer "squash and merge"?

(I ask because I usually prefer merge commits when I look at other people's repositories, they're much more helpful than squash merges.)

(I ask because I usually prefer merge commits when I look at other people's repositories, they're much more helpful than squash merges.)

I do yeah, usually on the projects where I'm working on, privately and also Playwright related projects we always do squash merging. But I absolutely get your point.


Update branch dev

The dev branch has fallen far behind the current work progress. This PR updates dev branch to the latest state. It includes:

Some works by @likey99
Create, load and start of the cell by @Inquisitor-201
Add communication region by @KouweiLee

Merged.


Debugging issues with experiments/baoab_vs_vvvr.py

@maxentile : I'm trying to dig into what might be going on with negative estimates of $\Delta F_{neq}$ from the baoab_vs_vvvr.py example you pointed us to, but after installing the integrator-benchmark package via
python setup.py develop

there seems to be some issue with importing benchmark.testsystems:
lski1962:experiments choderaj$ python baoab_vs_vvvr.py
Traceback (most recent call last):
  File "baoab_vs_vvvr.py", line 1, in <module>
    import benchmark.testsystems
  File "/Users/choderaj/github/choderalab/integrator-benchmark/integrator-benchmark/benchmark/experiments/benchmark.py", line 5, in <module>
    from code.integrators import LangevinSplittingIntegrator
ImportError: No module named 'code.integrators'; 'code' is not a package

My guess is

There is some code that hasn't been checked in. master was last updated 24 days ago (!!!)
You might have some old code installed locally as code.integrators that makes this work locally for you
You are using a branch other than master. Could this be refactor (updated 19 days ago)?

Any idea what the issue might be?

The same problem persists if I use the refactor branch:
lski1962:experiments choderaj$ python baoab_vs_vvvr.py
Traceback (most recent call last):
  File "baoab_vs_vvvr.py", line 1, in <module>
    import benchmark.testsystems
  File "/Users/choderaj/github/choderalab/integrator-benchmark/integrator-benchmark/benchmark/experiments/benchmark.py", line 5, in <module>
    from code.integrators import LangevinSplittingIntegrator
ImportError: No module named 'code.integrators'; 'code' is not a package

I realize it's also possible that the baoab_vs_vvvr.py example you pointed us to was run before the refactor.

Aha! I think this is due to the use of relative imports, which only work in python 2.x; we need to switch to absolute imports for python 3.x.
The big question is whether I should do this for the master or refactor branch.

Whoops, that is just one problem, it seems. I still can't find a code module.

Hm, this is proving tricky since benchmark is both the name of the package and a submodule inside of benchmark.experiments.

I think I've fixed this in #3.


Buffer.from is not a function

This commit introduced a regression in browsers that don't implement Buffer.from.

Please update your dependencies. safe-buffer provides a compatible shim for Buffer.from.

Interesting. I see that. It might be that some part of the processing pipeline is removing the if statement based on the Node buffer implementation. safe-buffer has been trimmed to just module.exports = require('buffer') in the build.

@kjvalencik that was the case until the most recent version of safe-buffer fixed that

@kjvalencik that was the case until the most recent version of safe-buffer fixed that

@calvinmetcalf Thanks. That is confirmed the issue. I bumped the version and it fixed it.

published

published v2.0.5


TypeError: swal is not a function

hi all,
I am using sweet alert since 2 months,
suddenly I got an error saying swal is not a function
can u please provide me a workaround for this
"angular-sweetalert": "latest" ------> this is the bower.json entry
Thanks

Hi @Sunilgn
check issue #78.

@marolt  thanks for the reply
but I have followed the issue #78, but still getting the same error
I have manually installed the sweetalert 1.1.3 and tried with
"angular-sweetalert": "https://github.com/theviralab/ngSweetAlert.git#c0b746e"
angular-sweetalert#c0b746e bower_components\angular-sweetalert
├── angular#1.6.6
└── sweetalert#1.1.3
as well, but no luck, can u please help me out

@Sunilgn try this by adding to your bower.json:
"ngSweetAlert": "https://github.com/theviralab/ngSweetAlert.git#c0b746e"
Let me know if it worked!!

@rajalive28 thanks for the reply
I tried it, but No luck  :(
can u please let me know, is there any information I need to provide

@rajalive28   @marolt, my bad
sweet alert works fine with the given workaround, there was some configuration issue in my setup
Thank you :)


feat(event): add event card callback data structures

Codecov Report
Attention: 7 lines in your changes are missing coverage. Please review.

Comparison is base (97a1de2) 80.08% compared to head (59b85c9) 80.08%.
Report is 1 commits behind head on main.

Files
Patch %
Lines

event_v1.go
0.00%
7 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main      #68   +/-   ##
=======================================
  Coverage   80.08%   80.08%
=======================================
  Files          30       30
  Lines         909      909
=======================================
  Hits          728      728
  Misses        128      128
  Partials       53       53

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Fee Middleware UX

cli commands
grpc query proto
grpc query keeper functions

We will ope individual issues for all the UX issues.


Fixes the readme with an appropriate example that doesn't crash

Addresses #45
Please consider the experience of newcomers and the user experience design rule of reasonable defaults when creating documentaiton :)

Hi, thanks for your feedback. You are pointing to "sensible defaults" and I can't see anything related with documentation.
I think it would be cool to provide functions on the callback to response the messages without sending the chatId but its out of scope of this module. I don't know if that is what you mean with "reasonable defaults".
On README.md I provide an overview of the module. There are examples on the examples folder too. I thought if someone reads cats.png will assume he needs a cats.png file, but maybe I were wrong (I assume many things).
I will consider it, thanks.
PS: Happy new year.

Hi, thanks for your feedback. You are pointing to "sensible defaults" and I can't see anything related with documentation.
I think it would be cool to provide functions on the callback to response the messages without sending the chatId but its out of scope of this module. I don't know if that is what you mean with "reasonable defaults".
On README.md I provide an overview of the module. There are examples on the examples folder too. I thought if someone reads cats.png will assume he needs a cats.png file, but maybe I were wrong (I assume many things).
I will consider it, thanks.
PS: Happy new year.

I think this PR is appropriate as it allows anyone run the samples, without requiring more information on the whys and hows. This might reduce cases where it results in issues being created in the issue-tracker.
Another alternative would be adding more comments to the samples.

Closing this as we are addressing this in PR #224.


Small UI enhancements

This adds the following:

only flights for the current user are displayed
First prefill selectable variables are added and read out of the DB before loading the "File PIREP" page

I will merge this, since this is just GUI.


Start the progress bar color at the top center and fill down to the right

Hi, is it possible to have the progress bar color start at the top center and fill down to the right instead what is shown in the screenshot below?

Also, is it possible to remove the small circle that appears in the progress bar ring as can be seen below?

I would really appreciate any input. Thank you!

same problem

Same issue, but when progress is value 0
https://i.imgur.com/CUbzGQs.png


[UI] Fix toggle drawer test

The sidenav drawer will be opened or closed by default based on the screen resolution. Update the unit test to reflect this behavior.
BUG=NONE

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (11e7b98) 61.79% compared to head (abed493) 53.77%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #75      +/-   ##
==========================================
- Coverage   61.79%   53.77%   -8.03%
==========================================
  Files          25       21       -4
  Lines         479      318     -161
  Branches       51       30      -21
==========================================
- Hits          296      171     -125
+ Misses        180      144      -36
  Partials        3        3

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Relax some input types to Iterable

Some batching methods require Seq or Set as inputs. These have been
changed to Iterable to be able to support bigger range of input types.

@d2a4u What about Foldable?

@d2a4u What about Foldable?

I thought about that but it would mean introducing more type param in places. For example:
def batchGet[T: Encoder, U: Decoder, G[_]: Foldable](
    tableName: String,
    consistentRead: Boolean,
    keys: G[T]
  ): F[G[U]]

And since U type is not used in one of the params (just return type), that means all type params are required when calling this method which is a bit messy, that is why I chose Iterable for now.


Update ouroboros-network dependency

Depends on:

https://github.com/input-output-hk/ouroboros-network/pull/4257
https://github.com/input-output-hk/ouroboros-network/pull/4261

Won't merge.


show terminal find history placeholder on focus

This PR fixes #148135

Looks sort of bad with the width we have


Add additional properties to JsonLog4jLayout

this is to potentially reduce the amount of data in log files.

this is not needed, as projects can develop their own layout, not the best idea...


Automate test that check the device environment variable

Change-type: patch
Signed-off-by: Horia Delicoti<EMAIL_ADDRESS>

Massively outdated.


Doc: fix examples of query/iteration API in README

At some point later on it would be nice make it part of CI.

CI failure seem to be due to networking issues; TravisCI restarted but I do not have access to https://ci.appveyor.com/project/mcuadros/client-go/

TravisCI fiexed by re-starting, do not have access to AppVeyor as we are using @mcuadros account there (discussion)

Still failing?

well, from what I can see below in this PR :) I do not think we can change it and it's totally no related to changes, so shall we merge this?

I don't what happens with appveyor. In the case of the Python client when I modified the setup.py and related stuff to work in Windows it worked perfectly on my image and on my gaming computer, yet still failed on appveyor. I would merge.


Enhancement: save k-map as FITS file

It would be extremely useful to be able to save the convergence maps as FITS files with a WCS defined in the header for overplotting on coadd images in, e.g., DS9. I may make a fork and try implementing this myself!

Great point and idea! Before you throw a lot of effort into a fork, I'll take a look at it this evening. I'd probably leave it as a parameter like "export_fits = True/False" and export it somehow that way. Will let you know!

This is currently being addressed in a local branch I've created called add-fits-export. This theoretically works, but am waiting for testing from @mcclearyj before I push!

This was addressed and implemented in Pull Request #12.


Echo Dot v2 won't find Espalexa

So I searched for a way to control my ESPs with an Alexa device, but as I wanted to try this out my Alexa just couldn't find my device.
To be clear, it is an Wemos D1 mini "knock-off", so an esp8266 combined with an Alexa Echo Dot v2.
Hear is the output of the ESP after trying to find it 3 times:
Connecting to WiFi
Connecting.....
Connected to Fuchsbau
IP address: <IP_ADDRESS>
Constructing device 1
Adding device 1
Espalexa Begin...
MAXDEVICES 1
Done
And yes it is connected (output of /espalexa):
Hello from Espalexa!
Value of device 1 (TestLight): 0
Free Heap: 46352
Uptime: 1213997
Espalexa library v2.3.3 by Christian Schwinne 2019
I used the recent version of the library and the esp core v2.5.0. Both devices are defenitely on the same network.
The sketch is the same as the example color sketch, I just changed the ssid and password.

Thank you for the report! I'm going to investigate this. Did you try the discovery via voice command or via the app? (there might be a difference).
Just now I quickly tried to reproduce your issue (I hadn't tried core 2.5.0 before), but there are no discovery issues for me, everything working fine.
During the discovery, some Got UDP! M-SEARCH packets should show up in the debug serial. If they don't, it is likely that your Echo is not sending them for some reason. Please try disconnecting the Echo from power, and after the reboot, retry the discovery via the app (Add Device ->Philips Hue -> Discover).
I hope I'll be able to get the library working for you!

Actually I tried both methods multiple times now and some other cores.
My echo doesn't seem to send packets at all. Just now I tried to search for a Philips Hue Device but it won't find it either... Well witch of the 3 given options should I use when trying to find a philips hue device?

That is slightly worrying. I've never before heard of the Echo not sending any discovery packets at all. What 3 options do you mean? For me it works in the app if I go to Devices (bottom right corner), then click the + icon in the top right, click the hue icon and finally the blue discover devices button. There recently was a big overhaul of the Alexa app design (at least for Android), I don't remember the steps in the old version, but it was similar.
If you feel confident using the program Wireshark, you could run that and set the filter to ssdp packets. If you then see some M-SEARCH packets, you know the Echo and network is working correctly. If you see none, you know it's either the Echo's or your network configuration's fault. If you don't want to install Wireshark, that's not a problem :)

Basically my app looks like this after clicking the gue button, it is in german so I will translate it:
Title: Whitch type of Hue-Bridge are you using?
Options: (I guess you can tell) last one is if I don't have a hub
I will look into wireshark, maybe it will help some others or you if there is some wierd issue.
I Have to admit, my alexa always seems a bit unrelyable when it comes to connecting anything with it, maybe it is just broken or something, idk.

Well that is interesting, I've never seen that screen before (maybe it is because I already connected an actual hue bridge to Alexa). Try selecting "Philips Hue V1 bridge (rund)", that's the one Espalexa is emulating. If it asks for a login, try to skip it or go back. If that doesn't work, try to select All Devices -> Light -> Other (scroll all the way down) and then discover.
Thanks for giving Wireshark a try!
By the way, I am German as well, so no worries! I am only replying in English should other users need reference :)

Yeah, that doesn't work either.
I actually wanted to get a hue-bridge and some lights but to be honest, it is a bit expensive for me as a student. So I build my own "bridge" (so I can add my own effects and stuff) with a raspberry running a "json server" which interacts with the esps and mobile app I wrote for it by exchanging json strings.
That works fine and all, but I really want to connect it to my alexa so I can kind of control the lights with my voice. Since the canFullfill stuff of the alexa skill api only works in the US I have to use something like this.
I could tell by our name in the credits of the /espalexa page but, yeah, not everyone understands german I guess :D
Gonna play around with wireshark since I never used it before.

That JSON server and app stuff you did sounds super interesting!
Have you heard of WS2812B light strips? I have a full ESP software for those, including almost 80 effects! http://wled.me (also supports Alexa, but I would be surprised if it worked for you, since it's based on Espalexa)

I'm actually using those strips. I know about this software of yours, have seen it like literally 5 minutes after finding your post here. It would be a surprise if this works, but I guess I could give it a try.
Since I like adding my own effects, just like setting up a JSON client on a raspberry 3 connected to a usb sound card with stereo line in for a stereo vu-meter under my tv. Looks super awesome.
The app actually just requests informations about all lights in the system, including scenes and rooms, just like hue and sends value change requests back. It is very simple though.

So I gave wireshark a try and was able to find the packets you mentioned.
Wireshark shows me some M-SEARCH packets coming from my router and my pcs ip address while alexa is searching for devices. The esp running espalexa still won't see them though.

Yes, the M-SEARCH packets should be send by the Echo itself. Packets being send by the router or PC are not uncommon either, but they should also appear if you are not discovering devices. Also the espalexa debug log should still print out those packets... So I still don't know if this is your Echo's, network's or Espalexas fault. However, the fact that you can't access the device settings propably means there is something wrong with the Alexa software somehow...

I read from faumoESP before Echo dot gen 2 or 3, the port being used is not 80. Can this be the problem?

So I reset my alexa and did the setup again and can now see the M-SEARCH packets in wireshark.
But the debug log of espalexa still stays the same, nothing changed.

So to check if another device also receives the packages I setup a UDP Multicast client on my raspberry pi and got some results which looked like this:
b'M-SEARCH * HTTP/1.1\r\nHOST: <IP_ADDRESS>:1900\r\nMAN: "ssdp:discover"\r\nMX: 15\r\nST: urn:Belkin:device:**\r\n\r\n' b'M-SEARCH * HTTP/1.1\r\nHOST: <IP_ADDRESS>:1900\r\nMAN: "ssdp:discover"\r\nMX: 15\r\nST: urn:Belkin:device:**\r\n\r\n' b'M-SEARCH * HTTP/1.1\r\nHOST: <IP_ADDRESS>:1900\r\nMAN: "ssdp:discover"\r\nMX: 15\r\nST: urn:schemas-upnp-org:device:basic:1\r\n\r\n' b'M-SEARCH * HTTP/1.1\r\nHOST: <IP_ADDRESS>:1900\r\nMAN: "ssdp:discover"\r\nMX: 15\r\nST: urn:schemas-upnp-org:device:basic:1\r\n\r\n'

Thank you! Those packets are definitely valid and should be received by Espalexa without issues...
@eos1d3 had a similar issue with the phone on 5Ghz, so try to connect your phone to a 2.4Ghz WiFi if possible (Alexa on 2.4Ghz is worth a try as well)
Sorry for all the trouble!

I am currently porting your lib to python so I can use it on my raspberry pi, which runs the server anyway and could handle all light (what it does at the moment anyways) commands from alexa.
Also I am looking into the problem a bit further and try to find some issues or something.

@Aircoookie I tried these:
Phone on 5GHz & 2.4GHz,
Alexa on 5GHz & 2.4GHz
Router: Asus AC-86U
Discovery on PC with Ethernet, or phone on 5GHz/2.4Gz
Any above combinations work. Sometimes need to reset ESP module after network change.
This says I never find a combination which does not work.

@Aircoookie So as I'm trying to port this over to python I came across a problem while testing...
After alexa sends a M-SEARCH packet the library responds with something like this, right?

So what should Alexa send out after this? I'm not receiving any packets or http requests after that...
How does Alexa discover the devices or better, which steps does alexa perform to find devices

@DarkPixelWolf Yes, that's correct! It seems like a proper response to the discovery packet. Alexa should send a request to http://<IP_ADDRESS>:80/description.xml next and Espalexa responds with somethings along the lines of:
<root xmlns="urn:schemas-upnp-org:device-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<URLBase>http://<IP_ADDRESS>:80/</URLBase>
<device>
<deviceType>urn:schemas-upnp-org:device:Basic:1</deviceType>
<friendlyName>Philips hue (<IP_ADDRESS>)</friendlyName>
<manufacturer>Royal Philips Electronics</manufacturer>
<manufacturerURL>http://www.philips.com</manufacturerURL>
<modelDescription>Philips hue Personal Wireless Lighting</modelDescription>
<modelName>Philips hue bridge 2012</modelName>
<modelNumber>929000226503</modelNumber>
<modelURL>http://www.meethue.com</modelURL>
<serialNumber>ecfabc20ff67</serialNumber>
<UDN>uuid:2f402f80-da50-11e1-9b23-ecfabc20ff67</UDN>
<presentationURL>index.html</presentationURL>
<iconList>
<icon>
<mimetype>image/png</mimetype>
<height>48</height>
<width>48</width>
<depth>24</depth>
<url>hue_logo_0.png</url>
</icon>
<icon>
<mimetype>image/png</mimetype>
<height>120</height>
<width>120</width>
<depth>24</depth>
<url>hue_logo_3.png</url>
</icon>
</iconList>
</device>
</root>

Ok, interesting that the Raspberry doesn't receive anything on WiFi either! That means it is not the libraries fault, but probably your router's! Do you have another old router you could use as a test accesspoint?

I expected that! Ok, I ported your whole library to python and the result of ´/description.xml` is the same as with a esp. So that works...
Yes, I think it is not your libraries but my routers fault. That would explain why alexa won't request the description.xml after responding to the M-SEARCH packet, what the raspberry clearly did.
I will try to resolve the issue with another router or some changes in the settings of the current one.
I guess I will upload the python version of your library when it works, of course only if that is ok with you.
Maybe someone needs something like this as well, who knows.

Nice!
Of course, it would be awesome to have a python version of the library! I'd imagine there are many users who want Alexa capability on a Raspi!
Yes, that's correct! It doesn't have to be the mac though, you just have to make sure it's unique for every Espalexa installation in the same network.

So I wired up a FRITZ!Box 7490 and set it up as an access point and connected the esp to it and it seems to work, well it receives udp packets now and shows them in the log, but I just can't get my echo dot to connect to the wifi, it just won't connect and exits out with an error every time.

After some time the setup mode of my alexa just stopped and alexa connected to the wifi it was unable to connect some minutes ago.
I tried to discover my esp and it worked right away! So it was in fact the fault of my TP-Link access point/router... Which works just fine now, it just needed a new setup.
As this seems to work perfectly now I will test my python implementation next.

I came across some stuff while testing:
-> ALEXA: UDP Packet - M_SEARCH
-> CLIENT: UDP Packet - HTTP OK
-> ALEXA: HTTP CALL /description.xml
-> CLIENT: HTTP XML - description.xml
-> ALEXA: HTTP CALL - API - lights
-> CLIENT: JSON - lights
This should be the steps for the discovery. right?
My problem is that my alexa won't send an api call after receiving the xml.
I checked my xml output with the one of an esp and it is the same (except the serial of course).

Allright, my alexa now sends the api call and all seems fine and working.
Only thing I noticed is that the color change won't work, even with the ESP.
The color always remains white.

Allright, my alexa now sends the api call and all seems fine and working.
Only thing I noticed is that the color change won't work, even with the ESP.
The color always remains white.
HTTP Request:
AlexaApiCall
/api/E3goBZxwG4ZPovV37lKxYmCVFdWwtTgO1jwxQ3UW/lights/2/state
{ "on": true, "xy": [0.654386890477478,0.28398351120196125] }

Hi @DarkPixelWolf . What did you change that Alexa send the api call?
I try to adapt this lib to java. It works on my computer, but doesnt work on a friends computer. After sending the description.xml no further api call happen.

Allright, my alexa now sends the api call and all seems fine and working.
Only thing I noticed is that the color change won't work, even with the ESP.
The color always remains white.
HTTP Request:
AlexaApiCall
/api/E3goBZxwG4ZPovV37lKxYmCVFdWwtTgO1jwxQ3UW/lights/2/state
{ "on": true, "xy": [0.654386890477478,0.28398351120196125] }

Hi @DarkPixelWolf . What did you change that Alexa send the api call?
I try to adapt this lib to java. It works on my computer, but doesnt work on a friends computer. After sending the description.xml no further api call happen.

This issue is already over a year old, so I can't really recall anything important I did to make it work. In addition I switched to Google Home for my in home lighting.
Based on that I can't help you with it, I'm sorry.
You could look into my (maybe outdated) python code if you like: Espalexa-Python

Okay, it was worth a try. Thanks anyway. :)


Neuron on Visual Studio Community 2019

Is it possible to install Neuron on Visual Studio 2019 Community with Python?
I like to get me started would be appreciated.

Hi James,
Neuron only runs on VS Code – https://code.visualstudio.com/


allow for functions to run before main loop

Basically this pull request but without any refactoring: https://github.com/gocardless/hutch/pull/206

@michaelklishin if I were to move the queue setup back into its own class for the setup loop, would you like me to move the setup loop out into the CLI?

@kwstannard I don't think we need to move queue setup to a separate class.


Provide a way from reaction to core.async chan

I don't think it's that uncommon that you actually need to turn a reaction (or better yet, subscription handler), into a core.async chan of updates. Now with the common toolkit one would think he can just use add-watch on the Reaction returned by subscribe but that apparently doesn't work. Neither does this snippet:
(defn subscribe-chan [s]
  (let [ch (chan)
        re (subscribe s)
        ar (make-reaction (.-f re) :auto-run true :derefed [])]
    (add-watch ar :render (fn [k r o n] (put! ch n)))
    ch))

And of course what's being put onto the chan should be up to user (diff?). Any ideas?

I don't have a computer handy to test this, but there's a few questions that stick out to me here.

Should re just be derefed in make-reaction?

Do you need a buffer on the channel?

instead of creating a reaction and watching it, why not put the values on the chan in the reaction directly?
(run! (put! ch @re))

This feels like it's creeping away from re-frame's FRP into something else. I haven't yet run into a situation where I've wanted a channel to convey changes in a reaction. Sticking with the data flow re-frame provides works is generally a good idea. However I'm sure there are some valid use cases. What are you wanting to use it for?

Basically I have an app with WebGL renderer and some GUI. For the GUI part, I use re-frame and am pretty happy about it. But the renderer is using "input streams", like the FPS timer ticking, mouse, keyboard, model data, etc. I modeled this with core.async channels and transducers and it works surprisingly well. I'm trying to get data from GUI, when changed, and pipe it to the renderer. In the renderer, I merge all the input channels into one, then I have a single pure reducing function over renderer state, that takes the current state, the even being processed, and returns a new renderer state. This renderer state is then passed to the draw functions.
I could re-do the renderer with Reactions instead of core.async chans, but how? The idea of having a chan out of a subscription is very attractive because of the both the simplicity and ease of implementation.

@skrat the approach suggested by Daniel will work .. for some definition of "work" ...
But there's one serious problem ...
(defn subscribe-chan [s]
  (let [ch     (chan)
        signal (subscribe s)
        r      (run! (put! ch @signal))]    ;;  <--- what will ever call (dispose)  on r  ??
    ch))

There is no way that dispose will ever be called on r.  So this mini-signal graph (finishing in r) won't ever get cleaned up.  I can't imagine that's good ?? Maybe, you could link the closing of the channel ch with a (dispose r), maybe.
But, honestly, I feel like I'm looking at Frankenstein on the slab.  I'm worried about the eyes flicking open.
Is there any reason that your "render-state" can't be stored in app-db ?  That  is where state should be stored in a re-frame app.  That state should be calculated in event handlers.  And it should be "served" by subscriptions to your draw functions.

@mike-thompson-day8 Yes @danielcompton solution indeed works, I misunderstood what run! is for. Disposing r upon channel close sounds good to me, whatever the type of r is (?).
The reason render-state is not stored in re-frame's managed app-db is that while re-frame reagent do have mechanics to re-render the DOM, there's nothing helping me to re-render my scene-graph (render-state) into WebGL context.
There are two ways:
A) re-render WebGL in fixed intervals using render-state from re-frame's managed app-db.
B) re-render WebGL when something has changed
Option A would play nice with de-referencing subscriptions in the draw function, but not with option B. Additionally, changes to render-state have to be reflected in a side-effecful way, because in WebGL, or anywhere where you want to utilize GPU, you have to manage resources on it yourself. Therefore I need a place in my app where I can synchronize the resourced allocated on the GPU, whenever the render-state changes. Any ideas?

I'm looking into doing some svg-animations with bardo for transitions. Bardo uses core.async internally, so I might need a similar solution. Am I strongly advised not to? And if so, what's really the option?
Btw, I'm new to clojure, re-frame etc.

I think this can be closed for now? Feel free to continue this discussion on the Reagent mailing list, but I don't think there is a specific feature or bug being discussed here?


Behavior of the MaxRuntimeHeapSize property of V8ScriptEngine class has changed

Hello!
In version 7.4.5 when the limit specified by the MaxRuntimeHeapSize property of V8ScriptEngine class is exceeded, an “ScriptEngineException: The V8 runtime has exceeded its memory limit“ exception is no longer thrown. You can check this by using the following console application:
using Microsoft.ClearScript.V8;

namespace TestClearScriptV8
{
    class Program
    {
        static void Main(string[] args)
        {
            const string input = @"var arr = [];

for (var i = 0; i < 10000; i++) {
    arr.push('Current date: ' + new Date());
}";

            using (var engine = new V8ScriptEngine { MaxRuntimeHeapSize = new UIntPtr(640 * 1024) })
            {
                engine.Execute(input);
            }
        }
    }
}

Hi Andrey,
This is indeed a new bug. Note that the script is unimportant in this case, as the heap is larger than 640KiB when the V8ScriptEngine constructor returns. We believe that setting MaxRuntimeHeapSize to a value below the current heap size is the only affected scenario.
How urgent is this issue? We usually wait at least until the next stable V8 drop, but we can rush out a fix if necessary.
Thanks!

This is not an urgent issue for me. I discovered this bug while running tests for the JavaScript Engine Switcher.


5339 Handle upload for image smaller than configured resize dimensions

Fixes #5339
Summary
The code checked wether resize on upload dimensions are configured, then checked wether the image needs resizing, but fails to actually upload if the image doesn't need resising.
This PR fixes that.

Please target our default develop branch in the future. master is reserved for releases.


Change number of people in model

Hi, thanks for great works,
I see that in your implementation, you fixed 2 as number of skeleton so how to change it to be flexible with any people number?
Thank you very much!

Hi @tucachmo2202,
Thanks for your interest. If I recall correctly the model definition should be able to handle multiple persons (you can adjust the number of skeletons here: https://github.com/kenziyuliu/MS-G3D/blob/master/model/msg3d.py#L187). So for a dataset with multiple skeletons per frame, you can always retrain the model.
If your question was about having the model take a variable number of skeletons at different frames — I don't think it is currently supported. For datasets that may have video sequences with > 2 skeletons (e.g. Kinetics), I believe the workaround was simply to cap the number of skeletons at 2 following previous work (https://github.com/kenziyuliu/MS-G3D/blob/master/data_gen/kinetics_gendata.py#L53).
Hope this helps!

Hi @kenziyuliu,
Thank for your supporting. I found the way to change the number of people it is fix the feature of batchnorm1D to in_channels * num_point: https://github.com/kenziyuliu/MS-G3D/blob/master/model/msg3d.py#L1119


Nevada 11 counties from sidwell

followed up with Russ; he never returned my e-mail from 9 days ago...
http://www.sidwellco.com/team/russ-donovan/

Copy of digital data pricing 2 2017.xlsx

Hahaha: Paying per address record gets expensive! @migurski for planning / proposal writing background.

Kane IL
Lake IN – another big place!
McLean IL
Peoria IL – wow!
Pulaski AR
St. Clair IL
Sedgwick KS
Tuscaloosa AL


reason: 3.8.1 -> 3.8.2

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/reasonml/reason/releases.
meta.description for reason is: "Facebook's friendly syntax to OCaml"
meta.homepage for reason is: "https://reasonml.github.io/"
meta.changelog for reason is: ""
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 3.8.2 with grep in /nix/store/s8l9nsl65bj89q6rmppz8p99hic8md0i-ocaml4.14.0-reason-3.8.2
found 3.8.2 in filename of file in /nix/store/s8l9nsl65bj89q6rmppz8p99hic8md0i-ocaml4.14.0-reason-3.8.2

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
reason

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/s8l9nsl65bj89q6rmppz8p99hic8md0i-ocaml4.14.0-reason-3.8.2 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A reason https://github.com/r-ryantm/nixpkgs/archive/4a81a7d2789ca7aaa59e79f7aeb01f666f3887a8.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/s8l9nsl65bj89q6rmppz8p99hic8md0i-ocaml4.14.0-reason-3.8.2
ls -la /nix/store/s8l9nsl65bj89q6rmppz8p99hic8md0i-ocaml4.14.0-reason-3.8.2/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package marked as broken and skipped:

ocamlPackages.reason-native.qcheck-rely

15 packages built:

ocamlPackages.brisk-reconciler
ocamlPackages.flex
ocamlPackages.graphql_ppx
ocamlPackages.reason
ocamlPackages.reason-native.console
ocamlPackages.reason-native.dir
ocamlPackages.reason-native.file-context-printer
ocamlPackages.reason-native.fp
ocamlPackages.reason-native.pastel
ocamlPackages.reason-native.pastel-console
ocamlPackages.reason-native.refmterr
ocamlPackages.reason-native.rely
ocamlPackages.reason-native.rely-junit-reporter
ocamlPackages.rebez
ocamlPackages.reperf

Maintainer pings

Ah, actually this is already done in https://github.com/NixOS/nixpkgs/commit/0f4dad21198723a22aba7bb28b259ad71ee64ea5 so with a rebase and merge this actually commits nothing on the master branch :see_no_evil:


Problems with COM References

I'm having difficulties to get a working build with a solution that has a project with a COMReference.
Here's my Dockerfile:
FROM microsoft/dotnet-framework:4.7.1-sdk AS build

WORKDIR /deps/
COPY ./deps.dll ./register_deps.ps1 ./
RUN [ "powershell", "./register_deps.ps1" ]

WORKDIR /build
COPY ./MySolution.sln ./
COPY ./nuget.config ./
COPY ./src/MyProject/MyProject.csproj ./src/MyProject/
COPY ./src/MyProject.Deps/MyProject.Deps.csproj ./src/MyProject.Deps/

RUN msbuild /t:Restore /p:Configuration="Release"

COPY . .

RUN msbuild /t:Publish /m /p:Configuration="Release" /p:OutputPath=C:/app /p:NoWarn="NU1605"

The register_deps.ps1 basically just runs /Windows/SysWoW64/regsvr32 /s /i deps.dll
When running the msbuild publish task it throws this error:
(ResolveComReferences target) ->
                        C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2725,5): error MSB3091: Task failed because "AxImp.exe" was not found, or the correct Microsoft Windows SDK is not installed.
The task is looking for "AxImp.exe" in the "bin" subdirectory beneath the location specified in the InstallationFolder value of the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\NETFXSDK\4.7.1\WinSDK-NetFx40Tools-x86.
  You may be able to solve the problem by doing one of the following:
1) Install the Microsoft Windows SDK.
2) Install Visual Studio 2010.
3) Manually set the above registry key to the correct location.
4) Pass the correct location into the "ToolPath" parameter of the task.

I don't know much about the file structure of this container to fix the tool path, so some help would be appreciated. :smile:

Any thoughts|recommendations|questions on this issue?? :frowning_face:

I got the same problem. Any recommendation?

My personal recommendation is: use Linux containers if it is possible for you.

@Mthalman - Can you check if this will be addressed with VS 16.3?

@johnnyasantoss, @ocean2002n - Can either of you provide a project that repros this behavior?

Nop, sorry, it has been more than one year since I filed this bug. I no longer work with that project and in the end we chose to migrate to .netcore on Linux by removing/changing dependencies to others that supported .netstandard.

AxImp.exe is included within the SDK images.
docker run --rm mcr.microsoft.com/dotnet/framework/sdk:4.8 cmd.exe /c "dir /s /r aximp.exe"
 Volume in drive C has no label.
 Volume Serial Number is 068B-86AD

 Directory of C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools

07/24/2019  03:07 PM            62,936 AxImp.exe
               1 File(s)         62,936 bytes

 Directory of C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\x64

07/24/2019  02:24 PM            62,424 AxImp.exe
               1 File(s)         62,424 bytes

The last two suggestions from the error stated in the origin issue description may be viable options.
3) Manually set the above registry key to the correct location.
4) Pass the correct location into the "ToolPath" parameter of the task.

Closing because of no repo.  If you encounter this issue please open a new issue which includes steps that can be used to reproduce the issue.


Label position cannot be set via options for Doughnut chart

First off, thanks for creating this component!
I discovered an issue where I wanted to postion the label of a doughnut chart below the chart. I first tried it via the options like this:
options: {
	responsive: true,
	cutoutPercentage: 50,
	legend: {
		display: true,
		position: "bottom",
		labels: {
			fontSize: 14,
		}
	}
}

However this had no effect on the labels. I then tried setting the labels on the global defaults like:
defaults.global.legend.position = "bottom";
That did trigger the labels to be positioned at the bottom of the charts. But still it would be better to be able to control this per graph instead of setting the position globally.

Closing as not relevant to wrapper. Please open a feature request with Chart.js directly


Find Reference doesn't find all references

Environment data

VS Code version: 1.33
Extension version (available under the Extensions sidebar): latest
OS and version: windows 10
Python version (& distribution if applicable, e.g. Anaconda): 3.6.6
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): N/A

Steps to reproduce:
Python language server is being used.

Clone Repo from https://msasg.visualstudio.com/OpenMind Studio/_git/OpenMindVSCode?path=%2FFlaskServers&version=GBmaster

Open that folder in vscode, then goto amlflask/common/utils.py

Do a "Find all reference" on function extract_from_workspace_uri

it should show all references in the left pane, instead only part of references are shown

Logs
clean

Please provide a sample repository so we can reproduce the issue. The repo is not accessible.

Issue moved to microsoft/python-language-server #1114 via ZenHub


How to handle root simple types

Reason/Context
We need all generators to handle primitive types in some form or another. For TS there exist algebraic data types, as we currently render through TypeRenderer - https://github.com/asyncapi/modelina/blob/master/src/generators/typescript/renderers/TypeRenderer.ts
This is however not possible in languages such as Java and C#.
So how do we handle those kind of types?
Related JSON schema issue: https://github.com/json-schema-org/vocab-idl/issues/13

Still relevant

This is naturally solved in next because you have direct access to the type of the generated model.


Crashing upon searching

When I open the program for the first time, or after deleting the .json that has my found games, it asks me if I want it to search for games, when I say yes, it crashes, when I say no, there's nothing for me to do, I can't manually find games. I downloaded the exe that you have in releases.

Thanks for the report, I need to get the logging system running again for those releases to see whats going on.
I'll add manual add game support for the next release.
Also 2, how did you get Borderlands 2 into it if it crashed? Weird, because the only game that has been really consistent is Borderlands 2.

After it crashes, when I open it back up, it has BL2 and BLTPS. I feel that this is because I'm running everything on multiple harddrives.

Test with the Alpha Release 3: https://github.com/lucasassislar/nucleuscoop/releases/tag/v2.0-alpha-3
It (should) work.

It no longer dies when I try to search for things, but now I can't start the games. There's no play button, anymore.


Remove redundant references

I needed to do this to build.

I'll probably file an issue with a repro on SDK when I get a chance.


Implement KIND cluster as a prerequisite instead of Minikube

Summary
Currently our serverless docs are referencing Minikube. In community we already switched to test on Kind.
It would be nice to unify this and use something we test on daily in guides
Goal
Exchange Minikube with Kind in documentation of serverless

fixed by https://github.com/apache/incubator-kie-kogito-docs/pull/575


Adds Isthmus README.md

Adds a basic README to Isthmus root — https://github.com/substrait-io/substrait-java/issues/44

Thank you, James. As a first-time contributor, I believe this needs a manual workflow approval and squash+merge from a maintainer.


Add region specific DB connection pool

Tasks

[ ] Add region specific DB connection configuration to fly.io
[ ] Connect to correct region based on environment
[ ] Use cozyauth_serverless schema on fly.io / Supabase
[ ] Add .env support for development

This will not be implemented as there is a simpler solution.


Can't subscribe

Hello Sandeep,
First of all, thank you very much for preparing such clear step by step guide for how to create multitenant applications.
I have followed the steps in the guide and when I subscribe the application in my consumer account, I got error:
Could not subscribe to Hello World. Please try again. If the problem persists, open a ticket using the BCP component BC-NEO-CIS and include the job ID b4e84d71-1531-4147-a009-050baadfacb2 and the correlation ID b4e84d71-1531-4147-a009-050baadfacb2
And I created internal incident<PHONE_NUMBER>, but the answer from the ticket seems to be something wrong in code on github.
Would you please check? The detail error message is:
error: Failed to call callback url: provider-prod-mt-hw-node-app.cfapps.eu10.hana.ondemand.com/callback/v1.0/tenants/60a3a46d-34eb-43a3-a56d-015f8706c65e, for appId: multitenant_helloworld_node!t15788 and consumer tenant: 60a3a46d-34eb-43a3-a56d-015f8706c65e. Error: URI is not absolute, exception: SaasApplicationCallbackException, message: com.sap.hcp.cf.onboarding.exception.v2.SaasApplicationCallbackException: Failed to call callback url: provider-prod-mt-hw-node-app.cfapps.eu10.hana.ondemand.com/callback/v1.0/tenants/60a3a46d-34eb-43a3-a56d-015f8706c65e, for appId: multitenant_helloworld_node!t15788 and consumer tenant: 60a3a46d-34eb-43a3-a56d-015f8706c65e. Error: URI is not absolute, path: null, timestamp:<PHONE_NUMBER>801, status: 500

Sorry, please close this issue. It was a manual error of me.
In config.json file, I maintained "onSubscription": "provider-prod-mt-hw-node-app.cfapps.eu10.hana.ondemand.com/callback/v1.0/tenants/{tenantId}" like this, which is without https.
After adding https://, the subscription can be working.
Thanks!


broken links in §7 (example code) of documentation

hi,
thanks for this great ORM library! This is exactly what I was looking form with Hibernate, Jooq or what have you all being way too bulky for my need.
I'd just like to point to some links in the documentation that seem to be broken: while browsing §7.1 (code examples) I noticed that links like this one:

Simple, basic
This is a simple application which performs database operations on a single class/table. See the source code.

point to https://github.com/j256/ormlite-jdbc/tree/master/src/test/java/com/j256/ormlite/examples/simple which results in a 404 - it looks as if it should have been github.com/j256/ormlite-jdbc/...../j256/ormlite/:heavy_plus_sign:jdbc:heavy_plus_sign:/examples/simple instead.
best regards,
Lúthien

Thanks so much @Luthien-in-edhil .  I think I've fixed them all.  Luckily I had them as a redirect so I could fix the path easily.
Let me know if you find any other problems.


Add Iraqoze's file

so I changed the functionalities for the blabla..

closing pull request

merging now


Restructure internals of library to use @storybook/store logic

Issue: N/A
What Changed
The @storybook/testing-* libraries have lots of redundant logic that don't follow the development speed of Storybook. This PR aims to reuse the logic from Storybook's prepareStory instead of reinventing the wheel.
Checklist
These are things to do before merging this:
[ ] expose normalizeStories + normalizeComponentAnnotations from @storybook/store
[ ] instead of using processCSFFile, use normalizeStories + normalizeComponentAnnotations from @storybook/store
[ ] figure out why using render from @storybook/react throws Cannot find module 'react-dom' from 'render.js'
Check the ones applicable to your change:

[x] Tests are updated
[ ] Documentation is updated

Change Type
Indicate the type of change your pull request is:

[ ] documentation
[ ] patch
[x] minor
[ ] major

Closing this as it was an experimentation-only PR


proposal on where to store test configuration, layout, and how cli usage

Proposal
Each site can store their test configuration in their fork and if they like they can merge some of them for upstream for sharing purposes. The location can be site/<site-name>.
For example we have two different sites stampede2, cori they can store their test under site/stampede2 and site/cori
Tutorial Examples
buildtest needs a some tutorial example as part of documentation, they can be stored under site/tutorials
Directory Structure
Each site can store their configuration in any sub-directory as they desire so long as they follow few rules

Each yaml file has a .yml extension
There is a src directory relative to a .yml file where source files are referenced.

Here is a rough layout of what it could look like. There are no files put in src directory but that is where user need to place their source code for test configuration in order to find source files to compile and test.
login3(1034)$ tree site/
site/
└── stampede2
    ├── compilers
    │   ├── example1.yml
    │   ├── example2.yml
    │   └── src
    ├── perf
    │   ├── example1.yml
    │   ├── example2.yml
    │   ├── example3.yml
    │   └── src
    └── utilities
        ├── bzip2
        │   ├── compress_bzip.yml
        │   └── src
        └── zlib
            ├── compress_zlib.yml
            └── src

10 directories, 7 files

CLI usage
Change the behavior of buildtest build -c  so that it is flexible to use any path and user can add/remove path as they desire.
First option
let -c or long option --config take a string value instead of a pre-populated list so that user can specify arbitrary path such as
Building a single configuration example1.yml

buildtest build -c site/stampede2/compilers/example1.yml

Process all YAML files in directory site/stampede2/compilers and build/test everything

buildtest build -c site/stampede2/compilers

Add include option to filter test. In this example buildtest will fetch all .yml files but only accept with filename example2.yml

buildtest build -c site/stampede2/compilers -n example2.yml

Option to exclude test compress_zlib.yml but build all test otherwise

buildtest build -c site/stampede2/utilities/ -x compress_zlib.yml

Option Two
Allow user to configuration their configuration file (settings.yml) with some variable
TEST_ROOT =
  - site/stampede2
  - /tmp/site/buildtest

buildtest will search all test defined in TEST_ROOT and auto-populate choice field for buildtest build -c. The choice field will be full path to configuration file so buildtest can only run one test at a time.
Have another option buildtest build -d <dir> which is a choice field of all sub-directory found in TEST_ROOT.
To run a single test, it will be same behavior use buildtest build -c /tmp/site/buildtest/example1.yml.
To build all test in a directory we can use buildtest build -d /tmp/site/buildtest
Test Directory Structure
buildtest has a configuration path to store test directory it is defined as follows::
build:
  # directory where test scripts will be generated
  testdir: $BUILDTEST_ROOT/testdir

buildtest needs to avoid name conflict so directory structure in testdir needs to be unique. Originally, each build gets a unique build id. This method is somewhat long but what it looks like is as follows and defined in https://buildtest.readthedocs.io/en/devel/build_subcommand/build.html#test-directory-layout ::
$ tree /tmp/ssi29/buildtest/tests/
/tmp/ssi29/buildtest/tests/
└── Intel
    └── Haswell
        └── x86_64
            └── rhel
                └── 7.6
                    ├── build_0
                    │   ├── args.c.yml.0xe93836d1.sh
                    │   └── log
                    │       └── buildtest_14_40_28_10_2019.log
                    ├── build_1
                    │   ├── args.c.yml.0x2f83e661.sh
                    │   └── log
                    │       └── buildtest_14_40_28_10_2019.log
                    ├── build_2
                    │   ├── args.c.yml.0x722fa01.sh
                    │   └── log
                    │       └── buildtest_14_40_28_10_2019.log
                    ├── build_3
                    │   ├── hello_lsf.yml.0x5afd4bd1.sh
                    │   └── log
                    │       └── buildtest_14_40_28_10_2019.log
                    └── build_4
                        ├── hello_slurm.yml.0x915e39fb.sh
                        └── log
                            └── buildtest_14_40_28_10_2019.log

15 directories, 10 files

I dont like this long directory structure one way is to get the relative directory up to the name of configuration and insert that when creating test directory.
So buildtest bulid -c site/stampede2/compilers/example1.yml will create a directory --> $BUILDTEST_ROOT/compilers/example1.yml The test will use relative path from directory defined in TEST_ROOT if we introduce this variable.
Recall it is defined as follows
TEST_ROOT =
  - site/stampede2
  - /tmp/site/buildtest

Test Names
The name of the test script can be as follows. Let's assume the file site/stampede2/example1.yml is as follows
# module load example with one version
hello_ex1:
  type: singlesource
  description: "C hello world example1"
  compiler: gnu
  source: hello.c
  scheduler: local
  moduleload:
    key:
      name: GCC
      version: ["6.4.0"]
  cflags:
    - "-O1"

# single test with all version
hello_ex2:
  type: singlesource
  description: "C hello world example2"
  compiler: gnu
  source: hello.c
  scheduler: local
  moduleload:
    key:
      name: GCC
      version: ["*"]
  cflags:
    - "-O1"

The test name will be example1.hello_ex1.sh and example1.hello_ex2.sh. Name of test will be taken by using the top-level key which is the name of the test and concatenating with name of yaml file without the .yml extension

I like the ability for buildtest to discover recipes in a directory, but it should also be possible to do
buildtest -c /path/to/recipe.yml

and just have it work. As a comparison, image if Singularity or docker required the user to register a path to Dockerfiles or Singularity recipes before running docker build or singularity build. It would be hugely not intuitive and frustrating. What seems intuitive is to accept a filename OR a directory, and then allow filtering based on a name (e.g., internally using something fnmatch). So these would be valid:
buildtest build -c /path/to/file.yml   # explicitly build file.yml
buildtest build -d /path/to/folder  # build all recipes discovered in folder
buildtest build -d /path/to/folder --pattern file*.yml  # build all recipes in folder that start with file*

In the case that a path isn't provided, e.g., let's say the user does:
buildtest build site/tutorials

Then we would then check for the path in the build.testdir. If it's not there, then there is an error. Are there any missed cases for these mentioned above? I don't think we should restrict directories to test root, that would make life really hard because you can't run a file / folder off the bat.
But test root is useful! If we keep the TEST_ROOT list, if the user just issues:
buildtest build

And it would run all tests for folders defined in TEST_ROOT. If the user wanted to do the same but match a pattern, that would work too:
# assumes paths in TEST_ROOT that match pattern mpi*.yml
buildtest build --pattern "mpi*.yml"

I think before implementing this change it would make sense to rename toolkit/suite to be just site, I can open a PR to do a first shot at this. I'm going to try to work in small PRs so they are easier to review and then merge into devel - large ones are dangerous!

@vsoch if it's ok I will assign this to you. I know this will require some code refactoring and for scope of this issue let's just focus on the command usage. The YAML schema change will follow after this issue that's covered in #135

The "site" folder has been already integrated, and the issue to support:
buildtest -c /path/to/recipe.yml

will be addressed by #191.   We will need to (after this is merged, and likely more work done) discuss again providing a folder and allowing for recipe discoverability.

Yes you are correct @vsoch. I think once your PR #191 is merged we can close this issue and work on the build component and YAML schema. Later we can discuss additional features to configuration option described in #193

This was finished as #191 was merged, closing.

Thanks for closing ticket 👍


fixed heights of domain cards

This PR fixes the irregular heights of domain cards.

This PR adjusts the contents of the card to sync with rest of the cards.

Fixes #221

Before:

After:

@pradeeptosarkar  @mnnkhndlwl  please check. Also, label this PR hacktoberfest too please. :)


Piecmeal Install Note Is Incorrect / Incomplete

The install note embedded by Install-Piecemeal is slightly incorrect, and slightly incomplete:
Slightly incorrect:  The Install-Module should include -Scope CurrentUser
Slightly incomplete:  Import-Module should be included

Re-opened.  Import-Module should use -Force, so that old versions of Piecemeal are not kept loaded.


Properly integrate stremio-addons 2.0

Currently, we use the latest version of the module in the dependencies but we don't really, as the JS is included from www.strem.io. We need to properly load the local JS and adapt the code

fixed https://github.com/Ivshti/stremio-addons-client/commit/76c0f07885a9f75d749dde3575cd74fe182fc1a9


Can't Reproduce results for crafts dataset

Hi,
Thank you for making the code public. I ran the code multiple times and couldn't reproduce the results in the paper. Here are the reproduced results using the repository. Can you tell me the reason behind the difference?

Reported
21.3
11.8
7.12
4.85
20.3

Reproduced
19.50
10.53
5.89
3.73
19.37

Hi @AfrinaVT Thank you for your interest in our research. I have attached my craft checkpoint for reference.  It's important to consider that variations in outcomes can arise due to differences in computer configurations. This variability is not uncommon, especially since both weight initialization and contrastive learning inherently involve random processes.
If you have any further questions or need more clarification, please don't hesitate to reach out.

Thank you very much for sharing the checkpoint for craft. Is it possible to share the checkpoint for gardening as well?

Sure, the gardening checkpoint is here

Thank you very much!


Contribute with leapcode badge

Preview
Contribute with leapcode badge that takes the user to the leapcode login page. Once we have urls setup for individual projects we can put up url to project page instead and create similar PRs to the project readme files.

@atulsuresh is this ok?

should we increase the size of the badge? something of this size

@atulsuresh done

looks great!

should we push this now or wait for nextjs release?

I think we should push, we can update the link after nextjs release

works!


Setting the OOM score for a process isn't permitted

Required information

Distribution:
Distribution version:
The output of "lxc info" or if that fails:

config:
  core.https_address: '[::]:8443'
api_extensions:
- storage_zfs_remove_snapshots
- container_host_shutdown_timeout
- container_syscall_filtering
- auth_pki
- container_last_used_at
- etag
- patch
- usb_devices
- https_allowed_credentials
- image_compression_algorithm
- directory_manipulation
- container_cpu_time
- storage_zfs_use_refquota
- storage_lvm_mount_options
- network
- profile_usedby
- container_push
- container_exec_recording
- certificate_update
- container_exec_signal_handling
- gpu_devices
- container_image_properties
- migration_progress
- id_map
- network_firewall_filtering
- network_routes
- storage
- file_delete
- file_append
- network_dhcp_expiry
api_status: stable
api_version: "1.0"
auth: trusted
public: false
environment:
  addresses:
  - <IP_ADDRESS>:8443
  - <IP_ADDRESS>:8443
  - <IP_ADDRESS>:8443
  - <IP_ADDRESS>:8443
  architectures:
  - x86_64
  - i686
  certificate: |
    -----BEGIN CERTIFICATE-----
    ...
    -----END CERTIFICATE-----
  certificate_fingerprint: e43e574962087840046dda1c65295064d124ae163c6def24da242e8734954358
  driver: lxc
  driver_version: 2.0.7
  kernel: Linux
  kernel_architecture: x86_64
  kernel_version: 4.4.0-45-generic
  server: lxd
  server_pid: 2305
  server_version: 2.9.3
  storage: dir
  storage_version: "1"

Issue description
A brief description of what failed or what could be improved.
Steps to reproduce
Certain programs, such as Docker/runC or Kubernetes, try to set the OOM score for processes like containers. For example, see https://github.com/kubernetes/kubernetes/blob/master/pkg/util/oom/oom_linux.go#L89
The error is a permission denied error upon writing to /proc/<pid>/oom_score_adj.
Could access to these files possibly be allowed without compromising security?

It's a hard kernel limit that unprivileged containers may not set an oom score higher than the current value. Otherwise any user could create a user namespace and make unkillable processes.
Numerous projects have been fixed to properly handle this case (upstart, systemd, various daemons, ...). The fix is really quite simple, just check if you're getting EPERM or EACCES back, if you are, move on and don't fail.
systemd's code:
        if (context->oom_score_adjust_set) {
                char t[DECIMAL_STR_MAX(context->oom_score_adjust)];

                /* When we can't make this change due to EPERM, then
                 * let's silently skip over it. User namespaces
                 * prohibit write access to this file, and we
                 * shouldn't trip up over that. */

                sprintf(t, "%i", context->oom_score_adjust);
                r = write_string_file("/proc/self/oom_score_adj", t, 0);
                if (r == -EPERM || r == -EACCES) {
                        log_open();
                        log_unit_debug_errno(unit, r, "Failed to adjust OOM setting, assuming containerized execution, ignoring: %m");
                        log_close();
                } else if (r < 0) {
                        *exit_status = EXIT_OOM_ADJUST;
                        *error_message = strdup("Failed to write /proc/self/oom_score_adj");
                        return -errno;
                }
        }

Closing this issue since there's nothing LXD can do about a kernel restriction, nor is it likely for this restriction to be lifted on the kernel side. One would need to make the oom_score_adj value be relative to a userns base value (possibly taken from whatever process calls unshare), but I don't think anyone's working on that, nor would it be particularly likely to be accepted (adds overhead).


Remove redundant global_settings usage

#479

@@              dev    #481   diff @@
=====================================
  Files          26      26
  Stmts        2361    2359     -2
  Branches      213     213
  Methods         0       0
=====================================
- Hit          2095    2093     -2
  Partial        62      62
  Missed        204     204

Review entire Coverage Diff as of 0a1ee2a

Powered by Codecov. Updated on successful CI builds.


Feature request for content warnings

Describe the solution you'd like
Ability to hide images / posts until interaction, and optionally with a message detailing why the image or post is hidden.
Example from Firefish (fediverse) software:

Clicking on "hide content" adds a new input field that lets you specify a content warning.

As a result, it is now hidden by default.
Type of feature
User Experience (UX)
Additional context
This would be nice to hide content that I don't necessarily want to see while scrolling through my memos.
This issue supersedes https://github.com/usememos/memos/issues/1508 which has been closed as stale automatically.

You can use the spoiler syntax to hide some text now.
👀||Hide content!||


Addon DNS

Hi @TECH7Fox,
I am trying to configure the Asterisk addon in order to set up the trunk for Telecom Italia's VoIP service.
Everything seems to be working, as long as I manually modify the resolv.conf file inside the addon's shell, inserting Telecom's DNS.
On my HomeAssistant instance, I already have the AdGuard addon installed for some time. However, it seems to be completely ignored, as I still see the addon pointing to the server's IP instead of the container's IP.
What am I doing wrong?
Thank you in advance.

AFAIK AdGuard add-on isn't taken into account as DNS server for other add-ons.
One thing you can try to do is to set the DNS in the Asterisk config files:
https://wiki.asterisk.org/wiki/display/AST/Asterisk+20+Configuration_res_resolver_unbound
; /config/asterisk/custom/resolver_unbound.conf

[general]
nameserver = <IP_ADDRESS>@53
resolv =

Theoretically it should make Asterisk use your AdGuard home as DNS server.

Hi @felipecrs,
Thank you for your response. Based on the various tests I have conducted, it seems that the module allowing the use of that specific configuration has not been compiled into the Docker image of the addon.
In reality, my hope was that it could be implemented in the future so that we can manually insert a custom DNS configuration.

Hm... that could be the case. PRs are welcome if you happen to figure it out.

I have just submitted the PR #270
I have tested it now without any issues, and I hope you can integrate it soon!

Thank you! It will be released tomorrow :)

@Danny89530 I'm receiving this issue in my logs after #270 released as 4.1.0:
ERROR[512]: loader.c:2524 load_modules: Error loading module 'res_resolver_unbound.so': libunbound.so.8: cannot open shared object file: No such file or directory

Is there a chance you can take a look?

Hi @felipecrs, I just performed the upgrade, and I just noticed that the "libunbound-dev" library is not installed on the container. I'm checking it right now...

Debian was also upgraded from 11 to 12, maybe it has something to do with it as well.

I have just tried to compile the Dockerfile separately, not considering the addon. Everything is compiled and installed as it should. Now I am compiling the addon, but I can't figure out why it would skip the installation of the library.

I'm having trouble understanding what the problem might be.
I just tried running the installation of the library separately, but it doesn't seem to be installed according to dpkg. Do you have any ideas?

I'm having trouble understanding what the problem might be.
I just tried running the installation of the library separately using the apt command, but it doesn't seem to be installed according to dpkg. Do you have any ideas?

Can you change to libunbound8 just to try?
I will take a closer look tomorrow otherwise.

Unfortunately, nothing has changed.
Even installing libunbound8 directly, it doesn't show up on dpkg during startup.
I am quite puzzled..

Oh, I know what's wrong. You added the dependency on the "build" docker layer. You should in fact add it to the "base" docker layer. Check the apt-get install command before the one you made changes to.

The build layer is intermediary and it's only used to build asterisk from source.
That's why you don't see the dependency after the build.

The build layer is intermediary and it's only used to build asterisk from source.
That's why you don't see the dependency after the build.

#275 should fix this issue


NBS: Deal with concurrent file opens in fdCache

There was a race in the previous code. On a cache-miss, fdCache
would release its mutex and go os.Open() a file. Once it opened
successfully, fdCache would re-acquire the lock and update the
cache. The problem was that multiple concurrent cache-missers would
open the file and then all stomp on each other as they update the
cache one-by-one.
The problem here is that we don't want to serialize all file opens
by holding the lock while calling os.Open(). This version just checks
the cache again after opening the file and, if there's now a cache
hit it just drops the fd it just opened and refs the one in the cache.
Fixes #3474

PTAL
I decided that I didn't want make a cache miss block all cache hits. This is a bit more complex than simply locking the whole thing, but it's not much more complex than what we were already doing, so it seemed like a win.

jenkins: test this


Bump Turi Create version number to 5.7

Any plans, for when V6 will be released? @syoutsey

Hi @eZii-jester-data, we're currently evaluating future release options. Is there a feature or fix that you're looking for?


TypeError: Cannot read properties of undefined on flutter web

I get the:
TypeError: Cannot read properties of undefined (reading 'getDocument')
error on flutter web.
I am using it in the following way:
   pdfController = PdfController(
                     document: PdfDocument.openData(fileUint8List),
                   );

   PdfView view = PdfView(
                     controller: pdfController,
                   );

Using the latest pdfx: ^1.0.0 package.

Used the 2.2.0 version and now the error is gone. I am going to close the issue.


Create initial Python package skeleton

This sets up a basic Python skeleton for a package.  It has single-source versioning, a readme, licence, code of conduct, etc.  It includes the current recommended set of Python metadata files, and a basic __init__.py and (autogenerated) version.py so the built package can be imported.

Thank you for the comments and for clarifying my questions!! I will now merge this pull request.

The src directory is technically (almost) never a requirement for a Python package*, so there's quite a school of thought who say "it's meaningless detritus, so it's better to skip it".  This is usually my approach in most of programming, but I've more recently been moving in favour of a src directory in packaging.  It has the advantages that you can it makes quite a lot of discovery-based options (e.g. setup.py, MANIFEST.in) really easy for a similar reason, especially if there are multiple packages in the repository.  That's a pretty minor reason, but the advantages of not having a src directory are at least as small, so it's pretty easy to argue in favour of either.
Consistency is good; in this case, we're actually being a bit more consistent with newer QuTiP packages, and it's more like qutip/qutip is the odd-one-out for the time being.  That said, this isn't really a user-facing thing, so we don't necessarily have to fee like our hands are tied by a requirement to be consistent (though it's still desirable).
* if you wanted to create a package called build, dist, tests or doc or something like that, you'd need a separate directory.