Boggle solver 2.1X slower on dart2js than Dart VM

Hi,
I hope this is a useful and real-life benchmark for the dart2js. I ported this to Dart and JavaScript, trying very hard to be line-by-line accurate.  This is the "cold start" test)
V8 + JS:
  parse the dictionary: 275ms
  solve: 0.75ms
V8 + dart2js:
  parse the dictionary: 700ms
  solve: 5ms
Dart VM + Dart + Dartium:
  parse the dictionary: 5000ms  (?!?)
  solve: 1.5ms
Timings were derived with window.performance.now()
Dictionary has something like 17k words in it. The board is a classic 4x4 matrix.
You can find this code here:
Dart Solver: https://github.com/johnmccutchan/tilebasedwordsearch/blob/master/lib/solver.dart
Dart Trie: https://github.com/johnmccutchan/tilebasedwordsearch/blob/master/lib/trie.dart
Dart HTML file: https://github.com/johnmccutchan/tilebasedwordsearch/blob/master/web/solver/solver.html
Dart HTML script: https://github.com/johnmccutchan/tilebasedwordsearch/blob/master/web/solver/solver.dart
JS Solver: https://github.com/johnmccutchan/tilebasedwordsearch/blob/master/web/solver/solver.js
JS HTML file: https://github.com/johnmccutchan/tilebasedwordsearch/blob/master/web/solver/solver_js.html
To get the exact code as I tested it, get the tree at
https://github.com/johnmccutchan/tilebasedwordsearch/tree/f42057320f958e0932ed3c9403c8c6752aa24ce9
(interestingly, the VM takes much longer to parse the dictionary file, but I think that's a separate bug)

what happened to this issue, its a type-defect and triaged?
why is the performance of map so bad with dart2js?

This issue is really old... we'll have to measure again. There may not be a performance issue anymore.

There is some work happening on this, though. Traditionally Dart maps are implemetned by dart2js using multiple JS objects, so there is a possibility that the issue still exists. @hterkelsen is looking into making the map implementation faster by using ES6 maps whenever the keys of the map use the identity-hashcode, which should include int and string keys.

@hterkelsen Is this still an issue?

Yes, I have not enabled ES6 maps for Maps with identity-hashcode keys

I imagine this specific benchmark is not super important to us anymore


Fix for retrieving empty property value on FreeBSD

On FreeBSD "zfs get" can sometime return empty value as empty string
(notably the "mlslabel" property) instead of returning "none". We're
already using -H option to "zfs get" which produce tab separated
output. Update the regexp that match "zfs get" lines to be separated
by tab instead of spaces.

No idea how I missed this one - I'm so sorry, I hate when maintainers ignore pull requests on their repos. :( LGTM!


Merging two PSBTs finalise fails with no partialSig

Hey there,
I'm merging a tx from two PSBTs with two inputs signed independently in two Electrum wallets.
I can see the decoded psbt contains final_scriptwitness for each input after signing.
However on merging and finalising I get the error Not enough partial sign;
    const txA = btc.Transaction.fromPSBT(base64.decode(quote.acceptPSBTAlice))
    const txB = btc.Transaction.fromPSBT(base64.decode(quote.acceptPSBTBob))
    const psbt = btc.PSBTCombine([txA.toPSBT(), txB.toPSBT()]);
    const txC = btc.Transaction.fromPSBT(psbt)
    txC.finalize()

Am i doing something wrong here? Or do I just need to update the inputs manually with the final_scriptwitness data e.g.
updateInput(idx, final_scriptwitness) ?
thanks in advance!
PS I'm leaving SIGHASHTYPE as default and am setting {allowUnknowInput: true, allowUnknowOutput: true} when creating the tx.

Can you provide some information from these PSBTs? How do they look like? How many inputs are in each?
If you try to combine two different PSBTs with 1 input into PSBT with 2 inputs, it wouldn’t work:

each input requires information from other inputs for signature (you can change this behavior by changing SIGHASHTYPE)
input index cannot change, so you need to create two inputs tx, add outputs, then sign this tx with different wallets and then you can combine

Thanks, yes this is one PBST with 2 (or three) inputs from two users.
In scenario above Bob and Alice signed the base PBST independently, using electrum - trying to PSBTCombine failed as above.
I've found (since posting) that I can let Bob sign first and then let Alice sign Bobs signed PSBT and then broadcast
Before this I was going to send them to combinepsbt of bitcoin core rpc to see what happens - happy to do this if helpful ?

Check out new tests for this behavior https://github.com/paulmillr/scure-btc-signer/blob/38c40320953c837cc124057d1dbd247679b081ea/test/basic.test.js#L1695C23-L1695C28
if you would have any reproducible failing tests, feel free to submit them


Clangd cannot find my header file

Problem
Clangd cannot find a header file in a simple project. The parser.h locates under ./include/parser.h, while the main.cpp and the parser.cpp are both under the source directory at the same level with the include directory.

Project directory tree architecture:
├── build
│   ├── calc_debug \# builded target
│   ├── ...
│   ├── compile_commands.json
│   └── Makefile
├── CMakeLists.txt
├── include
│   ├── arbmul.h
│   └── parser.h
├── project1.md
└── src
    ├── arbmul.cpp
    ├── main.cpp
    └── parser.cpp

If you can, provide a minimal chunk of code that shows the problem (either inline, or attach it if larger).
./include/foo.h
#pragma once
int foo(...);

./src/foo.c
#include "foo.h"
int foo(...){
//...
}

./CMakeLists.txt
cmake_minimum_required(VERSION 3.0.0)
project("project1_CS205_2022F")

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0 -std=c++11")

include_directories(${PROJECT_SOURCE_DIR}/include)
aux_source_directory(${PROJECT_SOURCE_DIR}/src proj_sources)

add_executable(foo ${proj_sources})

Compile Commands
[
{
  "directory": "/home/lexington/CS205_2022F/project1/build",
  "command": "/usr/bin/clang++  -I/home/lexington/CS205_2022F/project1/include  -g -O0 -std=c++11 -g -o CMakeFiles/calc_debug.dir/src/arbmul.cpp.o -c /home/lexington/CS205_2022F/project1/src/arbmul.cpp",
  "file": "/home/lexington/CS205_2022F/project1/src/arbmul.cpp"
},
{
  "directory": "/home/lexington/CS205_2022F/project1/build",
  "command": "/usr/bin/clang++  -I/home/lexington/CS205_2022F/project1/include  -g -O0 -std=c++11 -g -o CMakeFiles/calc_debug.dir/src/main.cpp.o -c /home/lexington/CS205_2022F/project1/src/main.cpp",
  "file": "/home/lexington/CS205_2022F/project1/src/main.cpp"
},
{
  "directory": "/home/lexington/CS205_2022F/project1/build",
  "command": "/usr/bin/clang++  -I/home/lexington/CS205_2022F/project1/include  -g -O0 -std=c++11 -g -o CMakeFiles/calc_debug.dir/src/parser.cpp.o -c /home/lexington/CS205_2022F/project1/src/parser.cpp",
  "file": "/home/lexington/CS205_2022F/project1/src/parser.cpp"
}
]

Clangd Arguments'
"clangd.arguments": [
        "--all-scopes-completion",
        "--background-index",
        "--clang-tidy",
        "--completion-style=detailed",
        "--cross-file-rename",
        "--enable-config",
        "--fallback-style=Google",
        "--header-insertion=iwyu",
        "--header-insertion-decorators",
        "--index",
        "--suggest-missing-includes",
        "--pch-storage=memory",
        "--pretty",
        "--query-driver=clang*,clang,gcc,g++,*-gcc,*-g++,cl",
        "-j=20"
    ],

System information
Output of clangd --version:
Ubuntu clangd version 14.0.0-1ubuntu1
Features: linux+grpc
Platform: x86_64-pc-linux-gnu

Editor/LSP plugin:
VSCode clangd extension v0.1.21
Operating system:
WSL Linux
<IP_ADDRESS>-microsoft-standard-WSL2

I can't spot anything wrong in what you've shown so far. Could you attach clangd logs as well? That will allow us to confirm that clangd is finding the compile_commands.json and making use of it.

I turned on the verbose logging, but there are nothing STDERR in clangd logs with the verbose on. After reloading the VSCode on WSL, the problem disappeared magically.


RangeError: Maximum call stack size exceeded when uploading image (in version 0.30.1)

I get the following error:
RangeError: Maximum call stack size exceeded
    at bytesToBase64 (/Users/fwtaen/projects/viralgifs/node_modules/.pnpm/replicate@0.30.1/node_modules/replicate/lib/util.js:148:35)
    at /Users/fwtaen/projects/viralgifs/node_modules/.pnpm/replicate@0.30.1/node_modules/replicate/lib/util.js:303:18
    at transform (/Users/fwtaen/projects/viralgifs/node_modules/.pnpm/replicate@0.30.1/node_modules/replicate/lib/util.js:329:16)
    at transform (/Users/fwtaen/projects/viralgifs/node_modules/.pnpm/replicate@0.30.1/node_modules/replicate/lib/util.js:324:25)
    at transformFileInputsToBase64EncodedDataURIs (/Users/fwtaen/projects/viralgifs/node_modules/.pnpm/replicate@0.30.1/node_modules/replicate/lib/util.js:277:16)
    at transformFileInputs (/Users/fwtaen/projects/viralgifs/node_modules/.pnpm/replicate@0.30.1/node_modules/replicate/lib/util.js:238:22)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Replicate.createPrediction (/Users/fwtaen/projects/viralgifs/node_modules/.pnpm/replicate@0.30.1/node_modules/replicate/lib/predictions.js:33:16)
    at async Replicate.run (/Users/fwtaen/projects/viralgifs/node_modules/.pnpm/replicate@0.30.1/node_modules/replicate/index.js:140:20)
    at async main (file:///Users/fwtaen/projects/viralgifs/index.js:17:18)
done

When trying to upload an image like this
import { readFile } from 'fs/promises';

import Replicate from 'replicate';

const replicate = new Replicate({
	auth: process.env.REPLICATE_AUTH
});

async function main() {
	try {
		let file = await readFile(
			'/Users/fwtaen/projects/viralgifs/static/matrix_images/frame_0185.png'
		);

		const output = await replicate.run(
			'adirik/grounding-dino:efd10a8ddc57ea28773327e881ce95e20cc1d734c589f7dd01d2036921ed78aa',
			{
				input: {
					image: file,
					query: 'red pill',
					box_threshold: 0.2,
					text_threshold: 0.2,
					show_visualisation: true
				}
			}
		);
		console.log(output);
	} catch (error) {
		console.error(error);
	} finally {
		console.log('done');
	}
}
main();

I already found this issue https://github.com/replicate/replicate-javascript/issues/247 which says a fix has been merged in v 0.30.0.  However both 0.30.0 and 0.30.1 still give me this error while using pnpm install replicate/replicate-javascript#fix-rangeerror  seemed to fix it for me.
I'm on node v20.11.0` M1 pro, macos 14.4.1 (23E224)

Hi @ocluf. There was a problem with the automatic file upload functionality that caused the client library to fall back on the old bytesToBase64 behavior. Please update to 0.30.2 and try again.

I think I messed up the version in this issue. When install 0.30.2 with pnpm i replicate@latest I still get this:
RangeError: Maximum call stack size exceeded
    at bytesToBase64 (/Users/fwtaen/projects/viralgifs/node_modules/.pnpm/replicate@0.30.2/node_modules/replicate/lib/util.js:148:35)
    at /Users/fwtaen/projects/viralgifs/node_modules/.pnpm/replicate@0.30.2/node_modules/replicate/lib/util.js:303:18
    at transform (/Users/fwtaen/projects/viralgifs/node_modules/.pnpm/replicate@0.30.2/node_modules/replicate/lib/util.js:329:16)
    at transform (/Users/fwtaen/projects/viralgifs/node_modules/.pnpm/replicate@0.30.2/node_modules/replicate/lib/util.js:324:25)
    at transformFileInputsToBase64EncodedDataURIs (/Users/fwtaen/projects/viralgifs/node_modules/.pnpm/replicate@0.30.2/node_modules/replicate/lib/util.js:277:16)
    at transformFileInputs (/Users/fwtaen/projects/viralgifs/node_modules/.pnpm/replicate@0.30.2/node_modules/replicate/lib/util.js:238:22)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Replicate.createPrediction (/Users/fwtaen/projects/viralgifs/node_modules/.pnpm/replicate@0.30.2/node_modules/replicate/lib/predictions.js:33:16)
    at async Replicate.run (/Users/fwtaen/projects/viralgifs/node_modules/.pnpm/replicate@0.30.2/node_modules/replicate/index.js:140:20)
    at async main (file:///Users/fwtaen/projects/viralgifs/index.js:15:18)
done

I removed the node_modules folder and reinstalled everything with npm to make sure there weren't any issues there. Still got this
node index.js
RangeError: Maximum call stack size exceeded
    at bytesToBase64 (/Users/fwtaen/projects/viralgifs/node_modules/replicate/lib/util.js:148:35)
    at /Users/fwtaen/projects/viralgifs/node_modules/replicate/lib/util.js:303:18
    at transform (/Users/fwtaen/projects/viralgifs/node_modules/replicate/lib/util.js:329:16)
    at transform (/Users/fwtaen/projects/viralgifs/node_modules/replicate/lib/util.js:324:25)
    at transformFileInputsToBase64EncodedDataURIs (/Users/fwtaen/projects/viralgifs/node_modules/replicate/lib/util.js:277:16)
    at transformFileInputs (/Users/fwtaen/projects/viralgifs/node_modules/replicate/lib/util.js:238:22)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Replicate.createPrediction (/Users/fwtaen/projects/viralgifs/node_modules/replicate/lib/predictions.js:33:16)
    at async Replicate.run (/Users/fwtaen/projects/viralgifs/node_modules/replicate/index.js:140:20)
    at async main (file:///Users/fwtaen/projects/viralgifs/index.js:15:18)
done

Getting this error under the same circumstances in 0.30.2 and 0.31.1. Double checked that my API token is being passed in and force reinstalled packages.


POSIX_COMMIT_CHECKS adding for apple.

@devnexen thanks for thinking about this.  You also need the equivalent to
https://github.com/microsoft/snmalloc/blob/master/src/pal/pal_bsd.h#L42-L44
to simulate actually removing the pages from being accessible. This is actually more important than the memset.

Yes I know but unfortunately func-malloc* tests abort with it.

Does it do that if we disable calling the MADV_FREE_REUSABLE, when we have the commit checks on?  And remove the converse MADV_FREE_REUSE in that mode too?

Unfortunately still does not still work (on Mac M1/ARM it should work on Mac Intel).

I propose doing it only for Mac Intel (it works as expected) if that s fine for you ?

With actual code both work under Mac Intel and ARM


change playback progress bar to iTunes like.

This is really neat, thanks for opening the pull request. I will report back shortly after testing. It does look nicer, in my opinion. Just in case I missed something, this is purely an aesthetic change, correct?

Cool, I change it to NSSlider and replace the know to a black rectangular. I tested on 10.10 with non-retina display.

There are a few things I'd like to see changed before accepting the pull:

The slider knob doesn't start at the leftmost edge, and finish at the rightmost edge. I think it is possible to control the appearance of the track using NSSliderCell:drawBarInside:flipped:
Change the View logic to use the "public" setters and getters for knobImage — knobImage = someImage and [knobImage sendSomeMessage:withThisArg]
The progress bar shouldn't be "focusable" or changeable via dragging. I think you can add a connection for performClick: and return nil to disable clicking, but I haven't tried this. As for making it not focusable, I haven't looked into this, just a thought.

Let me know if you could use more assistance, thank you again.

Thank you for these, I will create another pull request after fixing this.

By the way I don't quite understand the second

Change the View logic to use the "public" setters and getters for knobImage — knobImage = someImage and [knobImage sendSomeMessage:withThisArg]

any details?

This will be of interest: iOS Setters and Getters and Underscored Property Names.
Basically, whenever you do something like @property NSObject *anObject;, it automatically synthesizes:

an instance variable _anObject which shouldn't really be used directly unless you use @property (readonly) NSObject *anObject;,
A getter with the same name; it's simply a message passed to the class instance that returns the instance variable -- e.g. [yourClassInstance anObject] or yourClassInstance.anObject (they are equivalent).
A setter with "set" prefixed to the property name, and the first letter in the property name capitalize -- [yourClassInstance setAnObject:anotherObject] or yourClassInstance.anObject = anotherObject.

So in general it's usually a good idea to use the setters and getters.

I think it is cool now :-).

@winny- How is this pull request going?

Hi, sorry about the delay.
The little knob doesn't appear be vertically aligned with its bottom edge on the bottom edge of the slider, like it did in the original pull. See the screenshot below:

It also looks like the dimensions are a little too wide when compared to iTunes' bar, what is your opinion?
Also, could it be possible to darken the completed length of the slider, since we're drawing it anyway? This is how iTunes' appears. If not, as long as you fix the knob alignment and the property issue, this is good to go.

I have some ideas to make the code a little bit simpler, but it's not very important as it's working fine. If you're interested I can try to elaborate on this well.

I definitely want to hear how to simplify the code.
The best part of it is you helped (are helping) me to improve my code. I'm learning and this is the first pull request I have ever made to external project and I got nice and detailed suggestions.

Sure thing. I will comment the commits inline. Let me know if you have any questions.
Welcome aboard, by the way! Have some cake. :cake: :cake:

Okay that should do it for comments. Sorry I may have went overboard. By the way if you need to reach me, it might be easier to PM me on Freenode -- my nick is winny.

I measured the color and the size of the one in iTunes (image above) and make exactly the same into Hermes (image below).

How do you think?

This is super cool. I really like how it turned out. I will review the code and test later today. Great job!

I have some cosmetic suggestions for the code. Everything is functioning and appearing in the UI perfectly. Please see my comments in the diff.

By the way, you mentioned earlier you used git reset --soft commit-before-this-pull to redo the commit. You should check out git rebase -i origin master (assuming this is the remote for the HermesApp/Hermes repository). It's a little bit safer and easier to use, in my opinion. Make sure to back up the repository before rebasing for the first time, as it does rewrite history.
More information here: https://help.github.com/articles/about-git-rebase/

I use git rebase -i HEAD~2 and change the second to squash, it works like a charm.
Thanks for your advice. I'm currently reading the book Clean Code, learning something like you said, I hope I can catch up soon.

Thanks again, look for your changes in a release shortly.

BTW, what do you think the UI change to something similar to this (based on iTunes mini player), a little simpler. I think the current one has too many buttons on the top with same level, and the link (the three arrows) doesn't convey the right information, it they are links they may need to looks like links.

Hermes definitely could use a major UI redesign. Drawers feel very 2000s, for starters. Any and all input is welcome. Please repost this information in a new issue about Hermes UI redesign, and we'll go from there.


Feature request: import suggestion only for current cursor

Hi, I’ve switched from nvim-typescript to coc recently and so far I’m quite happy but I’m missing one feature. I don’t really like auto imports, since they are quite often wrong in bigger projects. nvim-typescript provided a command :TSImport which suggested several possible imports for the identifier under the current cursor where you could then choose which one should be added to import statements of the current file. If there was only one suggestion, then the step of choosing something was skipped and the import statement was added directly.
Currently I have disable auto imports and add a :OR command which just runs organizeImports. Unfortunately this command also tries to import things for every unresolved identifier, even for still work-in-progress code that I want to change in the next minute. Additionally it seems like it sorts my existing import statements alphabetically, which is an undesired change for me.

Does code action work for you? Put your cursor on unresolved identifier and fire <Plug>(coc-codeaction-cursor), coc will list available imports.

You have to use codeActions

Nice,  I wasn’t aware of that feature. Thank you.


use hand cursor in view mode

And don't switch to move and related cursors when hovering over elements.
Not sure if regression or we haven't implemented it yet.

@dwelle can I take this one? I dug around for a bit and I've got an idea on how to fix.

Sure thing!


Use for SignalR backplane?

Was wondering if anyone has utilized this pub/sub library in a service fabric SignalR backplane scenerio?
Background here.
SignalR Issue

Not that I am aware of.  Sounds interesting, though.


Pinned column doesn't align on scroll with the rest of the grid

Scrolling to the bottom of the grid there's a difference between the pinned column and the rest of the grid .
Here is the plunker for it :
http://plnkr.co/edit/s36dFIFuqwsOHG1NnhVl?p=preview
And also a print for it:

@swalters: are you looking at this with your scrolling changes?  Assigning to you just in case you are.  :-)

This only happens where the body has a scrollbar, the pinned container doesn't, and the scroll event is over the pinned container.  The pinned container goes all the way to it's bottom, the body doesn't quite reach the bottom.  Scrolling over the body instead will get you all the way to the bottom.


Create searchJob page

Create an HTML code that will be used for job searching and filtering.

Move to #69


Missing ON/OFF and Mode Buttons

Hello,
I tried to install this fork in Hassio and it works!!!
But... I can't make a "normal" usage of this...

I'm still a newbie with HA but I would like to continue learning with this.
I attach a screenshot of the thermostat card on lovelace.

Which version of home assistant are you using?
Any errors mentioning Midea in the home assistant logfile?

On 4 Aug 2019, at 22:04, angelpriet<EMAIL_ADDRESS>wrote:
Hello,
I tried to install this fork in Hassio and it works!!!
But... I can't make a "normal" usage of this...

I'm still a newbie with HA but I would like to continue learning with this.
I attach a screenshot of the thermostat card on lovelace.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Which version of home assistant are you using? Any errors mentioning Midea in the home assistant logfile?
…

Home Assistant
0.94.3
And this is the log:
Mon Aug 05 2019 16:24:10 GMT+0200 (CEST)
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 121, in handle_call_service
connection.context(msg))
File "/usr/src/homeassistant/homeassistant/core.py", line 1150, in async_call
self._execute_service(handler, service_call))
File "/usr/src/homeassistant/homeassistant/core.py", line 1172, in _execute_service
await handler.func(service_call)
File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 194, in handle_service
required_features
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 316, in entity_service_call
future.result()  # pop exception if have
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 337, in _handle_service_platform_call
await getattr(entity, func)(**data)
File "/config/custom_components/midea/climate.py", line 282, in async_turn_on
await self.apply_changes()
File "/config/custom_components/midea/climate.py", line 92, in apply_changes
await self.hass.async_add_executor_job(self._device.apply)
File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/local/lib/python3.7/site-packages/midea/device.py", line 168, in apply
data = self._cloud_service.appliance_transparent_send(self.id, data)
File "/usr/local/lib/python3.7/site-packages/midea/cloud.py", line 173, in appliance_transparent_send
'applianceId': id
File "/usr/local/lib/python3.7/site-packages/midea/cloud.py", line 93, in api_request
return self.api_request(endpoint, args)
File "/usr/local/lib/python3.7/site-packages/midea/cloud.py", line 95, in api_request
raise RecursionError()
RecursionError

