aur: Make feature deps hard deps

In the AUR optdepends means that the package can run without optdepends
installed. In polybar most features, if enabled at compile time, cannot
run without their dependencies and will crash polybar. Now the
optdepends only contains truly optional dependencies.
Polybar can run without the i3-wm package because it only relies on the
i3 executable and is not dynamically linked against any library in i3.
The main reason I didn't want to do this before is that I didn't want to force people to have i3 installed to run polybar, but since i3 is actually truly optional this should be not too bad since most people already have those dependencies and they're not too big.
Before we merge this I'd like to also downgrade the pulseaudio dependency to only libpulse if possible. Though polybar checks for the pulseaudio binary in 02-opts.cmake, it doesn't use it anywhere.

I agree this is a good idea for now. We'll have to "rollback" this when we'll introduce the separation in shared objects but that's better for now.

We'll have to "rollback" this when we'll introduce the separation in shared objects but that's better for now

True, we will then move all dependencies back to optdepends and also add them to makedepends.
I have now removed the check for the pulseaudio binary.


'filter' object has no attribute 'pop'

In the export.py line 46
I'm getting the below error...
Traceback (most recent call last):
  File "export.py", line 84, in <module>
    main()
  File "export.py", line 56, in main
    view = views.pop()
AttributeError: 'filter' object has no attribute 'pop'

I'm calling it as illustrated below:
python export.py --csv --file export1.csv `report_ID`

Do i need to specify any further information?

I had the same issue and found this on Stackoverflow.  Are you using Python 3.x?
https://stackoverflow.com/questions/34820657/filter-object-has-no-attribute-pop

Mine returns 'IndexError: pop from empty list', using python 3.6 corrected with list.
I am using view.id as report_ID. Am I using the correct one?

Confirmed this is still a bug in the sample. There are 2 issues here:

Making the sample work correctly in Python 3.x (as @andrewbcooper points out)
Better handling for the case where the resource_id is not found (as @JoeyKwok points out)

The updated samples should cover this nicely.


Add OAI network kpt package

This package creates the Nephio networks required by OAI deployment
Resolves https://github.com/nephio-project/nephio/issues/369

/approve
/lgtm

/approve
/lgtm


Put git repo into archive mode

Unless it still gets updates of course. My understanding is that scenic_driver_local is the replacement, so making scenic_driver_glfw read-only makes it more obivous that it is outdated.

Ah, good idea. I'll archive this repository 👍


Prisma Client falsely validates directUrl env var value, leading to validation error (Affects PDP/Data Proxy and normal Engine)

We introduced directUrl in 4.10.0. Unfortuantely there is a problem, which leads to the directUrl env var validation to lead to a validation error on production if your do not also set the env var behind directUrl - which makes no sense.

The fix to this has just been released as 4.10.1: https://github.com/prisma/prisma/releases/tag/4.10.1


Download from Starting Time and/or Ending Time

Is this possible? If not, is it a valid request?

Duplicate of #622.


Broken link

As title says

It looks like GraphViz is giving problems when cached... I had to remove it. This was causing the build process to fail. We might want to look into it at some point... Seems to me like it's an issue related to the Linux packages caching action...


SUPPRESS_EXCEPTIONS does not suppress exceptions ...

First .. thanks for this great library ..
I'm trying to get a null returned without throwing
When "messages" attribute in a json document is missing, the following code throws
		Configuration conf = Configuration.defaultConfiguration();
		// conf.addOptions(Option.DEFAULT_PATH_LEAF_TO_NULL);
		conf.addOptions(Option.ALWAYS_RETURN_LIST);
		conf.addOptions(Option.SUPPRESS_EXCEPTIONS);
		messages = JsonPath.using(conf).parse(json).read("$.messages");

I've tried every permutation - but it always seems to throw ..
Any guidance would be appreciated, thanks.

Did you try creating a new configuration as follows?
Configuration.builder().options(Option.ALWAYS_RETURN_LIST, Option.SUPPRESS_EXCEPTIONS).build();
I believe I had to do this in order to get this option to work for me in the past.

The configuration is imutable. Try this:
Configuration conf = Configuration.defaultConfiguration()
.addOptions(Option.ALWAYS_RETURN_LIST)
.addOptions(Option.SUPPRESS_EXCEPTIONS);

On 02 Sep 2016, at 01:57 , GroG<EMAIL_ADDRESS>wrote:
First .. thanks for this great library ..
I'm trying to get a null returned without throwing
When "messages" attribute in a json document is missing, the following code throws
    Configuration conf = Configuration.defaultConfiguration();
    // conf.addOptions(Option.DEFAULT_PATH_LEAF_TO_NULL);
    conf.addOptions(Option.ALWAYS_RETURN_LIST);
    conf.addOptions(Option.SUPPRESS_EXCEPTIONS);
    messages = JsonPath.using(conf).parse(json).read("$.messages");

I've tried every permutation - but it always seems to throw ..
Any guidance would be appreciated, thanks.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/jayway/JsonPath/issues/259, or mute the thread https://github.com/notifications/unsubscribe-auth/AAbV4mCK4IeO3dfPxYzHap9OwB5DMhG8ks5ql2aEgaJpZM4JzPur.

The solution I provided above also works, right? Or, did something change in the latest versions of this tool?

Yes it works fine.
Sent from my iPhone

On 6 sep. 2016, at 17:07, Patricia Goldweic<EMAIL_ADDRESS>wrote:
The solution I provided above also works, right? Or, did something change in the latest versions of this tool?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

Also, you could use this form:
Configuration conf = Configuration.defaultConfiguration().setOptions(Option.ALWAYS_RETURN_LIST, Option.SUPPRESS_EXCEPTIONS);


feat(.devcontainer): basic codespaces config

Checklist:

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

To Test

Select New with options...

On next page, choose the correct devcontainer.json file to use

Currently, there are almost definitely too many 🐛 for the main devcontainer, but the docs one should work just fine

I have removed my approval, because this is outside of my scope 👍

This seems to work, but I get this error:
Error: Something went wrong installing the "sharp" module
  Cannot find module '../build/Release/sharp-linux-x64.node'

I fix this by running the recommended:
npm install --ignore-scripts=false --verbose sharp

So, I am not sure if this is a problem with Gatsby:
Error in "/workspaces/freeCodeCamp/node_modules/gatsby-plugin-manifest/gatsby-node.js":
Something went wrong installing the "sharp" module

Cannot find module '../build/Release/sharp-linux-x64.node'
Require stack:
- /workspaces/freeCodeCamp/node_modules/sharp/lib/sharp.js
- /workspaces/freeCodeCamp/node_modules/sharp/lib/constructor.js
- /workspaces/freeCodeCamp/node_modules/sharp/lib/index.js
- /workspaces/freeCodeCamp/node_modules/gatsby-plugin-manifest/safe-sharp.js
- /workspaces/freeCodeCamp/node_modules/gatsby-plugin-manifest/gatsby-node.js

Or, if it is an issue with the base image for the Nodejs + MongoDB devcontainer being Debian.
Unless others can think of a better way, I am happy for this to go in as is.


Create a Avatar component

One need to make this component using HTML and Tailwind CSS. I would suggest to use Tailwind Playgrounds to make things faster and quicker.
Here is a reference to the component.
Add image here

After building the component please raise a PR with a screenshot of the component and add the component in path of the file.
If you need to use any icon please use it from Hero Icons
Good luck.

Hey @Rajdip019 @rupsha014, I want to work on this component. Kindly, assign this to me.

@rupsha014 Could you please assign this to me.

This looks good @prem-io work on this.

@Rajdip019 @rupsha014 Raised PR for this issue. Kindly, review and comment if any changes required.


Phone Gap Build not including as a plugin

Expected Behaviour
I have the below in my config.xml which I am expecting to include the plugin when phonegap builds my app.
<plugin name="phonegap-plugin-barcodescanner">
  <param name="CAMERA_USAGE_DESCRIPTION" value="To scan barcodes." />
</plugin>

Actual Behaviour
When I unpack the APK after building in phonegap build I do not see the  "assets\www\plugins\phonegap-plugin-barcodescanner" folder. There is a folder for each of the plugins except for this one.
Reproduce Scenario (including but not limited to)
Been trying since yesterday tried just including
Have tried a couple android phones and  they do not scan or ask for permissions to scan (because the plugin is not there)
Steps to Reproduce

Include the plugin with the above code in the config.xml and build an app on phonegap build.
unpack the APK and see if the plugin was included.
Try to scan with the app.

Platform and Version (eg. Android 5.0 or iOS 9.2.1)
Current Phone gap
(Android) What device vendor (e.g. Samsung, HTC, Sony...)
Tried on one plus and another android phone (but plugin not in apk)
Cordova CLI version and cordova platform version
cordova --version
cordova platforms

Plugin version
None specified.
cordova plugin version | grep phonegap-plugin-barcodescanner
Sample Code that illustrates the problem
<plugin name="phonegap-plugin-barcodescanner">
  <param name="CAMERA_USAGE_DESCRIPTION" value="To scan barcodes." />
</plugin>

Logs taken while reproducing problem

Do you have any phonegap version set in your config.xml?

No, I did not and turns out that was the issue. Thank you.


"Hot" issues

Develop a metric that quantifies the current activity level on all issues/PRs across the orgs and lists them in order on one page.
Then as an extension take those same issues and extract a word map that shows the hot topics as english words.

cc @nikomatsakis

I'm sure there are many ways to define "hot". Without looking at any prior work in that area, I can think of a few items, ranging from super dumb to overkill.

Pick a window (last 30 days, last 7 days, etc etc), and rank each issue/PR by the number of comments. (measure of raw activity)
Same as 1, but also include ranking for number of commenters, number of comments per commenter. (measure of how much of community may be affected)
Measure timestamp intervals between all comments in the given period. (measure of heatedness of discussion)
Count number of characters in comments, add weight for number of characters, average length of comments, etc. (measure of ~weight of issues)
And so on and so forth.

I suspect that a level of complexity between 2 & 3 above will be appropriate, but it'd need an implementation in practice to be sure.
In terms of a word map -- shouldn't be too difficult. There are existing options like Wordle and various JS/HTML tools. I think I can port the NLP portions (discarding noise words, word counting) to Rust and handle presentation in the JavaScript frontend.
Any work on this will be blocked on me updating the scraper to handle multiple repos, which I'm probably going to get to tomorrow night.

I'd say a 30 day window counting comments + tags + those github link notifications is probably sufficient.

I've added some super basic functionality in 778acbe65784ae96e9c72fd9c2532edbd7ca8c7f. Still trying to find a way to efficiently query the database for issue mentions -- I think it might require a change to scraping to process those on the way in, rather than at query time.
That said, looking at the number I don't think that tag activity and mentions will significantly alter the ranking unless they're weighted differently.

Note to self: add column(s) for each metric to make sorting obvious-er.


Local media source support

File browser for choosing local media files?

lets do local media suupport

+1


Loader when website opens first time

