Question: sparse hlu?

This looks fantastic! Will it work for large systems with sparse matrices linear solvers too?

Hi Benoit,
The issue with sparse matrices is that most of the work in factorization is
the graph theory you have to do. Low precision computations don't buy you
much in the sparse case. Storing the factorization in low precision is a
good deal (sometimes) but you'll have to hack the sparse factorization to
do that.
There's some literature on the sparse case, but those papers don't really
stress test it.
Right now what I have works in the dense case. If the high precision matrix
is double and you factor in single, then
using MultiPrecisionArrays
A=rand(5000,5000)
b=rand(5000)
MPA=MPArray(A)
MPF=mplu!(A)
x=MPF\b
is about twice as fast as
LUF=lu!(A)
xx=LUF\b
See for yourself.
If low precision is Float16, things get very weird. It'll take me some time
to document that.
— Tim
On Tue, Aug 15, 2023 at 6:34 PM Benoit Pasquier @.***>
wrote:

This looks fantastic! Will it work for large systems with sparse matrices
linear solvers too?
—
Reply to this email directly, view it on GitHub
https://github.com/ctkelley/MultiPrecisionArrays.jl/issues/4, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ACOEX66VCHOGSHEHG7CBKBLXVP2RDANCNFSM6AAAAAA3RVOBNA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

--
C. T. Kelley
Department of Mathematics, Box 8205
SAS Hall
2311 Stinson Drive
North Carolina State University
Raleigh, NC 27695-8205
(919) 515-7163,<PHONE_NUMBER> (FAX)
@.***
https://ctk.math.ncsu.edu

Error:
try MPF=mplu!(MPA)
On Tue, Aug 15, 2023 at 6:43 PM C. T. Kelley @.***> wrote:

Hi Benoit,
The issue with sparse matrices is that most of the work in factorization
is the graph theory you have to do. Low precision computations don't buy
you much in the sparse case. Storing the factorization in low precision is
a good deal (sometimes) but you'll have to hack the sparse factorization to
do that.
There's some literature on the sparse case, but those papers don't really
stress test it.
Right now what I have works in the dense case. If the high precision
matrix is double and you factor in single, then
using MultiPrecisionArrays
A=rand(5000,5000)
b=rand(5000)
MPA=MPArray(A)
MPF=mplu!(A)
x=MPF\b
is about twice as fast as
LUF=lu!(A)
xx=LUF\b
See for yourself.
If low precision is Float16, things get very weird. It'll take me some
time to document that.
— Tim
On Tue, Aug 15, 2023 at 6:34 PM Benoit Pasquier @.***>
wrote:

This looks fantastic! Will it work for large systems with sparse matrices
linear solvers too?
—
Reply to this email directly, view it on GitHub
https://github.com/ctkelley/MultiPrecisionArrays.jl/issues/4, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ACOEX66VCHOGSHEHG7CBKBLXVP2RDANCNFSM6AAAAAA3RVOBNA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

--
C. T. Kelley
Department of Mathematics, Box 8205
SAS Hall
2311 Stinson Drive
North Carolina State University
Raleigh, NC 27695-8205
(919) 515-7163,<PHONE_NUMBER> (FAX)
@.***
https://ctk.math.ncsu.edu

--
C. T. Kelley
Department of Mathematics, Box 8205
SAS Hall
2311 Stinson Drive
North Carolina State University
Raleigh, NC 27695-8205
(919) 515-7163,<PHONE_NUMBER> (FAX)
@.***
https://ctk.math.ncsu.edu

I'm not closing this issue in the hope that you can come up with a cool idea for the sparse case.

The API for this mess is in Heisenberg mode. I may, for example, stop exporting MPAarray and only export the factorization. This really makes more sense in the case where I'm interfacing with my nonlinear solver and might make potential users completely oblivious to the details of my data structures.

I asked because I have found that in some cases my (sparse) factorizations temporarily require huge amounts of memory (e.g., 10× more than the memory required to hold the Jacobian and its factors) and so I was thinking that maybe that could be helpful there :)

I'm not closing this issue in the hope that you can come up with a cool idea for the sparse case.

It's very kind of you to think I could 😅 but there are other people better equipped! Maybe @Wimmerer is interested in this?

Just registered the package.


Add demo completion string for CI checks to pass

Add success string in stubbed Lightweight MQTT demo to support CI nightly checks
Note: The complete implementation for the Beta2 light-weight MQTT demo is being added in #119
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Looks like this PR is no longer necessary since the demo has been implemented


'sqlite3.h' file not found

Xcode 11.3.1 errors when I try to build this plugin, even though Other Linker Flags contains -lsqlite3. I am using capacitor, which includes a compatibility layer for Cordova plugins.
I have tried adding libsqlite.tbd:

And setting CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES:

But neither attempt has worked. However, i did fix it by swapping
-#import "sqlite3.h"
+#import <sqlite3.h>

in both MAURSQLiteLocationDAO.m and MAURSQLiteConfigurationDAO.m.
Would you consider accepting a pull request making this change?

Working solution came from here

@diachedelic thanks for the info!
I'm maintaining a fork of this plugin and just stubbled across this issue when migrating my app to capacitor.
I'd love to have this in my fork.
Feel free to send a PR if this is still relevant for you.
Unfortunately, this plugin is no longer maintained as far as I can tell...

It's a two line change, it doesn't seem worth a PR.

Yea, I created a branch for it and will release a version shortly...

Version 2.0.5 now has this. Thanks for the info!


Remove admin commands that connect to DB

What was changed

Removes admin commands that directly connect to DB

Except for tctl admin workflow delete

Why?

Deprecating direct connection. Long term these will be implemented via admin API
Checklist

Closes

How was this tested:

Any docs updates needed?

moving to Temporal repo moving admin commands to Temporal repo https://github.com/temporalio/temporal/pull/2932


Haystack-rt Module Usage Clarification

Hello,
Could you please confirm if a patched haystack module is still required when using Niagara 4.9?
Is dragging the Haystack tag dictionary from the N4Haystack module sufficient, or am I missing a step?
I'm having difficulty getting tags to be automatically applied, I've got as far as getting the haystack slot added if I do it manually, via the service. I can then add tags manually using the field editor.  I'm using the version 3 beta release.
Edit: I appear to now have my custom tags applied automatically to my points after setting the correct references and rebuilding cache. So just wondering if the patched haystack module is a requirement still.

Hi @AlexH-BMS , thanks for your question.
Yes, it is still necessary to add the Haystack Tag dictionary to the station.  I recommend to use the dictionary in Tridium's haystack-rt module.  I know this is a bit confusing and @esanderson and I are working to clarify this.
In 4.9, you can use the standard haystack-rt module, you don't need a patched haystack-rt module.
@esanderson do you have any other comments on this?

There are 3 versions of the Haystack Tag Dictionary.
Tridium's haystack-rt module palette has one in a folder called "Standard items only" that once added to the Tag Dictionary Service displays "3.0.2 N.2" as the version.  This version has all of the Haystack tags, tag groups, and tag rules but does not contain any smart relations.  The dictionary in a folder called "Includes smart relations (recommended)" that displays "3.0.2 N.2 w/ SmartRefs (import)" as the version includes smart hs:equipRef and hs:siteRef relations.
A smart hs:equipRef relation is implied from any Control Point with a non-null Proxy Ext to the first ancestor component that has an hs:equip tag.  The smart hs:equipRef relation is not implied if there is a direct hs:equipRef relation already on the point.  If a Control Point with a non-null Proxy Ext has an hs:equipRef relation (either direct or implied) and that relation's endpoint (the "equip") has a direct hs:siteRef relation, a smart hs:siteRef relation is implied from the Control Point to the equip's hs:siteRef relation endpoint.
I am currently fixing a performance bug in 4.9 with the smart hs:siteRef relation that affects very large stations.  A patch for haystack-rt should be available soon.
The 3rd version of the Haystack Tag Dictionary is found in the version 3 beta nhaystack palette.  It displays "3.0.2 NH.2 (import)" as the version when added to Tag Dictionary Service.  It contains its own versions of the smart hs:equipRef and hs:siteRef relations that account for BHEquip components in the station.
There are 2 performance bugs affecting the smart hs:equipRef and hs:siteRef relations in the nhaystack module.  They are similar to the same bugs in Tridium's haystack-rt module and these bugs should be fixed soon.

Hi, thank you for the further clarification.
I've only been working with a supervisor station on my personal computer at present. I typically would use the haystack-rt (smart) dictionary. As the palette also contains your own it seemed to be implied that it should be used instead.
@esanderson Would you mind elaborating on the performance issues you mention?
Is this a runtime issue, or at discovery time when resolving the relations?
So if I'm following your reply correctly. The dictionary in the palette should be used if using the equip/site components, yet it is also possible to use the other dictionaries (implied or direct) to apply the relevant tags, rendering those components redundant?

@esanderson perhaps you could create a separate ticket here for the performance issues you mentioned then we can close this one as it sounds like @AlexH-BMS has had his question answered.
Cheers,
Richard


Adds ability for users to disable candy cursh

For #5387
Which was closed and locked without proper consideration.

[x] Pull request represents a single change (i.e. not fixing disparate/unrelated things in a single PR).
[x] Title summarizes what is changing.
[ ] Has a news entry file (remember to thank yourself!).
[x] Appropriate comments and documentation strings in the code.
[ ] Has sufficient logging.
[ ] Has telemetry for enhancements.
[ ] Unit tests & system/integration tests are added/updated.
[ ] Test plan is updated as appropriate.
[ ] package-lock.json has been regenerated by running npm install (if dependencies have changed).

When this PR gets merged, users can put the line "jupyter.disableCandyCursh": true to decrease the burden of carrying the jupyter extension by the mere fact of having the python extension.
@DonJayamanne

Codecov Report

Merging #5400 (45f495d) into main (b1f70d0) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head 45f495d differs from pull request most recent head 065bbab. Consider uploading reports for the commit 065bbab to get more accurate results

@@          Coverage Diff          @@
##            main   #5400   +/-   ##
=====================================
  Coverage     73%     73%
=====================================
  Files        401     401
  Lines      26580   26580
  Branches    3878    3878
=====================================
  Hits       19510   19510
- Misses      5453    5454    +1
+ Partials    1617    1616    -1

Impacted Files
Coverage Δ

...datascience/notebookStorage/nativeEditorStorage.ts
80% <0%> (-1%)
:arrow_down:

src/client/datascience/baseJupyterSession.ts
75% <0%> (-1%)
:arrow_down:

src/client/datascience/jupyter/jupyterNotebook.ts
75% <0%> (-1%)
:arrow_down:

...active-common/intellisense/intellisenseProvider.ts
74% <0%> (-1%)
:arrow_down:

src/client/common/process/pythonDaemonPool.ts
80% <0%> (+4%)
:arrow_up:

I think it would be better if VS code allowed users to control their menu. This item in particular which it looks like you already commented on.
https://github.com/microsoft/vscode/issues/9285

I think it would be better if VS code allowed users to control their menu. This item in particular which it looks like you already commented on.
https://github.com/microsoft/vscode/issues/9285