Aha! The minimum version of home-assistant for this component is 0.96.0
It should work when you upgrade hass :)


Add ModelSummary support for RichProgressBar

What does this PR do?

Fixes #<issue_number>
Does your PR introduce any breaking changes? If yes, please list them.

Before submitting

[ ] Was this discussed/approved via a GitHub issue? (not for typos and docs)
[ ] Did you read the contributor guideline, Pull Request section?
[ ] Did you make sure your PR does only one thing, instead of bundling different changes together?
[ ] Did you make sure to update the documentation with your changes? (if necessary)
[ ] Did you write any new necessary tests? (not for typos and docs)
[ ] Did you verify new and existing tests pass locally with your changes?
[ ] Did you list all the breaking changes introduced by this pull request?
[ ] Did you update the CHANGELOG? (not for typos, docs, test updates, or internal minor changes/refactorings)

PR review
Anyone in the community is welcome to review the PR.
Before you start reviewing make sure you have read Review guidelines. In short, see the following bullet-list:

[ ] Is this pull request ready for review? (if not, please submit in draft mode)
[ ] Check that all items from Before submitting are resolved
[ ] Make sure the title is self-explanatory and the description concisely explains the PR
[ ] Add labels and milestones (and optionally projects) to the PR so it can be classified

Did you have fun?
Make sure you had fun coding 🙃