The web page should have a Loader when user enters, so that images can load without stuck affecting the UX.
Assign me in this issue and label as gssoc-ext and hacktoberfest

In the guidelines, it is already mentioned there should not be any changes in the home page, Do not be demotivated and raise a new issue.


SQLite vector add-in

This proposed feature is in support of the LLM work.  I am shamefully ignorant of the details, something like storing and querying embeddings but I am a mere pawn of @karthik2804 who is better placed than me to explain why it's worth having.
The trouble is that the library we want to use provides static binaries only for Linux/x64, Mac/x64, and Max/aarch64.  This leaves us with a problem of what to do about Linux/arm64 and Windows/x64.  We could say it's not supported on those, but then we have different capabilities on different builds for no reason that is logically apparent to Spin users (it's an implementation detail of an upstream library).  Or we could try to PR support into the upstream sqlite-vss repo, if Fermyon was willing to invest in that work (and the upstream author was willing to maintain it) - I have no idea how hard it would be though.
This probably comes down to a community / business decision.  For the time being, this PR is mostly about seeing how badly it breaks on the platforms where it ought to work.  But at least it compiled on my machine...
...once.

ref https://github.com/asg017/sqlite-vss/issues/82

As far as I can tell, Linux ARM can be built (ref https://github.com/asg017/sqlite-vss/issues/82), so it's a matter of generating the binary as part of the release.
It would be great to contribute upstream this feature.
Windows seems to be somewhat more difficult - https://github.com/asg017/sqlite-vss/issues/82 and https://github.com/facebookresearch/faiss/issues/2551.
Not supporting it for now (and pointing to running in WSL) would make sense for now.

Even the plain Ubuntu build fails on linking to libatlas.  The sqlite-vss documentation warns the "on Linux machines, you'll have to install some packages to make these options work:
sudo apt-get update
sudo apt-get install -y libgomp1 libatlas-base-dev liblapack-dev

These are evidently not on the GH runner, and weren't on my WSL installation, which makes me suspect they'll likely not be on many contributors' machines.  So that's going to create a speed bump for contributors.  As always, this isn't a blocker, just something to factor into the decision.

With those packages in, Ubuntu builds. Yay!
On to Mac and we get a lot of:
warning: object file (/Users/runner/work/spin/spin/target/release/deps/libsqlite_vss-630e52b931658673.rlib(AutoTune.cpp.o)) was built for newer macOS version (12.6) than being linked (12.0)

which is odd because we build on macos-latest.  But the error is that it's looking for good ol' omp again so trying some brew installs.

Desired in 1.6 :-)


Show programming exercises with manual assessment in instructor course dashboard