Yeah, but what about users who don't want jupyter, but are forced to have it with the python extension?

This PR would also fix #9284 from the python extension.


Multi-GPU exits, the code run both specified gpu and the gpu used for display.

Cuda 0 device is used for display(performance low). Cuda:1 device is specified for warp(performance high).
The cuda 1 device is setted for warp, use wp.set_device("cuda:1").But when the project run, both cuda 0
and cuda 1 work, and the procedure time is the same as
slow device cuda 0.

Hi @wuwuyiyirong5, is this still an issue? Do you have a minimal example that illustrates the problem?

“CUDA_VISIBLE_DEVICE” variable can be used to assign the cuda device， this works.

Thanks for the update. If you have an example of the original issue, we can still take a look at it to try to understand if there's a bug in Warp when it comes to device selection.


Incorrect state when switching between multi and single level variables

While testing CMIP6 functionality for PR #195, I noticed a bug  in my code. The problem stems from the fact that when switching from a single-level field (e.g. tas - air temperature at surface) to a multi-level field (e.g. ua - easterly wind component), the state variable passed into the image function does not contain any values. This is presumably because it is still using what is selected in the GUI (which is nothing) even though the Navigator class has been called to supply pressures.
This sort of thing may be sorted by the planned GUI upgrades, so feel free to close this issue or ignore it until afterwards. I have created a work around of displaying a blank image until the user selects a pressure, but I think it would be better for some data to display immediately.

@stevehadd Good spot, it is certainly a worthy bug to squash while we anticipate a more full-featured State implementation, for example #176

@stevehadd I'm currently trying to remove direct access to State in #222, could that refactoring help solve the issue? The idea is that the Selector class (to be generalised to multiple specialised selectors) controls things like type checking. Or is this related to how the GUI renders itself, e.g. #219

@stevehadd I'm currently trying to remove direct access to State in #222, could that refactoring help solve the issue? The idea is that the Selector class (to be generalised to multiple specialised selectors) controls things like type checking. Or is this related to how the GUI renders itself, e.g. #219

I think that this should solve this issue, and I don't think its related to #219. If I've understood you correctly, the Selector class would then take care of things like checking that when the pressures function is called on the Navigator to update that field of the state, the Selector would ensure that the pressure field is consistent with that (i.e. Noen if it is a single level field, a valid selection if pressure levels are supplied). Presumably the GUI would then have both a valid list of pressures in the dropdown, and the correct selection of pressure level based on the state.  Does that description sound consistent with what you're planning for #222 ?

@stevehadd I've become less convinced that state parsing should be done by the render method. Instead a stream.map(state_to_props) which converts a stream of states to a stream of args is a much simpler approach. It also makes View.render() state agnostic.


Some parsing errors trigger a cascade of failures

I haven't been able to 100% identify the cause here, but it looks like in some cases failure to parse a particular comment causes WikiChatter to fail when parsing the rest of the comments on the page, even those in different threads. It will split up text blocks in subsequent comments, but won't extract author or timestamp, or try to reconstruct the thread structure.
May be related to this issue (@yuvipanda and I are working on the same dataset). I can provide examples, but wanted to check whether the cause was known, before I do more spot checks. Anyone else experienced this issue?

Could you provide the revision id number for one of the pages that is parsing poorly?

Hi @kjschiroo, thanks for the quick reply. Here's an example
In this case, maybe it has something to do with the fact that the final comment in the thread was added after the fact?
That's the only edit to this page that wasn't made by a lowercase sigmabot.

@jtmorgan I this has been fixed with the current version of the parser.
Using the current version from this input:
695594020.txt
I get this output:
output_pretty.txt
Please let me know if this is not the case.

Revising my previous statement. The error does occur with the current version. It appears to be an issue with mwparserfromhell. mwp isn't parsing the user page link as a link and so we don't conclude that we have a signature yet. To demonstrate this:
import mwparserfromhell as mwp

text = open("695594020.txt").read()
wcode = mwp.parse(text)
for node in wcode.nodes:
    if "04:42, 12 December 2015 (UTC)" in node:
        print(node)
        print(type(node))
        print("**************************************")
        break
# re-parsing a node should give us a single node
wcode = mwp.parse(str(node))
for node in wcode.nodes:
    print(node)
    print(type(node))

Gives this as output:
Hello TeaHouse !

I wondering or curious about why my article Data Excellence submission was declined.
I forward you the message of a reviewer: This submission seems to be a test edit and not an article worthy of an encyclopedia. Please use the sandbox for any editing tests, but do not submit for review until you have an article that you want reviewed for inclusion in Wikipedia. Thank you.

I don't understand really what can i do ?
Can you help me ? [[User:Yanniyolo|Yanniyolo]] ([[User talk:Yanniyolo|talk]]) 04:42, 12 December 2015 (UTC)

<class 'mwparserfromhell.nodes.text.Text'>
**************************************

Hello TeaHouse !

I wondering or curious about why my article Data Excellence submission was declined.
I forward you the message of a reviewer: This submission seems to be a test edit and not an article worthy of an encyclopedia. Please use the sandbox for any editing tests, but do not submit for review until you have an article that you want reviewed for inclusion in Wikipedia. Thank you.

I don't understand really what can i do ?
Can you help me ?
<class 'mwparserfromhell.nodes.text.Text'>
[[User:Yanniyolo|Yanniyolo]]
<class 'mwparserfromhell.nodes.wikilink.Wikilink'>
 (
<class 'mwparserfromhell.nodes.text.Text'>
[[User talk:Yanniyolo|talk]]
<class 'mwparserfromhell.nodes.wikilink.Wikilink'>
) 04:42, 12 December 2015 (UTC)

<class 'mwparserfromhell.nodes.text.Text'>

I will raise an issue with them.

For reference the issue with them is: earwig/mwparserfromhell#160


Add License file

Including the license file, makes the packages compatible with license checkers and attribution file generators, that a lot of developers need for generating copyrights/attribution files.
I can easily create a PR with that change if you allow it.

done and 1.3.0 bumped to npm :D


Update automerge.yml

Hi @MinhOmega, the pull request needs to be assigned to someone for review and approval. Please assign reviewers. Thank you!

💬 This Pull Request is auto-merged by approval of @githubdungchung 🗨


Usage, different colors in one equation

The README  says:
It is also possible to set different colors for different parts of the equation. Just access the displayList field and set the textColor on the underlying displays that you want to change the color of.
I can set a color for an equation, but can't set different colors for different parts of an equation
anyone can give an code example.

我也遇到了同样的问题，请问您解决了吗


iOS: indicator position animates incorrectly when navigating over multiple pages

Current behaviour
On iOS:
Page scroll indicator animates to next navigation button and then jumps to correct navigated button.
The issue is position Animated.Value, it changes like this:
{"value":0}
{"value":0.007788162212818861}
{"value":0.0303738322108984}
{"value":0.06697819381952286}
{"value":0.11682242900133133}
{"value":0.17834891378879547}
{"value":0.25}
{"value":0.32866042852401733}
{"value":0.413551390171051}
{"value":0.5}
{"value":0.5872274041175842}
{"value":0.6713395714759827}
{"value":0.75}
{"value":0.8216511011123657}
{"value":0.8831775784492493}
{"value":0.9330217838287354}
{"value":0.9696261882781982}
{"value":0.9922118186950684}
{"value":1}
{"value":3}

The Android behavior is all right.
Expected behaviour
Page scroll indicator should animate right to correct navigation button. Position value should interpolate the whole way from start index to destination index (same as it works on android)
Code sample
I've created a repo https://github.com/captain-refactor/tab-view-position-bug
Screenshots (if applicable)

What have you tried
I were debugging and found out that onPageScroll behaves differently on android and ios. https://github.com/satya164/react-native-tab-view/blob/dad1e49f6cefcd7ba5eb062775f9e9fb06b875ad/src/Pager.native.tsx#L131
Your Environment

software
version

ios or android
ios simulator 14.5

expo
42.0.3

react-native
0.63.2

react-native-tab-view
3.0.1

react-native-pager-view
5.3.1

node
v14.15.4

npm or yarn
yarn 1.22.10

I upgraded react-native version and the issue still persist

Could you test my changes ? https://github.com/callstack/react-native-pager-view/pull/435


Don't create the project as my user

Use "oc adm new-project" so the user making the command will not switch to that project. In case a later action does not specify "-n namespace" it should be done in the "admin" default project.

Would need to be rebased anyway, pulling in manually, thanks for the contribution!


Enable daemon sets and add Weave Scope

Adding Weave Scope as a DaemonSet would be great, but it will not have visibility into all the cluster components... Perhaps this can be resolved by launching probes manually on the non-worker nodes, but how will the app connect to those?


liberation_ttf: 2.00.4 -> 2.00.5

Motivation for this change
https://github.com/liberationfonts/liberation-fonts/blob/2.00.5/ChangeLog
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

hash mismatch.

I was wondering-- our use of outputHash style here seems .. fragile?
Not entirely surprised the hash is different, the two main dependencies here are fontforge and fonttools and I'm on much newer fontforge and slightly newer fonttools (former is chasing git, latter I will make a PR for soon oops).
Fixing the hash is easy enough, but that doesn't seem like the right answer.
If we're fetching the fonts maybe we should just grab the prebuild files instead?
Previously: https://github.com/NixOS/nixpkgs/pull/51331 and its successor https://github.com/NixOS/nixpkgs/pull/51956
cc @worldofpeace as involved with those (along with a certain @dtzWill character... :))

I was wondering-- our use of outputHash style here seems .. fragile?
Not entirely surprised the hash is different, the two main dependencies here are fontforge and fonttools and I'm on much newer fontforge and slightly newer fonttools (former is chasing git, latter I will make a PR for soon oops).
Fixing the hash is easy enough, but that doesn't seem like the right answer.
If we're fetching the fonts maybe we should just grab the prebuild files instead?
Previously: #51331 and its successor #51956
cc @worldofpeace as involved with those (along with a certain @dtzWill character... :))

I feel like we should prefer a source build, but if there's limitations that we can't work around easily it's not worth it.
(good to see that certain character back with an update btw :smile: )

There were a problem with reproducibility of some fonts, the font hashes were different depending on whether fontforge is using x87 or SSE2 for floating point math.
It would be nice to compare the outputs.

I think having a source build is a generally preferred situation; committing to reproducibility via outputHash is a relatively bold move, although of course if reproducibility can be ensured it is nice.
But I don't keep up with making Fontforge output reproducible.

Latest release is 2.1.0. Will you update the PR?

Let's close it since it's very out of date.
@prusnak could you open an update request issue?

PR in https://github.com/NixOS/nixpkgs/pull/86343


What is virtualization?

When right-clicking the mouse, a pop-up menu appears, in which there is a "Virtualization" drain. What is it, and where can you read about it?