@ananthsub Those are good points. As it was related to the RichProgressBar feature and has been decoupled into a separate PR, the feature was already part of the sprint plan. Anyway, creating a new issue to discuss a design change would be the ideal way to go.
Going through the linked Github issue, will add my comments there. Thank you for your feedback!

Hey @kaushikb11, @ananthsub,
Thanks for pointing this out @ananthsub. Let's make sure every new PR is tracked by an issue.
Also, I agree with Ananth there, the ModelSummary shouldn't own the rich printing.
Option 1 would be to enable a function to be passed to specify how to print the summary.

def summary_terminal_display(arrays, total_parameters, trainable_parameters, model_size):
    ...

class ModelSummary

    def __init__(
        self,
        model,
        mode: Optional[str] = None,
        max_depth: Optional[int] = 1,
        summary_terminal_display: Optional[Callable] = None
    )
        ...

        self.summary_terminal_display = summary_terminal_display

    def summarize(self):

        if self.summary_terminal_display:
            summary_terminal_display(...)

in callback_connector

ModelSummary(..., trainer.progress_bar_callback.summary_terminal_display)

Option 2 would be for the ModelSummary to print on summarize and just provide the data to be logged, this would be passed to the progress bar.
Best,
T.C

Hi @tchaton, we are taking a different approach! Closing this PR.
We have merged ModelSummary callback last week. We will subclass it and create a RichModelSummary callback and override the summarize method
Reference: https://github.com/PyTorchLightning/pytorch-lightning/commit/490a49340d2e963382fdc2aa0d7e554263103d15


Consistency checks need to be written for NCBI XML

never implemented and will be deprecated.