We show them already in the tutor dashboard, but not yet in the instructor dashboard (e.g. https://artemis.ase.in.tum.de/#/course/37/instructor-dashboard).
We should stay consistent here!

Resolved on develop


Merge PHOENIX-6182: IndexTool to verify and repair every index row (#…

…1022)

PHOENIX-6198 Add option to IndexTool to specify the source table for scan (#937)

PHOENIX-6198 Add option to IndexTool to specify the source table for scan

Addressed feedback for PHOENIX-6198

Extended the -from-index option to support -vBOTH, -vAFTER and -vNONE.
Added the disclaimer for -vAFTER. Also, using the source table enum from
IndexScrutinyTool.

PHOENIX-6199 Generate different query plan depending upon if the source (#958)

is index table or data table

PHOENIX-6200 Add counters for extra index rows, log results to PIT and PIT_RESULT table (#995)

PHOENIX-6200 Add counters for extra index rows, log results to PIT and PIT_RESULT table

Address feedback

PHOENIX-6200 (addendum) Fix test case because invalid rows now are
reported as beyond max lookback when max lookback is set to 0
Also add ASF license to one file

I see you have started working on it.
I try to do the same at https://github.com/apache/phoenix/pull/1126.
It looks like your test had hung.
I have fixed that particular problem in my version, HBase 2 cannot create tables while the time stands still.
However, I have a test failure in org.apache.phoenix.end2end.IndexRepairRegionScannerIT.testFromIndexToolForIncrementalVerify() that I'm note really making progress on.

@stoty what failure are you seeing ?
I have not been able to run tests locally on master branch. My test setup fails everytime Caused by: java.lang.RuntimeException: Master not active after 30000ms 	at org.apache.hadoop.hbase.util.JVMClusterUtil.waitForEvent(JVMClusterUtil.java:232) 	at org.apache.hadoop.hbase.util.JVMClusterUtil.startup(JVMClusterUtil.java:188) 	at org.apache.hadoop.hbase.LocalHBaseCluster.startup(LocalHBaseCluster.java:430) 	at org.apache.hadoop.hbase.MiniHBaseCluster.init(MiniHBaseCluster.java:259) 	... 30 more

@tkhurana
Local branch test failure:
I haven't encountered that one locally.
If you are running the full suite, and have less than 16GB RAM, you coul try halving numForkedIT.
My problem with org.apache.phoenix.end2end.IndexRepairRegionScannerIT.testFromIndexToolForIncrementalVerify():
(this is after fixing the EnvireonmentEdgeManager not to be used while creating the table and index)
In the second set of asserts
assertEquals(NROWS,
mrJobCounters.findCounter(BEFORE_REPAIR_EXTRA_VERIFIED_INDEX_ROW_COUNT.name()).getValue());
returns 3 instead of 4.
Which is very scary.

@tkhurana
Are you rebuilding HBase locally as described in BUILDING.md ?
IIRC missing that step can also cause this error.

#1126 now seems to be working.


libsidplayfp: 2.4.2 -> 2.5.0

Description of changes
Closes #227249

2.4.2 -> 2.5.0
reduce log noise during doc generation
make check inputs more correct

I don't know if it actually works when (stdenv.buildPlatform != stdenv.hostPlatform) && (stdenv.buildPlatform.canExecute stdenv.hostPlatform), tried gnu32 but unittest-cpp fails to cross-compile

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 236905 run on x86_64-linux 1

7 packages built:

audacious (audaciousQt5)
audacious-plugins
gjay
libsidplayfp
libsidplayfp.doc
qmplay2
sidplayfp

Result of nixpkgs-review pr 236905 run on x86_64-darwin 1

3 packages built:

libsidplayfp
libsidplayfp.doc
sidplayfp


No dependency runtime validators

I noticed that #21 hasn't been worked on yet. At my last job I specifically created my own validators, so I figured I'd throw my hat in. I'm more than open to different suggestions, and this is really a basic example. Oh, also this is targeting main because I didn't see any branches for this feature.
PR includes:

Created a BaseValidator abstract class and an example CatalogValidator. I chose an easy example for the pitch, I'm sure others are going to need to be complicated.
CatalogValidator also includes a static method that does all validation and lets TS know that the object is definitely a Catalog.
Created some basic unit tests using the validator to test against prod data.
Set up github actions to run these tests automatically.

A few caveats:

I'm not great with docstrings so if there's something wrong feel free to point it out.
Given that the test calls Scryfall every time its run, that may or may not be an issue for the servers. Maybe there's a way to cache the data temporarily?
validDataLength may not be necessary since that's not explicitly about the object itself.
The validators are written in TS for ease of development but should be compiled to JS. Given that this is a mockup/pitch I didn't feel it was necessary to add it to this PR.

Please let me know if there's anything I can improve here. I'd also like to volunteer to work on these and add them to this project. I'd love to contribute to Scryfall in any way I can.

This is extraordinary, and sorry for the long wait time! I've needed to prioritise personal stuff over development.
I have an in-development Scryfall project I've been dogfooding the API with, so upcoming I'll work on completing that to verify the alpha version is in acceptable shape and roll out more of these over time.


docs(api): reformat API doc templates

The generated docs look like this:

(The double slash in the endpoint will be fixed by a Kork update).
There's a lot of room for improvement, but that will come from improving Gate's controller annotations.
Also fixes the breadcrumbs issue for /reference/api
@spinnaker/google-reviewers

That looks great.


Doesn't work with Unity 2018.3.0f2

Hi,
Tried with Unity 2018.3.0f2, no effect of VXGI, that i can see.
Hope you could help.
Thanks,
Tushar

Can you show the output of console?

Looks like upgrading to any verions of Unity forces re-importing the whole project. In my experience, this process usually breaks the currently used render pipeline asset (located in Assets/Profiles/VXGIRenderPipeline.asset), and thus Unity switch back to use the default render pipeline.
This is not an actual problem though. All you have to do is to re-create a new render pipeline asset by going to the Create menu: Create/Rendering/VXGI Render Pipeline Asset. Then go to Edit/Project Settings/Graphics. Under the inspector, drop the newly created asset into Scriptable Render Pipeline Settings. It looks like this:

Hi,
Thanks for the reply.
I followed the same steps that you have mentioned, but still no output in unity.
I am attaching the screenshot of asset and console.

What kind of OS are you working on? And what kind of graphics card and graphics API you are using?

Working on windows 10 64 bit
GPU: Nvidia 660ti

Strange. I imported this project onto Unity 2018.3.6f1 and it works fine.

I think that the voxel lighting environment is not created. You can click on Camera object and change Resolution to a lower value like Low or Medium. I doubt that your GPU has enough RAM to fit high resolution voxel data.

I tried with Low res as well but issue might be due to my graphics card. :(
But anyways thanks for the help, hoping to see new updates on this repo, will surely try again after upgrading my PC.

I see that the GTX 660ti can have 2GB to 3GB of RAM. The highest resolution only consumes around 800MB of RAM. I wanna check if your card is supporting 16-bit floating-point 3D render texture format. Here is the document for this format.
As stated in the document, you can check SystemInfo.SupportsRenderTextureFormat(RenderTextureFormat.ARGBHalf). If it returns false, your card doesn't support this format. You can modify the source code to use other texture format, such as 8-bit floating-point.

You can also send me editor log file after opening the project. I will inspect it later.

FYI - I was able to get this SRP-VXGI working today in Unity 2018.3.6f1 by following the video tutorial.
The video tutorial is just missing a couple steps:

go into Window->Packages, clicking "+", then "Add package from disk..." and navigating to the Unity-SRP-VXGI/package.json file
go into Project Settings -> Player -> Other, and change the Color Space to Linear

After that I think all the steps are in the video

@jeske I intentionally used Gamma Color space because it looks better with high intensity light. Also, I have just reorganized the project yesterday, so importing the package is different than before that.

Ahh... I thought I read somewhere that it needed Linear color space. That must have been my mistake.
I'm pretty impressed with the results on my small tests. Of course there are issues, but it's a great starting point. Thanks so much for open-sourcing this!

@jeske Maybe you are right about that we should pick linear color space because of calculation accuracy. I chose gamma color space a year ago and now I don't quite sure why I made that decision.
AFAIK, Linear color space pipeline removes gamma correction from input colors and textures and, later on, add gamma correction the output frame buffer. With HDR camera, very bright light will be clamped to white. I think this is why I used gamma color space just to display high intensity light more nicely.
To use linear color space with HDR, we will need tonemapping to be able to display very bright pixel. However, the render pipeline doesn't work with post-processing stack so I cannot use its tonemapping.
I will probably open 2 issues:

Revisit the color space and check if color space conversion within this render pipeline is correct.
Make the render pipeline work with the post-processing stack or implement tonemapping on my own. I would prefer the former solution, because the later is kinda re-inventing the wheel.

@jeske

I intentionally used Gamma Color space because it looks better with high intensity light.

I was mistaken for this incorrect statement. Actually, I did use Linear color space, so you are right about this. The decision was based on SEGI User Guide


Make the bot not crash when a channel mentioned by ID fails to exist

Description
If a channel is referenced in Discord, e.g. <#1234>, and the referenced channel does not exist, the bot seems to crash. This commit fixes it to replace this with '#deleted-channel', as Discord does on that side of the bridge.
Present behavior
Writing #blah, <#test> and <#1234> into IRC causes the bot to show (in Discord):
<Throne> #blah
<Throne> <#test>
<Throne> #deleted-channel

and then writing the same into the Discord channel causes (in IRC):
[22:13:39] <test2> <Throne3d> #blah
[22:13:41] <test2> <Throne3d> <#test>
[22:13:44] * test2 has quit (Client exited)

The crash produced:
/home/throne3d/discord-irc/dist/bot.js:159
      return `#${channel.name}`;
                        ^

TypeError: Cannot read property 'name' of undefined
    at text.replace.replace (/home/throne3d/discord-irc/dist/bot.js:159:25)
    at RegExp.[Symbol.replace] (native)
    at String.replace (native)
    at Bot.parseText (/home/throne3d/discord-irc/dist/bot.js:157:45)
    at Bot.sendToIRC (/home/throne3d/discord-irc/dist/bot.js:179:23)
    at Client.discord.on.message (/home/throne3d/discord-irc/dist/bot.js:113:12)
    at emitOne (events.js:96:13)
    at Client.emit (events.js:191:7)
    at MessageCreateHandler.handle (/home/throne3d/discord-irc/node_modules/discord.js/src/client/websocket/packets/handlers/MessageCreate.js:9:34)
    at WebSocketPacketManager.handle (/home/throne3d/discord-irc/node_modules/discord.js/src/client/websocket/packets/WebSocketPacketManager.js:120:65)

The new test (and stubbing behavior) I add with this patch fails on master as follows:
  1) Bot should use #deleted-channel when referenced channel fails to exist:
     TypeError: Cannot read property 'name' of null
      at text.replace.replace (lib/bot.js:7:2326)
      at RegExp.[Symbol.replace] (native)
      at String.replace (native)
      at Bot.parseText (lib/bot.js:7:2147)
      at Bot.sendToIRC (lib/bot.js:8:652)
      at Context.<anonymous> (test/bot.test.js:271:14)

Modified behavior
With the change, it only returns the channel's name where the channel is truthy. (I'm not very acquainted with modern techniques so this might not be the best way to do it? It seems to be undefined as returned by this.discord.channels.get(channelId) but null as returned by the stub, so checking channel === undefined didn't catch that.)
Otherwise, it returns #deleted-channel (and so writes that into the IRC channel), mirroring the behavior seen in Discord for such invalid channel IDs. This doesn't break any other tests (at least not on my system). The && value == undefined condition is to check for when a second parameter isn't given – I wasn't sure whether to use && !value or something else instead.

Coverage increased (+0.02%) to 97.368% when pulling f882e15b8b3c70433820391d4f35f7d672bbd58f on Throne3d:fix/crash-on-undefined-channel into 26626e55a568f967cbc5e0aed099dfd5bc203df2 on reactiflux:master.

Great, thank you!

Released in 2.3.0!


_ Patch Compile Tests _

-1 :x:
mvninstall
1m 35s
root in the patch failed.

-1 :x:
compile
0m 20s
hbase-server in the patch failed.

-0 :warning:
javac
0m 20s
hbase-server in the patch failed.

-1 :x:
shadedjars
4m 13s
patch has 18 errors when building our shaded downstream artifacts.

-0 :warning:
javadoc
0m 14s
hbase-server in the patch failed.

_ Other Tests _

-1 :x:
unit
0m 21s
hbase-server in the patch failed.

15m 39s

Subsystem
Report/Notes

Docker
ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5449/1/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/5449

Optional Tests
javac javadoc unit shadedjars compile

uname
Linux 634e3d83555b 5.4.0-153-generic #170-Ubuntu SMP Fri Jun 16 13:43:31 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / 3bf3b96322

Default Java
Eclipse Adoptium-11.0.17+8

mvninstall
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5449/1/artifact/yetus-jdk11-hadoop3-check/output/branch-mvninstall-root.txt

compile
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5449/1/artifact/yetus-jdk11-hadoop3-check/output/branch-compile-hbase-server.txt

javadoc
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5449/1/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-server.txt

mvninstall
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5449/1/artifact/yetus-jdk11-hadoop3-check/output/patch-mvninstall-root.txt

compile
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5449/1/artifact/yetus-jdk11-hadoop3-check/output/patch-compile-hbase-server.txt

javac
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5449/1/artifact/yetus-jdk11-hadoop3-check/output/patch-compile-hbase-server.txt

shadedjars
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5449/1/artifact/yetus-jdk11-hadoop3-check/output/patch-shadedjars.txt

javadoc
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5449/1/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-server.txt

unit
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5449/1/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-hbase-server.txt

Test Results
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5449/1/testReport/

Max. process+thread count
60 (vs. ulimit of 30000)

modules
C: hbase-server U: hbase-server

Console output
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5449/1/console

versions
git=2.34.1 maven=3.8.6

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.


Syntax errors in request_parser.hpp when including served/served.hpp

I added this as a submodule to another program I'm designing to be a rest api so I don't have to futz with building dependencies separately. The following I added to my cmakelists
include_directories(served/src)
And when I include served/served.hpp and do nothing else - I have just an empty main, I get a ton of syntax errors from request_parser.hpp
served\src\served/request_parser.hpp(59,39): error C2143:  syntax error: missing '}' before 'constant'
served\src\served/request_parser.hpp(59,39): error C2059:  syntax error: 'constant'
served\src\served/request_parser.hpp(59,45): error C2143:  syntax error: missing ';' before '}'
served\src\served/request_parser.hpp(59,45): error C2238:  unexpected token(s) preceding ';'
served\src\served/request_parser.hpp(61,1): error C2059:  syntax error: 'private'
served\src\served/request_parser.hpp(84,1): error C2059:  syntax error: 'protected'
served\src\served/request_parser.hpp(95,36): error C2575:  'http_field': only member functions and bases can be virtual
served\src\served/request_parser.hpp(95,38): error C2059:  syntax error: 'constant'
served\src\served/request_parser.hpp(105,19): error C2575:  'request_method': only member functions and bases can be virtual
served\src\served/request_parser.hpp(105,21): error C2059:  syntax error: 'constant'
served\src\served/request_parser.hpp(115,19): error C2575:  'request_uri': only member functions and bases can be virtual
served\src\served/request_parser.hpp(115,21): error C2059:  syntax error: 'constant'
served\src\served/request_parser.hpp(125,19): error C2575:  'fragment': only member functions and bases can be virtual
served\src\served/request_parser.hpp(125,21): error C2059:  syntax error: 'constant'
served\src\served/request_parser.hpp(135,19): error C2575:  'request_path': only member functions and bases can be virtual
served\src\served/request_parser.hpp(135,21): error C2059:  syntax error: 'constant'
served\src\served/request_parser.hpp(145,19): error C2575:  'query_string': only member functions and bases can be virtual
served\src\served/request_parser.hpp(145,21): error C2059:  syntax error: 'constant'
served\src\served/request_parser.hpp(155,19): error C2575:  'http_version': only member functions and bases can be virtual
served\src\served/request_parser.hpp(155,21): error C2059:  syntax error: 'constant'
served\src\served/request_parser.hpp(165,19): error C2575:  'header_done': only member functions and bases can be virtual
served\src\served/request_parser.hpp(165,21): error C2059:  syntax error: 'constant'
served\src\served/request_parser.hpp(171,17): error C2059:  syntax error: ')'
served\src\served/request_parser.hpp(176,25): error C2588:  '::~request_parser': illegal global destructor
served\src\served/request_parser.hpp(176,27): error C2575:  'request_parser': only member functions and bases can be virtual
served\src\served/request_parser.hpp(176,27): error C4430:  missing type specifier - int assumed. Note: C++ does not support default-int
served\src\served/request_parser.hpp(198,19): error C4430:  missing type specifier - int assumed. Note: C++ does not support default-int
served\src\served/request_parser.hpp(198,19): error C2365:  'served::status': redefinition; previous definition was 'namespace'
served\src\served/status.hpp(112): message :  see declaration of 'served::status'
served\src\served/request_parser.hpp(198,9): error C2146:  syntax error: missing ';' before identifier 'get_status'
served\src\served/request_parser.hpp(201,1): error C2059:  syntax error: '}'
served\src\served/request_parser.hpp(201,1): error C2143:  syntax error: missing ';' before '}'
served\src\served/request_parser_impl.hpp(31,18): error C2143:  syntax error: missing ';' before '{'
served\src\served/request_parser_impl.hpp(31,18): error C2447:  '{': missing function header (old-style formal list?)
served\src\served/net/connection.hpp(62,46): error C3646:  '_request_parser': unknown override specifier
served\src\served/net/connection.hpp(62,46): error C4430:  missing type specifier - int assumed. Note: C++ does not support default-int

I'm building this in Visual Studio 2019. Is Served compatible with on Windows, or it is only Linux and Mac? I assumed since it's using Boost, I could compile it on Windows.

Hello ghostravenstorm,
unfortunately i am forced to use Windows as well, receiving the same errors. I am building this with MinGW on Windows (the not properly working one) but i tested served on Mac too, which compiled sucessfully. I am very aware of your problem being over one year old, but have you worked out any solution for this or solved this problem somehow?


npm requires node v0.2.3 or higher

Operating system and version:
OSX Ventura 13.6
Apple M2
nvm debug output:

nvm --version: v0.39.5
$TERM_PROGRAM: Apple_Terminal
$SHELL: /bin/zsh
$SHLVL: 1
whoami: 'mlwalters'
${HOME}: /Users/mlwalters
${NVM_DIR}: '${HOME}/.nvm'
${PATH}: ${NVM_DIR}/versions/node/v20.7.0/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin
$PREFIX: ''
${NPM_CONFIG_PREFIX}: ''
$NVM_NODEJS_ORG_MIRROR: ''
$NVM_IOJS_ORG_MIRROR: ''
shell version: 'zsh 5.9 (x86_64-apple-darwin22.0)'
uname -a: 'Darwin 22.6.0 Darwin Kernel Version 22.6.0: Fri Sep 15 13:39:54 PDT 2023; root:xnu-87<IP_ADDRESS>0.8~1/RELEASE_ARM64_T8112 arm64'
checksum binary: 'shasum'
OS version: macOS 13.6 22G120
awk: /usr/bin/awk, awk version 20200816
curl: /usr/bin/curl, curl 8.1.2 (x86_64-apple-darwin22.0) libcurl/8.1.2 (SecureTransport) LibreSSL/3.3.6 zlib/1.2.11 nghttp2/1.51.0
wget: not found
sed: /usr/bin/sed
cut: /usr/bin/cut
basename: /usr/bin/basename
rm: /bin/rm
mkdir: /bin/mkdir
xargs: /usr/bin/xargs
git: /opt/homebrew/bin/git, git version 2.42.0
ls: grep:: No such file or directory
grep: grep: aliased to grep --color=auto --exclude-dir={.bzr,CVS,.git,.hg,.svn,.idea,.tox} (grep --color=auto --exclude-dir={.bzr,CVS,.git,.hg,.svn,.idea,.tox}), grep (BSD grep, GNU compatible) 2.6.0-FreeBSD
nvm current: none
which node: ${NVM_DIR}/versions/node/v20.7.0/bin/node
which iojs: iojs not found
which npm: npm not found
npm config get prefix: nvm:271: command not found: npm
npm root -g: nvm:271: command not found: npm

nvm ls output:

        v20.7.0
default -> 20 (-> v20.7.0)
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v20.7.0) (default)
stable -> 20.7 (-> v20.7.0) (default)
lts/* -> lts/hydrogen (-> N/A)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.24.1 (-> N/A)
lts/erbium -> v12.22.12 (-> N/A)
lts/fermium -> v14.21.3 (-> N/A)
lts/gallium -> v16.20.2 (-> N/A)
lts/hydrogen -> v18.18.0 (-> N/A)

How did you install nvm?

install script
What steps did you perform?
nvm install 20

What happened?
Downloading and installing node v20.7.0...
Local cache found: ${NVM_DIR}/.cache/bin/node-v20.7.0-darwin-arm64/node-v20.7.0-darwin-arm64.tar.xz
Checksums match! Using existing downloaded archive ${NVM_DIR}/.cache/bin/node-v20.7.0-darwin-arm64/node-v20.7.0-darwin-arm64.tar.xz
Now using node v20.7.0
Installing npm...
npm requires node v0.2.3 or higher

What did you expect to happen?
This is a fresh install of NVM on a new laptop. I would have expected the installation of Node v20 to also install NPM properly.
Is there anything in any of your profile files that modifies the PATH?

No

You have a homebrew-installed git, so it’s not quite a stock Mac laptop; you also have grep aliased, and nvm debug seems to imply that ls doesn’t exist?
Thees definitely something weird here, but the implication is that something in your profile is causing nvm to run the wrong command (which nvm can fix once it’s identified)

I had the  similar issue on Ubuntu and it turned out to be the  PATH issue. Which I was able to fix by modifying it like this:
_

export PATH="$NVM_DIR/versions/node/$(nvm current)/bin:$PATH"

_
Hope that helps.

@ljharb I've uninstalled Homebrew git...
Couple of notes...

nvm install 20 seems to have worked
npm -v and node -v is still acting strange

npm -v output...
[1]    31067 killed     npm -v

node -v output...
[1]    31431 killed     node -v

nvm debug output...

```sh
nvm --version: v0.39.5
$TERM_PROGRAM: Apple_Terminal
$SHELL: /bin/zsh
$SHLVL: 1
whoami: 'mlwalters'
${HOME}: /Users/mlwalters
${NVM_DIR}: '${HOME}/.nvm'
${PATH}: ${NVM_DIR}/versions/node/v20.8.0/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin
$PREFIX: ''
${NPM_CONFIG_PREFIX}: ''
$NVM_NODEJS_ORG_MIRROR: ''
$NVM_IOJS_ORG_MIRROR: ''
shell version: 'zsh 5.9 (x86_64-apple-darwin22.0)'
uname -a: 'Darwin 22.6.0 Darwin Kernel Version 22.6.0: Fri Sep 15 13:39:54 PDT 2023; root:xnu-87<IP_ADDRESS>0.8~1/RELEASE_ARM64_T8112 arm64'
checksum binary: 'shasum'
OS version: macOS 13.6 22G120
awk: /usr/bin/awk, awk version 20200816
curl: /usr/bin/curl, curl 8.1.2 (x86_64-apple-darwin22.0) libcurl/8.1.2 (SecureTransport) LibreSSL/3.3.6 zlib/1.2.11 nghttp2/1.51.0
wget: not found
sed: /usr/bin/sed
cut: /usr/bin/cut
basename: /usr/bin/basename
rm: /bin/rm
mkdir: /bin/mkdir
xargs: /usr/bin/xargs
git: /usr/bin/git, git version 2.39.3 (Apple Git-145)
ls: grep:: No such file or directory
grep: grep: aliased to grep --color=auto --exclude-dir={.bzr,CVS,.git,.hg,.svn,.idea,.tox} (grep --color=auto --exclude-dir={.bzr,CVS,.git,.hg,.svn,.idea,.tox}), grep (BSD grep, GNU compatible) 2.6.0-FreeBSD
nvm current: none
which node: ${NVM_DIR}/versions/node/v20.8.0/bin/node
which iojs: iojs not found
which npm: /usr/local/bin/npm
npm config get prefix:
npm root -g:
```

nvm ls output...

```sh
        v20.8.0
default -> 20 (-> v20.8.0)
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v20.8.0) (default)
stable -> 20.8 (-> v20.8.0) (default)
lts/* -> lts/hydrogen (-> N/A)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.24.1 (-> N/A)
lts/erbium -> v12.22.12 (-> N/A)
lts/fermium -> v14.21.3 (-> N/A)
lts/gallium -> v16.20.2 (-> N/A)
lts/hydrogen -> v18.18.0 (-> N/A)
```

npm comes with node, so it should be impossible to get node from nvm and not npm - but also your node -v output is incorrect. Are you sure node isn't aliased to something?
Either way, which npm prints out /usr/local/bin/npm which means you do have a (probably homebrew-installed) system version of npm. Remove that.

Faced with the same issue on Linux, when building docker image.
The reason was that for $NVM_DIR I used path in format ~/.nvm
`FROM jetbrains/teamcity-agent
WORKDIR /app
ARG NODE_VERSION
ARG NVM_DIR
ENV NODE_VERSION=${NODE_VERSION:-18.12.1}
ENV NVM_DIR=${NVM_DIR:-~/.nvm}`
Changing $NVM_DIR to something else with absolutely path - fixed my problem.


Better choose ubuntu mirror

Actually a lot of people have this problem on normal ubuntu too. Here is the link:
http://askubuntu.com/questions/319433/making-mirror-mirrors-ubuntu-com-highly-available
We can probably get a strategy similar to what apt-spy2 uses (which is < 200 LoC). Or if we will already do any network requests we can probably just fetch indexes instead of apt-get with try and switch mirror strategy. Not sure it is worth the effort though.
Anyway currently we're switching back to using
mirrors://mirrors.ubuntu.com/mirrors.txt url but still have a recommendation to set a regional mirror.
This issue is for tracking and discussing these changes in the long term.

I have met this issue a couple of times, and that's why I am voting for fixing this issue)

Well, I took a closer look to apt-spy2. It looks like it doesn't detect a country and only detects broken hosts within a country list. And broken hosts it detects by simple HTTP requests. So I think it's not the thing most people are getting.
So detecting a country is still a problem. And, I don't want to ping some third party provider from every user's machine.
BTW, I think the error is appearing much on trusty much more often that on xenial, just because infrastructure for xenial is better. But I don't have any data to back it up. So more specific errors posted here by users would be helpful.


scrollheight should be computed after the sizing header/footer are hidden

In the function _fnScrollDraw, one of the stages of the computation tries to take into account the dimensions of the browser scroll bar to compute the width of the inner content table. The problem with the computation is that it tries to determine the visibility of the scroll bar based on scrollHeight > offsetHeight which is problematic because at the point of computation, the inner table still has a "visible" thead/tfoot element which is not removed until ~50 lines later. If the table is short enough (I hit the problem with 1 row), then the scrollHeight will be greater than offsetHeight when in reality, there is no scroll bar necessary.
This pull request fixes the problem by moving the code that computes the width to occur after the thead/tfoot elements are removed.

Looking at the code for 1.9.x, I am fairly certain this was integrated in one form or another. Allen, can you verify and I will close the issue?

Yes that's correct - it uses the height of the body tag now to calculate this, rather than the table tag - thus effectively achieved what your patch did.
Sorry I clean forgot about this patch when I was wrapping up the 1.9 code, but as you say, this issue should now be addressed in a slightly different way. Closing issue :-)


Fix triangle function in koans-solved

Fix triangle function logic
Lack of conditions when judging isosceles triangles, for example:
(triangle 2 2 3)
It should also be an isosceles triangle.

Could you also add a test that checks for (triangle 2 2 3) in both the unsolved and solved koans?

Could you also add a test that checks for (triangle 2 2 3) in both the unsolved and solved koans?

Here it go!

Here it go!


Add rake task to setup DB layer for non-rails deployments

Add a new rake task to set up db layers for non-rails setups and update README to provide at least one example of this.

@wiggly Thanks for this. I get the idea, I'd been thinking about dropping in an orm_adapters folder and requiring those prior to loading seeds.rake. There are currently some active_record environment dependencies in seeds.rake, I'd like to pull them out and keep seeds.rake clean.
If you were to structure this PR in that way, I could do the same for Rails do you think?


Connection issues caused by Pterodactyl

Panel or Daemon: Pterodactyl
Version of Panel/Daemon: 0.6.4
Server's OS: Ubuntu 16.04
Your Computer's OS & Browser: Mac OS High Sierra - Chrome/Safari

Add Details Below:
I have set up the server in Pterodactyl, and at first glance, it runs absolutely perfectly! However, some players (including myself) regularly have issues when trying to connect to the minecraft server. (play.brutal.network) When connecting it will load the player into the game for a split second, and then kick then out again with the error: 'Internal Exception: java.io.IOEception: Connection reset by peer’ http://prntscr.com/i5rc0l
At first i thought it may be bad plugins, outdated or something causing it, so removed all plugins, still happened. Then i thought it may be an issue with Spigot, so i ran a clean install of the latest spigot, yet the error still happened. There is no errors in console what so ever.
Then after a day or so i realised the issue only started when we started using Pterodactyl. So i tried moving the entire server (plugins and all) to the root directory and using a start script and running from there. Hey presto! It worked!
This has narrowed the error down to Pterodactyl.
So, i got Pterodactyl completely uninstalled, then reinstalled. Set up the server etc all over again, and bam. The issue is still there.
Please help me here! I dont want to go back to multicraft...

Closing due to lack of information.


refactor to eliminate escope

I thought it would be nice to drop a dependency and eliminate another pass of the AST, but we have to do a full pass of the AST before we can rewrite variable references with correctly.


sublime-merge: 1107 -> 1116,  sublime-merge-dev: 1111 -> 1115

Motivation for this change

Couldn't screenshot the sublime-merge-dev changelog because it was too long, however you can view it by launching the application and selecting Help -> 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 nix-review --run "nix-review wip"
[x] 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)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

cc @zookatron

Tested locally. Works on my machine.

Sorry for the delay in responding, this is great, thanks @worldofpeace!


Update chime to use only UQL

Mechanically translates legacy style queries to UQL.

Shared links for review in OTel channels 48 hrs ago. Did not receive negative feedback. Proceeding with merge.


Ledger output should support comma separated values

Currently only ledger output in dot separated decimal values is supported. Ideally should also support comma separated decimals in output.

Any news on this issue?

Hi @AlessandroW this is a pretty old issue that hasn't gotten a lot of attention.
I have some ideas for implementing that I don't think would be too tough, but want to make sure that any proposed solution would meet your needs. Can you give me a little background on what you're trying to do or some examples of what the output would look like?
Thanks

Hi! Sorry, for answering so late.
Reckon actually solves this problem already by converting from comma separated cents to point separated cents.
I only had to change the format once in my journal (from comma to point) and now everything works fine.
Here an example of my workflow:
Assume the input is a csv file like the following (input.csv):
"Day";"Text";"Amount (EUR)";
"17.03.2021";"Sample Income";"12,50";
"18.03.2021";"Sample Expense";"-12,50";

Using Reckon this will lead to the following output (2021.journal)
2021-03-17	Sample Income	;
	assets			 12.50 EUR
	revenues

2021-03-18	Sample Expense	;
	expenses
	assets			-12.50 EUR

❯ reckon -f input.csv --currency "EUR" --suffixed \
… ❯ --comma-separates-cents \
… ❯ --csv-separator ";" \
… ❯ --contains-header 1 \
… ❯ -a assets -o 2021.journal
Using column 3 as the money column.  Use --money-colum to specify a different one.

    Date    |   Amount   |  Description  | Note |
 2021-03-17 |  12.50 EUR | Sample Income |      |
Which account provided this income? ([account]/[q]uit/[s]kip/[n]ote/[d]escription)
revenues

    Date    |   Amount   |  Description   | Note |
 2021-03-18 | -12.50 EUR | Sample Expense |      |
To which account did this money go? ([account]/[q]uit/[s]kip/[n]ote/[d]escription)  |revenues|
expenses

If you have another csv that uses a point as separator you simply omit the flag.
While you could add the feature "--comma-as-output" so that you can convert between "." and "," as you wish I am not sure if it is necessary.

Input
Output
Flags

.
.
None

.
,
–comma-as-output

,
.
–comma-separates-cents

,
,
–comma-as-output  –comma-separates-cents

@AlessandroW  Thanks for getting back to me and I'm glad you've got it working.  I think your explanation would be helpful to other people, I'll add it to the docs.
Thanks for writing this up.


evaluation fails

$ nix-shell --arg ANGR_NIXPKGS_PATH $(readlink -f .)
error: anonymous function at /home/symphorien/src/angr-nixpkgs/pkgs/python-modules/angr/default.nix:1:1 called without required argument 'cppheaderparser', at /nix/store/kbh58v7li4chxmzm4xs2ar9hy4784668-nixos-20.03.3087.b4db68ff563/nixos/lib/customisation.nix:69:16
(use '--show-trace' to show detailed location information)

43801e93154e29602a8b5fcba2c89ec2aaf3d1fb is the first bad commit
commit 43801e93154e29602a8b5fcba2c89ec2aaf3d1fb
Author: Pamplemousse<EMAIL_ADDRESS>Date:   Thu Oct 1 10:46:59 2020 -0700
python3Packages.angr: <IP_ADDRESS> -> 9.0.4446

Signed-off-by: Pamplemousse<EMAIL_ADDRESS>
pkgs/python-modules/angr/default.nix | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)

We did add cppheaderparser as a dependency! @Pamplemousse do you want to fix the nixOS package?

Sorry @ltfish, I was a bit slow to answer.
CppHeaderParser has been added to nixpkgs very recently: See NixOS/nixpkgs#99206 .
Due to the speed of the release process (particularly of the builds on Hydra), it might lag behind the GitHub repository by a couple of days; And hence python3Packages.cppheaderparser might not yet be available on the unstable channel...
(if you don't use the unstable channel, it won't work - because stable channels do not receive all the packages updates)
Two solutions:

Wait 'til unstable catches up;
Use a local nixpkgs; As far as I remember, here is what I have:

git clone git@github.com:NixOS/nixpkgs.git --depth 1 ~/nixpkgs

# put this in `~/.<YOUR SHELL>rc` to make it persistent
[ -d "${HOME}/nixpkgs/" ] && NIX_PATH="nixpkgs=${HOME}/nixpkgs/:${NIX_PATH}"

@symphorien , more info about channels, and how to use packages from master while keeping the rest of your system on unstable can be found here: https://nixos.wiki/wiki/Nix_channels#When_unstable_lags_behind_master .

Ok thanks.
I think the README deserves a note that the repo depends on nixpkgs-unstable. Especially since I thought this was a fork of nixpkgs (given the repo name) and not a sort of overlay on top of it.


Create assessment model

Assessment:

id
user id
start date
completion date
title
notes
list of assessment answers

Assessment Answer

question id
answer id
notes
list of links

Link

assessment answer id
link
text

NB, I've made assessment answers and links dependent: :destroy


Question

Hello,
First off nice job pulling this project together. Is there a spot which lays out which version of the tools are being packaged into this? For instance which version of Alphafold is being leveraged?
Thank You

Great question! There is not today, but it would be easy to add. For example, we're running AlphaFold 2.3.1 right now. I'll try and add that information soon

Thanks for the info!


Can Alertmanager load picture (png/jpg) in email template?

Alertmanager allow us to load picture in email template, such png/jpg?
Thank you in advance.

how to make it. if you know it.can u tell me. thanks


Text preceding link needs separating space

https://www.sciencedirect.com/science/article/pii/S0305750X17304059

see Arias, Ibáñez, and Zambrano (2019)

parsed as

seeArias, IbÃ¡Ã±ez, and Zambrano (2019)

Not easily remediated.
Also https://onlinelibrary.wiley.com/doi/abs/10.1093/ajae/aaz039

conflicts (Arias, Iba~nez, and Zambrano 2018)

parsed as

conflicts(Arias, Ib a\u00f1ez, and Zambrano 2018)

Not too bad, as the leading "(" can be found and separated.

Hello !
For the first reference I have:
<s>For a discussion about the uncertainty that conflicts cause on agricultural production, see Arias, Ibáñez, and Zambrano (2019).</s>

How did you get this ugly quoted parsed text?
The bibliographical reference markers in this paper are not recognized as such, usually they are well identified - not sure why it fails here, but it might be a confusion between footnotes markers (superscript numbers) and author+year pattern (normally bibliographical reference markers cannot be both and sometimes the wrong choice is made globally in a document).
I cannot access the second paper, paywall.

I've downloaded the second paper () and the reference seems fine:
In addition, households change their crop and livestock portfolios, land use patterns, and supply strategies in response to the shocks inflicted by conflicts
                    <ref type="bibr" target="#b6">(Arias, Ibáñez, and Zambrano 2018)</ref>

@mfeblowitz the missing space seems a problem due to the parser which is removing it, because it's there in the XML.


1.4.1 update made entry content disappear

It seems when I go in to edit entries after updating, some are blank—although the database content is still there (as the website renders the content correctly). I'm assuming that if I save the blank page it will break though. Any way to fix this, could it be a migration issue?
This seems related; spectrum color picker fields in a separate tab fails to load on those specific entries as well. When it does work (on some pages) everything works.
The pages not working are pages with product fields from Craft Commerce, creating a new entry with the content works, but would love to see a fix as there are quite a few large pages with tons of Neo fields to reproduce.

This is almost certainly an issue with that color picker field. Neo blocks are initialised with JS, so if a JS error is encountered, those blocks don't get initialised.
Can you post what errors are printing to the console?

Also, you are right in that resaving that entry with blank blocks will mean losing your content (if you don't have revisions enabled). But the content is still there, and by updating Neo it would have triggered a full DB backup so worst case would require you re-importing that DB backup.

Gotcha, yeah it seems to be giving this error:
Uncaught TypeError: Cannot read property 'length' of undefined
    at o (main.js:13)
    at HTMLDivElement.<anonymous> (main.js:14)
    at Function.each (jquery-2.2.4.min.js:2)
    at n.fn.init.each (jquery-2.2.4.min.js:2)
    at n.constructor.updatePreview (main.js:14)
    at main.js:14
    at n.constructor.toggleExpansion (main.js:14)
    at n.constructor.init (main.js:13)
    at n.constructor.constructor (garnish.min.js:9)
    at n.constructor (garnish.min.js:9)

Strangely, it seems to be working on other pages that don't have Commerce Product fields (essentially entries fields) in the Neo field. That might not be the case though. Strange indeed.

Okay so it's definitely this JS error causing the missing content problem. Not much help for finding the offending line though. What browser and it's version are you running?

Also, can you try temporarily disabling the colour picker plugin and see if that fixes it?

Chrome 56.0.2924.87 (latest) on OSX. Definitely JS error as some of the stuff renders on some pages, and breaks either on or after the first Neo block, but sometimes cycles through a couple before breaking.
Disabling spectrum gives me a Craft error;
Internal Server Error

Trying to get property of non-object

The JS errors are in various places, sometimes
Uncaught TypeError: Cannot read property 'length' of undefined > Input.js:34
    at o (Block.js:67)
    at HTMLDivElement.<anonymous> (Block.js:460)
    at Function.each (jquery-2.2.4.min.js?d=1483153161:2)
    at n.fn.init.each (jquery-2.2.4.min.js?d=1483153161:2)
    at n.constructor.updatePreview (Block.js:339)
    at Block.js:570
    at n.constructor.toggleExpansion (Block.js:611)
    at n.constructor.init (Block.js:149)
    at n.constructor.constructor (garnish.js:5735)
    at n.constructor (garnish.js:5735)

And sometimes at;
Uncaught TypeError: Cannot read property 'length' of undefined > Block.js:67
    at o (Block.js:67)
    at HTMLDivElement.<anonymous> (Block.js:460)
    at Function.each (jquery-2.2.4.min.js?d=1483153143:2)
    at n.fn.init.each (jquery-2.2.4.min.js?d=1483153143:2)
    at n.constructor.updatePreview (Block.js:339)
    at Block.js:570
    at n.constructor.toggleExpansion (Block.js:611)
    at n.constructor.init (Block.js:149)
    at n.constructor.constructor (garnish.js:5735)
    at n.constructor (garnish.js:5735)

There's an inbetween that just flashes, as well, that I managed to screen capture;

It seems to have something to do with these pieces of code in Block.js and Input.js;
Block.js
function _limit(s, l=40)
{
	return s.length > l ? s.slice(0, l - 3) + '...' : s
}
...

Input.js
init(settings = {})
	{
		settings = Object.assign({}, _defaults, settings)
...

Thanks for the details! I've tried both Spectrum and Product fields and can't seem to trip it up. But thanks for narrowing it down, I think I see the problem! I've written up the fix for it and committed it to the master. Try re-downloading the plugin (from the master branch) and see if that fixes it.

That seems to have done, it. Hold on, gonna test on another install. It seems that perhaps the issue was with entries where neo field blocks were rolled up (i.e. double-click the "title-bar").

Awesome. Yeah, the error was with generating the content summaries for collapsed blocks. The _limit function truncated the content, but was expecting a string to be passed. For some odd reason, at some point it was getting passed undefined, causing the issue in _limit.

Awesome. Yeah, it seems to be fixed. Working across sites. 💯  Dope!
I do get this warning from time to time on big entries, which is just a warning as far as I can tell (haven't messed around with garnish at all—so not sure);

Whoops, forgot to close, thanks for that. Glad it's all working!
That warning is nothing to worry about, see #50. I actually get asked about this pretty often, I might add it to the FAQ.


Bug when upgrade from historical tablet without keys_type field

Doris support AGG_KEYS/UNIQUE_KEYS/DUP_KEYS/ three storage model.
Among these three model, UNIQUE_KYES/DUP_KEYS is added after AGG_KEYS.
For historical tablet, the keys_type field to indicate storage model may be missed for AGG_KEYS.
So upgrade from historical tablet, this situation should be taken into
consideration and set to be AGG_KEYS.

This will occur a phenomenon.
FE recorded the table is AGG_KEYS, BE recorded the table is DUP_KEYS.
Scanning tablet on BE will occur redundant records.


Packed connected medium by a specified PSD

Hello Dr. Baranov,
Before stating the issue, I would appreciate you for preparing and providing this repository.
I would like to use your well prepared files to create a granular media with specified conditions. I have read the other issues and the doc, but I'm a little confused yet. I will use the PackingGeneration__v1.0__Windows_7_8_10__x32.exe utilizing windows 10 PowerShell and want to import a PSD as diameters.txt, which contains 1085 particles. I have modified generation.conf file as:
Particles count: 1085
Packing size: 0.2 0.4 0.2
Generation start: 1
Seed: 777
Steps to write: 1000
Boundaries mode: 1
Contraction rate: 1e-2
1. boundaries mode: 1 - bulk; 2 - ellipse (inscribed in XYZ box, Z is length of an ellipse); 3 - rectangle
2. generationMode = 1 (Poisson, R) or 2 (Poisson in cells, S)

and putdiameters.txt and generation.conf files beside PackingGeneration__v1.0__Windows_7_8_10__x32.exe and run the exe file. As it was just only 1085 spheres, I expected that it must be finished in some minutes; For -fba and -ls it run fast, but -lsgd takes about 3 hours, which will be inappropriate for large number of spheres. After these 3 steps (Generation start was changed to 0 after the first step), I have modified the diameters in the lsgd resulted packing.xyzd by the following python codes (I put them here if could help anyone; it must be placed and run beside packing.nfo and packing.xyzd):
import numpy as np

packing = np.fromfile('packing.xyzd').reshape(-1, 4)    # np.fromfile('packing.xyzd')     packing[:, 3] == packing[3::4]

with open('packing.nfo', "r+") as nfo:
    lines = nfo.readlines()
    Theoretical_Porosity = float(lines[2].split()[2])
    Final_Porosity = float(lines[3].split()[2])
    # print(Theoretical_Porosity, Final_Porosity)

    scaling_factor = ((1 - Final_Porosity) / (1 - Theoretical_Porosity)) ** (1 / 3)

    real_diameters = packing[:, 3] * scaling_factor
    packing[:, 3] = real_diameters
    packing.tofile('packing.xyzd')         # updating the packing: this line will modifies diameters in the packing.xyzd

    """
    # update packing.nfo and set TheoreticalPorosity to FinalPorosity to avoid scaling the packing once again the next time running this script.
    lines[3] = lines[3].replace(str(Final_Porosity), str(Theoretical_Porosity))
    nfo.seek(0)
    nfo.writelines(lines)
    """

# np.savetxt('r.csv', real_diameters / 2)
# np.savetxt('c.csv', packing[:, :3], delimiter=',')

Q1. Just for ensuring, Is it enough to modify diameters just after the aforementioned 3 steps?

The prepared PSD will result in a porous media with porosity ≈ 0.4 (which is the desired goal) for a box that is specified by Packing size in generation.conf. After execution of the aforementioned methods, balls dispersed in a good scheme but without any contacts between them.

Needs:
Each sphere must be in touch (not any overlaps just contacts) with at least one another sphere (minimum contact numbers for each sphere could be specified e.g. each sphere can contact with [1 to n] other spheres). The total medium must be continuum i.e. all spheres must have a connection path to other spheres; Not any separated sphere groups.

Q2. (THE MAIN QUESTION). Is it possible to create such a media with prespecified PSD? If no, what way do you recommend?
If no, I think it could be achieved if I create a dense media with very low porosity (balls have satisfying contact numbers without any overlaps), and then give the results (balls' center position and radius) to python or … to find the best cases (in terms of contact numbers and …) to be removed, as a way that could reach the final PSD and porosity. But, I have not any idea about how to control PSD (I have prepared the true PSD before, but in this method it must be used in another way) to reach the desired one.

I am trying to check -md option now, but I don't know if it could be helpful or not; It is running for some hours and I could not check if it is converging by its log.txt.
Some other questions:
I would be grateful if you would clarify these questions whenever you have free time.
Q3. Is there any 64bit PackingGeneration.exe? If no, are there any reasons for that?
Q4. Is there any difference, pros and cons, between compile method and the PackingGeneration.exe?
Q5. What is the compression rate relation with time units? What does it mean in practice?
Q6. Does this software, usually, move towards convergence? Is there any way to see convergence of the execution and check if it is converging during execution? and predicted time to finish the execution?
Q7. Are there any range limitations for diameter sizes and the packing size?
Q8. What are packing_init.xyzd and packing_prev.xyzd exactly? I read somewhere that packing_init.xyzd is just a backup. What exactly these files are and what are their applications?
Q9. Is it possible to specify condition so that entire volume of balls be placed in the specified Packing size in generation.conf?
Q10. Does it need to modify Final Porosity in Packing.nfo for post-processing as the diameters are updating (rescaling) in packing.xyzd ?
Q11. Is there any way to see the progress after reaching the nth specified Steps to write iterations instead of waiting for Packing.nfo in the end; I.e. something to evaluate rescaling factor before the creation of Packing.nfo during the execution?
Q12. How could I find out the other abilities, that are not mentioned in the doc, for post-processing and … and their applications, e.g. -connumdist and -ncc.
Q13. What is FCC packing?
Q14. Is it possible to specify minimum number of contacts for each sphere at the end?
Q15. What did you mean by ORIGINAL diameters in line 27 and 28 of ReadPackingScript.m? Is it refer to any specific diameter?

% The final packing (packing.xyzd) will store correct particle centers and the ORIGINAL diameters
% (not the ones scaled with the final scaling factor)—for historical reasons.

Q16. I couldn't find out how to change generationMode from R to S or vice versa; Also for boundary (my question is general, I know that it is specified just for one type so far). E.g. how the line 2. generationMode = 1 (Poisson, R) or 2 (Poisson in cells, S) must be modified in generation.conf?
Q17. How could I view particles' movements during the simulations? I saw somewhere that we can use VMD. Is there any documentation to see how to do so. Did you know any tools or python libraries to use with python codes, if I simulate such problems using python?

I would be very appreciated for your time if you would help me by this project.
Yours sincerely,
Ali

Hi Ali,
thanks for your interest in the program and your questions. Thanks for providing the python code snippet as well. Please see my comments below.

For -fba and -ls it run fast, but -lsgd takes about 3 hours, which will be inappropriate for large number of spheres

Yes, for 10 000 particles the -lsgd option takes ~10-20 hours. Producing jammed packings takes a lot of time. To produce many such systems, i just ran this program in parallel on a supercomputer, for many variants of starting parameters.

Q1. Just for ensuring, Is it enough to modify diameters just after the aforementioned 3 steps?

Yes, it shall be enough (the reason explained in the readme--you've probably seen it).

The prepared PSD will result in a porous media with porosity ≈ 0.4 (which is the desired goal) for a box that is specified by Packing size in generation.conf. After execution of the aforementioned methods, balls dispersed in a good scheme but without any contacts between them.

I am not quite sure if you checked the contacts visually or with an additional code?
The lsgd algorithm stops when there is at least a subset of particles that is jammed, i.e. a backbone of the packing. For any polydispersity, there will be another subset of particles that can freely fly around the backbone. For high polydispersity, there will be more such particles.
If you check for contacts, you shall enlarge diameters by a very small amount, e.g. r_i = r_i * (1 + 1e-4) (see below for some justifications). Then, the particles will start to intersect. By default, the program produces configurations with zero particle intersections.

Each sphere must be in touch (not any overlaps just contacts) with at least one another sphere (minimum contact numbers for each sphere could be specified e.g. each sphere can contact with [1 to n] other spheres). The total medium must be continuum i.e. all spheres must have a connection path to other spheres; Not any separated sphere groups.

Please note that the number of contacts can't be specified arbitrary. For frictionless particles, there shall be on average exactly 6 contacts per particle from the backbone. More precisely, N_contacts_in_backbone = 6 * (N_particles_in_backbone - 1). Please note that you shall take non-rattler particles (from the backbone) for this calculation. One can determine them by the condition N_contacts_of_particle < 4. I think i recently added a branch with an option to display the contacts of each particle. I can find it if you need it. I think some replies in other issues have references to the papers with the proofs, i can find them as well if you need them.

Q2. (THE MAIN QUESTION). Is it possible to create such a media with prespecified PSD? If no, what way do you recommend?

Please see the reply above. I presume that under PSD you mean particle size distribution. The PSD can be prescribed (as you do now--through diameters.txt or through the starting packing.xyzd), but the number of contacts is determined in the course of packing generation. It will be arbitrary per particle, but, again, there will be a backbone of a packing for which N_contacts_in_backbone = 6 * (N_particles_in_backbone - 1) (on average, 6 contacts per particle). There will be particles in the backbone with as few as 4 contacts as well (and particles with more than 6 contacts).
If you need less contacts on average in a mechanically stable packing, this can only be achieved by adding friction to simulations. With infinite friction, you can reach as few as 4 contacts per particle on average.
Influence of friction: https://www.nature.com/articles/nature06981
Papers of Makse (esp. supplementary materials) have the proofs of some of these facts. Maybe this one: https://www.nature.com/articles/ncomms3194
The page of Makse once had the code to add friction to the packings and to stabilize them (I also mentioned it in other replies).

If no, I think it could be achieved if I create a dense media with very low porosity (balls have satisfying contact numbers without any overlaps), and then give the results (balls' center position and radius) to python or … to find the best cases (in terms of contact numbers and …) to be removed, as a way that could reach the final PSD and porosity. But, I have not any idea about how to control PSD (I have prepared the true PSD before, but in this method it must be used in another way) to reach the desired one.

I don't know of any research that tries to specify the exact number of contacts per particle in advance. Maybe there is a sub-area that i am not aware of, but if there is not, i would say it would take several years or decades to create something like this :-) (if it is possible at all).

I am trying to check -md option now, but I don't know if it could be helpful or not; It is running for some hours and I could not check if it is converging by its log.txt.

The -lsgd option is what you need to create mechanically stable packings (or running the -ls option with a very low compression rate, which is then slower than -lsgd). The lsgd option uses quick compression at first, then slower compression, then even slower. Here is how you can judge about the quality of packings. The lsgd option stops execution with a very low compression rate, so the reduced pressure Z it reports is almost equilibrium. There is a known Salsburg-Wood equation of state that describes the reduced pressure of hard spheres. E.g. see Eq. 4 here: https://aip.scitation.org/doi/full/10.1063/5.0036411
If you see Z = 1e12 at a packing density phi, it means that the true jamming density will be phi_Jamming = phi * (1 + 3 / (Z-1)) = phi * (1 + 3e-12). It means that radii will be increased by 1e-12/3 ~ 1e-4. The LSGD option stops generation at reduced pressure ~1e12, that's why i wrote above that you can multiply the radii by 1 + 1e-4 to get the real particle contacts.
The md option will just let the particles fly with zero compression rate to equilibrate them (which also doesn't make sense for almost jammed packings).

Q3. Is there any 64bit PackingGeneration.exe? If no, are there any reasons for that?

I didn't prepare it. Several years ago, when i was working on this, 32bit OSes were still used, so i wanted to cover them as well.

Q4. Is there any difference, pros and cons, between compile method and the PackingGeneration.exe?

 Or compile for Linux. If you run this program on a supurcomputer, you may encounter different processor architectures (IBM PowerPC, for example), and you have to recompile it anyway.

Q5. What is the compression rate relation with time units? What does it mean in practice?

For the -FBA algorithm, it is a more arbitrary number, it also depends on the expected density of the packing (calculated from the number of particles and the box dimensions). For the LS algorithm, it is how fast the spheres grow with a simulation unit of time. In all cases, the smaller the rate, the slower the spheres grow, the longer the simulation, the higher the final density.
The dependence of final diameters on the compression rate is discussed here: https://github.com/VasiliBaranov/packing-generation#14-note-on-final-diameters (refers to https://pubs.rsc.org/en/content/articlehtml/2014/sm/c3sm52959b#imgfig2 ). Essentially, you can start with 1e-2 for LS and see if it is enough. But the packings will definitely not be jammed.
One can judge about the rates also based on how fast the particles fly. You can refer to Section III B here: https://aip.scitation.org/doi/full/10.1063/1.5140365 . We use temperature = 0.2, Boltzmann constant 1, so the root mean-square velocity it \sqrt(6).

Q6. Does this software, usually, move towards convergence? Is there any way to see convergence of the execution and check if it is converging during execution? and predicted time to finish the execution?

Definitely. The LS algorithm stops execution when the measured reduced pressure is high (particles collide often). But since they grow, it is not an equilibrium pressure, so particles may still be far from jamming. The -lsgd algorithm stops when the pressure is high and this value is close to being equilibrium, so these packings are close to jamming. Please see the FBA paper for the termination conditions, but in general it means that it doesn't make sense to continue simulation with present parameters. But one can definitely restart the simulation with a smaller compression rate.

Q7. Are there any range limitations for diameter sizes and the packing size?

I didn't encounter them, but higher polydispersities perform slightly slower.

Q8. What are packing_init.xyzd and packing_prev.xyzd exactly? I read somewhere that packing_init.xyzd is just a backup. What exactly these files are and what are their applications?

The _init version is the state when the generation started (to know it when diameters.txt is specified). The _prev version is indeed just a version from the previous iteration when the log was written.

Q9. Is it possible to specify condition so that entire volume of balls be placed in the specified Packing size in generation.conf? Q10. Does it need to modify Final Porosity in Packing.nfo for post-processing as the diameters are updating (rescaling) in packing.xyzd ?

If you mean hard walls, not periodic boundary conditions, it is currently not supported.

Q11. Is there any way to see the progress after reaching the nth specified Steps to write iterations instead of waiting for Packing.nfo in the end; I.e. something to evaluate rescaling factor before the creation of Packing.nfo during the execution?

The config has the parameter "Steps to write: 1000", that's how many steps (iterations) shall pass till the new line of log is displayed. One can change it to see more logs. But the only parameter to reach algorithm termination is currently the compression rate (and for the FBA algorithm the termination is implicitly influenced by the packing size and the number of particles, i.e. the expected density). But it shall usually be enough.. If you need, you can change, for example, the final termination pressure in the code and recompile the program.

Q12. How could I find out the other abilities, that are not mentioned in the doc, for post-processing and … and their applications, e.g. -connumdist and -ncc.

Please feel free to take a look at the code! I can also try to answer as much as i can can.

Q13. What is FCC packing?

https://en.wikipedia.org/wiki/Close-packing_of_equal_spheres#FCC_and_HCP_lattices

Q14. Is it possible to specify minimum number of contacts for each sphere at the end?

No.. See above. It will actually be 4 for the particles from the jamming backbone after the -lsgd algorithm.

Q15. What did you mean by ORIGINAL diameters in line 27 and 28 of ReadPackingScript.m? Is it refer to any specific diameter?

The ones that you specify in diameters.txt or in the starting packing.xyzd.

Q16. I couldn't find out how to change generationMode from R to S or vice versa; Also for boundary (my question is general, I know that it is specified just for one type so far). E.g. how the line 2. generationMode = 1 (Poisson, R) or 2 (Poisson in cells, S) must be modified in generation.conf?

So, it wouldn't work, but you can write "Boundaries mode: 2"

Q17. How could I view particles' movements during the simulations? I saw somewhere that we can use VMD. Is there any documentation to see how to do so. Did you know any tools or python libraries to use with python codes, if I simulate such problems using python?

You would need to modify the code to save packings at every time step as well, and then you will be able to convert them to any required format and visualize them. But they will take a lot of space.
I recall that i had a similar option hidden in the code somewhere for the "molecular dynamics" simulation (the -md option), when the particles just fly, which is the Lubachevsky-Stillinger algorithm with zero compression rate.
Hope this helps.
Best Regards,
Vasili

Thank you dear Dr. Baranov for taking the time to answer.

To produce many such systems, I just ran this program in parallel on a supercomputer, for many variants of starting parameters.

Q1. I could not understand well what do you mean by parallel? Did you run some different projects at a same time or compiled the code in any way or developing the code in terms of parallelization and vectorization? I would be grateful if you explain a little more.
Q2. Could compilation (from x32 to x64 or other possible methods) have a significant improvement on execution runtime? How much it could be?
Q3. Z is constant and equal to 1e12 in the compiled exe file, is it? If so, radii or diameters shall be multiplied by ~(1+1e-4)^(1/3) instead of the that porosity related equation mentioned in the Note on final diameters section. The question arises that, how these porosities are calculated and why there exists difference between the two methods?
Using Z related radii correction method did not make any difference for creating contacts between the particles in my case (I have used another software that determines the contacts, I am working on another pythonic code to see these contacts to ensure). I guess it depends on contraction rate before anything else. So, since the higher contraction rates (e.g., >=1e-2 or 1e-3) are more logical in terms of execution runtimes, contacts between the particles (as it is desired) will not be guaranteed by the both methods (the lower contraction rates, the more guaranties for contacts).
I guess I have to use very low contraction rates (e.g., <=1e-4) in my case, which is not suitable at all for such mediums with large sphere numbers  (above 50000).

For my case, it is very important if we could create an initial backbone where all sphere connections are guaranteed in that body. So, I could connect other flying spheres to this backbone by some pythonic codes. I must be sure about creation of such a backbone.

I recently added a branch with an option to display the contacts of each particle. I can find it if you need it.

Q4. How it displays? Within a GUI or just showing numbers? I would be appreciated if you could find them whenever you have time.
It would be great if there exists a tutorial (movie) for visualizing the execution during the runtime (in a coupled mode) or after that. Now, it is a little complicated.

Hi Ali,

Q1. I could not understand well what do you mean by parallel? Did you run some different projects at a same time or compiled the code in any way or developing the code in terms of parallelization and vectorization? I would be grateful if you explain a little more.

Yes, i was just starting the program many times on different cores, no Mesage Passing Interface/vectorization.

Q2. Could compilation (from x32 to x64 or other possible methods) have a significant improvement on execution runtime? How much it could be?

No, i don't think so. x64 can even make it a bit slower if i recall correctly.

Q3. Z is constant and equal to 1e12 in the compiled exe file, is it?

Yes

If so, radii or diameters shall be multiplied by ~(1+1e-4)^(1/3) instead of the porosity related equation mentioned in the Note on final diameters section. The question arises that, how these porosities are calculated and why there exists difference between the two methods?

No :-) At first, you need to correct according to the Note on final diameters, this is just a technical limitation.
Then, you can rescale by ~(1+1e-12)^(1/3) = (1+1e-4) to ensure contacts.

Using Z related radii correction method did not make any difference for creating contacts between the particles in my case (I have used another software that determines the contacts, I am working on another pythonic code to see these contacts to ensure).

If you used the Z-correction instead of the correction from the Note on final diameters, it will not work indeed. You have to use both corrections to start to see intersections.

I guess it depends on contraction rate before anything else. So, since the higher contraction rates (e.g., >=1e-2 or 1e-3) are more logical in terms of execution runtimes, contacts between the particles (as it is desired) will not be guaranteed by the both methods (the lower contraction rates, the more guaranties for contacts).

Indeed, the contacts will be guaranteed by the low contraction rates OR by the LSGD option, which you can use after any contraction rate.

I guess I have to use very low contraction rates (e.g., <=1e-4) in my case, which is not suitable at all for such mediums with large sphere numbers (above 50000).

You can use a high rate and then LSGD. The method scales linearly, so LSGD will take ~5 times longer indeed, but i could run it for 200 000 particles. It took 1-2 days, but it was still fine for me.

For my case, it is very important if we could create an initial backbone where all sphere connections are guaranteed in that body. So, I could connect other flying spheres to this backbone by some pythonic codes. I must be sure about creation of such a backbone.

Yes, the backbone will be produced after the LSGD or after FBA/LS algorithms with very low contraction rates. Then, you can attach the remainder of the spheres (the flying spheres) to it with any other code.

Q4. How it displays? Within a GUI or just showing numbers? I would be appreciated if you could find them whenever you have time.

It is this branch, https://github.com/VasiliBaranov/packing-generation/tree/feature/SuccessfulPermutationProbability , option "-nnc", https://github.com/VasiliBaranov/packing-generation/blob/4572b7b3f66c02a3415b9df17cdab2b31fe0bf60/PackingGeneration/Execution/Source/PackingTaskFactory.cpp#L210
But you need to compile the code yourself. If needed, i can send the .exe to you or update the branch.

It would be great if there exists a tutorial (movie) for visualizing the execution during the runtime (in a coupled mode) or after that. Now, it is a little complicated.

Unfortunately, no option is present right now. If you don't want to touch the present C++ code, you can write a python program that will just copy the packing.xyzd every X seconds or on every update when the program runs (e.g. using the watchdog library) with a timestamp, and then you will be able to visualize them. The file is overwritten every 1000 steps (option "Steps to write" in the generation.conf).
Hope this helps!
Best Regards,
Vasili

Hello again Dr. Vasili,
So, based on your last answer, the corrected diameters are (1+1e-4) * scaling factor;

Is there any cause that you did not write the formula such this one (I mean, why you did not multiply the scaling factor by (1+1e-4) in the documentation)?

What changes must be applied on finalScalingFactor for scaling the coordinates and the box size instead

% Scaling the diameters. You can of course scale the coordinates and the box size instead (with 1/finalScalingFactor).

Does scaling the coordinates using aforementioned formula (1/finalScalingFactor) will get my expected result (same radii as the original)?

Is there any way to preserve the radii sizes for the final medium if modifying the coordinates (Q3) is not useful? For this purpose, I ran the code by FBA once and get the scaling factor at the end --> changed the original diameters based one that scaling factor and again ran the FBA by modified diameters; So, at the end, multiplying the modified diameters by the new scaling factor get diameter sum equal to sum of the desired diameters (original diameters) ==> porosity preserved.  After beginning it changes nonlinear? ==> PSD not preserved.

% (they are linearly scaled at the beginning of generation by a small value (scaling factor)

Any recommendation?


removed brew packages hijacks PATH variable in NPM or Yarn

brew config output
HOMEBREW_VERSION: 3.1.9
ORIGIN: https://github.com/Homebrew/brew
HEAD: 76cfe88b7628a8010bf98115627f6aced4ff8870
Last commit: 11 months ago
Core tap ORIGIN: https://github.com/Homebrew/linuxbrew-core
Core tap HEAD: 141aecf68fd05b252ffd64b84ef9e3937372ffff
Core tap last commit: 11 months ago
Core tap branch: master
HOMEBREW_PREFIX: /home/linuxbrew/.linuxbrew
HOMEBREW_CASK_OPTS: []
HOMEBREW_DISPLAY: :0
HOMEBREW_EDITOR: atom
HOMEBREW_MAKE_JOBS: 12
Homebrew Ruby: 2.6.3 => /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/portable-ruby/2.6.3_2/bin/ruby
CPU: dodeca-core 64-bit skylake
Clang: 10.0.0 build (parse error)
Git: 2.25.1 => /bin/git
Curl: 7.68.0 => /usr/bin/curl
Kernel: Linux 5.4.0-107-generic x86_64 GNU/Linux
OS: Linux Mint 20.1 (ulyssa)
Host glibc: 2.31
/usr/bin/gcc: 9.4.0
/usr/bin/ruby: 2.7.0
glibc: N/A
gcc@5: N/A
xorg: N/A

brew doctor output
Unexpected header files:
  /usr/local/include/wkhtmltox/image.h
  /usr/local/include/wkhtmltox/pdf.h

Verification

[X] I ran brew update and am still able to reproduce my issue.
[X] I have resolved all warnings from brew doctor and that did not fix my problem.

What were you trying to do (and why)?
Simply trying to run yarn install in the root of my project.
What happened (include all command output)?
I get an error which seems like the install is searching for a removed brew package.  I have removed python3 from my brew installation, restarted terminals and still get this error.  It's like some ghost path from a previous installation is hanging around but I have no idea where.
error /home/lance/dev/qc/code/web/node_modules/node-sass: Command failed.
Exit code: 1
Command: node scripts/build.js
Arguments:
Directory: /home/lance/dev/qc/code/web/node_modules/node-sass
Output:
Building: /home/lance/.nvm/versions/node/v14.19.1/bin/node /home/lance/dev/qc/code/web/node_modules/node-gyp/bin/node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
gyp info it worked if it ends with ok
gyp verb cli [
gyp verb cli   '/home/lance/.nvm/versions/node/v14.19.1/bin/node',
gyp verb cli   '/home/lance/dev/qc/code/web/node_modules/node-gyp/bin/node-gyp.js',
gyp verb cli   'rebuild',
gyp verb cli   '--verbose',
gyp verb cli   '--libsass_ext=',
gyp verb cli   '--libsass_cflags=',
gyp verb cli   '--libsass_ldflags=',
gyp verb cli   '--libsass_library='
gyp verb cli ]
gyp info using<EMAIL_ADDRESS>gyp info using<EMAIL_ADDRESS>| linux | x64
gyp verb command rebuild []
gyp verb command clean []
gyp verb clean removing "build" directory
gyp verb command configure []
gyp verb check python checking for Python executable "/home/linuxbrew/.linuxbrew/bin/python3" in the PATH
gyp verb `which` failed Error: not found: /home/linuxbrew/.linuxbrew/bin/python3
gyp verb `which` failed     at getNotFoundError (/home/lance/dev/qc/code/web/node_modules/which/which.js:13:12)
gyp verb `which` failed     at F (/home/lance/dev/qc/code/web/node_modules/which/which.js:68:19)
gyp verb `which` failed     at E (/home/lance/dev/qc/code/web/node_modules/which/which.js:80:29)
gyp verb `which` failed     at /home/lance/dev/qc/code/web/node_modules/which/which.js:89:16
gyp verb `which` failed     at /home/lance/dev/qc/code/web/node_modules/isexe/index.js:42:5
gyp verb `which` failed     at /home/lance/dev/qc/code/web/node_modules/isexe/mode.js:8:5
gyp verb `which` failed     at FSReqCallback.oncomplete (fs.js:191:21)
gyp verb `which` failed  /home/linuxbrew/.linuxbrew/bin/python3 Error: not found: /home/linuxbrew/.linuxbrew/bin/python3
gyp verb `which` failed     at getNotFoundError (/home/lance/dev/qc/code/web/node_modules/which/which.js:13:12)
gyp verb `which` failed     at F (/home/lance/dev/qc/code/web/node_modules/which/which.js:68:19)
gyp verb `which` failed     at E (/home/lance/dev/qc/code/web/node_modules/which/which.js:80:29)
gyp verb `which` failed     at /home/lance/dev/qc/code/web/node_modules/which/which.js:89:16
gyp verb `which` failed     at /home/lance/dev/qc/code/web/node_modules/isexe/index.js:42:5
gyp verb `which` failed     at /home/lance/dev/qc/code/web/node_modules/isexe/mode.js:8:5
gyp verb `which` failed     at FSReqCallback.oncomplete (fs.js:191:21) {
gyp verb `which` failed   code: 'ENOENT'
gyp verb `which` failed }
gyp ERR! configure error
gyp ERR! stack Error: Can't find Python executable "/home/linuxbrew/.linuxbrew/bin/python3", you can set the PYTHON env variable.
gyp ERR! stack     at PythonFinder.failNoPython (/home/lance/dev/qc/code/web/node_modules/node-gyp/lib/configure.js:484:19)
gyp ERR! stack     at PythonFinder.<anonymous> (/home/lance/dev/qc/code/web/node_modules/node-gyp/lib/configure.js:406:16)
gyp ERR! stack     at F (/home/lance/dev/qc/code/web/node_modules/which/which.js:68:16)
gyp ERR! stack     at E (/home/lance/dev/qc/code/web/node_modules/which/which.js:80:29)
gyp ERR! stack     at /home/lance/dev/qc/code/web/node_modules/which/which.js:89:16
gyp ERR! stack     at /home/lance/dev/qc/code/web/node_modules/isexe/index.js:42:5
gyp ERR! stack     at /home/lance/dev/qc/code/web/node_modules/isexe/mode.js:8:5
gyp ERR! stack     at FSReqCallback.oncomplete (fs.js:191:21)
gyp ERR!    System Linux 5.4.0-107-generic
gyp ERR! command "/home/lance/.nvm/versions/node/v14.19.1/bin/node" "/home/lance/dev/qc/code/web/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd /home/lance/dev/qc/code/web/node_modules/node-sass
gyp ERR! node -v v14.19.1
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
Build failed with error code: 1

How to I make homebrew stop stealing python path???
What did you expect to happen?
Install without errors.  Also not have a removed homebrew formula steal path of binaries to other package installers such as NPM or Yarn.
Step-by-step reproduction instructions (by running brew commands)
brew install python3
yarn install

Later, uninstall brew's python3
brew uninstall python3

Also use update-alternatives to select python2 or python3 as default python.
sudo update-alternatives --config python

Comment out eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv) in .profile and restart terminal.
echo $PATH

it still shims /home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin:/

This was not a homebrew issue.  The problem was that node-gyp needs NPM to set the real path to the python binary with npm config set python /usr/bin/python2 for example.


Create buffers with 0 byte data by default

There is no guarantee a buffer will contain 0 byte values on creation if no data is supplied. it really depends on the drivers.
Changing this fixes the text issue because the translation buffer data is not always set and translation values will contain random data depending on drivers. AMD and Intel drivers are more likely to have random data on creation. It might be that we want to fix the original issue as well. When the text vertex data is split into a different domain the translation values are probably not copied to the new buffer, so that probably create other issues!
Still, creating 0 byte value buffers is probably a good idea, or it can be optional on creation (init parameter)

Great fix!
I think in the past we didn't trigger this bug, because we never created an attribute buffer without also providing it with some data. Since 2.0, after moving things like translation into the shader, we are doing that more often.


[QUESTION]  Load partial of Excel content without load the entire content

Please prefix your issue with one of the following: [BUG] [PROPOSAL] [QUESTION].
Package version, Laravel version
"php": ">=5.6.4",
"laravel/framework": "5.4.*",
"maatwebsite/excel": "^2.1"
Actual behaviour
I have to deal user-uploaded xlsx to import some data, for some known issue of Excel, Some end-user upload some xlsx containing a lot of empty rows or columns, the meaningful fields may only 100 rows and 100 columns , but the total excel file may contain 100k extra lines...
Expected behaviour
is it possible to specific rows and columns before loading the Excel file? like:
`$limit_rows = 20;
//current sample code
$data = Excel::selectSheetsByIndex(0)->load($file_name,function($reader){
//$reader->limitRows($limit_rows);
});
//Expected code
$data = Excel::selectSheetsByIndex(0)->takeRows(10)->takeCols(10)->load($file_name,function($reader){
//
});`
so the server will not hang up... because of not loading the full cells of the xlsx.
there are a sample xlsx uploaded by my user, which can reproduce the "hang up" , if you give me the mail address I can send it to you.
One more question , is it possible to count the rows and columns before I load xlsx? again , when I use .load() function , the server will hang up.

We are closing all old tickets, because version 2.* is reaching the End-of-Life stage. Our full attention is now allocated to version 3.0. It's still possible to use 2.*, but there will be no active support anymore.