It is a compatibility feature of User Account Control designed to help running legacy applications. You know how non-administrative programs cannot write to locations such as Program Files of HKLM, right? Some old programs were designed without these restrictions in mind, so they try doing that and fail. Virtualization transparently redirects such operations to writable per-user locations. For a process with enabled virtualization, it appears that it can write to such places, but in reality, the changes get saved under C:\Users\%USER%\AppData\Local\VirtualStore or HKCU\Software\Classes\VirtualStore.
You can find more details here: How User Account Control works.

Thanks for the answer.


Forms with zeit ui react

Bug report 🐞
Issue created by @viktordueck on Spectrum.

Button cannot trigger form event

With release v1.2.1 and later forms do not work with Input and Button. That means neither the submit button nor the enter key submits the form. There is no way to submit the form and there is no error-message in the console.

Keyboard cannot trigger form event

With release 1.2.0 it is possible to submit the form with a click on the submit button. But it is not possible to submit the form using the keyboard (enter key). the form is cleared and closed (in my example) and chrome shows in the console the message "Form submission canceled because the form is not connected", when pressing the enter key or clicking the cancel button, but nothing is submitted.
For my application it is important to be able to submit with the keyboard. But, I am not sure if this is a bug, a missing feature or a mistake in my implementation.

Version & Environment

v1.2.0+

Example
codesandbox

Fixed #202 .
Now we can add htmlType prop on the Button to trigger the form events:
() => (
  <form>
    <Input />
    <Button htmlType="submit">Submit</Button>
  </form>
)

Online Example


How to visualize Fig.4 in your paper?

Thanks for your great work! I am interested in visualizing occupancies behind the scenes as depicted in Fig.4 in your paper. I succeed in training in KITTI-360 and generate depth sequences, but the transition to BEV are not very successful. Do you use the script: python scripts/videos/gen_vid_transition.py to get similar results as Fig. 4?

Hi Yining,
thank you for your interest in our project!
Great that you managed to train on KITTI-360.
The script you mentioned is mainly meant for transitions in videos (e.g. the one in the readme).
The result is a top-down depth map.
The visualizations in Fig. 4 are not depth map based, but directly visualize density. To generate these images, you can use the gen_imgs.py or gen_img_custom.py script. In this code, these top-down visualizations are referred to as profile.

I have found that and generated the video on density fields! Thanks for your timely response. By the way, you provide some waymo apis, will you support waymo dataset in the future?

I briefly experimented with Waymo, but we found several issues with the dataset. (namely too narrow FoV, poor image quality due to rolling shutter, inconsistent exposure time and strange lens effects, too much traffic).
we didn't pursue it any further, but think that our method could definitely be extended to Waymo with a little extra work.
while we don't plan to do it ourselves for now, I left the dataloaders in the repo to make it easier for others to extend our method.
best,
felix

I may extend the experiments to other datasets. I have one last question. In function 'render_profile', 'alphas' is the probability for voxel. the line 'profile = (alpha_sum<=8).....'. Why choose 8 in this 384x384x64 voxels? Is it an empirical value?

Hi!
Yes, you are right about the alphas.
the value 8 is empirically chosen (1/8th of 64 evaluations), as it produces clean results while retaining details.
best,
Felix


Additional Request Completion Methods that support Futures

Describe the feature
Adding more request completion methods (eg: Context#result(...) that support futures as you don't always need to specify a response body for a request, sometimes a Status Code of 401 Unauthorized is fine.
Additional context
Some of the methods that I am thinking of are as follows but please note that all the methods outlined assume that the generic type variable from the CompletableFuture is Nullable.
Context#status(int)
Context#status(CompletableFuture<Integer>)

Context#json(Any)
Context#json(CompletableFuture<Any>)

Context#result(String)
Context#result(CompleteableFuture<String>)
Context#result(byte[])
Context#result(CompleteableFuture<Byte[]>)
Context#(InputStream)
Context#result(CompleteableFuture<InputStream>)

One useful usecase would be if you are querying for a document from a database and then going to return that response (if any) as json as it makes for neater code:
Context#json(CompletableFuture.supplyAsync(() -> {
  final Document document = this.mongo.find(Filters.eq("_id", ctx.pathParam("id", ObjectId.class).get())).first();

  if (document == null) {
    ctx.status(HttpStatus.NO_CONTENT_204);
    return null; // Hello Javalin I don't have any Object for you to convert to Json using JavalinJson do not set the ContentType.JSON do not add a Response Body please.
  }

  Context#status(HttpStatus.OK_200);
  return document; // Hello Javalin please convert this Object to Json using JavalinJson
}));