As long a we want to support the direct submission route to NCBI, we also need to support the XML templates. There is currently no consensus on deprecating them (#177).

Ok, I thought XML wasn't implemented, just the XLS templates.

@bussec close or add to 2.0?


Empty block formatting

Currently, hclfmt doesn't seem to allow the following formatting:
variable "foobar" {}

Instead, this will be changed to:
variable "foobar" {
}

This seems odd to me and I'm not sure if this is intentional.

This should be fixed with hashicorp/hcl#101.

Thanks @mssola for the notice. Closing this.


How to calculate the priority?

Previously, the add method used to calculate the priority and call the register method and we just had to pass a location string _begin, _end etc. As, the add method is now deprecated, how do I calculate the priority to pass to the register method?

In situations where it doesn't really matter whether one extension runs before or after another, remember that if multiple items are assigned the same priority, they all are run in the order in which they are added. Therefore, in most cases, assigning a priority which matches another extension is not likely to matter. In other words, you are probably putting more thought into it that is necessary. However, if you have a known conflict, you have the precision control available to guarantee that the conflict is avoided regardless of which order the user loads the two extensions.
Simply select a number which falls within the range. The builtin items all step by increments of 10 and the builtin extensions mostly use a priority half-way between them (numbers divisible by 5). However, a few extensions are known to need to be very early/late so they are assigned a priority much closer to the item before/after them (eg: 12 instead of 15). The less likely there will be items inserted before/after an item, the closer that items priority should be to the item before/after it.
Regarding items inserted as the begging or end, any number higher or lower than the highest or lowest should be fine. Again, the builtin extensions mostly use a number divisible by 5 (5 higher/lower than the first/last item).

Let's say I have an extension that needs to be the first preprocessor to be processed. I see the highest priority 30 for NormalizeWhitespace. Now, I can't just choose a number based on that, because it's not dynamic. Let's say I choose 35 which will work for now, but in a later update you add another one with 40 which will break mine.
I can't choose a much higher number either. For example, a higher number like 9999 would work as long as someone else doesn't decide to put 99999. And the thing is, user will have no control over it. With the add method _begin, a user can just load the extension earlier or later (to get the right priority) and get the right behavior.

Regarding items inserted as the begging or end, any number higher or lower than the highest or lowest should be fine

I want to know, how can I get the highest or lowest..

You are still overthinking it. Don't worry so much about what future extensions might do.

With the add method _begin, a user can just load the extension earlier or later (to get the right priority) and get the right behavior.

I never saw that as an acceptable solution. It should never matter which order the user loads extensions. And to add complexity, the order of execution was opposite of the order extensions were loaded. My assumption is that users will always get this wrong and therefore I never relied on it. In my extensions, I would check if another extension with a known conflict was already loaded and acted accordingly.
The new way is much simpler. I can set the priority on my extension to not conflict with any known extensions. Now that I have set my priority, then any future extensions which conflict with mine are responsible to set their priority to not conflict with mine. If all extension devs respect that convention, there should be no problems.
As a reminder, you can use floats so there is an infinite number of possible priorities even when not at the beginning or end. Therefore, even with multiple known conflicts, an extension can always be inserted exactly where it needs to be--without requiring the user to load things in any specific order.

Well, I like this now. Setting the priority myself seems I have more control over it. Thanks for the explanation and for a great project like this.
Regards,
Jahid.


Distinguish voc and voi in heatmap y axis

Resolves #67
Currently voc are bolded and voi are italicized
Will try to add legend


Fixes Dot Plot categories and values problem

Now:

Before:

updated visual has been verified by pbi team internally and looks good


[Website update] Common top-navigation and footer

Is your feature request related to a problem? Please describe.
Currently, the project-website repo & documentation-website repo contain duplicates of the top navigation menu, as well as the footer. This becomes a problem every time we update the menu on the project-website as duplicative work needs to happen on the documentation-website
This is also an issue where our forum (https://forum.opensearch.org/) has a different set of top-nav & footer. To have a common user experience across the different properties, the forum should have the same top-nav & footer as the project-website repo.
Describe the solution you'd like
All top-nav menus and footers should be common and be read directly from the project-website repo. This would mean changing the documentation-website repo to only pull it's theme and navigation from the project-website. This would also mean building a solution for the forum, running on Discourse, to pull in the common top-nav and footer from the project-website repo.

Thanks, Kris! We desperately need this. @KrooshalUX - is this on your radar to design?

@AMoo-Miki - Miki, is this technically feasible given our current stack today? Or is this something we'll need to continue to do provisionally across the different web properties?

@hdhalter yes, the shared nav UI was identified as a starting point in the discovery meeting for the content component library. @krisfreedain -  Lets do a follow up next week to discuss timing and prioritization, I'll include Carlos (unable to tag in GH for some reason)

While a uniform header and footer is indeed possible for the website and docsite, I am not sure how customizing the forum header and footer are achieved.

@krisfreedain - Is there any way we can move up the priority level? It would be a huge usability improvement to the site. If there are designs being discussed, can I get a preview? Thanks.
The navigation is completely different when you move from other pages in the website:

To the documentation page:

@hdhalter OSDS is launching a documentation website which is the testing ground for a new theme, page templates and components that will be shared with .org and Docs.
We are currently in the requirements gathering phase for OWL (OpenSearch Web Library, repo & project plan coming soon from OpenSearch Design System)/ @kolchfa-aws submitted her list today and there is another set coming from the .org side as well.  Page templates and the shared component library (OWL) should address this issue.
As soon as I get both sets of requirements, I will be mashing them together to make a master list against my Design System documentation website requirements, and then we will kick off the meeting series for the project. I imagine we might close some issues in this repo in favor of ones in OWL to build these components, and the tasks here will be related to implementing them.

We may need to make some changes to the Documentation bar in the next couple of weeks to incorporate something we need to do on our side (adding a new, "separate" site for Data Prepper ). Should we go ahead and make our changes - and while we're at it update the nav menu? In any event, we'll want to review the requirements for the common header nav pane to ensure we know what is coming vs. what we may need to provide on a separate documentation menu.

@nateynateynate - can we assign this to you? It should be a small change to the Doc site template to just reference the menu on the .org site - you up for that?

Hi @nateynateynate - we also need to make the footer common. They are not in sync at the moment. Until we can get the common page, can we get the navigation menu and the footer menus consistent? Thanks.


add enterFullscreen functionality for video_player_web

Entering full-screen mode operates differently on the web compared to other platforms because the screen is confined by the browser frame. To enable full-screen mode on the web, expose an 'enter full-screen function so that other packages built on top of video_player can use it and support full-screen on the web.

@michalkubizna
There's similar issue in which you can follow-up for further updates and may share your views / thoughts in it.
Closing this as duplicate. If you disagree, write in comments and I'll reopen it.


2<IP_ADDRESS>1

This pull request includes various code cleanup and formatting improvements across multiple files. The changes primarily focus on improving code readability and maintaining consistency in the codebase.
Code cleanup and formatting:

Makefile: Removed unnecessary blank lines to clean up the file.
src/population.c: Combined lines to improve readability in the p2d_breed function by placing the while condition on the same line and combining lines for max_syn_count and inhexc_ratio assignments. [1] [2]
src/unknown.c: Reformatted conditions and assignments in the c2d_tick function to improve readability by combining lines and ensuring consistent indentation. [1] [2] [3]
src/unknown.h: Corrected the end-of-file comment to match the file name.

(Updated) This pull request includes several changes aimed at code cleanup and improving readability in the src directory, as well as updates to the dependency review workflow.
Code Cleanup and Readability Improvements:

src/population.c: Combined lines in the p2d_breed function to improve readability. [1] [2]
src/unknown.c: Reformatted long lines in the c2d_tick function to make the code more readable. [1] [2] [3]
src/unknown.h: Removed redundant comment to clean up the header file.

Dependency Review Workflow:

.github/workflows/DEPENDENCY_REVIEW.yml: Removed unnecessary configuration options from the dependency review action.

Miscellaneous:

Makefile: Removed unused flags and cleaned up spacing to improve maintainability.

(Updated) This pull request includes several changes to workflows, code formatting, and minor bug fixes. The most important changes include adding a new project management workflow, creating a tagging workflow, and removing unused parameters from the dependency review workflow.
Workflow Enhancements:

Added a new project management workflow to manage the GitHub project board from issue and pull request events (.github/workflows/PROJECT_MANAGEMENT.yml).
Created a new tagging workflow to automatically tag merged pull requests (.github/workflows/TAG.yml).
Removed unused parameters from the dependency review workflow (.github/workflows/DEPENDENCY_REVIEW.yml).

Code Formatting and Cleanup:

Improved code formatting and readability in src/population.c and src/unknown.c by merging lines and fixing indentation. [1] [2] [3] [4] [5]
Updated the LICENSE file to reflect the correct copyright information.
Corrected a comment in the unknown.h header file.


About data interpretation

Hi,
I want to know how can I understand how the expression of a gene changes with age in a particular tissue from tubula Muris Senis. Is there any information available online which I can refer to understand it.
I tried selecting the tissue/age/gender/cell type/gene I am interested in. It just seem same to me and not understandable.
thanks!

@VP0521 did you check out online data portal?
https://tabula-muris-senis.ds.czbiohub.org/
feel free to reach out by email if you want to schedule a call

@VP0521 did you check out online data portal?
https://tabula-muris-senis.ds.czbiohub.org/
feel free to reach out by email if you want to schedule a call

Hi, Can I get your email ID to contact you?

@VP0521 did you check out online data portal?
https://tabula-muris-senis.ds.czbiohub.org/
feel free to reach out by email if you want to schedule a call

@aopisco Hi, Can I get your email ID to contact you?


Missing info in section: Migration from the previous model to the carrier trunk

We're testing the migration from the previous to the new carrier trunk model and have found that there's a missing part in the documentation.
We get an error message upon attempting to run Remove-CsOnlinePSTNGateway :
Can not remove 'OnlinePSTNGateway', linked 'OnlineVoiceRoute' exists.
Use 'Remove-CsOnlineVoiceRoute'
Can the documentation be clarified? It's necessary to wait a few hours before attempting to remove the PSTN Online Gateway

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

ID: 1cb0c2ef-6274-9167-ecc6-3695d7460a8d
Version Independent ID: aacf7318-02fc-a1c3-369c-65e6936fdb3c
Content: Configure a Session Border Controller for multiple tenants
Content Source: Teams/direct-routing-sbc-multiple-tenants.md
Service: msteams
GitHub Login: @CarolynRowe
Microsoft Alias: crowe

@nfon-christophe Thank you for reaching out and helping improve MS Docs.  Are you suggesting adding a note to mention that it's important to wait a few hours before attempting to remove the PSTN Online Gateway in the article?

@lindspea Yes I was. When we originally tested the change on our dev environment, we added the PSTN Online Gateway to the carrier tenant, the tested that direct routing for customer tenant was still working. That took circa 45 minutes. We then proceeded to remove the PSTN Online Gateway from the customer tenant and received an error message stating that the gateway was still used in an online voice route. As the time required for sync to fully complete seems to be very different depending on the changes being made, it would be useful to have some guidance from Microsoft on how long we should wait before proceeding to the next stage

@nfon-christophe Thank you for submitting feedback. We understand that this issue has been resolved.
Please feel free to re-open this issue if there is a specific area of the docs that we can improve or make better. Thank you.

@CarolynRowe


Parser should allow missing values in named arguments

func(a =, 'yes' = ) is legal and should not be producing errors about missing values.

#1285


Fix: remove getPackageID() packageIds check

In templates.js, the function _getPackageID() has strange check. We need to figure out why it will be failed the test if we remove it:
function _getPackageID(namespace, packageIds, resourceType) {
    //TODO: without this check, it will be failed in ordPackageJson.test.js, need to check why it is failing
    if (!(packageIds instanceof Set)) return;
    const packageIdsArray = Array.from(packageIds);
    return packageIdsArray.find((pkg) => pkg.includes("-" + resourceType)) || packageIdsArray.find((pkg) => pkg.includes(namespace));
}

Hi @aramovic79, do you know why it failed? Or what the root cause of it?


[CORE-11519] Update ecosystembar to new design

Question: Should we update the components package version to 8.0.0 so that updates in BIZ and ORG dont fetch this design change automatically?


unit-test: Add the data race unit test

Create the unit test for data race detecting.
Signed-off-by: Chih-En Lin<EMAIL_ADDRESS>

@jack80806
Our project is almost finished.
This PR will complete the data race of the unit test.
The data race of the unit test here explains how we use the UCSAN to detect the data race occurs.
Please review this PR.
Thanks.


Add interventional TreeExplainer

Add the interventional interaction method from this paper. This would be another algorithm accessible through the TreeExplainer. The method should work with our TreeModel data structure (potentially extend TreeModel). This would be a big selling point for the paper and the package.

The interventional treeshapiq is a quite straight forward algorithm with our data model and would be a valuable addition.


Fix disappearing connections after browser refresh in Theia #530

Signed-off-by: Shimon Ben.Yair<EMAIL_ADDRESS>This PR fixes the problem that after adding a new connection (for example sqlite/hana) it is being saved in the settings.json and is displayed ok,  but after refresh it disappears.
Close #530

Thank you for your contribution!
Before submitting this PR, please make sure:

[x] Your code builds clean without any errors or warnings
[x] You have made the needed changes to the docs
[x] You have wrote a description of what is the purpose of this pull request above

@mtxr
Can you please code review and merge this pull request ?

@ShimonBenYair I'll do this tonight. In a hurry here

@ShimonBenYair your PR looks fine, although I'ld rather prefer if we could call explorer.updateTreeRoot() in the last line of https://github.com/ShimonBenYair/vscode-sqltools/blob/missingconnections/packages/plugins/connection-manager/extension.ts#L632 instead of making explorer public. This changed in another branch, so if you can move this call to the register method, it should have the same effect and will make easier for me to resolve conflicts in the other branch
How does it sound?

@mtxr
done, please merge

@mtxr
Do you know when 0.21.8 version will be released ?

Today EOD
On Wed, May 6, 2020 at 9:10 AM ShimonBenYair<EMAIL_ADDRESS>wrote:

@mtxr https://github.com/mtxr
Do you know when 0.21.8 version will be released ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/mtxr/vscode-sqltools/pull/554#issuecomment-624611620,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFMX2LJH25VO2WCNEKQAPTRQFHR7ANCNFSM4MYTR6YA
.

Today EOD
…
On Wed, May 6, 2020 at 9:10 AM ShimonBenYair @.***> wrote: @mtxr https://github.com/mtxr Do you know when 0.21.8 version will be released ? — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub <#554 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAFMX2LJH25VO2WCNEKQAPTRQFHR7ANCNFSM4MYTR6YA .

The new version was not released right ?


Queues

ttaylorr@taylor-mbpro redutil (feature/queue) $ go test ./queue/
ok      github.com/WatchBeam/redutil/queue      1.021s

Looks good, nice work :smile:


How to connect the GPS Xexun TK103-2 or GPS quecklink  GL300 with Traccar

I tried to set both devices to connect to the platform but no documentation is good enough mind to give some signal on the platform traccar, help me please.

Are you sure you configured devices correctly? Do they send any data? Are you sure network is configured correctly (router/firewall)?


Added geeksforgeeks to the problem sets for competitive programming

geeksforgeeks.org is a great website for interview preparations and problem sets ;)

The https version of this site doesn't load for me. http works though.

i have now corrected the error will work now :)


concatenating files

I'm not sure if this should go here or to the main fsspec repo.
I'd like to use the reference filesystem to concatenate pieces. That is, for one reference, I'd like to specify a list of things to join together for making up a new file in stead of just having a single pointer. This could roughly look like:
"refs": {
      "key0": ["data", ["http://target_url", 10000, 100]],
      "key1": [["http://target_url", 10000, 100], ["http://{{u}}", 10000, 100]],
    }

etc... Using that method, one could completely rearrange existing files.
In my current application, I'd like to join existing chunks of uncompressed netCDF file into a single larger chunk to be used within zarr.

A potential issue might be, that the following would become ambiguous:
"refs": {
      "key0": ["https://test"],
    }

This could refer to either just a single piece of raw data containing the text "https://test" or a reference to the entire object behind the link. However, it should be possible to disambiguate this, by defining that single-element raw data blocks must always be written without the list.

In principle, this would be fine to do, and obviously it wouldn't bee too complicated to implement. Maybe even it opens up more types of intra- and inter-file data organisation. It would need a change both in the kerchunk repo (where the contents of a references JSON is described) and in fsspec (for using these).
Before all that, though, I am surprised that you might need to do this. Can you describe further the structure of your netCDF file? Actually, it all sounds rather like zarr's sharding model.

However, it should be possible to disambiguate this, by defining that single-element raw data blocks must always be written without the list.

That is already the case

Before all that, though, I am surprised that you might need to do this. Can you describe further the structure of your netCDF file? Actually, it all sounds rather like zarr's sharding model.

I've got a series of netCDF files which I'd like to concatenate using Kerchunk. Unfortunately, while those files logically fit together, some of them have been created using different internal chunkings. While I could in principle find the smallest common chunk size and use those for all of the files (I've to admit I didn't think about this when writing the original issue), this would significantly increas the size of the resulting references file. If I could instead join some of the oddly shaped chunks into larger chunks, I could stick with the smaller references file (which still is about 400MB of JSON in this case).

Interesting. So this only works if the chunks are uncompressed, right? Or do you think the kerchunk layer should also be able to call numcodecs directly?

Yes, this only works with uncompressed stuff (which it luckily is in my case).
Calling numcodecs sounds like a bit of an overkill for kerchunk... But maybe it isn't? Probably calling an arbitrary transformation function on a block of data would be the next step of generalization after flexible byte rearrangements.
The other option (for my use case) would be to have more flexible / irregular chunking in zarr, but that probably comes at a performance penalty (e.g. O(1) chunk index calculations won't be possible anymore). As kerchunk already copes with relatively irregular data, kerchunk might indeed be a better place for such things.

OK, I am convinced that this is a reasonable thing to do, worth the extra flexibility at a small complexity cost.
I think it might be worthwhile to also define a couple byte block combination schemes, with simple "concat" being the default. This would allow for a numcodecs filter to be applied to each chunk before concatenation. Also, we would think about whether we need to declare the (uncompressed?) sizes of each block, so that if someone wants to cat only part of a virtual file, we don't need to load all subchunks. That will be important when zarr is able to pass intra-chunk selection down to the storage layer.

Yes, we'll definitely want to have the sizes of the pieces to be concatenated (for partial loads). For uncompressed things, this would be the size of the blocks themselves. In that case something like:
[["path", offset, size], ["path", offset, size], ["path", offset, size], ...]

would do the trick, but offset and size would be mandatory.
We could think of adding a fourth item to the inner lists, which could be a function (or maybe just an identifier for now) and then maybe a fifth which could be the resulting size after function application (e.g. after decompression). But I'm wondering if we'd want to continue by adding more and more items to the list (which would often use less space) or if we want to make it a dictionary? ... so far, the order ["path", offset, size, function, final_size] seems to be a reasonable order (e.g. you'll never need the final_size without the function, but there may be cases in which the function doesn't change the size, so one could skip the last element).
We might be able to re-use the template-system to compress the things going into the function part 🤷 .
I'm wondering if we'd also want something which operates on all chunks at once? But probably we don't need that, because that could be handled by the users (e.g. zarr). Although I'm wondering if I captured what you've had in mind with other "block combination schemes"?

We might be able to re-use the template-system to compress the things going into the function part 🤷 .

Compression of JSON is pretty good, and decompression/parsing often faster than applying templates in python (it's part of what compression does!). Zstd seems consistently the best one of the common ones.
In the end, we want to store in something other than JSON to allow for lazy, chunk-wise loading of the references themselves for very large datasets. I am not certain how to achieve that. I wonder if the existing schema could be rationalised to parquet; but that's only worth doing if the many many strings can be stored without interleaved sizes or in "delta" mode.

Although I'm wondering if I captured what you've had in mind with other "block combination schemes"?

Yes, you understood me

I wonder if the existing schema could be rationalised to parquet

Putting the references into parquet is pretty awesome! I've tried to pack my 491MB JSON mentioned above to parquet and it turned out to be only 19MB :+1: and it doesn't need any templating. Just gzipping the JSON compressed to 40MB, which is also good, but parquet definitely looks better.
I'm wondering if we'd even have to care to translate the entire model (including templating and generators) to parquet, or we'd just use the builtin columnar compression, which seems to work out nicely.
We could probably replace the need for lists of references per key by repeated row-keys in the parquet table. E.g.:
{
    "a/b": [["foo", 12, 4], ["bar", 122, 123]],
    "a/c": ["baz", 5, 6]
}

could translate to:

key
path
offset
size

a/b
foo
12
4

a/b
bar
122
123

a/c
baz
5
6

We could append function and final_size as additional columns.

... rethinking this a bit:
Using repeated keys only would make the table sensitive to its order, which might not be what we want. We could lift this by adding another column which would define the order. This could either be just an ordering key, or it could be something like a taget_offset, e.g. specifying the resulting byte-offset in the assembled (virtual) files.

Using repeated keys only would make the table sensitive to its order, which might not be what we want. We could lift this by adding another column which would define the order. This could either be just an ordering key, or it could be something like a taget_offset, e.g. specifying the resulting byte-offset in the assembled (virtual) files.

Actually, parquet covers this directly by having a nested schema structure. Union types are possible, but rare, so in practice it would mean that you always have a list-of-lists, even if the lenth of the list is 1. This still gives you exactly the same amount of data packing. Note that this packing is likely much worse for the case that the embedded URLs are of a more typical length like "http://server.com:port/path/to/data". That's why parquet's delta-length and delta-string encodings would be very useful. In arrow's list, DELTA_BINARY_PACKED is given as read-only. fastparquet doesn't have this at all, but could easily (r/w), if we can find some sample files for testing.
However, the actually problem is on the python side. Do we want to walk the data structure and build python lists at load time? Probably not. We could use awkward to keep the data in original vectorised arrays; or maybe pandas compound indexes can save us. Either way, it makes things much more complicated!

Note that this packing is likely much worse for the case that the embedded URLs are of a more typical length like "http://server.com:port/path/to/data".

I'm not sure, if I fully get this. I've had the impression that the example above has already quite a reasonable compression (491 MB -> 19 MB, which is 4%) and was referencing a bunch of netCDF files using absolute (local) filesystem-pathes of (I'd say) a typical length. However, as I just stored them using pandas.DataFrame.to_parquet() with default options, I don't really know how it was compressed. Unfortunately, I currently have no access to the machine I tried it on, so I can't provide further details on that test.
... of course, if DELTA_BINARY_PACKED would provide an even better compression ratio, I wouldn't say no :-)

I've had the impression that the example above has already quite a reasonable compression (491 MB -> 19 MB, which is 4%)

I mean the you will probably not do this well when the strings are a bigger fraction of the total data.
I wonder how we could combine parquet with lazy lookups and filtering on values and columns (i.e., only load what you need). Maybe I am thinking too far ahead.
How many keys in a 491MB JSON file?

How many keys in a 491MB JSON file?

Unfortunately, I currently can't look this up, maybe tomorrow.
But the typical len(path) of each reference was about 80-90 bytes and I'd estimate that I've had roughly 4e6 keys.

I wonder how we could combine parquet with lazy lookups and filtering on values and columns (i.e., only load what you need). Maybe I am thinking too far ahead.

This would be great. Probably I don't know enough about parquet to be of help here, so I'm just thinking out loud.

Probably one would like to chunk the table up in sorted (?) key-space.
Then for each key-space chunk one would like to know the first and last key early on, such that one can determine wich chunks of the key-column to fetch, once a given key is requested.
Afterwards, one could sub-select row-indices, based on the location of the key within that chunk, but that probably doesn't help with fetching, because the other columns are also stored columnar, so one would also fetch the other columns simultaneously with the key.

If this would be a useful line of thinking, then this looks like either a partitioned parquet (but I don't know if this is possible on ranges instead of unique values), or like a bunch of individual parquets and a meta-parquet referencing the ones below...
Another question would be: how much does this help in reality? For this to work, the fraction of requested chunks should be low, but that depends a lot on the ordering and the access pattern of the key-space... My gut feeling would say, we'd need more than 1e8 - 1e9 keys for this to start becoming useful. But maybe that's not an unreasonable number.

Yes, exactly that kind of thing. If the key column is ordered, parquet can keep hold of the max/min in each "row group" to allow only loading certain parts for a given request of keys. You can even partition by directory structure, so you could to some extent mirror the dataset directory layout. As you say, none of this is too important in the ~10**6 keys regime, but maybe it will be eventually. I wonder how well/fast pandas' indexing copes with possibly multiple rows matching a key label: maybe it's fast, and maybe it can take advantage or odering.

How many keys in a 491MB JSON file?

I've had 4098642 keys in that JSON file of which I've written 4098603 into the parquet (the others were inline-keys and thus didn't fit the tabular layout).

Note that the non-key data and inlined keys would fit naturally into parquet's user key-value metadata store (so long as it's relatively small).

Note that the non-key data and inlined keys would fit naturally into parquet's user key-value metadata store (so long as it's relatively small).

Perfect! Yes, I'd suspect that for most use cases, the inlined keys should be a tiny fraction of the keys. Probably it will be best to just do a lookup for both: first into a small kv-store with inlined keys and then into the large table of references.


[BAT] fix issues

Coverage decreased (-0.07%) to 54.753% when pulling 4d5f8d3b8086c869fe3f1cff4ed3e3a246a27cac on wy65701436:fix-interceptor-issues into c71eafabd71a44bbc71286d3c35f0600b065d6d3 on vmware:master.

Coverage decreased (-0.1%) to 54.681% when pulling 2dd13d278fb69864d98279f41a958c36345a4d25 on wy65701436:fix-interceptor-issues into c71eafabd71a44bbc71286d3c35f0600b065d6d3 on vmware:master.


Add OWNERS files

Hi all!
This is a note to let you know that this repository is now ready to receive your contributions!
As some of you may now I've been working in
https://github.com/kubeless/kubeless/issues/762 to make it easier for you and external people to contribute and develop Kubeless runtimes.
With this PR we are granting you write access to this repo so you can review/merge PRs for the runtimes you own.
Please check the Contributing and Developer guide and let me know if you have any question.
Also let me know if you want to add anyone to the OWNERS list.
Thank you a lot for your contributions to Kubeless!
Best regards,
cc/ @allantargino @anuruddhal @cscheiber @Henrike42 @joek @murali-reddy @paolomainardi  @prydonius

Thanks a lot @andresmgot

Thanks a lot @andresmgot
LGTM +1

That's awesome. Thank you very much @andresmgot !
LGTM!


Failing image

Hey :smile:
This image is throwing an out of memory exception :
https://github.com/cosmo0/ImageProcessor/blob/failing-image/test5.jpg
It has a pretty big resolution (9387 x 12701) but a pretty medium size. I'm guessing it's a scanned photo.
Thanks :)

For information, it seems that the developers using the library were loading the image into a byte buffer, and then reading this buffer into a stream. So many data duplication! Reading the file directly into a file stream seems to be solving the issue.
I will keep you updated on the matter, but I think it's just an implementation problem.

Yup... That'll do it. That makes much more sense now. Thanks for the update.

Another failing image, this time reading directly from the file. It's a pretty heavy application (at that point it has already ~300Mb memory used and not even started to load the images), but it's the ImageFactory.Load part that triggers the OutOfMemoryException. I'm still investigating.

Since it's not related directly to the library I'll close the issue.


Stub not being called

I'm setting up a stub in an Specta spec that isn't getting called. Here's the code I'm using:
it(@"should request splashes", ^{
    __block BOOL success = NO ;

    [OHHTTPStubs stubRequestsPassingTest:^BOOL(NSURLRequest *request) {
        return [request.URL.host<EMAIL_ADDRESS>    }
                        withStubResponse: ^OHHTTPStubsResponse *(NSURLRequest *request) {
                            NSData *stubData = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"findSplashesResponse" ofType:@"txt"]];
                            NSDictionary *standardHeaders = @{ @"Content-Type":@"text/html"};
                            return [OHHTTPStubsResponse responseWithData:stubData statusCode:200 headers:standardHeaders];
                        }].name = @"findSplashes.php";
    [OHHTTPStubs setEnabled:YES];

    [client<EMAIL_ADDRESS>      parameters:@{ @"hash": [client hashString],
                    @"lat":[NSString stringWithFormat:@"%f", vt.coordinate.latitude],
                    @"long":[NSString stringWithFormat:@"%f", vt.coordinate.longitude],
                    @"radius":@"1600" }
         success:^(NSURLSessionDataTask *task, id responseObject) {
             NSString *response = [[NSString alloc] initWithData:(NSData *) responseObject encoding:NSUTF8StringEncoding];
             success = [response<EMAIL_ADDRESS>? YES : NO;
         }
         failure:^(NSURLSessionDataTask *task, NSError *error) {
             success = NO;
         }];

    expect(success).will.beTruthy();
});

client is a singleton instance of an AFHTTPSessionManager from AFNetworking 2.0. Strangely, this test and other similar tests were passing originally--I don't know what I've done to break them! When the POST request is made, I can check that OHHTTPStubs.sharedInstance is the same as when the stub was created. I've added the +[OHHTTPStubs setEnabled:] call per other issues here. The block passed as thestubRequestsPassingTest:` parameter is never executed--all requests hit the network. Any ideas? Thanks!

I already have the host application set to "None" (I'm testing a Framework).
The test block is called for requests other than my own (e.g. host: static.realm.io), but not for mine. Instead, I get NSURLErrorCancelled...

Background sessions are handled by the system itself, we can't hook on them as they are performed out-of-process and thus or of reach for interception. See the "limitations" section in the README.

@AliSoftware Thank you, I missed that.
I'll be using the default session for my unit tests (Can't unit-test background downloads anyway).


feat: fetch all organization contributors for home page

Added a new script to fetch all contributors for all organization repositories. I decided to store them into a new data file - tell me if it's OK. The script reuses libs-data.json, to save on requests to GitHub. It might also be a good idea to move prefetched data to a separate folder (like data) but i wasn't sure.

It might also be a good idea to move prefetched data to a separate folder (like data) but i wasn't sure.

Yes, it would be better.

It might also be a good idea to move prefetched data to a separate folder (like data) but i wasn't sure.

Yes, it would be better.

Done.


New version: Lapce.Lapce version 0.2.8

[X] Have you signed the Contributor License Agreement?
[X] Have you checked that there aren't other open pull requests for the same manifest update/change?

[X] Does your manifest conform to the 1.4 schema?

Microsoft Reviewers: Open in CodeFlow

Automatic Validation ended with:

Exception during executable launch operation System.AggregateException: One or more errors occurred. (The specified executable is not a valid application for this OS platform.)  ---
System.ComponentModel.Win32Exception (216): The specified executable is not a valid application for this OS platform.


Project maintainer

Hi,
I'm the current maintainer of the riak-haskell-client package and found this project linked off hackage as a dependency. If the comment in the README is correct I'd like to see if you're still interested in offloading the maintainership of this package.
As a minimum I'd like to update it to a recent version of riak, update the various deps like lens and generally ensure it works as described for snap.
Cheers

Whoops! Sorry, only just saw this message. I would be more than happy to transfer ownership of this package - what's the best way to do that?

Heh, no worries. I think adding me as a maintainer on hackage would be sufficient, if that's cool (lambda_foo / https://hackage.haskell.org/user/lambda_foo). I can then upload new versions etc.
What do you think about switching the official git repo to my fork?

Sounds good - I've had to email the hackage admin to reset my account
though - I haven't logged in for a while. Switching the official repo
sounds like a good idea too - much less confusing to have it under the
maintainer's name!
Will let you know once I get my account back heh
On Fri, Apr 8, 2016 at 1:31 AM, Tim McGilchrist<EMAIL_ADDRESS>wrote:

Heh, no worries. I think adding me as a maintainer on hackage would be
sufficient, if that's cool (lambda_foo /
https://hackage.haskell.org/user/lambda_foo). I can then upload new
versions etc.
What do you think about switching the official git repo to my fork?
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/statusfailed/snaplet-riak/issues/2#issuecomment-207148679

Hi again,
Sorry about the delay- I've added you to the maintainers list. I think you
should be able to change the official repo now - let me know if that's all
OK!
Cheers!
Paul
On Fri, Apr 8, 2016 at 11:46 AM, status failed<EMAIL_ADDRESS>wrote:

Sounds good - I've had to email the hackage admin to reset my account
though - I haven't logged in for a while. Switching the official repo
sounds like a good idea too - much less confusing to have it under the
maintainer's name!
Will let you know once I get my account back heh
On Fri, Apr 8, 2016 at 1:31 AM, Tim McGilchrist<EMAIL_ADDRESS>wrote:

Heh, no worries. I think adding me as a maintainer on hackage would be
sufficient, if that's cool (lambda_foo /
https://hackage.haskell.org/user/lambda_foo). I can then upload new
versions etc.
What do you think about switching the official git repo to my fork?
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/statusfailed/snaplet-riak/issues/2#issuecomment-207148679

Looks ok, cheers. I'll prep an updated version of the package that supports the latest Riak driver when I have a chance this week.


check-contents misses some (but not all) errors when @flow pragma is omitted

For simple errors, check-contents correctly fails regardless of
whether the input stream contains // @flow:
$ cat a.js
const x: number = "WAT";
$ <a.js yarn flow check-contents >/dev/null 2>&1; echo $?
1
$ cat header.js
// @flow
$ cat header.js a.js | yarn flow check-contents >/dev/null 2>&1; echo $?
1

But some kinds of errors are only surfaced when // @flow is included,
even if we pass the --all argument:
$ cat b.js
interface I {
  f(x: number): string;
}
class C implements I {
  f(x) {
    return x.length;
  }
}
$ <b.js yarn flow check-contents >/dev/null 2>&1; echo $?
0
$ <b.js yarn flow check-contents --all >/dev/null 2>&1; echo $?
0
$ cat header.js b.js | yarn flow check-contents >/dev/null 2>&1; echo $?
1

These can interact in the same file:
$ cat a.js b.js | yarn flow check-contents 2>&1 | grep Found
Found 1 error
$ cat a.js b.js | yarn flow check-contents --all 2>&1 | grep Found
Found 1 error
$ cat header.js a.js b.js | yarn flow check-contents 2>&1 | grep Found
Found 2 errors

Note that adding all = true to the [options] setting of
.flowconfig fixes the problem. This doesn’t seem like sufficient
justification for the behavior, though, because (1) --all option is
documented to “ignore absence of an @flow pragma”, which it clearly
does not, and (2) it is extremely surprising that check-contents
should ever ignore errors in its input, which it is explicitly being
asked to check!
Setup in all cases:
$ cd "$(mktemp -d)"
$ yarn init -y
$ yarn add<EMAIL_ADDRESS>$ yarn flow init

The issue is likely fixed a long time ago


Problems with zlib

When trying to write PDF document I get following error:

TypeError: Object # has no method 'deflate' at
PDFReference.finalize (/usr/local/lib/node/.npm/pdfkit/0.1.5/package/lib/reference.coffee:54:33)

Here's the line in reference.coffee:

data = new Buffer(data.charCodeAt(i) for i in [0...data.length])
compressedData = zlib.deflate(data)

I've checked object zlib and it has the method 'deflate' but it named 'Deflate' now (with capitalised first letter).
Versions<EMAIL_ADDRESS><EMAIL_ADDRESS>

Hmmm. Are you sure you're on the most recent zlib version (installed via npm)?  It is working for me and the source code for zlib says "deflate" not "Deflate".  Can you try uninstalling and reinstalling the zlib module with npm?

I've just noticed, that I get some warnings in node-zlib.cc while installing pdfkit

npm uninstall pdfkit
...
npm info uninstall<EMAIL_ADDRESS>complete
npm ok

npm uninstall zlib
..
npm info uninstall<EMAIL_ADDRESS>complete
npm ok

npm install pdfkit
npm info it worked if it ends with ok
npm info using<EMAIL_ADDRESS>npm info using<EMAIL_ADDRESS>npm info range<EMAIL_ADDRESS>npm info preinstall<EMAIL_ADDRESS>npm info preinstall<EMAIL_ADDRESS>Nothing to clean (project not configured)
Setting srcdir to                        : /usr/local/lib/node/.npm/zlib/1.0.5/package
Setting blddir to                        : /usr/local/lib/node/.npm/zlib/1.0.5/package/build
Checking for program g++ or c++          : /usr/bin/g++
Checking for program cpp                 : /usr/bin/cpp
Checking for program ar                  : /usr/bin/ar
Checking for program ranlib              : /usr/bin/ranlib
Checking for g++                         : ok
Checking for node path                   : not found
Checking for node prefix                 : ok /usr/local
Checking for library z                   : yes
'configure' finished successfully (0.869s)
Waf: Entering directory `/usr/local/lib/node/.npm/zlib/1.0.5/package/build'
[1/2] cxx: src/node-zlib.cc -> build/Release/src/node-zlib_1.o
../src/node-zlib.cc: In function ‘v8::Handle ZLib_deflate(const v8::Arguments&)’:
../src/node-zlib.cc:82: warning: left-hand operand of comma has no effect
../src/node-zlib.cc: In function ‘v8::Handle ZLib_inflate(const v8::Arguments&)’:
../src/node-zlib.cc:83: warning: left-hand operand of comma has no effect
[2/2] cxx_link: build/Release/src/node-zlib_1.o -> build/Release/zlib_bindings.node
Waf: Leaving directory `/usr/local/lib/node/.npm/zlib/1.0.5/package/build'
'build' finished successfully (0.784s)
npm info install<EMAIL_ADDRESS>npm info postinstall<EMAIL_ADDRESS>npm info preactivate<EMAIL_ADDRESS>npm info activate<EMAIL_ADDRESS>npm info postactivate<EMAIL_ADDRESS>npm info install<EMAIL_ADDRESS>npm info postinstall<EMAIL_ADDRESS>npm info preactivate<EMAIL_ADDRESS>npm info activate<EMAIL_ADDRESS>npm info postactivate<EMAIL_ADDRESS>npm info build Success<EMAIL_ADDRESS>npm info build Success<EMAIL_ADDRESS>npm ok

Well, the problem caused by node version v0.5.8, where zlib is included in API.

Oh, interesting.  I hadn't noticed that.  Man that really sucks that they use a different API.  Not really sure what I should do here...

I've put the question to the node authors.  I'll get back to you on this one.  For now, it seems v0.5.x is broken.  If you can, use v0.4.x for now.  Thanks!

Okay, it won't be problem to use your library in projects on heroku, which requires Node.js 0.4.7. For other projects I'll wait for v0.5.x compatible version. Thanks for assistance!

This should be fixed.  Please update to pdfkit version 0.1.6 with npm and let me know if you have any more issues. Thanks!

I have an issue installing pdfkit on windows w/ Node 0.6.1. Looking at the flate package tells me the problem. It's doing a native compile looks like.  Any reason you are not just using the zlip that is now built into Node .6+ ? Does it need to be synchronous?

Yeah for backward compatibility with Node 0.4.x...  Not sure what to do now.

Aw right, that makes sense. Ugh need a branch for .4 then?

im getting this error with v0.6.2 of node... any help?

Also getting this error on node 0.6.8
    at Function._resolveFilename (module.js:334:11)
    at Function._load (module.js:279:25)
    at Module.require (module.js:357:17)
    at require (module.js:368:17)
    at Object.<anonymous> (/Users/rix501/Documents/Websites/node/housing/node_modules/pdfkit/node_modules/flate/lib/zlib.js:1:80)
    at Module._compile (module.js:432:26)
    at Object..js (module.js:450:10)
    at Module.load (module.js:351:31)
    at Function._load (module.js:310:12)
    at Module.require (module.js:357:17)

This issue has been merged into #48.  Please resume discussion there. :)


Programmatic pdf creation html not rendered properly

Does s.b. know what the reason is that the html is not properly rendered on programmatic pdf creation?
https://github.com/yashha/percollate-api/issues/1

Looking at the source code, that seems to be indeed the problem. Here's how it's used in cli.js:
https://github.com/danburzo/percollate/blob/07fbcd82a4b398b7611818d78d417e47ac595192/cli.js#L7-L13


🐛 Connection to server got closed and never restarted

Environment information
CLI:
  Version:                      1.9.0
  Color support:                true

Platform:
  CPU Architecture:             aarch64
  OS:                           macos

Environment:
  BIOME_LOG_PATH:               unset
  BIOME_LOG_PREFIX_NAME:        unset
  BIOME_CONFIG_PATH:            unset
  NO_COLOR:                     unset
  TERM:                         "screen-256color"
  JS_RUNTIME_VERSION:           "v22.7.0"
  JS_RUNTIME_NAME:              "node"
  NODE_PACKAGE_MANAGER:         unset

Biome Configuration:
  Error:                        Expected a property but instead found '}'.
  Error:                        Expected a property but instead found '}'.
  Status:                       Loaded with errors
  Formatter disabled:           false
  Linter disabled:              false
  Organize imports disabled:    false
  VCS disabled:                 true

Workspace:
  Open Documents:               0

What happened?
My config
{
  "$schema": "https://biomejs.dev/schemas/1.9.0/schema.json",
  "vcs": {
    "clientKind": "git",
    "enabled": false,
    "useIgnoreFile": false
  },
  "files": {
    "ignoreUnknown": false,
    "ignore": []
  },
  "formatter": {
    "enabled": true,
    "indentStyle": "tab"
  },
  "organizeImports": {
    "enabled": true
  },
  "linter": {
    "enabled": true,
    "rules": {
      "recommended": true
    }
  },
  "json": {
    "parser": {
      "allowComments": true
    }
  },
  "javascript": {
    "formatter": {
      "quoteStyle": "single",
    },
  },
  "overrides": [
    {
      "include": [
        ".vscode/**",
        "spec/**"
      ],
      "json": {
        "parser": {
          "allowComments": true,
          "allowTrailingCommas": true
        }
      }
    }
  ]
}

VSCode return:
2024-09-15 12:37:48.175 [info] [Info  - 12:37:48 PM] Connection to server got closed. Server will restart.
2024-09-15 12:37:48.175 [info] true
2024-09-15 12:37:48.244 [info] Biome encountered an unexpected error

This is a bug in Biome, not an error in your code, and we would appreciate it if you could report it to https://github.com/biomejs/biome/issues/ along with the following information to help us fixing the issue:

Source Location: crates/biome_service/src/settings.rs:74:14
Thread Name: tokio-runtime-worker
Message: You must have at least one workspace.

2024-09-15 12:37:48.246 [info] [Error - 12:37:48 PM] The biome server crashed 5 times in the last 3 minutes. The server will not be restarted. See the output for more information.

Expected result
to run and to format my code on save
Code of Conduct

[X] I agree to follow Biome's Code of Conduct

Your configuration file has a syntax error. The error is in the rage output. You have a trailing comma


Is calling EndTask() on AbilityTasks like WaitTargetData still necessary?

From the docs under 4.7.3:

Some AbilityTasks don't automatically end when the GameplayAbility ends like WaitTargetData. These should be manually ended in the GameplayAbility's OnEndAbility if they're still running (WaitTargetData naturally ends when the user presses Confirm or Cancel inputs).

WaitTargetData tasks seems to be ending automatically whether I'm ending or cancelling/interrupting the gameplay ability.
I can't see anything obvious that is preventing these ability tasks to end when the ability ends.
Have I missed something or has this changed in newer engine versions?
I'm on 4.25.

Gave it a quick look just now.  I've pasted some relevant code below.
To summarize, when an ability ends, we call TaskOwnerEnded() on each active task.  TaskOwnerEnded() is basically the same logic as EndTask() - both call OnDestroy, but one passes in a value of true, the other false.  The base definition of OnDestroy doesn't use this boolean at all (presumably it's for children to use) - and since there's nothing that stands out to me in WaitTargetData's OnDestroy definition, I think @y4ure is correct here, and that WaitTargetData is ending just like any other ability on gameplay ability end.
GameplayAbility.cpp:633 (EndTask())
		// Tell all our tasks that we are finished and they should cleanup
		for (int32 TaskIdx = ActiveTasks.Num() - 1; TaskIdx >= 0 && ActiveTasks.Num() > 0; --TaskIdx)
		{
			UGameplayTask* Task = ActiveTasks[TaskIdx];
			if (Task)
			{
				Task->TaskOwnerEnded();
			}
		}

GameplayTask.cpp:140 (TaskOwnerEnded())
void UGameplayTask::TaskOwnerEnded()
{
	UE_VLOG(GetGameplayTasksComponent(), LogGameplayTasks, Verbose
		, TEXT("%s TaskOwnerEnded called, current State: %s")
		, *GetName(), *GetTaskStateName());

	if (TaskState != EGameplayTaskState::Finished)
	{
		bOwnerFinished = true;
		if (IsPendingKill() == false)
		{
			OnDestroy(true);
		}
		else
		{
			// mark as finished, just to be on the safe side
			TaskState = EGameplayTaskState::Finished;
		}
	}
}

GameplayTask.cpp:161 (EndTask())
void UGameplayTask::EndTask()
{
	UE_VLOG(GetGameplayTasksComponent(), LogGameplayTasks, Verbose
		, TEXT("%s EndTask called, current State: %s")
		, *GetName(), *GetTaskStateName());

	if (TaskState != EGameplayTaskState::Finished)
	{
		if (IsPendingKill() == false)
		{
			OnDestroy(false);
		}
		else
		{
			// mark as finished, just to be on the safe side
			TaskState = EGameplayTaskState::Finished;
		}
	}
}

GameplayTask:202 (OnDestroy())
void UGameplayTask::OnDestroy(bool bInOwnerFinished)
{
	ensure(TaskState != EGameplayTaskState::Finished && !IsPendingKill());
	TaskState = EGameplayTaskState::Finished;

	if (UGameplayTasksComponent* TasksPtr = TasksComponent.Get())
	{
		TasksPtr->OnGameplayTaskDeactivated(*this);
	}

	MarkPendingKill();
}

Looks like you guys are correct that this is no longer the case. When I first built this project, the Meteor ability's WaitTargetData AbilityTask would not end when the player was stunned and the solution was to manually end the task on ability end. That no longer seems to be the case. I have updated the project and the README to reflect this.
Thank you two for bringing this up and checking the source!


implement ESSearchDAO multiple filter for metadata result

Summary
Implement multiple filters (with AND logic) for extracting metadata result
Context
The old implementation doesn't support multiple filters for extracting metadata result. If multiple sub-aggregations were present, the current logic would only pick up the last one, and the metadata result will be included as long as the picked one isn't empty (has doc count > 0).
Testing Done
added unit test
./gradlew build
Checklist

[ ] The PR conforms to DataHub's Contributing Guideline (particularly Commit Message Format)
[ ] Links to related issues (if applicable)
[x] Tests for the changes have been added/updated (if applicable)
[ ] Docs related to the changes have been added/updated (if applicable)

pause on this feature due to design discussion

new PR https://github.com/linkedin/datahub-gma/pull/339. Close this one.


Upgrade go-loggregator

Description
Upgrade code.cloudfoundry.org/go-loggregator/v8 to latest.

Also bumps some transitive dependencies.
Migrates codebase away from github.com/gogo/protobuf and github.com/golang/protobuf, and toward google.golang.org/protobuf.

Checklist:

[x] This PR is being made against the main branch, or relevant version branch
[ ] I have made corresponding changes to the documentation
[ ] I have added testing for my changes

If you have any questions, or want to get attention for a PR or issue please reach out on the #logging-and-metrics channel in the cloudfoundry slack

Is there a gomega matcher for protobuf? (to replace proto.Equal() in our expectations)


Misleading Heading

The first sub-heading says: "to federate with Office 365". The details enable federation with ANY third party, and not specifically with "Office 365". Furthermore, they enable users of Skype for Business on premises to connect remotely into internal users.
If an organisation does not allow federation with third parties, what specific federation needs to be enabled for the Office 365 tenant?

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

ID: 1d7fa7af-e864-84fe-68d4-b9f5e2ed0114
Version Independent ID: 3bbc6d87-c3dd-4208-cec2-f574a997d329
Content: Configure Skype for Business hybrid - Skype for Business Hybrid
Content Source: Skype/SfbHybrid/hybrid/configure-federation-with-skype-for-business-online.md
Product: skype-for-business-itpro
GitHub Login: @CarolynRowe
Microsoft Alias: crowe

@Air-Git  Thank you for submitting feedback and contributing to the docs. We are currently investigating this.

@Air-Git thank you for providing this feedback. I created a PR for it. Related to your last question, i added a note to this article which described what's needed to federate with an Office 365 tenant. Hope this is enough.
I also changed the values of the parameters to Boolean values, because they were incorrect.

@Air-Git Thank you for submitting feedback. We understand that this issue has been resolved.
Please feel free to re-open this issue if there is a specific area of the docs that we can improve or make better. Thank you.


Snap is enormous, and contains huge unnecessary files.

The snap is 1.3GB in size. It should not be anywhere near this size. I did some research, and the snap contains a lot of files that it shouildn't.
The snap itself, as it comes from the store:
-rw-------  1 alan alan 1.3G Oct 24 21:37 kesty-whatsapp_41.snap

Unpack the snap, and you'll find it contains a 2GB app.asar file.
$ ls -lh squashfs-root/resources/app.asar
-rw-rw-r-- 1 alan alan 2.0G Oct 21 10:41 app.asar

Unpack the app.asar file and it gets worse.
A copy of the snap itself inside the snap
$ ls -lh unpacked_app.asar/out/kesty-whatsapp-linux-x64/resources/app/dist/kesty-whatsapp_1.2.7_amd64.snap
-rw-rw-r-- 1 alan alan 84M Oct 24 21:39 unpacked_app.asar/out/kesty-whatsapp-linux-x64/resources/app/dist/kesty-whatsapp_1.2.7_amd64.snap

A copy of the armhf build of the snap inside the snap
$ ls -lh unpacked_app.asar/out/kesty-whatsapp-linux-x64/resources/app/dist/kesty-whatsapp_1.2.7_armhf.snap
-rw-rw-r-- 1 alan alan 75M Oct 24 21:39 unpacked_app.asar/out/kesty-whatsapp-linux-x64/resources/app/dist/kesty-whatsapp_1.2.7_armhf.snap

Uncompressed versions of the above
$ du -hs unpacked_app.asar/out/kesty-whatsapp-linux-x64/resources/app/dist/linux-*
257M    unpacked_app.asar/out/kesty-whatsapp-linux-x64/resources/app/dist/linux-arm64-unpacked
189M    unpacked_app.asar/out/kesty-whatsapp-linux-x64/resources/app/dist/linux-armv7l-unpacked
251M    unpacked_app.asar/out/kesty-whatsapp-linux-x64/resources/app/dist/linux-unpacked

A copy of the arm64 build
$ du -hs unpacked_app.asar/out/kesty-whatsapp-linux-x64/resources/app/dist/__snap-arm64/app/
257M    unpacked_app.asar/out/kesty-whatsapp-linux-x64/resources/app/dist/__snap-arm64/app/

None of these files should be in the snap. It should be considerably smaller as a result.

Thanks for your feedback. I will review and push an update ASAP.

@olubunmitosin on a positive note thank you very much for updating this Snap after such a long time. Really appreciate it. It's working well despite the mentioned unnecessary files which I hadn't even noticed.


Programming exercise import: Change single/team

Describe the bug
Changing between single and team mode is currently not possible during exercise import.
Please enable this as soon as possible since we need to move exercises from our test course to the production course and we don't want to recreate most of the exercises because the submission mode is incorrect in the test course.

Just tried it out, the check is only implemented in the client not in the server, so it might be unintended.


Game crashes when block next to stacked fences is destroyed

What you were trying to do
Place fence below floating fence then destroy a connected block to place another fence.
What actually happened
Game crashes when the block connected to the stacked fence is destroyed.
How to reproduce

Place fence
Destroy block below fence
Place fence below floating fence
Destroy block connected to the stacked fence

Log details and game version
v2.1.0 - Alpha 11
Computer details
Windows 10 64-bit
RAM 12 GB

I just tried this on version 78, and it seems fences break all physics in the game when you destroy a block adjacent to a fence which has an item near it.
Repro: Dig a hole in between other blocks, don't pick up the dropped block, place fence in dug out area, dig any adjacent area on the sides.
Result: No block will have a rigidbody except for the block you just placed.
Observations: It does not seem to happen when the block is surrounded by only 3 other blocks on the sides. Same for destroying blocks above or below while surrounded by less than 4 blocks on the sides.
Fun fact: after destroying that block while in ghost mode, you're able to see the air block (with the in-game thing that tells you block names)

@pollend could this be caused by some interactions in the Block Family code?
I suppose testing to see if any blocks using a similar family definition also break it.

potentially but I can't really think of a situation where this would happen. you can try using git-bisect.

Reproduced with a fresh build today; issue is still active.
Here is the log results upon breaking the block: https://pastebin.com/fjJsdX40
The second of the two errors is repeated every tick until the game is paused.
Once the game is exited and reloaded, physics seem to function normally once again.

I've discovered why this happens.
The fence cross shape (when it connects to 4 blocks) has 3 colliders.
The fence T shape (when it connects to 3 blocks) has 2 colliders.
The block entity that is interacting with the fence when it changes shape winds up looking for that third collider, which is now outside the bounds of the array.
I tested this by adding an extra collider to the T shape, and the error no longer occurred. But, of course, that isn't a proper solution.
My guess is that there is a notification event of some sort sent to the physics system when a block is broken or placed, which is not being sent when the block family chooses a new shape.

Re-opening this until we can release the associated TeraBullet PR and make the engine use it - TeraBullet is fixed, but engine still needs a push to get over the finish line :-)
(Darnit GitHub, why can't you read our minds instead of our typed text?)


Doing OPC for SKY130 process node?

Hi!
About two years ago, @Google partnered with SkyWater to release a fully open source PDK for SkyWater's 130nm process technology (https://skywater-pdk.rtfd.io https://github.com/google/skywater-pdk). With silicon now starting to come back from the open source MPW program, there is a whole bunch of imaging happening which compares the generated GDS to the actual structures found in silicon. As well, I'm working on publishing publically imaging of the masks that were used to manufacture the open source MPW program. Lastly, Google released an optimized SRAM build space (https://github.com/google/skywater-pdk-libs-sky130_fd_bd_sram) which includes precalculated OPC.
As well, last week Google announced it has received funding to expand the program to include a 90nm process technology - https://opensource.googleblog.com/2022/07/SkyWater-and-Google-expand-open-source-program-to-new-90nm-technology.html
With all this, it would be awesome to have a fully open source OPC tooling that was compatible with these process technologies.
It would also be awesome to see examples in this repository targeting these real world, manufacturable processes.

I believe that @mguthaus who leads the OpenRAM project has done some early exploration -- see his twitter posts @ https://twitter.com/mguthaus/status/1467192007458103298?s=20

If you are interested in discussing what could be done here, I suggest joining the https://open-source-silicon.dev/ slack space or emailing me at<EMAIL_ADDRESS>

Definitely include me as well. I'm very interested in this.

Hi mithro. Very good to know that. While I just feel not sure if there is a real need for a real OPC. Usually, designers just design patterns in final wafer and are transparent to how foundry fabricate it through OPC. Almost, fab guy take responsibility to design the mask, because the mask could be quite different from different fabs, process recipes, or different litho conditions, which only fab know.

Hi @vincentlv,
We (Google) are working closely with the SkyWater foundry and looking at deploying new OPC tooling in mask generation to push the boundary of things like SRAM and flash densities on these older process nodes. We are also exploring non-traditional mask structures which existing OPC technologies struggle to analyze. Hence, why we have interest in open source tooling in this space (which we can also help improve).
We have also been talking with tooling companies like ASML about creating open models of their older machines.
Basically, we want to get more performance out of these older technologies which are extremely cheap to work with and better OPC is a clear area that can help.
Does that help explain things?

Yes, that explains well. Now I see the point.

Plus, all this can be publically accessible for anyone to look at and understand!


Implement file engine on each platform

The form event has a file engine property, but it is unpopulated on all platforms. This PR implements the file engine for each platform.
closes https://github.com/DioxusLabs/dioxus/issues/595
related to https://github.com/DioxusLabs/dioxus/issues/426
stacked on #938
Todo:

[x] Web implementation
[x] Desktop implementation (with RFD)
[x] Liveview implementation
[x] Native implementation (This PR does not create file input widgets for TUI/Blitz, but the file engine can be used for those platforms once the widget is implemented)

#894 introduces some utilities for queries on desktop and liveview that will be useful for the implementation on those platforms. Pausing work on this until that PR is merged or we pull out the utilities from that PR

File events are working on all platoforms with the following caviats:

Liveview file uploads serialize the binary data into text. This would be much more efficient with a binary encoding, but would require a breaking change to the adapters, so it is not implemented in this PR
Desktop file uploads use the RFD library to get the real path of files uploaded. This works great for input elements, but there is no way to set the file in Javascript to make form submissions with file uploads work on desktop. We could use the same mechanism we use for Liveview for file uploads, but we would not be able to get the full system path of the uploaded files.

Thank you <3


raidboss: add e11s cycle of faith TTS

TTS is too long to remember or hear
I think just telling which elemental of cycle is good.

I don't know Chinese and don't have client data, so I just left Chinese the same as before.

I feel the same, but the streamer on Twitch I watch often use cactbot in TTS mode. This was very... hard to memorize with TTS.

By the way, I have a question. Does Tank Cleave means, large(meaning like aoe things) tank buster? The e12s tank buster isn't big, it hits only targeted player, but the alarm said "Tank Cleave".

By the way, I have a question. Does Tank Cleave means, large(meaning like aoe things) tank buster? The e12s tank buster isn't large, it hits only targeted player, but the alarm said "Tank Cleave" in Korean. ummm e12n? yeah, E12N Formless Judgment has response: Responses.tankCleave(),
I don't know if translation was wrong or the response was written wrong. But I guess it's response problem.

I use "cleave" to mean "this is a cone aimed at the target or a circle centered on the target which will hit other players (so you should stay out of it)".  "tank laser" is a special case of "this is a line aimed at the target that is also a cleave".  E12N is wrong; I agree that it only hits the targeted player.

E12N is wrong; I agree that it only hits the targeted player.

That's my error from when I originally wrote the 12N trigger file, it looks. Should I just fix that quickly so we can use the correct TTS here?

@JLGarber It doesn't matter with this PR, but as I see the e12s version trigger, there's a lot more codes than just adding response: responses.tankBuster(),. I don't know how to implement e12s version into e12n. So, I think you'd make a new PR please :smile:

I think the same as MaikoTan. The abbreviated job names had similar problem, English use capital letters without considering pronounce, but Korean has every abbreviated words with full pronounce so don't need some TTS fix. So, if there's a way to leave "TTS-Text same pronounce" languages unwritten in TTS, it would be better.

Then, cactbot would know "hey here I got no english text fot tts, I turn to the alertText or something as the fallback text for TTS."

I think this would be a good feature.

maybe same for Japanese too?

Sure!

This is a fix for TTS of Cycle of Faith in e11s.
@Akurosia Is it okay in German?
Mehrfache Vergeltung: Feuer
Mehrfache Vergeltung: Blitz
Mehrfache Vergeltung: Sanctus
@mooondark Is it okay in French?
Multi-taillade magique: Feu
Multi-taillade magique: Foudre
Multi-taillade magique: Miracle
English and some languages have been shorted for better TTS recognition.
Thanks for reviewing. 😃

@mooondark Is it okay in French?
Multi-taillade magique: Feu
Multi-taillade magique: Foudre
Multi-taillade magique: Miracle

Yes, this is the original name, but it is way too long for a TTS call. Maybe we can shorten it like :
Multi-taillade : Feu
Multi-taillade : Foudre
Multi-taillade : Lumière

Just to make sure, does French normally use space both before and after the : syllable?

Just to make sure, does French normally use space both before and after the : syllable? TTS doesn't matter though
I guess the space between taillade and : is a typo, I just removed them in commit.

Yes, in french there are usually a space before :, !, etc.

oh, I didn't know that.

Just to make sure, does French normally use space both before and after the : syllable? TTS doesn't matter though
I guess the space between taillade and : is a typo, I just removed them in commit.

Yes, in french there are usually a space before :, !, etc.

Yes, if the separator is in 2 parts then there's a space before like in ! ? ; and :

Umm... I want some confirmation from German speakers. I used auto-translator for "fire" "lightening" "holy".

Umm... I want some confirmation from German speakers. I used auto-translator for "fire" "lightening" "holy".

Gentle ping - @Akurosia

fine from my site :)

okay, good to merge

Thanks.  Sorry this turned into such a long process.  Hopefully somebody we can implement #3063 so this can be easier in the future.


[HW] Akmal Alikhujaev

Name: Akmal Alikhujaev
Email<EMAIL_ADDRESS>Linkedin Profile: https://www.linkedin.com/in/akmal-alikhujaev-a19443140/
Attach the homework step I screenshots below:

Attach the homework step II screenshots below:

Nice job Akmal and solid documentation, thank you. Here's your badge -> https://api.badgr.io/public/assertions/Lu0UPFg0R-uX5-eKmcNU0g?identity__email=akmalalikhujaev%40gmail.com


Use dynamic item note type for Notes

See ticket Item records do not have item extended info notes

Per discussion in 9/23 stand-up, circnotes.tsv and circstaff.tsv should be mapped to Item "Circ Staff" note type.

Also need to add HVSHELFLOC as a note type, see 170

the file is circnote.tsv (not circnotes.tsv as in above comment)


Adjust swift target based on CMAKE_OSX_ARCHITECTURE

@swift-ci test

https://github.com/apple/swift/pull/33490
@swift-ci test

@swift-ci please smoke test

Please hold off from merging this until apple/swift#33490 has been merged.

@swift-ci please smoke test