One thing to note about this example is serializing a Bson Document to json isn't going to give your returned response as a valid response you would want. You actually have to tell Bson to write as a json string first, for example:
ctx -> {
    ctx.status(HttpStatus.OK);
    ctx.contentType(ContentType.JSON);
    ctx.result(Document#toJson(JsonWriterSettings, Encoder));
}

This leads me onto the next thing; having a Context#json(String jsonString) method that sets the Content Type to JSON and then sets the body to the jsonString value would also be useful. Sometimes I already have the jsonString due to Bson so I can't use Context#json(String) because that then serializes my jsonString AGAIN, causing issues. Also in case I haven't mentioned this, Context#json(String) does not support a null argument so I have to hack around all of this with:
Context.result(CompleteableFuture.supplyAsync(() -> {
  final Document document = this.mongo.find(Filters.eq("_id", ctx.pathParam("id", ObjectId.class).get())).first();

  if (document == null) {
    ctx.status(HttpStatus.NO_CONTENT_204);
    return null;
  }

  ctx.statusCode(HttpStatus.OK_200);
  ctx.contentType(ContentType.JSON); // Notice how we specify this all of the time?

  return this.gson.toJson(document); // Again, for Mongo you'd do Document#toJson(JsonWriterSettings, Encoder) instead of gson.
}));

Thanks @LoonyRules ! I'll paste the relevant part of JavalinServlet here, as it might help me (and others) reason about this discussion.
tryBeforeAndEndpointHandlers()
if (ctx.resultFuture() == null) { // finish request synchronously
    tryErrorHandlers()
    tryAfterHandlers()
    JavalinResponseWrapper(res, rwc).write(ctx.resultStream())
} else { // finish request asynchronously
    val asyncContext = req.startAsync().apply { timeout = config.asyncRequestTimeout }
    ctx.resultFuture()!!.exceptionally { throwable ->
        if (throwable is CompletionException && throwable.cause is Exception) {
            exceptionMapper.handle(throwable.cause as Exception, ctx)
        } else if (throwable is Exception) {
            exceptionMapper.handle(throwable, ctx)
        }
        null
    }.thenAccept {
        when (it) {
            is InputStream -> ctx.result(it)
            is String -> ctx.result(it)
        }
        tryErrorHandlers()
        tryAfterHandlers()
        val asyncRes = asyncContext.response as HttpServletResponse
        JavalinResponseWrapper(asyncRes, rwc).write(ctx.resultStream())
        asyncContext.complete() // async lifecycle complete
    }.exceptionally { t ->
        handleUnexpectedThrowable(t, res)
        asyncContext.complete() // async lifecycle complete
        null
    }
}

If your suggestion, you've outlined a number of new methods that should simplify your development workflow. I haven't used Javalin's async functionality myself, but ideally I would like to see something like:
ctx.future { futureContext ->
    futureContext.json(obj)
    futureContext.status(int)
}

ctx.future { it.status(int) }

I can't immediately tell if it's possible to make this API, but what do you think of it, conceptually?

@LoonyRules by adding a nullcheck:
fun json(future: CompletableFuture<*>): Context {
    val mappingFuture = future.thenApply { if (it != null) JavalinJson.toJson(it) else null }
    return contentType("application/json").result(mappingFuture)
}

This test passes:
@Test
fun `loonyrunes is happy with the api`() = TestUtil.test { app, http ->
    app.get("/") { ctx ->
        val noContent = ctx.queryParam("no-content") != null
        ctx.status(404) // should never happen
        ctx.json(CompletableFuture.supplyAsync {
            if (noContent) {
                ctx.status(204)
                null
            } else {
                ctx.status(200)
                SerializeableObject()
            }
        })
    }
    val contentResponse = http.get("/")
    assertThat(contentResponse.status).isEqualTo(200)
    assertThat(contentResponse.body).isEqualTo("""{"value1":"FirstValue","value2":"SecondValue"}""")
    val noContentResponse = http.get("/?no-content")
    assertThat(noContentResponse.status).isEqualTo(204)
    assertThat(noContentResponse.body).isEqualTo(null)
}

I'm seeing some odd behavior though, I'll make the test more complex and see if I can find out what's wrong.

If your suggestion, you've outlined a number of new methods that should simplify your development workflow. I haven't used Javalin's async functionality myself, but ideally I would like to see something like:
ctx.future { futureContext ->
    futureContext.json(obj)
    futureContext.status(int)
}

ctx.future { it.status(int) }

I can't immediately tell if it's possible to make this API, but what do you think of it, conceptually?

I can see the path you're going down when it comes to how the JavalinServlet  would have to implement the method additions initially requested and I don't see anything bad about it as long as the CompletableFuture support is kept. Not knowledgeable about Kotlin so I'm not sure where the CompletableFuture stuff is in those code examples 😄.

@LoonyRules by adding a nullcheck:
fun json(future: CompletableFuture<*>): Context {
    val mappingFuture = future.thenApply { if (it != null) JavalinJson.toJson(it) else null }
    return contentType("application/json").result(mappingFuture)
}

This test passes:
@Test
fun `loonyrunes is happy with the api`() = TestUtil.test { app, http ->
    app.get("/") { ctx ->
        val noContent = ctx.queryParam("no-content") != null
        ctx.status(404) // should never happen
        ctx.json(CompletableFuture.supplyAsync {
            if (noContent) {
                ctx.status(204)
                null
            } else {
                ctx.status(200)
                SerializeableObject()
            }
        })
    }
    val contentResponse = http.get("/")
    assertThat(contentResponse.status).isEqualTo(200)
    assertThat(contentResponse.body).isEqualTo("""{"value1":"FirstValue","value2":"SecondValue"}""")
    val noContentResponse = http.get("/?no-content")
    assertThat(noContentResponse.status).isEqualTo(204)
    assertThat(noContentResponse.body).isEqualTo(null)
}

I'm seeing some odd behavior though, I'll make the test more complex and see if I can find out what's wrong.

If the json value is null the contentType shouldn't be set to application/json either as the response body is left unset.
What odd behaviour are you encountering with that test more specifically?

If the json value is null the contentType shouldn't be set to application/json either as the response body is left unset.

That's possible.

What odd behaviour are you encountering with that test more specifically?

I tried setting SerializeableObject() in both branches of the if, but I still got null. It was because of the 204 though, works as expected if I change it to another status code.

If the json value is null the contentType shouldn't be set to application/json either as the response body is left unset.

That's possible.

What odd behaviour are you encountering with that test more specifically?

I tried setting SerializeableObject() in both branches of the if, but I still got null. It was because of the 204 though, works as expected if I change it to another status code.

NO_CONTENT_204: Indicates that the request has succeeded but that the client doesn't need to navigate away from its current page. Source
This would explain why it does not support a body response then I suppose so all good now I assume?

then I suppose so all good now I assume?

Yes, I just wasn't expecting my HTTP client to disregard the body if it did exist, but it's fine that it does.
For your other case with BSON+double serialization troubles, can't you just set the content-type manually?

It's now:
fun json(future: CompletableFuture<*>) = result(future.thenApply {
    if (it != null) JavalinJson.toJson(it).also { contentType("application/json") } else ""
})

And these assertions pass:
assertThat(contentResponse.status).isEqualTo(200)
assertThat(contentResponse.body).isEqualTo("""{"value1":"FirstValue","value2":"SecondValue"}""")
assertThat(contentResponse.headers.getFirst(Header.CONTENT_TYPE)).isEqualTo("application/json")

assertThat(noContentResponse.status).isEqualTo(204)
assertThat(noContentResponse.body).isEqualTo(null)
assertThat(noContentResponse.headers.getFirst(Header.CONTENT_TYPE)).isEqualTo("text/plain")

For your other case with BSON+double serialization troubles, can't you just set the content-type manually?

Yeah that's what I have to do right now but because we have multiple services that directly do this there's a lot of code duplication due to it and even if you made your own util class to do it for you, it still just not as clean to do. I wish I could register my own Context#bson() methods like Kotlin allows you to do so that I could just throw my util into the Context I am already given.
The thing that confused me about the existing Content#json(String) method is in what scenario is it used for attempting to serialise a String into Json String? It's not like you can properly serialise `final String helloWorld = "Hello World!" into a decent json structure anyway using that so I just automatically assumed when I first found the method that it'd just be doing:
contentType = "application/json";
response.body = inputString;

until I looked into it further and found it trying to serialise the input I gave it

Oh !
We could change
    fun json(obj: Any): Context {
        return contentType("application/json").result(JavalinJson.toJson(obj))
    }

into
    fun json(obj: Any): Context {
        when (obj) {
            is String -> result(obj)
            else -> result(JavalinJson.toJson(obj))
        }
        return contentType("application/json")
    }

I seem to recall it used to be like this, but that you actually should serialize "Hello" into "\"Hello\""
JSON.stringify("Hello")
"\"Hello\""

I wish I could register my own Context#bson()

You can configure JavalinJson to act exactly as you want though:
@Test
fun `custom silly toJsonMapper works`() = TestUtil.test { app, http ->
    JavalinJson.toJsonMapper = object : ToJsonMapper {
        override fun map(obj: Any) = "Silly mapper"
    }
    app.get("/") { ctx -> ctx.json("Test") }
    assertThat(http.getBody("/")).isEqualTo("Silly mapper")
}

You could add a case in there for String, or Document?

I seem to recall it used to be like this, but that you actually should serialize "Hello" into "\"Hello\""
JSON.stringify("Hello")
"\"Hello\""

Okay I see what it is supposed to be used for now but would it make sense to turn Context#json(String) to support what we’ve mentioned

Apologies was on phone didn’t mean to click the Close button!

I see the intended use could turning that method into jsonStringify make more sense if you were happy with supporting what’s already been mentioned?

I wish I could register my own Context#bson()

You can configure JavalinJson to act exactly as you want though:
@Test
fun `custom silly toJsonMapper works`() = TestUtil.test { app, http ->
    JavalinJson.toJsonMapper = object : ToJsonMapper {
        override fun map(obj: Any) = "Silly mapper"
    }
    app.get("/") { ctx -> ctx.json("Test") }
    assertThat(http.getBody("/")).isEqualTo("Silly mapper")
}

You could add a case in there for String, or Document?

Funnily enough the service does both Gson serialisation and Bson serialisation so that’s not an option for me. It’s a very specific issue so using my own util method is not a problem.

Funnily enough the service does both Gson serialisation and Bson serialisation so that’s not an option for me. It’s a very specific issue so using my own util method is not a problem.

Couldn't you do this?
@Test
fun `custom silly toJsonMapper works`() = TestUtil.test { app, http ->
    JavalinJson.toJsonMapper = object : ToJsonMapper {
        override fun map(obj: Any) = when (obj) {
            is Document -> BSON(objet)
            is String -> obj
            else -> GSON(obj)
        }
    }
}

Funnily enough the service does both Gson serialisation and Bson serialisation so that’s not an option for me. It’s a very specific issue so using my own util method is not a problem.

Couldn't you do this?
@Test
fun `custom silly toJsonMapper works`() = TestUtil.test { app, http ->
    JavalinJson.toJsonMapper = object : ToJsonMapper {
        override fun map(obj: Any) = when (obj) {
            is Document -> BSON(obj)
            is String -> obj
            else -> GSON(obj)
        }
    }
}

Document needs more Information for serialising to Json and you have to pull them from the Collection you got the Document from otherwise it won’t know how to serialise some stuff correctly (Eg: UUIDs) so once we reach the toJsonMapper method we have lost the data Bson needs already meaning it’s still not an option sadly. Just annoying Bson design sadly devs have questioned it for years

Makes sense, let's see if we can get back on track. It might make more sense to do
    fun json(obj: Any): Context {
        when (obj) {
            is String -> result(obj)
            else -> result(JavalinJson.toJson(obj))
        }
        return contentType("application/json")
    }

By default, and provide a config option for changing the behavior?

Makes sense, let's see if we can get back on track. It might make more sense to do
    fun json(obj: Any): Context {
        when (obj) {
            is String -> result(obj)
            else -> result(JavalinJson.toJson(obj))
        }
        return contentType("application/json")
    }

By default, and provide a config option for changing the behavior?

Config option will most likely be the best way to go so that Javalin can keep the Json Stringify functionality but allow people to override. In regards to that maybe outlining that this is configurable by the user on the docs will then help people understand they can change that functionality.

@LoonyRules Having thought about it, making it part of the mapper itself is probably the easiest solution.
var toJsonMapper = object : ToJsonMapper {
    override fun map(obj: Any): String = when (obj) {
        is String -> obj
        else -> JavalinJackson.toJson(obj)
    }
}

Merged a change here: https://github.com/tipsy/javalin/commit/b0a2e1abda4cd10a22960f2e5a1f0b31309851d4

Are there any use-cases still not covered?

What's the purpose of making this Async? Why wouldn't you just do:
void myMethod(Context ctx) {
  final Document document = this.mongo.find(Filters.eq("_id", ctx.pathParam("id", ObjectId.class).get())).first();
  if (document == null) {
    ctx.status(NO_CONTENT);
    return
  }
  ctx.json(document);
}

That seems cleaner/easier to read than using a future. What are you gaining by using a future? What's the actual goal?

What's the purpose of making this Async? Why wouldn't you just do:
void myMethod(Context ctx) {
  final Document document = this.mongo.find(Filters.eq("_id", ctx.pathParam("id", ObjectId.class).get())).first();
  if (document == null) {
    ctx.status(NO_CONTENT);
    return
  }
  ctx.json(document);
}

That seems cleaner/easier to read than using a future. What are you gaining by using a future? What's the actual goal?

I do want to reiterate that this simple find query is just an example of an IO operation.
Let's assume that the myMethod() endpoint is getting called 200 times per second consecutively and that we have another method that gets called 50 times but for sakes of this example, gets sent AFTER the 200 myMethod endpoint requests.
void otherMethod(Context ctx) {
  ctx.statusCode(200);
}

We now have 250 requests in a queue needing to be handled.
Let's assume myMethod takes 2 seconds to complete.
Let's also assume otherMethod takes 1ms to complete.

Our Javalin Server has 100 threads for handling incoming requests.
We have 100 idle threads to handle the first 100/200 myMethod endpoint requests.
Cool all 100 requests are done - this took 2 seconds.
We have another 100 myMethod requests to handle now.
Cool these 100 are done now - this took 4 seconds. (2 seconds waiting, 2 seconds handling).
We now have another 50 requests to handle for our otherMethod endpoints because we have spent 4 seconds handling the myMethod requests.
50/100 of the threads are assigned and in total take 50ms to complete all 50 requests.
The total time taken is 4 seconds and 50 milliseconds simply because we have been doing blocking IO operations.

If myMethod() was doing the io operations in another thread pool completely independent from the thread pool that handles incoming requests we could just return the jetty thread back to the thread pool to begin handling our otherMethod() requests - bringing down the response time for non-io operations.
This was somewhat briefly spoke about on the Discord: https://discord.com/channels/804862058528505896/805106384977920040/852675138830073886
and some future code examples in https://github.com/tipsy/javalin/pull/1275#issuecomment-859432674

So the general goal is that a HTTP request should not have to require a Javalin thread if I'm understanding correctly (at least not the whole time). That makes sense, though what thread pool is Javalin actually running your code in? Is this not the same thread?
Where do you imagine your code is running then? The actual query to mongo might be handled on the DB thread, but the function that you're passing in your example code still needs to run on some thread, and it's still blocking that thread on the mongo query result. You'd almost need to hande Javalin a completablefuture that's returned directly from the IO thread (unfortunately most libraries I found for DB access don't support that, but it is getting more common), and some function to run after that's done to modify things like headers and status based on the result:
ctx.runAfter(mongo.findEventually(myFilter), (Document document, Context ctx) -> {
  if (document == null) {
    ctx.status(HttpStatus.NO_CONTENT_204);
  }

  ctx.status(200);
  ctx.json(document);
});

Where mongo itself is returning a completable future. Otherwise you're not gaining anything.

and some function to run after that's done to modify things like headers and status based on the result:

Yeah, this is what I ended up implementing from Javalin's side.
ctx.future(myFuture) { result ->
    if (result != null) {
        ctx.status(200)
        ctx.json(result)
    } else {
        ctx.status(404)
    }
}

Having a different method for moving waiting out of the request threadpool and into another threadpool might still have some value though? I'll open a different issue for that.


Add (void) to no-arg prototypes to avoid clang C warnings

I'm finding that out-of-the-box builds fail compiling the c99 code with clang 9, due to it now warning on having f() rather than the explicit f(void).
The former strictly means that any arguments will be defined later, old-skool-C-style, although I've never seen a compiler misbehave with it, so I have no idea why they've added this warning.
Fixed by adding void where necessary.

That's autogenerated file:
https://github.com/bkaradzic/bgfx/blob/191eae89f901a37278cf32c153a35dce3ecc6e91/include/bgfx/c99/bgfx.h#L10
I'll fix it in IDL generator.


dovecot service improvements

To address https://github.com/NixOS/nixpkgs/issues/5830
and to replace https://github.com/NixOS/nixpkgs/pull/5813
sorry for creating too many of these, I'm still improving my git skills

Merged manually in 04be7262a62a413007fe6bf6e917a4e4d0f0df54, I've reduced RestartSec to 1s. Thanks.


modernize existing .NET apps with containers ebook: minor updates to align with net7

Summary
net7/2023 updates

@IEvangelist


Please add a persistent Volume to the VM

Can we please have one 5 gig NFS PV in the VM so developers can try using PVCs

I've enabled NFS in the VM, added 10 mounts that can be used, and created 5 PVs by default with sizes ranging from 1Gi to 5Gi in ReadWriteOnly and ReadWriteMany adn Recycle policies.
Added a note at the bottom of README on how to use the remaining 5 mounts for new PVs.

You are awesome!
On Thu, Feb 18, 2016 at 11:20 AM, Jorge Morales Pou <
<EMAIL_ADDRESS>wrote:

Closed #14
https://github.com/openshift-evangelists/vagrant-origin/issues/14.
—
Reply to this email directly or view it on GitHub
https://github.com/openshift-evangelists/vagrant-origin/issues/14#event-555560963
.


pandas version

Description
After updating pandas to 1.3.0, I started getting errors with gr.ligrec. Reinstalling 1.2.5 seemed to have solved this.
Traceback

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-16-1b6a5f46da2a> in <module>
----> 1 res = sq.gr.ligrec(
      2     adata,
      3     n_perms=1000,
      4     cluster_key="cluster",
      5     copy=True,

/path/python3.9/site-packages/squidpy/gr/_ligrec.py in ligrec(adata, cluster_key, interactions, complex_policy, threshold, corr_method, corr_axis, use_raw, copy, key_added, **kwargs)
    647     """  # noqa: D400
    648     return (  # type: ignore[no-any-return]
--> 649         PermutationTest(adata, use_raw=use_raw)
    650         .prepare(interactions, complex_policy=complex_policy, **kwargs)
    651         .test(

/path/python3.9/site-packages/squidpy/gr/_ligrec.py in prepare(self, interactions, complex_policy, interactions_params, transmitter_params, receiver_params, **_)
    593
    594             start = logg.info("Fetching interactions from `omnipath`")
--> 595             interactions = import_intercell_network(
    596                 interactions_params=interactions_params,
    597                 transmitter_params=transmitter_params,

/path/python3.9/site-packages/omnipath/_core/requests/interactions/_utils.py in import_intercell_network(include, interactions_params, transmitter_params, receiver_params)
     98     receiver_params.setdefault("scope", "generic")
     99
--> 100     interactions = AllInteractions.get(include=include, **interactions_params)
    101     if interactions.empty:
    102         raise ValueError(_ERROR_EMPTY_FMT.format(obj="interactions"))

/path/python3.9/site-packages/omnipath/_core/requests/_utils.py in wrapper(wrapped, _instance, args, kwargs)
    102     @wrapt.decorator(adapter=wrapt.adapter_factory(argspec_factory))
    103     def wrapper(wrapped, _instance, args, kwargs):
--> 104         return wrapped(*args, **kwargs)
    105
    106     if hasattr(clazz, "get") and not hasattr(clazz.get, "__wrapped__"):

/path/python3.9/site-packages/omnipath/_core/requests/interactions/_interactions.py in get(cls, include, exclude, **kwargs)
    375         %(get.returns)s
    376         """
--> 377         return cls(include, exclude=exclude)._get(**kwargs)
    378
    379

/path/python3.9/site-packages/omnipath/_core/requests/_request.py in _get(self, **kwargs)
    105         kwargs = self._finalize_params(kwargs)
    106
--> 107         res = self._downloader.maybe_download(
    108             self._query_type.endpoint, params=kwargs, callback=callback, is_final=False
    109         )

/path/python3.9/site-packages/omnipath/_core/downloader/_downloader.py in maybe_download(self, url, callback, params, cache, is_final, **_)
    124         if key in self._options.cache:
    125             logging.debug(f"Found data in cache `{self._options.cache}[{key!r}]`")
--> 126             res = self._options.cache[key]
    127         else:
    128             res = callback(self._download(req))

/path/python3.9/site-packages/omnipath/_core/cache/_cache.py in __getitem__(self, key)
     86
     87         with open(self._cache_dir / key, "rb") as fin:
---> 88             return pickle.load(fin)
     89
     90     def __len__(self) -> int:

/path/python3.9/site-packages/pandas/_libs/internals.pyx in pandas._libs.internals.BlockManager.__cinit__()

TypeError: __cinit__() takes at least 2 positional arguments (0 given)

Version
scanpy==1.8.1 anndata==0.7.6 umap==0.5.1 numpy==1.20.3 scipy==1.6.3 pandas==1.3.0 scikit-learn==0.22 statsmodels==0.12.2 python-igraph==0.9.4 pynndescent==0.5.2

Looks related to a pandas 1.3 bug I noticed while reporting bugs that broke scanpy 1.8: https://github.com/pandas-dev/pandas/issues/42345

Seems to be related to https://github.com/pandas-dev/pandas/issues/42345.
I can see that base on the trace, omnipath tries to load the data from cache, clearing the cache should fix it:
import omnpath as op
op.clear_cache()

Thank you for looking into this so quickly!

import omnpath as op
op.clear_cache()

That does seem to solve the error (there was a typo in omnipath in the original post), but it introduces a few new warnings:
/path/python3.9/site-packages/omnipath/_core/downloader/_downloader.py:128: DtypeWarning: Columns (8) have mixed types.Specify dtype option on import or set low_memory=False.
  res = callback(self._download(req))
/path/python3.9/site-packages/omnipath/_core/requests/_utils.py:155: FutureWarning: The default value of regex will change from True to False in a future version.
  _split_unique_join(data.str.replace(r"[-\w]*:?(\d+)", r"\1")), func=func
/path/python3.9/site-packages/squidpy/gr/_ligrec.py:376: PerformanceWarning: DataFrame is highly fragmented.  This is usually the result of calling `frame.insert` many times, which has poor performance.  Consider using pd.concat instead.  To get a de-fragmented frame, use `newframe = frame.copy()`
  self._filtered_data["clusters"] = self._adata.obs[cluster_key].astype("string").astype("category").values
/path/python3.9/site-packages/pandas/core/arrays/categorical.py:2630: FutureWarning: The `inplace` parameter in pandas.Categorical.rename_categories is deprecated and will be removed in a future version. Removing unused categories will always return a new Categorical object.
  res = method(*args, **kwargs)

Sorry for the typo.
Re warnings: these have been fixed in https://github.com/saezlab/omnipath/commit/60af5bff7d5e7bcb69c81dd640d5a605aed61c2a, but I haven't made a new version on PyPI (didn't think this would warrant it). They should go away if you install the latest version from GitHub as:
pip install git+https://github.com/saezlab/omnipath

No problem. It's definitely a very minor issue. I just wanted to mention it since I already initiated this thread.

This issue seems to be solved then, closing this.


Add Awesome Information Security

add onlurking/awesome-infosec

PRs are issues. No need to open both ;)


This game is about a dog who is craving for some snacks.
Move his bowl using the buttons to catch treats for him. Try to make the highest score as possible but watch your lives!
Be quick! This game gets faster as it goes!

There are 3 types of snacks you can catch:

Yummy snacks - bone, ham, sausage - these will get you 10 points each
Chocolate - beware, this will cost you 1 life as the chocolate is poisonous for dogs
Bonuses - extra life (pretty self-explanatory) or 2x multiplier (active for 10 seconds)

Don't let his snacks touch the floor

Except the chocolate, you can miss that one for your own good
You can also drop bonuses, but that's no good for you

Don't let anything fall on his head, it hurts! It costs you 1 life also
The game gets faster every 30 seconds of gameplay

How do you play your game?

A / D - moves dog with bowl left and right
K - start a new game

Code
Check off the items that are true.

[x] The game was made using the Sprig editor.
[x] The game is placed in the in the /games directory.
[x] The code is significantly different from all other games in the Sprig gallery (except for games labeled "demo").
[x] The game runs without errors.
[x] The name of the file/game contains only alphanumeric characters, -s, or _s.
[x] The game name is not the same as the others from gallery

Image (If an image is used)

[x] The image is in the /games/img directory.
[x] The name of the image matches the name of your file.

Thanks for your PR!

I'm sorry, I had some troubles with git but it should be alright now.

Nice game, @Lenochodik! I love playing it.
If you're a teenager, and if you haven't already received a Sprig device, feel free to fill out this form to get your very own Sprig device! Additionally, feel free to join Hack Club's Slack and share your creation in the #sprig channel!


find_package with cmake on Windows has incorrect fields

Xmake Version
xmake v2.7.1+master.70fa2aa7e
Operating System Version and Architecture
Windows 11 21H2 x64
Describe Bug
find_package using cmake on Windows has extra links and linkdirs which causes linking to fail.  Example with cmake::Vulkan:
{
  links = {
    "vulkan-1",
    "test_Vulkan"
  },
  includedirs = {
    "F:\Dev\VulkanSDK\<IP_ADDRESS>\Include"
  },
  linkdirs = {
    "F:\Dev\VulkanSDK\<IP_ADDRESS>\Lib",
    "C:\Users\<user>\AppData\Local\Temp\.xmake\220830\_6F16A6FC4BCD42208B3F828164D49F90.dir\Debug",
    "C:\Users\<user>\AppData\Local\Temp\.xmake\220830\_6F16A6FC4BCD42208B3F828164D49F90.dir\Release",
    "C:\Users\<user>\AppData\Local\Temp\.xmake\220830\_6F16A6FC4BCD42208B3F828164D49F90.dir\MinSizeRel",
    "C:\Users\<user>\AppData\Local\Temp\.xmake\220830\_6F16A6FC4BCD42208B3F828164D49F90.dir\RelWithDebInfo"
  },
  libfiles = {
    "F:\Dev\VulkanSDK\<IP_ADDRESS>\Lib\vulkan-1.lib"
  }
}

test_Vulkan and the four AppData directories should not be here - they are the temp folder that's created when running cmake.  I looked at the vcxproj generated, they all come from the ImportLibrary tag. find_package.lua will try to add ImportLibrary if it exists, but it seems like it always exists and simply refers to the name of the program being compiled (test_Vulkan in this case).  I do see that it was added originally to fix #1822, but I don't think ImportLibrary is the right place to look.  I think it was an accident because the test program back then didn't have the "test_" prefix and just happened to work because of it.
Expected Behavior
find_package results should not contain test_Vulkan in links, nor the 4 temp folders in includedirs.
Project Configuration
Install VulkanSDK
xmake l find_package cmake::Vulkan
Additional Information and Error Logs
No response

ok, you can open a pr to fix it.
BTW, why not use add_requires("vulkan-loader")?

The vulkan packages from xrepo aren't updated with 1.3.216 yet, so I was going to leave that in CMake for now while I get the rest of my project moved to xmake and then go and try to change it after.  I figured this would be a good thing to fix though.
I'll open a PR


pebble: .DeleteSync has suspicious nil return for error condition as well as extraneous if err != nil + returns that masked the error

If we examine this code, it does an unnecessary if err != nil check that then masks a suspicious nil error that was actually non-nil

If we just did return condition as a simple coding style, there wouldn't be any problems
/cc @elias-orijtech @tac0turtle @julienrbrt

must be copy and paste https://github.com/cometbft/cometbft-db/blob/main/rocksdb.go#L140C13-L140C13

I've sent a fix in PR https://github.com/cosmos/cosmos-db/pull/95


Fix Colorpicker popup not closing on click outside when nested in another popup

Add closeOnNestedPopupOutsideClick to  used by colorpicker, datepicker, and weight picker. This solves problem when status bar popup contains one of these item, the item's popup would not close if a mouse down occurred within the status bar popup and outside item's popup.

@mergifyio backport release/2.10.0

@mergifyio backport release/2.10.0

@bsteinbk do want this in 2.10.x or can it go to 2.11.x instead?

@bsteinbk do want this in 2.10.x or can it go to 2.11.x instead?

@calebmshafer @jason-crow asked for it to go into 2.10.x for release early next week.  I am including him just in case I am wrong.

@calebmshafer @jason-crow asked for it to go into 2.10.x for release early next week.  I am including him just in case I am wrong.


warning in unit test for sessions

logging output:
WARNING:root:Stream session: [uuid=254ac60a-70bb-11e7-9956-42010a0a149f] not available for time interval (0001-01-01 00:00:00+00:00, 2017-07-24 21:57:54.507000+00:00]. Perhaps upstream calculations haven't been performed

I get almost the same warning message when I'm running the first tutorial on the designated Docker container

Can you confirm if this is still the case?

When I run the Docker container it runs by default a unittest. This unittests in my case finishes with the following:
hyperstream_1         | -----------------------------------------------------------------------------------------------
hyperstream_1         | TOTAL                                                                       27818  19037    32%
hyperstream_1         | ----------------------------------------------------------------------
hyperstream_1         | Ran 6 tests in 5.486s
hyperstream_1         |
hyperstream_1         | OK

However, when I run the docker-tutorials in the different tutorials I get a variety of Warning that I need to explore further. One of them is in the tutorial 1 with the warning:
2017-07-27 20:21:54,062 [WARNI]  Stream clock_stream not available for time interval (2017-07-27 06:21:53.990254+00:00, 2017-07-27 15:21:54.036463+00:00]. Perhaps upstream calculations haven't been performed

But I think this problem could be about the timezones.


OPRUN-2913: Sync api, operator-registry, operator-lifecycle-manager downstream

This is a big merge of the upstream repositories into the downstream mono-repo.
Due to different levels of activity in each repository, they were at different level of the k8s API, and this had to be resolved upstream before downstreaming. This involved updated quite a number of components in go.mod/go.sum.
In order to do this sync as cleanly as possible, because various bug fixes were downstreamed independently, I updated the sync scripts in the scripts directory. The first change was to interleave (based on the commit timestamp) the syncing of individual commits from the source repositories, in the future hope that it will make large merges like this easier. Doing each source repo one-at-a-time can cause go.mod components to be upgraded by one repo, and then regressed by another repo, before being upgraded again. Interleaving the commits from the repositories based on date helps alleviate this scenario.
The second change was to note if there were any changes to the go.mod files, and if so, give the merger (e.g. me in this case) the opportunity (by pausing) to evaluate if there were any regressions in the go.mod file. Then the merger can open a shell in another window to evaluate the go.mod file to see if it needs to be modified and/or reverted.
The third change was to handle failures of make manifests in a similar way. If make manifests fails, the update scripts will pause to allow the merge to evaluate the results. This was especially useful as make manifests was failing due to the inconsistent versioning of the k8s API in each of the source repositories.

Creating a cluster with this PR, oc get packagemanifests (plural) works, but oc get packagemanifest (singular) fails. I will need to test a cluster w/o this PR to see which one works.
One of the upstream commits required the addition of GetSingularName() for packagemanifests, which you think would not be a problem (and would certainly not cause this problem).

Vanilla 4.14:
tshort@cube:~/OPRUN-2913$ oc get packagemanifest | wc
    432    1847   33264
tshort@cube:~/OPRUN-2913$ oc get packagemanifests | wc
    432    1847   33264
tshort@cube:~/OPRUN-2913$

It's a change in the upstream behavior; verified on a vanilla 4.14 cluster, and on https://github.com/operator-framework/operator-lifecycle-manager/commit/11b66efd9daaac736ac011f16f0c0686d54e0a79 (tip of master) vs https://github.com/operator-framework/operator-lifecycle-manager/commit/4564b26d9a35cda72a5e6833cbf7a84175512106 (before k8s updates)

/retest

/retest

/retest

/retest

The CI complains about the OWNERS files are all about those in the staging directories. Do we care? Should I remove those individuals, or even the OWNERS files themselves?

/retest

@tmshort Hi, my name is Hector, I was hoping that you could help and share with me as I'm new with go and development.  with run a build to create an image from this repo.
I've cloned this repo and made some changes to the go. mod and run the following command

go mod tidy
go mod verify
go mod vendor
go  test ./...

It came back with the program, not an importable package.

what I'm trying to accomplish is to use this registry  - within my  docker file
FROM registry.redhat.io/openshift4/ose-operator-registry:v4.13.0-202306072029.p0.gce46f5b.assembly.stream
I'm pulling the /bin/opm and /bin/grpc_health_probe into my image. The reason why I made changes to the go mod list is to update the packages that have fixes from the previous version.

The ask is after making those changes and updating the go.sum , how do I rebuild the manifest to have an image made?
I could really use your help --- desperate.

@tmshort Hi, my name is Hector, I was hoping that you could help and share with me as I'm new with go and development. with run a build to create an image from this repo.

Hi @87utierrez, this is not an appropriate forum for this type of discussion. I suggest joining the #olm-dev channel in the  Kubernetes Slack instance: https://kubernetes.slack.com/archives/C0181L6JYQ2

/retest

I don’t have an account on there ? Hector Gutierrez On Jul 24, 2023, at 9:23 AM, Todd Short @.***> wrote:
@tmshort Hi, my name is Hector, I was hoping that you could help and share with me as I'm new with go and development. with run a build to create an image from this repo.
Hi @87utierrez, this is not an appropriate forum for this type of discussion. I suggest joining the #olm-dev channel in the  Kubernetes Slack instance: https://kubernetes.slack.com/archives/C0181L6JYQ2
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

/retest

/retest

@87utierrez you can create a slack account and joint the community using this link - https://slack.k8s.io/

/retest

/retest

/retest

/retest

/retest

/retest


TypeError: Cannot read properties of undefined (reading 'regularRegex')

Hi @frankmeertens / @mikezaschka
as suggested in https://github.com/mikezaschka/cds-dbm/issues/309 I also tried using the latest versions. It works locally, but when I try to deploy to the BTP, it still gives me the following error with the callstack:
2023-03-10T15:04:11.39+0100 [APP/TASK/deploy_to_postgresql/0] OUT [cds-dbm] - starting delta database deployment of service db
   2023-03-10T15:04:32.23+0100 [APP/TASK/deploy_to_postgresql/0] OUT [cds-dbm] - delta successfully deployed to the database
   2023-03-10T15:04:32.59+0100 [APP/TASK/deploy_to_postgresql/0] OUT [cds-dbm] - loading data from /home/vcap/app/data/schwarz.sci.monitoring-MetricTypesList.csv
   2023-03-10T15:04:32.64+0100 [APP/TASK/deploy_to_postgresql/0] ERR cds-dbm deploy [services]
   2023-03-10T15:04:32.64+0100 [APP/TASK/deploy_to_postgresql/0] ERR Dynamically identifies changes in your cds data model and deploys them to the
   2023-03-10T15:04:32.64+0100 [APP/TASK/deploy_to_postgresql/0] ERR database
   2023-03-10T15:04:32.64+0100 [APP/TASK/deploy_to_postgresql/0] ERR Options:
   2023-03-10T15:04:32.64+0100 [APP/TASK/deploy_to_postgresql/0] ERR --help           Show help                                       [boolean]
   2023-03-10T15:04:32.64+0100 [APP/TASK/deploy_to_postgresql/0] ERR --version        Show version number                             [boolean]
   2023-03-10T15:04:32.64+0100 [APP/TASK/deploy_to_postgresql/0] ERR -s, --service                                                [default: ["db"]]
   2023-03-10T15:04:32.64+0100 [APP/TASK/deploy_to_postgresql/0] ERR -a, --auto-undeploy
   2023-03-10T15:04:32.64+0100 [APP/TASK/deploy_to_postgresql/0] ERR -d, --dry
   2023-03-10T15:04:32.64+0100 [APP/TASK/deploy_to_postgresql/0] ERR -l, --load-via
   2023-03-10T15:04:32.64+0100 [APP/TASK/deploy_to_postgresql/0] ERR -c, --create-db
   2023-03-10T15:04:32.64+0100 [APP/TASK/deploy_to_postgresql/0] ERR TypeError: Cannot read properties of undefined (reading 'regularRegex')
   2023-03-10T15:04:32.64+0100 [APP/TASK/deploy_to_postgresql/0] ERR at smartId (/home/vcap/deps/1/node_modules/@sap/cds-compiler/lib/sql-identifier.js:79:9)
   2023-03-10T15:04:32.64+0100 [APP/TASK/deploy_to_postgresql/0] ERR at _smartId (/home/vcap/deps/1/node_modules/@sap/cds/libx/_runtime/common/utils/quotingStyles.js:9:23)
   2023-03-10T15:04:32.64+0100 [APP/TASK/deploy_to_postgresql/0] ERR at PGReferenceBuilder.plain [as _quoteElement] (/home/vcap/deps/1/node_modules/@sap/cds/libx/_runtime/common/utils/quotingStyles.js:23:12)
   2023-03-10T15:04:32.64+0100 [APP/TASK/deploy_to_postgresql/0] ERR at /home/vcap/deps/1/node_modules/@sap/cds/libx/_runtime/db/sql-builder/ReferenceBuilder.js:97:49
   2023-03-10T15:04:32.64+0100 [APP/TASK/deploy_to_postgresql/0] ERR at Array.map (<anonymous>)
   2023-03-10T15:04:32.64+0100 [APP/TASK/deploy_to_postgresql/0] ERR at PGReferenceBuilder._parseReference (/home/vcap/deps/1/node_modules/@sap/cds/libx/_runtime/db/sql-builder/ReferenceBuilder.js:97:34)
   2023-03-10T15:04:32.64+0100 [APP/TASK/deploy_to_postgresql/0] ERR at PGReferenceBuilder.build (/home/vcap/deps/1/node_modules/cds-pg/lib/pg/sql-builder/ReferenceBuilder.js:44:52)
   2023-03-10T15:04:32.64+0100 [APP/TASK/deploy_to_postgresql/0] ERR at PGSelectBuilder._buildRefElement (/home/vcap/deps/1/node_modules/@sap/cds/libx/_runtime/db/sql-builder/SelectBuilder.js:276:68)
   2023-03-10T15:04:32.64+0100 [APP/TASK/deploy_to_postgresql/0] ERR at PGSelectBuilder._buildElement (/home/vcap/deps/1/node_modules/@sap/cds/libx/_runtime/db/sql-builder/SelectBuilder.js:250:18)
   2023-03-10T15:04:32.64+0100 [APP/TASK/deploy_to_postgresql/0] ERR at /home/vcap/deps/1/node_modules/@sap/cds/libx/_runtime/db/sql-builder/SelectBuilder.js:315:56

After analyzing the callstack, the error should only occur when I pass a dialect that doesn't exist in the<EMAIL_ADDRESS>sqlDialects Object.
However, as I'm passing 'plain' it should work, especially, since the calling function @sap/cds/libx/_runtime/common/utils/quotingStyles.js makes sure to not pass an undefined _dialect variable.
I'm really confused as to why this error occurs only when deploying to BTP.
Below you can find my cds config, in which I don't see any error:
...
"db": {
            "[production]": {
                "kind": "database",
                "dialect": "plain",
                "impl": "cds-pg",
                "model": ["srv"]
            },
            "[development]": {
                "kind": "database",
                "dialect": "plain",
                "impl": "cds-pg",
                "model": ["srv"],
                "credentials": {
                    "host": "localhost",
                    "port": 5432,
                    "database": "monitoring",
                    "user": "postgres",
                    "password": "postgres"
                }
            },
...

Unfortunately I have no idea on how to analyze what's happening during the deployment other than checking the logs / callstack.
Do you have an idea why this might happen?
Thanks in advance
Regards

I seems to be related to the following where the dialect is not properly defined. Checking where this is coming from during deployment.
https://github.com/sapmentors/cds-pg/issues/285

@mikezaschka The package.json in the build/postgres-cf/template folder will work when the dialect is added. Not sure yet whether this is the fix that will be applied in cds-pg, but seems to resolve the issue.
Example:
  "cds": {
    "requires": {
      "db": {
        "kind": "database",
        "dialect": "plain"
      },
      "database": {
        "dialect": "plain",
        "impl": "cds-pg",
        "model": "csn.json"
      }
    },

Was able to test deployment with the delta load option and was successful. Created a pull request with the code changes in case that helps?

Thanks!
I merged https://github.com/mikezaschka/cds-dbm/pull/315 and published<EMAIL_ADDRESS>


Add RestartTimer

iT'S NOT FAILING... JUST SOME LINT THINGHS

ok... It work ?

Yes, now it works.... but only on Windows trought the .bat

I want the bot work with all platform... Sorry but I can't accept this request...

Check the last commit

ok but you need to make the .bat file xD

Made
already

ok i will merge it but I don't know why github tell me there are conflicts in branchs...

Cuz you edited Facebots.js before merging

MERGE NOW

Yeah yeah, I fix the conficts

woohoo !


add pipeline_pixart_reference

#I implemented an image-to-image pipeline, which can generate images according to the style of reference images.
import
from io import BytesIO
import requests
import torch
from diffusers import PixArtAlphaReferencePipeline
from scripts.reference_pipeline_inpaint import PixArtAlphaReferencePipeline
def download_image(url):
response = requests.get(url)
return PIL.Image.open(BytesIO(response.content)).convert("RGB")
You can replace the checkpoint id with "PixArt-alpha/PixArt-XL-2-512x512" too.
pipe = PixArtAlphaReferencePipeline.from_pretrained("PixArt-alpha/PixArt-XL-2-1024-MS", torch_dtype=torch.float16)
pipe = pipe.to('cuda')
img_url = "http://p1.qhimgs4.com/t01fef6f9d5e69335dd.jpg"
ref_image = download_image(img_url).crop((0, 0, 2160, 2160)).resize((1024, 1024))
image_out = pipe(
prompt = '',
height = 1024,
width = 1024,
image = ref_image,
num_inference_steps = 20,
guidance_scale = 4.0,
).images[0]

The first image is the reference image, and the second image is the generated image
@lawrence-cj

Here are some other interesting results. The reference image is on the left and the generated image is on the right.

Prompt Adding words like 'same',' twins', 'mirror', and so on, may result in a higher success rate.

Thank you so much for your effort on this I2i task. It's super promising. Is it possible to generate images with text & reference conditioned together? Like the landmark reference image but generate objects? How about the result?

Thank you so much for your effort on this I2i task. It's super promising. Is it possible to generate images with text & reference conditioned together? Like the landmark reference image but generate objects? How about the result?

I've tried generating text and reference-conditioned images simultaneously, but it seems like this might need further exploration, as sometimes it works and sometimes it doesn't.

Really great work.


extension reverting all changes after save

If i change something in my file and save it, the formatter discards all the changes. If i use the plain text formatter in vscode, i do not get this error but then, lilypond won't compile. Any suggestions?

Same problem on MacOS.

Same issue here...


How to get the batches of the generated compounds?

Theoretically,for generative model,the Batches of compounds generated early would be Unwanted,so I try to get The last few batches of compounds and Loop multiple times with some change in configuration.After checking the results file,I found there was
no batches related information.
Of course, because the scores are an overall upward trend, dividing them according to scores is also a desirable way.But I still want to know if there is a way to get batch information.
look forward to hearing from you if it doesn't bother you. thx~

Currently, there is no information about the batch/step number logged out.
However, we are preparing to release a new version where this is available. It should be ready within the next couple of weeks. It will be added as a separate branch.

thanks for your remind!,looking forward for the new release.
---Original---
From: @.>
Date: Mon, Mar 29, 2021 22:36 PM
To: @.>;
Cc<EMAIL_ADDRESS>Subject: Re: [MolecularAI/Reinvent] How to get the batches of the generated compounds?  (#24)
Currently, there is no information about the batch/step number logged out.
However, we are preparing to release a new version where this is available. It should be ready within the next couple of weeks. It will be added as a separate branch.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.


Added AZTabBarController

Project URL
https://github.com/Minitour/AZTabBarController
Description
A custom tab bar controller for iOS written in Swift 3.0
Checklist

[x] Only one project/change is in this pull request
[x] Addition in chronological order (bottom of category)
[x] Supports iOS 9 or later
[x] Supports Swift 3
[x] Has a commit from less than 2 years ago
[x] Has a clear README in English

          1 Error

:no_entry_sign:
Found 1 link issue

Link issue by awesome_bot

Line
Status
Link

754
301
https://github.com/zalando/MapleBacon redirects tohttps://github.com/zalando-incubator/MapleBacon

  Generated by :no_entry_sign: danger

Hey @Minitour, nice lib 👍

@lfarah Thanks m8 😄


Add support for GPG2 and exported GPG2 keys

Unlike GPG 1, GPG 2 does not have a secring file.

In gnupg version 2, all key operations are performed by gpg-agent in response to commands issued to its socket. So your program has to be changed to use gpg-agent's public API.
See "removal of the secret keyring" at https://www.gnupg.org/faq/whats-new-in-2.1.html for more information.

However it is still possible to export private/public GPG keys. Even so, the private keys have Key IDs that are 16 characters long and due to this code in the signing key plugin, even exported GPG 2 keys won't work:
    // org.gradle.plugins.signing.signatory.pgp.PgpKeyId
    private static String normaliseKeyId(String keyId) {
        String keyIdUpped = keyId.toUpperCase();
        switch (keyIdUpped.length()) {
            case 10:
                if (!keyIdUpped.startsWith("0X")) {
                    throw new IllegalArgumentException("10 character key IDs must start with 0x (given value: " + keyId + ")");
                }
                return keyIdUpped.substring(2);
            case 8:
                if (keyId.startsWith("0X")) {
                    throw new IllegalArgumentException("8 character key IDs must not start with 0x (given value: " + keyId + ")");
                }
                return keyIdUpped;
            default:
                throw new IllegalStateException("The key ID must be in a valid form (eg 00B5050F or 0x00B5050F), given value: " + keyId);
        }
    }

Expected Behavior
Support GP2 via the agent as well as through exported private keys.

Current Behavior
Signing fails with this error:
The key ID must be in a valid form (eg 00B5050F or 0x00B5050F), given value: ABCDABCDABCDABCD

Context

I can't publish to Maven Central using my GPG2 keys.

The workarounds on StackOverflow don't work. The code in Gradle Signing plugin clearly prevents 16-char key IDs to be used. If and when GPG 2 keys are supported, the docs should be updated to show how that can be done.
Steps to Reproduce (for bugs)

Create a GPG2 key
Export its secret key by issuing gpg --export-secret-keys -o ~/secret.gpg
Configure ~/.gradle/gradle.properties:

ossrhUsername=foo
ossrhPassword=bar

signing.keyId=ABCEABCEABCEABCE
signing.password=baz
signing.secretKeyRingFile=secret.gpg

Configure the signing plugin in your project
Build and sign your artifacts
The build fails with this error:

The key ID must be in a valid form (eg 00B5050F or 0x00B5050F), given value: ABCDABCDABCDABCD

Your Environment

Ubuntu 17.04
GPG 2.1.15
OpenJDK 1.8.0_121
Gradle 3.5

A simple workaround that bypasses the length limitation is that use the last 8 bytes of your signing.keyId。For example if your full keyId is "ABCDEFGHIJKLMNOP", you can use the "IJKLMNOP" as the value of "signing.keyId" and it should be just fine.

A currently available solution to this is to use the (currently in alpha) gpg-signing plugin. It requires a slightly patched Gradle to work, though - see the README for details.

As a workaround, you can just use the following command gpg2 --list-keys  --keyid-format SHORT. You will get the key ids listed in the format that plugin accepts.

It seems to be duplicate of #888

Thanks, @grv87!

Duplicate of #888


Support install via pip / PyPI

This is a great package - why not support install via PyPI and pip?
Full steps to reproduce the issue:

pip install got-your-back

Expected outcome (what are you trying to do?):
Install got-your-back via Python's most common convenient install mechanism
Actual outcome (what errors or bad behavior do you see instead?):
The package is not on PyPI so it doesn't get installed!

Is there a technical reason this would be hard? Seems like it would make adoption easier.

agreed on this. I spent a while circling to figure out why it wasn't working with pip.
I tried installing manually via the mac installer you had, which surprisingly was complicated since in python3 you need to rename your packages as .py and its a double sub directory.
(complaints aside, thank you so much for making this. I'm surprised google hasn't offered to buy this and incorporate it into their enterprise suite yet)

Interested in this too, would like to be able to use gyb with some automation.

Hmm, I don't think this should be closed without some input from the author first...


Power ups new

renaming and reconnecting the old tool code for power ups.
Power ups inert

Looks fine to me. One thing is when I picked up a blue power up, it didn't show anything on the bar. I don't know whether we're still going to use the bar so that's fine.


Updating my site URL

I changed my project inside vercel and now this is the current URL (the previous URL doesn't exist no more

🌐 Website

Link:
https://dex-frontend-vercel.vercel.app/
Screenshot:

I'm sorry, i recently moved to ubuntu so i don't know yet how to resize prints, i hope this is enough

📋 Checklist

[x] I have starred the repository.
[x] I have read and accepted the Terms of Service.
[x] There is reasonable content on my site.
[x] I have configured a custom domain for my site.

We have changed the domain record for you. Please, complete the steps in https://github.com/katorlys/rweb.site/wiki/Vercel to make Vercel recognize it.

vc-domain-verify=dex.rweb.site,39fe95eef7e8d404bbf4

We have added the record. Please open "Settings" → "Domain" page in Vercel again.


Dont format in place, just dump changes ?

Is your feature request related to a problem? Please describe.
Sometimes we dont want to format the code in place but have a look at what changes it proposes first. We've had bad experience with stylish-haskell which depending on the locales configuration would just delete half the code.
Describe the solution you'd like
Not sure what I would like, maybe a different set of flags on a per formatter basis for inplace formatting and just checking.
This would require a new command on treefmt too to be able to run "see-changes" and "inplace-format".
Describe alternatives you've considered
I've thought of overriding the default flags of the different formatters not  to format in place like:
          # we override our default config with flags that disable inplace formatting
          treefmt = (flake-inputs.treefmt-nix.lib.mkWrapper pkgs (treefmtConfig // {
            settings.formatter.nixpkgs-fmt.options = ["--check"];
            settings.formatter.stylish-haskell.options = [ "-r" ];
            programs.hlint.enable = true;
          }));

but seems like it triggers other issues error: The option settings.formatter.nixpkgs-fmt.command' is used but not defined.`
That's probably the simplest for everyone. Guess I am just curious about the scope of treefmt.

This can be handled by treefmt direclty, without having to pass the options down to the tools.
Treefmt can already deal with buffers. Eg to get a sneak peek of a generated output:
$ treefmt --stdin src/eval_cache.rs < src/eval_cache.rs


ExFAT on OSX 10.11.6 gives permission errors and reports existing dirs missing

I have an external drive I wanted to setup a server for to do offline syncing from my local server to it. It's an SSD over USB 3 that's formatted with ExFAT.
I'm pretty sure this is OS X's fault, but I'm wondering if there isn't something we could do since I've been able to write/read correctly before.
2016/08/18 23:49:22 Starting camlistored version 2016-08-18-e321eb7+; Go go1.6.1 (darwin/amd64)
2016/08/18 23:49:22 Starting to listen on http://localhost:3180
2016/08/18 23:49:22 Caught panic installer handlers: error instantiating storage for prefix "/bs-loose/", type "filesystem": Storage root "/Volume/cmp-drive-3/camlistore/blobs/" doesn't exist
<snip>
       	/Users/cmp/Code/github/camlistore/tmp/build-gopath/src/camlistore.org/server/camlistored/camlistored.go:355 +0x29
Error parsing config: Caught panic: error instantiating storage for prefix "/bs-loose/", type "filesystem": Storage root "/Volume/cmp-drive-3/camlistore/blobs/" doesn't exist

/V/c/camlistore ❯❯❯ pwd
/Volumes/cmp-drive-3/camlistore
/V/c/camlistore ❯❯❯ ll
total 768
drwxrwxrwx  1 cmp  staff   128K Aug 18 23:48 blobs
drwxrwxrwx  1 cmp  staff   128K Aug 18 23:48 cache
drwxrwxrwx  1 cmp  staff   128K Aug 18 23:48 index.leveldb
/V/c/camlistore ❯❯❯

Actually it doesn't seem to matter if it's ExFAT or not. Reformatted the external drive as OS X's default HFS (Journaled) and exactly the same errors happen. Folders/files that are there are being reported as missing and camlistored can't set it self up.
More strange to me is this issue that camlistored is trying to mkdir /Volumes for some reason? Not sure why it'd be trying to create that folder and not go directly to where it needs to be because /Volumes is a special folder on OS X.
I also don't see any issues with permissions by looking at the files/folders. I tried to run camlistored in sudo as well to see that'd do anything. The errors change, but it still fails for similar reasons.
I'm getting a bit lost trying to follow the handlers since they're registered dynamically.
Here's what I'm seeing:
~/C/g/camlistore ❯❯❯ camlistored -configfile cmp-drive-3-config.json
2016/08/19 20:32:04 Starting camlistored version 2016-08-18-e321eb7+; Go go1.6.1 (darwin/amd64)
2016/08/19 20:32:05 Starting to listen on http://localhost:3180
2016/08/19 20:32:05 Caught panic installer handlers: error instantiating storage for prefix "/index/", type "index": error from "leveldb" KeyValue: mkdir /Volume: permission denied
goroutine 1 [running]:
runtime/debug.Stack(0x0, 0x0, 0x0)
       	/usr/local/go/src/runtime/debug/stack.go:24 +0x80
<snip>
       	/Users/cmp/Code/github/camlistore/tmp/build-gopath-nosqlite/src/camlistore.org/server/camlistored/camlistored.go:355 +0x29
Error parsing config: Caught panic: error instantiating storage for prefix "/index/", type "index": error from "leveldb" KeyValue: mkdir /Volume: permission denied

Please share that configfile!

cmp-drive-3-config.json
{
  "auth": "localhost",
  "handlerConfig": true,
  "https": false,
  "listen": ":3180",
  "prefixes": {
    "/": {
      "handler": "root",
      "handlerArgs": {
        "blobRoot": "/bs-and-maybe-also-index/",
        "helpRoot": "/help/",
        "jsonSignRoot": "/sighelper/",
        "searchRoot": "/my-search/",
        "statusRoot": "/status/",
        "stealth": false
      }
    },
    "/bs-and-index/": {
      "handler": "storage-replica",
      "handlerArgs": {
        "backends": [
          "/bs/",
          "/index/"
        ]
      }
    },
    "/bs-and-maybe-also-index/": {
      "handler": "storage-cond",
      "handlerArgs": {
        "read": "/bs/",
        "write": {
          "else": "/bs/",
          "if": "isSchema",
          "then": "/bs-and-index/"
        }
      }
    },
    "/bs-loose/": {
      "handler": "storage-filesystem",
      "handlerArgs": {
        "path": "/Volume/cmp-drive-3/camlistore/blobs/"
      }
    },
    "/bs-packed/": {
      "handler": "storage-filesystem",
      "handlerArgs": {
        "path": "/Volume/cmp-drive-3/camlistore/blobs/packed"
      }
    },
    "/bs/": {
      "handler": "storage-blobpacked",
      "handlerArgs": {
        "largeBlobs": "/bs-packed/",
        "metaIndex": {
          "file": "/Volume/cmp-drive-3/camlistore/blobs/packed/packindex.leveldb",
          "type": "leveldb"
        },
        "smallBlobs": "/bs-loose/"
      }
    },
    "/cache/": {
      "handler": "storage-filesystem",
      "handlerArgs": {
        "path": "/Volume/cmp-drive-3/camlistore/blobs/cache"
      }
    },
    "/help/": {
      "handler": "help"
    },
    "/importer/": {
      "handler": "importer",
      "handlerArgs": {}
    },
    "/index/": {
      "handler": "storage-index",
      "handlerArgs": {
        "blobSource": "/bs/",
        "storage": {
          "file": "/Volume/cmp-drive-3/camlistore/index.leveldb",
          "type": "leveldb"
        }
      }
    },
    "/my-search/": {
      "handler": "search",
      "handlerArgs": {
        "index": "/index/",
        "owner": "sha1-f4d9c5aaeb661d4235df949e670405b9f27acadd",
        "slurpToMemory": true
      }
    },
    "/setup/": {
      "handler": "setup"
    },
    "/sighelper/": {
      "handler": "jsonsign",
      "handlerArgs": {
        "keyId": "372D5028",
        "publicKeyDest": "/bs-and-index/",
        "secretRing": "/Users/cmp/.config/camlistore/identity-secring.gpg"
      }
    },
    "/status/": {
      "handler": "status"
    },
    "/sync/": {
      "handler": "sync",
      "handlerArgs": {
        "from": "/bs/",
        "queue": {
          "file": "/Volume/cmp-drive-3/camlistore/blobs/sync-to-index-queue.leveldb",
          "type": "leveldb"
        },
        "to": "/index/"
      }
    },
    "/ui/": {
      "handler": "ui",
      "handlerArgs": {
        "cache": "/cache/",
        "scaledImage": {
          "file": "/Volume/cmp-drive-3/camlistore/blobs/thumbmeta.leveldb",
          "type": "leveldb"
        }
      }
    }
  }
}


Is the api document for master on ringojs.org up to date?

https://ringojs.org/api/master/index.html
I afraid that it isn't. Since the current release is 3.0.0 and it still list 1.2.1 as latest stable so what is master according to it?
It seems no one cared about that page and it was not updated for a long time.

🚧 Work in progress! I'm switching to the new server right now. You find an auto-updating documentation under https://ringojs.org/api/main/index.html


Parse-transit will ignore body is input-stream doesn't have data available right away

https://github.com/dakrone/clj-http/commit/72e6ac22ab05c6949bcc1b0c6eba484770fe969e
The parse-transit function is checking if response body InputStream has some data available, using .available method. If the server (or some proxy?) takes some time to write the response body, there might be zero bytes available when parse-transit is called. JSON or other decoding functions don't have this check.
Not exactly sure when this might happen, guess is that we are seeing this with large enough responses and with Amazon Application Load Balancer.
This can be reproduced by calling parse-transit on an InputStream before data is available. Without the .available check Transit will keep trying to read the InputStream untill data is available or stream is closed.
Empty IS case can also be tested with the piped streams, by closing the OS before writing anything. Without .available check, transit/read will throw in that case, as is mentioned in the Transit API docs.
(comment
  (import '[java.io ByteArrayInputStream PipedOutputStream PipedInputStream])

  (let [is (ByteArrayInputStream. (.getBytes "[\"^ \",\"~:a\",[1,2]]"))]
    (parse-transit is :json nil))
  ;; => {:a [1 2]}

  (let [os (PipedOutputStream.)
        is (PipedInputStream. os)]
    (future
      (println "parse: "(parse-transit is :json nil)))
    (Thread/sleep 50)
    (.write os (.getBytes "[\"^ \",\"~:a\",[1,2]]"))
    ))
  ;; parse: nil

I'm not sure how this would be fixed, is there an indication anywhere that is something like "data is eventually coming, but not yet"?

It is not possible to know that before all data is transmitted, i.e. the stream is closed.
I think the solution is to remove available check, then the Transit read will block until either data is available for read or the stream is closed. If the stream is closed before any data was available, Transit will throw an exception.
That exception could be caught and nil value returned, but I'm not sure if that is good design or if it would be better for users to handle/fix those cases themselves.

Hi!
I bumped into this again, and found out that there isn't a release that would contain the fix. Could 3.12.4 be release with this fix, and other pending changes?
Cheers!

Sure, I can do that

Awesome! Thank you! :)

I have release both 3.12.4 and 3.13.0 (I recommend the later as it includes updated dependencies). Hope this helps!

Nice! I'll try the new version tomorrow, thank you so much :)

Both versions seem to work nicely, thanks for the deps update too :)


Bravely Default - top screen is completely black

Game Name (and version if necessary)
Bravely Default
Hardware Specs (If necessary)
5800X3D, 64GB DDR4 3600MT/s, RTX 4070
Operating System
Windows 11
Game State
This game is unplayable as the top screen is where you control the character and move around the game world. Only the 2D "Speak" icon is displayed, so 2D elements work fine, it's just 3D rendering that is broken. Apparently most likely to be a render-to-texture issue.
Screenshots

Additional information
Unlike Citra, the character icon on the save file is displayed correctly and does not overlap the file window.

(Duplicate of #56, please check games don't already have an entry)