Enable Sensor after bypass ends.

Checklist

[X] I checked for similar existing requests (both open and closed) before posting.
[X] My request is generic, other users may benefit from it too.

Proposal
How about a Setting just like Bypass that ignores Sensors on arm, but uses them once they are no longer activated.
Example: I have an open window that will be ignored on arm, but after I close the window and someone reopens it, it should trigger the alarm.

+1
I miss this feature as well. It would be really great if you could implement it.

Any Updates here?

No progress on this, I haven't got any time for improvements last month.
I had a request for this before, given the interest for this I will see what I can do.

It could be possible to use Allow open after arming for all sensors? Right now it is enabled only on motion sensors. If it would be enabled for all sensors, it could solve this issue?

It could be possible to use Allow open after arming for all sensors? Right now it is enabled only on motion sensors. If it would be enabled for all sensors, it could solve this issue?

I do not understand this. Is it possible for a window contact to alarm if it was open when armed?

I think actually that as @JiriBalcar says, the ‘allow open after arming’ setting serves exactly the functionality as requested here. This setting is currently hidden when the user selected ‘window’ as type for the sensor. But by removing the type (clicking the X next to the selected type), the setting becomes available.
I will make it visible for windows by default in a next update.

In v1.9.6 the user can now apply the 'allow open after arming' setting for window sensors.
The setting becomes visible when setting the 'use exit delay' setting (a sensor must be allowed to be active while the alarm is in arming state before it can be allowed to be active in the armed state).
Hope this change helps you.
@lSh4dowl Could you please test this setting and confirm this helps for your usage?

Hi,
i can't see this option in v1.9.6

@n0bbi You have to enable Use exit delay, after that it will show this setting right underneath.


Union with selects wrapped in parenthesis doesn't parse on 4.1

Describe the bug
The following query fails parsing in v4.1, while it worked with previous versions.
It seems that the parser fails only when the two queries in the union are wrapped with parenthesis.
Parser fails with:
SELECT
  *
FROM
  (
    (
      SELECT
        A
      FROM
        tbl
    )
    UNION
      DISTINCT (
        SELECT
          B
        FROM
          tbl2
      )
  ) AS union1

Parser doesn't fail with:
SELECT
  *
FROM
  (
      SELECT
        A
      FROM
        tbl
    UNION
      DISTINCT
        SELECT
          B
        FROM
          tbl2
  ) AS union1

Update after exploring further - it seems this issue started after these changes were applied: 36d0b7420fe92252c4b6dd62707bceb5efafc5b9
When manually semi-reverting the changes in FromItem(), the parser successfully parsed the query in the sample above.
It seems that SubSelect() should be looked for before FromItem(), as otherwise some use cases are missed.

Update after exploring further - it seems this issue started after these changes were applied: 36d0b7420fe92252c4b6dd62707bceb5efafc5b9
When manually semi-reverting the changes in FromItem(), the parser successfully parsed the query in the sample above.
It seems that SubSelect() should be looked for before FromItem(), as otherwise some use cases are missed.

hi @wumpz, any thoughts on how this can be fixed? I'll be happy to contribute a PR, though need some guidance in regards to the logic behind the original refactoring at 36d0b7420fe92252c4b6dd62707bceb5efafc5b9 to make sure I go at it with the right mindset. thanks!

hi @wumpz, any thoughts on how this can be fixed? I'll be happy to contribute a PR, though need some guidance in regards to the logic behind the original refactoring at 36d0b7420fe92252c4b6dd62707bceb5efafc5b9 to make sure I go at it with the right mindset. thanks!

Let me look into it.
At first I don't want to lose the performance gain. This is a very problematic case, since flipping SubSelect and FromItem needs a complete Lookahead of SubSelect and this would introduce problems again.

Let me look into it.
At first I don't want to lose the performance gain. This is a very problematic case, since flipping SubSelect and FromItem needs a complete Lookahead of SubSelect and this would introduce problems again.

I deployed a new version, so to say a first try to tackle this problem. Your SQL is parsed, but deeper hierarchies are not yet supported.

I deployed a new version, so to say a first try to tackle this problem. Your SQL is parsed, but deeper hierarchies are not yet supported.

Confirmed it's working for one level, thank you for the quick fix!
Any thoughts on how to tackle deeper hierarchies support?
I'll have a look to see if I can make any progress on that as well.

Confirmed it's working for one level, thank you for the quick fix!
Any thoughts on how to tackle deeper hierarchies support?
I'll have a look to see if I can make any progress on that as well.

I am still on it. The deeper levels should be no problem. But it's too late now.

I am still on it. The deeper levels should be no problem. But it's too late now.

I have the next version deployed. now deeper hierarchies are parsed. But the deparsing is not like the original.

I have the next version deployed. now deeper hierarchies are parsed. But the deparsing is not like the original.

Thank you for the quick follow up on this, very useful changes!

Thank you for the quick follow up on this, very useful changes!

So can I close this issue?

So can I close this issue?

Yes, thanks again.

Yes, thanks again.


Adding a static report file mode.

Adds a "file" collector to service a static report from file, then adds a demo.json report to the dockerfile.
Can run it with: scope launch --no-probe --weave=false --app.collector=file:///demo.json

I'm also happy to leave out the demo.json file, as it adds 2.8M to the image.

I don't have strong feelings about whether the JSON file should stay or go.
Everything else looks good, modulo a couple of nitpick comments. Please merge after addressing them.

Thanks, discussed offline that adding the json file is terrible, but all the other options are worse.


FIX: Cast for PostgreSQL reg* types to avoid error of uncompatible varchar and reg* & OID types refactoring

Fix for following bug [PostgreSQL], which occurred during saving changes in table which contains for example regclass primary key as same as for example some other regclass column, which is not primary key.

I like this feature.
Thanks!

I'll reuse the same dialect function for type cats in data filter conditions generator.

You're welcome. Use it as you need - it was purposely designed (and implemented) for the possibility of wider use (because other DB systems have for example no cast operators, but have the cast functions)  :-)

BTW @serge-rider : Will be the 6.3.6 with these fixes? And when? (Maybe I will push another one.)


added .gitpod.yml  for config

added gitpod configuration file for gitpod users to easily deploy this repo in cloud

@hshen14 kindly review and merge it

CC @VincyZhang @kevinintel

Hi @PentesterPriyanshu , forgive me I'm not familiar with gitpod, would you please explain why do we need to add this yml into our repo?  I thought it will only be needed when you create a gitpod project, why is it need to be included in a normal github repo?

@VincyZhang this is configuration file like someone wants to contribute in repo instead of cloning the repo locally ,
it is cloud based environment so instead of cloning we can deploy the whole repo and this configuration file will install all dependencies in gitpod then we can work it on
i have added this as in many opensource project people will now avoid cloning whole repo they just do all the things in cloud which saves time
thankyou, if you want to know more about gitpod or cloud services i can explain you further but this is basic just to understand that what this file does

@kevinintel i need time i will show that too but dont merge this pr now as now it is showing some issues i fix it today then you can merge

@kevinintel  just signup on gitpod and open its webextension you can see all dependencies will be downwloaded automatically

merge it


As a developer, I want to have population density in the data, so that I can understand the difference between urban and rural communities.

Description
We currently have scores that rank order each community (Census Block Groups). One can map each community to either Rural or Urban. We want to know what the distribution of the rank ordering is across urban and rural communities. Some starting questions might be:

Of the communities identified as "disadvantaged" what percent are urban vs rural (how does that compare to the inherent percentage of urban vs rural CBGs)?
Of urban areas, how many are identified as "disadvantaged"?
Of rural areas, how many are identified as "disadvantaged"?

Note, this literally applies to scores that generate a classification (1 or 0) of disadvantaged, which admittedly are most of the scores. For score that produce a rank ordering, will need a different definition, like mean or some other way to measure the distribution.
Links to user research or other resources
Tasks

[x] Query map of CBGs to Urban vs Rural from Geocorr. Save download link to add officially to ETL process later
[x] Manually place CSV file that maps CBGs to Urban / Rural locally to computer
[x] Manually generate scores across all CBGs (does the scoring_comparison notebook generate these flat files?)
[ ] Load files into a Jupyter Notebook; Map CBGs to Urban vs Rural
[ ] Do the analysis!
[ ] Check in with Shelby to make sure this actually makes sense
[ ] Add officially to the ETL scripts to make sure it's reproducible moving forward.

Definition of "Done"
Relevant Links

See this relevant Slack Thread for Lucas's PR
See this relevant Slack Thread for finding files on AWS.

The UI will look something like this for Urban/Rural

Slack thread on running code: https://usds.slack.com/archives/C0222FBGQ65/p1631808402174600


update sample sheet generation to handle project shortname

We're using the sample_proj field in the Sample Sheets as a unique reference for demultiplexing to assign demuxed fastq files automatically to their project folder.
We need to update the sample sheet generation to read in a per-sample value:
https://github.com/jdereus/labman/blob/0b36cfb63e8222f078f2479c9651e225864fb9c1/labman/db/process.py#L2577
And we may also need to add a column to the projects table to allow a project shortname in a format like 'PI_qiitaID' or similar.

@tanaes Some clarification questions:

You note "we may also need to add a column to the projects table", but I can't find a projects table in the labman/qiita db!  Are we perchance talking about the study table? (I ask because I see that the fix for issue #32, Plates List screen (Project names), got the "project names" it displays from the qiita.study.title value). If not, has a project table been added at some point but didn't make it into the labman db patch scripts?  Or does it have a name other than projects?
If we are talking about the qiita.study table, is the project shortname already in there?  For example, is it the study_id field or the study_alias field?
Right now the sample_proj parameter to _format_sample_sheet_data is being set to the sequencing process's run name.  After we change sample_proj to instead hold the per-sample project shortname, does the sequencing process's run name need to be included anywhere (else) in the sample sheet output?

I don't think that this is a field that exists in Qiita yet necessarily. CC @jdereus — the thing is we need something that can link up to a consistent folder name on Barnacle. We've had some discussions about how best to do this but I don't know that we've formally adopted a consensus yet!
So, 1 & 2: Correct, it doesn't exist yet in the Qiita db; and 3: I think it would be good to add an additional column to the sample name titled "Project_Name" that includes the long name while the protected column "Sample_Project" contains the short name.

We need to be very careful on the definition of "consistent folder name" and how it applies to a sample sheet.  Reading some of this, it sounds like somehow we are expect to know the run folder information prior to being able to generate the sample sheet.
I am not aware of a project short name.  other than what we add in to the sample sheet.  This should be something along the lines of _<qiita_ID>.  That will allow for per project, per plate data aggregation when we do the bcl conversion.  Please correct me if I am misunderstanding the issue here.
JD
From: Jon Sanders <notifications<EMAIL_ADDRESS>Reply-To: jdereus/labman <reply<EMAIL_ADDRESS>Date: Tuesday, March 13, 2018 at 12:56 PM
To: jdereus/labman <labman<EMAIL_ADDRESS>Cc: "Dereus, Jeff" <jdereus<EMAIL_ADDRESS>Mention <mention<EMAIL_ADDRESS>Subject: Re: [jdereus/labman] update sample sheet generation to handle project shortname (#204)
I don't think that this is a field that exists in Qiita yet necessarily. CC @jdereushttps://github.com/jdereus - the thing is we need something that can link up to a consistent folder name on Barnacle. We've had some discussions about how best to do this but I don't know that we've formally adopted a consensus yet!
So, 1 & 2: Correct, it doesn't exist yet in the Qiita db; and 3: I think it would be good to add an additional column to the sample name titled "Project_Name" that includes the long name while the protected column "Sample_Project" contains the short name.

You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/jdereus/labman/issues/204#issuecomment-372815547, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ANq27eeIAzcpfhBHdWi60_0AZo57WP9pks5teDKEgaJpZM4SMpYh.

@tanaes @jdereus Here are the conclusions we reached in our discussion today; please correct anything I've gotten wrong:

A project shortname will be generated programmatically from the study information for each sample; Labman users will not need to enter (or even know) the shortname.
Project shortname format will be either <PI_name> or <Lab_person_name><PI_name>_ ; Amanda will generate samples for some existing studies in each of these formats and run them by Greg for a decision on which is more usable.
The project shortname will NOT be stored in the database anywhere.  Instead, the gold-standard repository of the project shortname of any sample is the sample sheet for that sample's sequencing run.  These sample sheets are expected to be saved indefinitely; as long as this is the case, it will always be possible to go back and find the project shortname used for a sample (even if the rule used to generate project shortnames from the database has changed since that sample was sequenced).

@tanaes @jdereus As I look at our conclusions, I find I have one concern: are samples from any study ever sequenced more than once?  Like, maybe if the original sequencing run produced bad data?? If so, the naming convention we laid out above will not keep the sequencing results of the multiple runs separate.
In the approach we chose, every sequencing run for a given study X will have the same project shortname, which could result in data from multiple runs being aggregated together into the same barnacle folder after demuxing (if folders persist between runs).  Depending on the how smart the naming conventions used in the demuxing code are (of which I know nothing), it is even possible that old demuxed data might be overwritten with new demuxed data.
Do these possibilities concern you?  If so, how would you like to proceed?

@AmandaBirmingham @jdereus and I when discussing this system envisioned that within the output project folder, each run would get it's own run folder, retaining the Illumina-encoded run folder information (which includes things like the sequencing instrument serial number and flow cell serial number) so that we'd be able to maintain this per-run information, so I think it's ok to not have the sample names themselves be globally unique.

I think that depends on how the data is pulled back.  If, as I believe, the samples are pulled back based off of individual wells on specific plates, then it should not be an issue.  But if there is some check somewhere that checks for uniqueness, then we might have an issue.
I also think we might be discussing two different things here.  Output location after bcl conversion and sample naming on any plate and well throughout entire system.
From: Jon Sanders <notifications<EMAIL_ADDRESS>Reply-To: jdereus/labman <reply<EMAIL_ADDRESS>Date: Wednesday, March 21, 2018 at 11:59 AM
To: jdereus/labman <labman<EMAIL_ADDRESS>Cc: "Dereus, Jeff" <jdereus<EMAIL_ADDRESS>Mention <mention<EMAIL_ADDRESS>Subject: Re: [jdereus/labman] update sample sheet generation to handle project shortname (#204)
@AmandaBirminghamhttps://github.com/amandabirmingham@jdereushttps://github.com/jdereus and I when discussing this system envisioned that within the output project folder, each run would get it's own run folder, retaining the Illumina-encoded run folder information (which includes things like the sequencing instrument serial number and flow cell serial number) so that we'd be able to maintain this per-run information, so I think it's ok to not have the sample names themselves be globally unique.

You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/jdereus/labman/issues/204#issuecomment-375076078, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ANq27Tb6Pex8DJ4-jlhIy4SHCvjh_VSSks5tgrEHgaJpZM4SMpYh.

@tanaes Merrily wrote code for this and then realized an outstanding question:

What do you want the "project shortname" to be for non-experimental samples (blanks, empties, controls, etc)?  I'll need to put something (if only an empty string or an None) into the array at the positions for those wells ...

Sweet! Let me consider this and get back to you. @eldeveloper, this might
interface with the problem you're working on.
-j
On Tue, Apr 24, 2018 at 9:54 AM Amanda Birmingham<EMAIL_ADDRESS>wrote:

@tanaes https://github.com/tanaes Merrily wrote code for this and then
realized an outstanding question:

What do you want the "project shortname" to be for non-experimental
samples (blanks, empties, controls, etc)? I'll need to put something (if
only an empty string or an None) into the array at the positions for those
wells ...

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/jdereus/labman/issues/204#issuecomment-384004035, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AH6JAFfBI0fDktMW7TXGwk-ruhyZwDSmks5tr1ingaJpZM4SMpYh
.

@tanaes Also, this question is not directly related to producing the project shortname, but I just want to double-check: what you want as the Sample_ID, Sample_Name, etc, in the shotgun sample sheet are strings that are the sample ids plus the plate and well they were plated on in the original sample plate?  As in, "1_SKB1_640202_21_A1" (where the actual sample_id in qiita.study_sample is "1_SKB1_640202")?

We don't actually need to have the plate info -- just the study + sample identifier is ok, i don't want to encode extraneous data in the filename. TBH I'd rather have a non-human-readible unique identifier but I don't think that will work in our system.

@tanaes Just to be clear, my question above is about the contents of the "Sample_ID" and "Sample_Name" columns in the shotgun sample sheet that LabPerson generates; as far as I know, these values aren't file names (or are you saying they are used as that, somewhere downstream)?  As I said, this question strays a bit from the task of generating the project shortname; sorry :)
I just wanted to double-check that, whatever you use the sample sheet for after getting back the sequencing data, you actively want these "sample id plus position" descriptors in it rather than the actual keys that would allow you to, say, look up the sample metadata in Qiita (without having to strip off extraneous plate id and well position pieces at the end of the string).  If you DO want the "sample id plus position" info (or you just don't care :) ), then all is copacetic.  If actual Qiita sample ids would be more useful to you, it would be very easy to put them in the shotgun sample sheet instead of the "sample id plus position" ids.

Sample names

Based on how the pipeline currently works, I think providing the actual Qiita Sample IDs to the format_sample_sheet machinery is going to be best. They do end up being munged into filenames (we end up encoding both the Qiita sample ID and the Illumna BCL2Fastq-compatible name in the sample sheet, and the latter is what gets prepended to the fastq filename), but we want to retain the original Qiita ID for when we rename these files later one. Currently this process is all already handled, and so I don't think

Freaking blanks

This is a problem that keeps rearing its head. The informal idiom we've used is that -- typically -- only a single study is included on an extraction plate. Those blanks then get inherited by that study (study-level association), with a rather inconsistent naming convention which may or may not specify well and plate number within the study.
Really I think this is best solved by having the study-level modality to the sample plating interface that @ElDeveloper and I were discussing as a way to avoid having to display the long study identifier in the window. This would allow any extraction-level controls to be unambiguously associated with a particular project, which I think should be the preferred way to do it. Anything downstream of that (e.g. leftover wells in library prep plates) I think would be ok having a 'None'-equivalent study identified and project shortname.
An alternative would be to have a 'Controls' study that combined all of these types of samples. This is maybe not such a terrible idea, as appropriate controls for a given plate or process could in principle be queried from the database.

OK, after chatting about this with some folks, it seems like the best option vis-a-vis the study sheet is to have any of the controls on a sequencing run end up in a 'Controls' demultiplex folder after BCL2Fastq. We don't necessarily need to make this an actual Qiita study, but that would enable a uniform place to access control samples downstream.

@AmandaBirmingham Just checking in on this because I think we're pretty dang close to being able to live test this project.
Is the only thing left here after merging 202ce44 to modify the create sample sheet code to insert this additional field?


Issue/4/evaluation rearrangement

We took a stab at rearranging the evaluation subpackage for the Golden Spike v1 release. The initial goal of this work was to isolate the functionality that we hope to ultimately call through qp, hopefully making that future transition a little easier. More of the changes, however, ended up being related to enforcing some of the API conventions established in the estimation subpackage, specifically those affecting contributors adding new metrics and those affecting how we as experimenters will use it for the baseline tests of the Golden Spike. We should converge on these before getting too far into unit testing.
We got as far as the PIT and metrics thereof (modulo a snag with unexpected behavior of qp) and are working on a demo notebook as well as a similar rearrangement for the CDE Loss -- changes will indeed have to be propagated to the plotting functionality as well, but that can be done back in the primary evaluation branch, along with the unit tests, once this patch is merged in.

@Gschwend I left a reminder to myself to post some to-do items to this issue following our discussion yesterday, but unfortunately the only ones I wrote down then were easy enough that I already did them, plus one about moving the DC1-specific code and demo rail.evaluation.main.py script from RAIL/rail/evaluation/plot_utils.py to the RAIL/examples directory. I think the plotting code might also belong there? Sorry for not posting that right away. I think the other main things were to propagate the new structure through the demos and plotting code and to write the unit tests.

Re: consolidating the location of example code, @sschmidt23 since you wrote the estimation demo of #51 and the demo of the new evaluation structure, would you mind pulling the post-#60 changes from master, moving those two demos to (appropriate subdirectories of) the examples directory, and checking that they still work in the new location? That might help with giving @Gschwend an obvious place to move the evaluation plotting code and DC1-specific demo material next.

So are you advocating for a move of doc/notebooks to examples/notebooks?  File organization may be a larger issue than just the examples, as I just pushed a BPZ branch that has some extra files required by BPZ, plus the SEDs and Filter curves.  So, I was wondering if we should open a separate, dedicated, issue to cover the structure of where files "live" and such.  For example, in issue/64/BPZ, right now there is a folder called "TMPBPZ" in examples that is an egregiously inappropriate name on purpose to remind me to move it to a better location.

Ah, I forgot that creation already has its own sub-folder under examples in the main branch, so the logical thing is to create estimation and evaluation folders and stick everything in there.  I still think that an overall file cleanup is better suited to its own issue than being part of this PR.  But, I would say for now, I would create an examples/evaluation folder and stick the demo notebook there in this branch, which will minimize conflicts with the file reorganization issue that I'm about to create.

CLMM has an examples directory, and a demo directory. I would imagine that we can subdivide the usage examples under examples/evaluation, examples/creation and examples/estimation, but the demos, or pipelines, or end to end tutorial of RAIL should not be subdivided unside the demos subdirectory

@aimalz  this branch is ready to merge with the evaluation baseline. I already moved the main.py to the examples directory and tested it there.

I'm not sure if I'm the one supposed to press the merge button. Just in case, I'll wait for people to take a look at the code changes added by me this week.


Adjust ASL/LSQ video size and placement

Needs Design
Comment from Sepideh:
2 of the participants suggested moving the videos beside the content. However, that may impact our layout and may require lots of changes. I think we decided to keep them in the same place but make them smaller. The size that we use in the form fields were great and we can use that. Or maybe we could make them slightly smaller. Something between the size of videos in the footer and the videos in the form fields

Feedback from CB linguistics:
Suggestion to make some of the videos side by side if scope allows..

Would need some design work to determine which areas could be side by side and adjust the layout.


Test with MySQL 5.7 on Travis-CI (but currently fails)

@winebarrel Hi sugawara-san :hand:
I found Gratan doesn't work for MySQL 5.7. This version (to be precise, MySQL 5.7.6) has removed IDENTIFIED BY from SHOW GRANTS FOR and moved it to SHOW CREATE USER.
First of all (in this PR), I made change to test with both MySQL 5.6 and 5.7 in Travis-Ci.
However, the test in MySQL 5.7 still fails. I plan to send patches for supporting 5.7 in another PR.
(And this PR includes supports of Ruby 2.3 or later because Ruby 2.2 or less no longer supported.)

.travis/install_mysql.sh is using Test::mysqld as reference:

https://github.com/kazuho/p5-test-mysqld/blob/f2c8f2068c986b3596b615f6ce5a1c0ad9ab1c49/.travis.yml#L6-L13
https://github.com/kazuho/p5-test-mysqld/blob/f2c8f2068c986b3596b615f6ce5a1c0ad9ab1c49/author/travis_install_mysql.sh#L14-L21

Thank you!
I am sorry that the merge is delayed 🙏


consistent arg usage for raw

minor for consistency
(split this feature from #346)

Looks fine, too.

LGTM

LGTM


Improve performance by using concurrent.futures

Recently I want to use this script for my personal project, then I found that if I don't clone meta-upstream to upstream/, it will take a lot of time to generate data when using ./update.sh.
What I do
This is just an example.
I just turn
...
for it in index:
    print(f"Processing {component} {it['version']} ")
    jar_maven_url = get_maven_url(
        it["maven"], "https://maven.fabricmc.net/", ".jar"
    )
    compute_jar_file(
        os.path.join(UPSTREAM_DIR, JARS_DIR, transform_maven_key(it["maven"])),
        jar_maven_url,
    )
...

into
...
def compute_jar_file_concurrent(component, it):
    print(f"Processing {component} {it['version']} ")
    jar_maven_url = get_maven_url(
        it["maven"], "https://maven.fabricmc.net/", ".jar"
    )
    compute_jar_file(
        os.path.join(UPSTREAM_DIR, JARS_DIR, transform_maven_key(it["maven"])),
        jar_maven_url,
    )
    print(f"Processing {component} {it['version']} Done")
...

...
with concurrent.futures.ThreadPoolExecutor() as executor:
    for it in index:
        executor.submit(compute_jar_file_concurrent, component, it)
...

Comparison
Here is the time comparison about what the code what I change.
(Left side is my code, Right side is the original code.)

Here is my test enviroment information:
OS: Arch Linux x86_64
Kernel: 6.9.1-zen1-2-zen
Uptime: 2 hours, 35 mins
Terminal: kitty
CPU: 12th Gen Intel i5-12400 (12) @ 4.400GHz
GPU: NVIDIA GeForce RTX 3060
GPU: Intel Alder Lake-S GT1 [UHD Graphics 730]
Memory: 10164MiB / 31837MiB

Note
I have noticed some order change in launcher/net.fabricmc.intermediary/index.json,these also change sha in launcher/index.json. I just need to figure out what happened in these change.

I used to use Python multiprocessing for tasks like this. My only concern with this codebase was that some function rely on global variables, which make it hard to parallelize

I used to use Python multiprocessing for tasks like this. My only concern with this codebase was that some function rely on global variables, which make it hard to parallelize

I think I don't touch any global variable, but I will pay attention to it.

Also after debugging, I found why order in versions of launcher/net.fabricmc.intermediary/index.json.
The index.py generate xxx/index.json, order versions by release_time, and some release_time are the same, which cause the problem.

Well,I can confirm that the order change is might be my system problem, because I use the original script to generate fabric data, I got same index.json.

After a day of debugging, I decided not to commit the code that optimize the forge update code.
Because it cause so many bug, and the forge/neoforge update code is a little bit complex to me to make it parallelize,sorry about that.
In my pc, my branch script output is same as the original script.
(I also found that the original script can't have same output with PrismLauncher/meta-launcher in my PC,I don't know why.)

The code is ready to review and test,thx.


Asymmetry between json encoding and decoding

I noticed that our json encoder can encode objects that our decoder cannot decode. It doesn't make sense to save something that can't be loaded. Do we plan to fill in the missing types in the decoder? Or should we remove them from the encoder?

This issue might be relevant for some the issues we are working on elsewhere. Is this asymmetry still there?

I think so. In qiskit_experiments/framework/json.py the classes ExperimentEncoder and ExperimentDecoder are defined. In ExperimentEncoder, we can find UFloat, QuantumChannel, LocalReadoutMitigator, CorrelatedReadoutMitigator, DensityMatrix, which do not appear in ExperimentDecoder.

The issue seems to be resolved by now.


Enable continuous integration

Addresses #15.
Follows Travis CI's recommendations for building C++ 11 and beyond.
Although the basic build steps succeed, The Travis CI job currently fails with an import error while executing the tests. This is probably because I don't know how to get the tests to execute successfully. It is also possible that the tests are broken.
We could try some combination of:

update the script section of the .travis.yml so that it correctly execute the tests
fix the tests to resolve errors

Alternatively, in the short term we could change the script section to true so that Travis CI verifies that the basic build steps succeed without verifying that the tests run correctly.
Do y'all have any ideas on how to proceed?

I believe this is because the tests are broken -- they are trying to refer to modules which were removed in this commit: https://github.com/gerrymandr/python-mander/commit/a85574c2a1d414e2434040c0bc39b2ebd786a8be#diff-f09c9d1e1545e0e7689558c53ec18520
It appears that compactnesslib has superceded the functionality originally provided by the removed modules. In that case, the tests probably need updating.

Aha! Makes sense. Thank you for tracking down that commit.

GCC 4.9 seems pretty old at this point. I've developed compactnesslib in 6 and 7; I'm not sure how backwards compatible that will be. Any chance you can bump the Travis version?

Sure! Will do!

Here's a peek at the passing build:
https://travis-ci.org/carlschroedl/python-mander/builds/309249253
Would you say this PR is getting to mergealicious territory, or does it need a few more minutes in the metaphorical code oven? :)

Thanks for working on this @carlschroedl.  I've found CircleCI to be quite a bit faster than Travis, and I'm working on establishing that for all of the projects before or as part of the coming hackathon in March.  I'm inclined to close this PR because the work here won't transfer, but if you'd prefer that I merge it to give you credit for it, then make my changes on top of yours, I'm cool with that too.  What would you prefer?

#19 implements circleci integration.  I'll wait a few days to hear from @carlschroedl before merging that.

@msarahan I believe it was Scooby-Doo who once said "It is amazing what you can accomplish if you do not care who gets the credit." ;)
The important thing is that this project has some form of CI. If you have a better solution -- particularly if it is an approach shared across many gerrymandr repos --then let's go for it.

I wasn't aware of that quote.  It's very true, but it's always better to figure out if someone has that attitude before you toss their work, rather than after.
Thanks again for pointing the organization in the right direction (using CI), and for your other work on this effort.


Test for issue #21 implemented

Fixed in 3.1.5 :+1:
Thanks for the contribution, much appreciated!


Add Avatar image error handler

When img.busy randomly goes down, we need to replace avatar with a default avatar
Add onError handler to img tag

@Sekhmet @bonustrack - this is a possible solution to when img.busy randomly goes down. What default avatar url should I use?

Was just about to take on this issue as well, thanks for putting this up. I'm sure all the users who mentioned it in the testing channel will appreciate it once it gets in.
One comment - if we've trying to mediate the issue of img.busy going down, I think the safest bet is to bundle the default avatar asset into the app, so the app is just loading a static file rather than making a network request to somewhere that may be on the same affected host that's down.

http://img.busy.org/@steemconnect?s=200 is the default one.

@ryanbaer good point...
@Sekhmet if img.busy is down, wouldn't that default be down as well?

It would, I just referenced default image link that is used. You can just download it using this URL with proper size (not sure how big we need this image) and add it to assets.

@jm90m The default avatar is this here https://github.com/busyorg/busy-img/blob/dev/helpers/index.js#L14 https://res.cloudinary.com/hpiynhbhq/image/upload/v1506948447/p72avlprkfariyti7q2l.png


Use GitHub CI for demo app

Automatically build the app every day + upload the APK to GitHub.

not that storage is a big concern, but we could likely trigger this on PRs and merges to main instead, and it would produce far fewer artifacts -- I think we have ~1 merge / month 😄

(also, having this build automatically is a great idea 🎉 )

@wcarss Thanks!
I opted for building once per day (in addition to PRs/merges) to catch any breakage not caused by us (for example, Gradle repos going down, GitHub runner updates, etc) so they don't show up for the first time during the monthly merge :grin: Happy to go either way though, or dial down the frequency to once per week -- just let me know.

Done :)

@wcarss Looks like this still needs merging :)


Update documentation - hosts.yml to hosts.ini

The documention mention hosts.yml but the filename is hosts.ini.
Thanks great tool :)

@juliourena  Thanks for catching this typo. In the new release this has corrected.

@juliourena  Thanks for catching this typo. In the new release this has corrected.


Problems to support C++

When developing app using C++, I encountered two problems:

__cxa_atexit is not defined.
Global objects are repeatedly constructed, where calling a wasm function once from native triggers construction once.

Reproduce Steps:
Modify the basic sample by following these steps:

Rename testapp.c to testapp.cpp and add the following code:
change code to

/*
 * Copyright (C) 2019 Intel Corporation.  All rights reserved.
 * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
 */

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdint.h>

extern "C" {
int
intToStr(int x, char *str, int str_len, int digit);
int
get_pow(int x, int y);
int32_t
calculate_native(int32_t n, int32_t func1, int32_t func2);

//
// Primitive parameters functions
//
float
generate_float(int iteration, double seed1, float seed2)
{
    float ret;

    printf("calling into WASM function: %s\n", __FUNCTION__);

    for (int i = 0; i < iteration; i++) {
        ret += 1.0f / seed1 + seed2;
    }

    return ret;
}

// Converts a floating-point/double number to a string.
// intToStr() is implemented outside wasm app
void
float_to_string(float n, char *res, int res_size, int afterpoint)
{

    printf("calling into WASM function: %s\n", __FUNCTION__);

    // Extract integer part
    int ipart = (int)n;

    // Extract floating part
    float fpart = n - (float)ipart;

    // convert integer part to string
    int i = intToStr(ipart, res, res_size, 0);

    // check for display option after point
    if (afterpoint != 0) {
        res[i] = '.'; // add dot

        // Get the value of fraction part upto given no.
        // of points after dot. The third parameter
        // is needed to handle cases like 233.007
        fpart = fpart * get_pow(10, afterpoint);

        intToStr((int)fpart, res + i + 1, sizeof(res + i + 1), afterpoint);
    }
}

int32_t
mul7(int32_t n)
{
    printf("calling into WASM function: %s,", __FUNCTION__);
    n = n * 7;
    printf("    %s return %d \n", __FUNCTION__, n);
    return n;
}

int32_t
mul5(int32_t n)
{
    printf("calling into WASM function: %s,", __FUNCTION__);
    n = n * 5;
    printf("    %s return %d \n", __FUNCTION__, n);
    return n;
}

int32_t
calculate(int32_t n)
{
    printf("calling into WASM function: %s\n", __FUNCTION__);
    int32_t (*f1)(int32_t) = &mul5;
    int32_t (*f2)(int32_t) = &mul7;
    return calculate_native(n, (uint32_t)f1, (uint32_t)f2);
}
}

extern "C" int __cxa_atexit(void (*func)(void *), void *arg, void *dso_handle) {
  printf("__cxa_atexit:%p\n", func);
  return 0;
}

class FOO {
public:
  FOO() {
    printf("FOO\n");
  }
  ~FOO() {
    printf("~FOO\n");
  }
};

static FOO aFOO;

modify build.sh to build cpp

Output log:
FOO
__cxa_atexit:0x3
calling into WASM function: generate_float
Native finished calling wasm function generate_float(), returned a float value:<PHONE_NUMBER>75f
FOO
__cxa_atexit:0x3
calling into WASM function: float_to_string
calling into native function: intToStr
calling into native function: get_pow
calling into native function: intToStr
Native finished calling wasm function: float_to_string, returned a formatted string: 102009.921
FOO
__cxa_atexit:0x3
calling into WASM function: calculate
calling into native function: calculate_native, n=3, func1=1, func2=2
calling into WASM function: mul5,    mul5 return 15
call func1 and return n1=15
calling into WASM function: mul7,    mul7 return 105
call func2 and return n2=105
Native finished calling wasm function: calculate, return: 120

Hi, the sample cpp file doesn't implement main function, and it seems intToStr/get_pow/calculate_native are implemented in native wrapper, and the build.sh isn't provided. Could you upload the whole sample?

build.sh
#
# Copyright (C) 2019 Intel Corporation.  All rights reserved.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
#

#!/bin/bash

CURR_DIR=$PWD
WAMR_DIR=${PWD}/../..
OUT_DIR=${PWD}/out

WASM_APPS=${PWD}/wasm-apps

rm -rf ${OUT_DIR}
mkdir ${OUT_DIR}
mkdir ${OUT_DIR}/wasm-apps

echo "#####################build basic project"
cd ${CURR_DIR}
mkdir -p cmake_build
cd cmake_build
cmake ..
make -j ${nproc}
if [ $? != 0 ];then
    echo "BUILD_FAIL basic exit as $?\n"
    exit 2
fi

cp -a basic ${OUT_DIR}

echo -e "\n"

echo "#####################build wasm apps"

cd ${WASM_APPS}

for i in `ls *.cpp`
do
APP_SRC="$i"
OUT_FILE=${i%.*}.wasm

# use WAMR SDK to build out the .wasm binary
/opt/wasi-sdk/bin/clang     \
        --target=wasm32 -O0 -z stack-size=4096 -Wl,--initial-memory=65536 \
        --sysroot=${WAMR_DIR}/wamr-sdk/app/libc-builtin-sysroot  \
        -Wl,--allow-undefined-file=${WAMR_DIR}/wamr-sdk/app/libc-builtin-sysroot/share/defined-symbols.txt \
        -Wl,--strip-all,--no-entry -nostdlib \
        -Wl,--export=generate_float \
        -Wl,--export=float_to_string \
        -Wl,--export=calculate\
        -Wl,--allow-undefined \
        -o ${OUT_DIR}/wasm-apps/${OUT_FILE} ${APP_SRC}

if [ -f ${OUT_DIR}/wasm-apps/${OUT_FILE} ]; then
        echo "build ${OUT_FILE} success"
else
        echo "build ${OUT_FILE} fail"
fi
done
echo "####################build wasm apps done"

Hi, the sample cpp file doesn't implement main function, and it seems intToStr/get_pow/calculate_native are implemented in native wrapper, and the build.sh isn't provided. Could you upload the whole sample?

Yes, no main function. I need wasm export some functions and call them repeatedly.

@xianjimli For the Global objects are repeatedly constructed issue, please add -Wl,--export=__wasm_call_ctors in build.sh when building wasm app.
For __cxa_atexit issue, I think currently it isn't supported by wasm spec, the spec doesn't specify which functions are to be called when the wasm instance is destroyed. My suggestion is to manually call the wasm functions before de-instantiate the wasm instance, or, before calling wasm_runtime_deinstantiate.

OK, Thank you.


fixed issue #2 - Top Month Always Empty (Archive Sidebar)

removed  "+1" from sidebar articles path
before
<%= link_to"#{month[:name]} #{counter}".html_safe,  articles_by_month_path( month[:year], "%02i" % (month[:month]+1) ) %>

after
<%= link_to"#{month[:name]} #{counter}".html_safe,  articles_by_month_path( month[:year], "%02i" % (month[:month]) ) %>

Excellent 👍
A few things before we can merge it in...

This appears to be (substantially) the same as #47 Can they be combined?
I'd prefer the year/month format not to change -- it doesn't seem relevant to the bug at hand.
Also, why are you referencing issue #1? Can you squash your commits?


Support of custom header

In our api we have a custom header. I am unable to find a way to add it in hapi-swagger

hapi-swgger version:
7.7.0

What are you trying to achieve or the steps to reproduce ?
Unless I have the custom header my api calls will return error. When I curl the api just by adding the header along with api key it work. I have found a way to add api_key text fiend on top using securityDefinitions
Describe your issue here, include example route or JOI schemas.
curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer token' 'http://localhost:9000/api/path/' do not work. However
curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer token' --header 'CustomHeader: foo' 'http://localhost:9000/api/path/'` works

@skeep , did you try to add a validation option like the following one in your route configuration:
        validate: {
            headers: {
                CustomHeader: Joi.string().required()
            }
        }

works thx , closing it.


Installation failed

Hello,
If I follow exactly you installation process, I have this error :

May be I forgot something ?

It's a template repo, so no need to require it, just clone it into a directory then run composer install then php build

Ok, understood ;-)
May be a change of documentation will help ?
For example, by replacing :
mkdir my-package

cd my-package

composer require cjmellor/skeleton

by
git clone https://github.com/cjmellor/skeleton my-package

cd my-package

composer install

php build

What do you think ?

Yes, I absolutely need to re-do the README as it's wrong. I'll get on it though feel free to do a PR 😅

with pleasure.

Cheers brother!


Import includes duplicate groups

If a user deletes a group accidentally and wants to re-import it from the backup, the import will include all groups, even those that are identical to the current ones.  I think it would be better if when doing an import, groups that are identical (same name, same tabs) would not be imported so that the user does not end up with multiple copies of the same group.
For example if one accidentally deletes GroupB:
Before backup import looks like:
GroupA(10)
GroupC(5)
After backup import looks like:
GroupA(10)
GroupA(10)
GroupB(3)
GroupC(5)
GroupC(5)
The extra GroupA and GroupC are unnecessary. Only looking to restore GroupB and any other groups that are different from the current set of groups.

Yes, this can lead to many groups. I won't filter if identical, but I will add a menu to select the groups/tabs you want to import/export.

In v0.6.3, you can select which groups/tabs you want to import/export. However, they are still added as a new groups.


fixing the size of message box and adding visible border to it

before

after

@Its-Aman-Yadav can you check it out?

Hey @divyalaldinani  it has some conflicts before merging, please resolve them to get merged
thank you


Fatal error: libxml/xmlversion.h no such file

My intent is to load and build Hue on Python2.7. I used the instructions on Cloudera Github. I twice checked the list of required libraries. All are installed, including libxml2-devel. (I am on CentOS 7). I checked the /usr/include/libxml2/libxml directory for the file xmlversion.h. It is there. I also checked the xml_configure command is in path. However, I am getting the following error:
building 'lxml.tree' extension
gcc .....
In file included from src/lxml/lxml.etree.c.139:0 src/lxml/etree_defs.h:9:31: fatal error: libxml/xmlversinh: no such file or directory.
include "libxml/xmlversion.h"
compilation terminated.
error: command 'gcc' failed with exit status 1
make[2]: *** [/usr/local/src/hue/desktop/core/build/lxml/egg.stamp]

Could you try to install  libxml2?
cf. http://rpm.pbone.net/index.php3/stat/4/idpl/26644672/dir/centos_7/com/libxml2-2.9.1-5.el7.x86_64.rpm.html

Roman,
Thank you for following up.

Here is a snap from my system showing the library is installed. I even ls in /usr/include to find the called for file.

I checked various paths and class paths. I have tried the build as root. Consistently the same error.

I am using a HDP distro. I may shift back to CDH if you thought this would make a difference.

I am running on CentOS 7. My intent tonight is to down rev to CentOS 6 and see if this cures my ills.

Regards,
Will Dailey
"Seamen, with their inherent sense of honor, order, service, and discipline, should really be running the world."
-Anonymous

On Feb 17, 2015, at 7:03 AM, Romain Rigaux<EMAIL_ADDRESS>wrote:
Could you try to install libxml2?
cf. http://rpm.pbone.net/index.php3/stat/4/idpl/26644672/dir/centos_7/com/libxml2-2.9.1-5.el7.x86_64.rpm.html http://rpm.pbone.net/index.php3/stat/4/idpl/26644672/dir/centos_7/com/libxml2-2.9.1-5.el7.x86_64.rpm.html
—
Reply to this email directly or view it on GitHub https://github.com/cloudera/hue/issues/150#issuecomment-74681074.

Roman,
We can now close this ticket out. I installed CentOS 6 into a VM, installed all of the components for the Hadoop Ecosystem, including Hue. I just started Hue and got back Permission errors on the Version file and the log files.  See image below.

I am installing all of this as user hduser with a common group of hadoop. So if you have a moment maybe you can answer a question. I tried this both as user hduser and hue. Both failed. It works when I execute the command:
> sudo /etc/init.d/hue start

None of the manuals show this as the start up execution. Seems to me it should start successfully as hduser as this is the common user. If not then at least as user hue. Am I heading the wrong direction by using sudo?

Regards,
Will Dailey
"Seamen, with their inherent sense of honor, order, service, and discipline, should really be running the world."
-Anonymous

On Feb 17, 2015, at 7:03 AM, Romain Rigaux<EMAIL_ADDRESS>wrote:
Could you try to install libxml2?
cf. http://rpm.pbone.net/index.php3/stat/4/idpl/26644672/dir/centos_7/com/libxml2-2.9.1-5.el7.x86_64.rpm.html http://rpm.pbone.net/index.php3/stat/4/idpl/26644672/dir/centos_7/com/libxml2-2.9.1-5.el7.x86_64.rpm.html
—
Reply to this email directly or view it on GitHub https://github.com/cloudera/hue/issues/150#issuecomment-74681074.

Feel free to ask on Hue user list http://groups.google.com/a/cloudera.org/group/hue-user for your other question
FYI you might need to update 'hue' to 'hduser':
https://github.com/cloudera/hue/blob/master/desktop/conf.dist/hue.ini#L46


We should be able to load a specific class or function in a single step.

See https://github.com/ManiacalLabs/BiblioPixel/issues/340
The API would handle examples like:
import_symbol('gp://github.com/rec/bp_midi')
import_symbol('gp://github.com/rec/bp_midi/MyMidi')
import_symbol('gp://github.com/rec/bp_midi/my_namespace.MyClass')
import_symbol('gp://github.com/rec/bp_midi/my.namespace.here.MyClass')

This is complete.


Using old ubuntu with the newest k3s version, containers can't access the internet

Environmental Info:
K3s Version:
k3s version v1.25.7+k3s1 (f7c20e23)
go version go1.19.6

Node(s) CPU architecture, OS, and Version:
vagrant@vagrant:~$ uname -a
Linux vagrant 4.15.0-55-generic #60-Ubuntu SMP Tue Jul 2 18:22:20 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

vagrant@vagrant:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 18.04.2 LTS
Release:	18.04
Codename:	bionic

Cluster Configuration:
default k3s installation
Describe the bug:
I use MacOS to run a vagrant box of ubuntu 18.04. I install k3s inside the vagrant box.
When I create a pod in the k3s cluster inside the vagrant box, I can access the host (=vagrant) but not anything else outside the vagrant (not my Mac, and no internet services like google.com / <IP_ADDRESS>).
After some debugging (with basically zero knowledge on how container networking works), I discovered that cni and flannel are somehow part of it, and I saw that the recent release changed something with flannel.
When I install k3s with INSTALL_K3S_VERSION=v1.24.11+k3s1, it all seems to work just as normal.
Steps To Reproduce:
Creating the vagrant box
vagrant init rezonanc-oxid/ubuntu-bionic-kernel-4.15
vagrant up

Connecting to the vagrant box & setup
vagrant ssh
# Inside the vagrant terminal:
curl -sfL https://get.k3s.io | sh -
sudo chmod 644 /etc/rancher/k3s/k3s.yaml # To use kubectl without sudo
kubectl get pods -A # Sanity

Creating a pod with shell
kubectl run bbp --image=radial/busyboxplus:curl -i --tty -- sh

Expected behavior:
Inside the shell of the bbp pod:
[ root@bbp:/ ]$ ping <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>): 56 data bytes
64 bytes from <IP_ADDRESS>: seq=0 ttl=61 time=10.260 ms
64 bytes from <IP_ADDRESS>: seq=1 ttl=61 time=17.567 ms
64 bytes from <IP_ADDRESS>: seq=2 ttl=61 time=11.395 ms
^C
--- <IP_ADDRESS> ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 10.260/13.074/17.567 ms

Actual behavior:
[ root@bbp:/ ]$ ping <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>): 56 data bytes
^C
--- <IP_ADDRESS> ping statistics ---
8 packets transmitted, 0 packets received, 100% packet loss
[ root@bbp:/ ]$

Duplicate of https://github.com/k3s-io/k3s/issues/7096
Please upgrade to the latest 1.25 release.


Table starts from tomorrow?

Here's what I got:

My question is, why does the data in table start from Friday (while today is Thursday in my time zone)?
At first I think maybe it's because today's info is already displayed at top, but no the data at top is not of the same kind as the ones in the table at all.
Nobody is interested in today's high and low, and maybe precipitation probability?

I didn't include today's forecast in the table because I wanted to get five days in, but then the table was too large for the default Terminal window, so I dropped today's forecast out of the table.
So should today's weather predictions be included in the table? It's meant to forecast the next four days (excluding today), and this is done on purpose but is easily changed.

In my opinion, today should be part of the forecast and it's easily the most needed info, maybe just second to the forecast of tomorrow. The accuracy of weather forecasts decreases greatly as the time moves further from now, so the if I were to assign values to each day's forecast, considering how much people need it and how much people can rely on it, I would say 4.5, 5, 3, 2, 1, where lower value means I'd be more OK if the value is missing or wrong. In that sense, if I had to throw away one piece of the data to make everything fit in the display window, I would pick the fifth day's data. Or, better, I could let people decide how many days to display, considering that I can stretch the Terminal window to fit. But maybe that's too much work for a non-essential feature.

Would a feature allowing someone to pick the number of days for which the weather is reported? i.e. passing an argument like -d <num>, where num is the amount of days to go into the future (num can range from 1-5)?
If not, I can just shift the last day out and put today's in, like you said.

Changed the range.


Default precision is 7 instead of 13 ?

I found out that the precision of BigDecimal result from Expression.eval() is 7 instead of 13 which is default in BigDecimal:
   BigDecimal bd = new BigDecimal("1442503274032");
   System.out.println(bd.precision());    // print 13

   Expression expr = new Expression("1442503274032");
   BigDecimal res = expr.eval();
   System.out.println(res.precision());    // print 7

Is there a reason why use 7 instead of 13 ?
I know the precision can be set but I prefer if it conforms to the default.

The precision of 7 comes from using MathContext.DECIMAL32 by default. See http://docs.oracle.com/javase/7/docs/api/java/math/MathContext.html#DECIMAL32
As for why that's the default, I'm not sure.

Looked into this a bit more. The 13 precision you are seeing in your default BigDecimal is not actually a default precision. It adapts to the number of digits.
Looking at the BigDecimal source code:
precision field:

    private volatile transient int precision = 0;

precision method:

/**
 * Returns the precision of this {@code BigDecimal}.  (The
 * precision is the number of digits in the unscaled value.)
 *
 *
The precision of a zero value is 1.
 *
 * @return the precision of this {@code BigDecimal}.
 * @since  1.5
 */
public int precision() {
    int result = precision;
    if (result == 0) {
        result = digitLength();
        precision = result;
    }
    return result;
}

If I'm correct, then this should be true:

BigDecimal bd = new BigDecimal("123");
System.out.println(bd.precision());    // print 3

And if that's true, then it looks like [MathContext.UNLIMITED](http://docs.oracle.com/javase/7/docs/api/java/math/MathContext.html#UNLIMITED) would be the 'correct' default.

Exactly, @squeek502. There is no default MathContext in Java, so I had to choose one specific. DECIMAL32 won the race. I think there was some reason after some tests, but I'm not sure.
Just read your second commen, @squeek502 and that may have been one reason.
Probably a separate constructor Expression(String expression, MathContext context) could give more flexibility.

Hi all, thanks for the clarification. I guess for now I will set the precision to 0 and rounding mode to HALF_UP to match the default behavior (UNLIMITED).


how to use modal in modal (multiple level popup)?

I would like to use modal in modal (multiple level popup).
But when i open the second modal, the first is closed auto.
Pl help me.

Hi @yuomtheara
As bootstrap doesn't support overlapping modals, Remodal was consciously designed not to have this.
You'll have to design around this; An alternative could be adding data & custom code, to re open the first modal when the second one closes.
eg.
Open the first modal normally:
Remodal.open('myFirstModal', {abc: xyz});

Then, when opening the second modal (from the first modal), provide data to re-open it:
Remodal.open('mySecondModal', {
  ghi: jkl,
  onClose: {
    modal: 'myFirstModal',
    data: Remodal.data()
   }
});

When done in modal 2, re open by calling:
var onClose = Remodal.data().onClose;
if (onClose != null){
  Remodal.fastReset(); // don't NEED this, can just call open
  Remodal.open(onClose.modal, onClose.data);
}

but i try by manual with bootstrap 3 modal, it is ok.

Hmm.. Okay, I'll look at adding support.

I don't want to open the 2 modals on the same time.
It mean when i open the first modal and in the first modal has one btn, and when i click on this btn it will show the second modal without closing the first modal.


Don't specify CI requirements in course environment

fuzzywuzzy (not the bear).
Pip says: "fuzzywuzzy? where?!"
"The environment we share?"
No pip, you won't find it there.

We could add a file that enumerates extra requirements in ci/ (I want to keep it out of the top level to minimize scrolling before you see the course REAMDE). A bit tricky as you can't pass two requirements files to pip or conda (I think). All involved parties should know what to do when they get an import error though, so it didn't feel urgent.


Error in the final step (R): 'by' appears to evaluate to column names but isn't c() or key()'

Hi, I am trying to run fragCount as follows:
frag -b SP_1_N/SP_1_N.finalSorted.bam -w 1000 -d /srv/ngs/analysis/dalteriog/reference_genomes/hs/mapFiles -o SvABA_dir
where /srv/ngs/analysis/dalteriog/reference_genomes/hs/mapFiles is the directory where I put both gc1000.rds and map1000 files.
It seems to proceed regularly at the beginning, but the trouble starts when it runs R script. Here is the standard error starting from the R part:

Finished computing coverage, and making GRanges
Finished acquiring coverage
Loaded GC and mappability
length cov is 3095706, length gc is 3074148, length map is 3074148
Synced coverage, GC, and mappability
Modified gc / mappability correction
Converting to data.table
Grouping intervals
Defining 100 fold collapsed ranges
Presegmenting at NA bp scale
Error in [.data.table(cov.dt, , list(chr = seqnames[1], start = min(start), :
'by' appears to evaluate to column names but isn't c() or key(). Use by=list(...) if you can. Otherwise, by=eval(get(paste("lev", numlevs, sep = ""))) should work. This is for efficiency so data.table can detect which columns are needed.
Calls: fragCounter -> multicoco -> seg2gr -> is -> [ -> [.data.table
In addition: Warning messages:
1: replacing previous import 'GenomicRanges::shift' by 'data.table::shift' when loading 'bamUtils'
2: replacing previous import 'GenomicAlignments::second' by 'data.table::second' when loading 'bamUtils'
3: replacing previous import 'GenomicAlignments::last' by 'data.table::last' when loading 'bamUtils'
4: replacing previous import 'GenomicAlignments::first' by 'data.table::first' when loading 'bamUtils'
5: In for (i in seq_len(n)) { :
closing unused connection 3 (SP_1_N/SP_1_N.finalSorted.bam)
6: In max(width(cov)) : no non-missing arguments to max; returning -Inf
7: In cat("Presegmenting at ", as.integer(WID * base^(numlevs)), " bp scale \n") :
NAs introduced by coercion to integer range
Execution halted

in my output directory (SvABA_dir) it gives me these outputs:
ls SvABA_dir

cmd.args cmd.args.rds

and i tried to check if there was something wrong in the cmd.args file. Here comes the output:
cat SvABA_dir/cmd.args

--bam SP_1_N/SP_1_N.finalSorted.bam --midpoint TRUE --window 1000 --gcmapdir /srv/ngs/analysis/dalteriog/reference_genomes/hs/mapFiles --minmapq 1 --paired TRUE --exome FALSE --use.skel FALSE --outdir SvABA_dir --libdir /isva --help FALSE

Thank you so much for your help!
Giuseppe
Post Scriptum: I am sorry but I wrongly posted this issue in the JaBba page issue section. I got confused. Sorry again.

Hey!! I am getting the same error that you posted above--did you find any solutions to this issue?
Thank you :)


How to attach the Mocap pose data to PX4?

Hi there,
Recently, I try to use mavsdk to pass the pose data captured by mocap(OptiTrack) to PX4, while two questions coming up.

I notice that async set_attitude_position_mocap needs a class named mavsdk.mocap.Covariance, which mocap doesn't provide. Is that necessary？If so, how can I get it (already have 'x y  z dot_x dot_y dot _z phi theta psi' data)?
What params should I set to ensure the mocap system has the same origin of coordinates with PX4, to make sense of the pose data?

Any help is grateful! Thanks!

@irsdkv: Would you be able to help here? :blush:

Hi all

Actually I didn't use MAVSDK-Python for a long time so I can be wrong. But now I see that Covariance class exists in main branch:
https://github.com/mavlink/MAVSDK-Python/blob/main/mavsdk/mocap.py#L369
I think that you shall try to re-setup package going thru documentation and correctly import all needed things.

About origin. After reboot, PX4 have no Local position by default. But when MoCap "server" starts to feed it with this position -  PX4 assume that it is its true position. So for example if with Server point of view PX4 have x: 1., y: 2., z:0. coordinates so PX4 estimator will accept them as the only true ones.
If you ask about real autopilot pose related to, for example, Aruco marker used to determine drone pose, you should correctly adjust parameters EKF2_EV_POS_X/Y/Z
Please say if I misunderstood your question.

And additional potentially trouble with MoCap and PX4 for this time (at least PX4 v0.11.1):
At this time you should prefer to use set_vision_position_estimate with default Autopilot firmware because of EKF2 now use only vehicle_visual_odometry uorb topic.

And one more thing about Covariance.
You can skip its calculation but in this case you should set some array cells to nan:
https://github.com/PX4/PX4-Autopilot/blob/9fcbf18d82b84ac57ee13782b3e501fa077d4d97/msg/vehicle_odometry.msg#L61

Probelms were perfectly solved with your suggestion.
Thanks a lot!


WIP: master <- kyc

[ ] global kyc config that enables the check functionality, default false
[ ] candidate kyc parameter default to false, unless exists and explicitly set to true

closing, as addressed in #2586


Generate a default mbed_app.json with "mbed new" to increase config system awareness

See handbook-#462
It's also one less step the user needs to complete themselves. Step being, lookup name of file to create, mbed_app.json, and the basic syntax to follow.

@theotherjimmy does this belong in mbedOS?
Also, I'm finally starting to lock into my brain the names of mbed_app.json, mbed_lib.json, and the json object sections that go within them. All the previous syntaxes for yotta and whatever else was used since then weren't helping.
However I still consistently need to look up the names of sections.
This enhancement would save me a lot of time, confusion and allow me to onboard new developers more quickly.

@loverdeg-ep This belongs in Mbed CLI.

This enhancement would save me a lot of time, confusion and allow me to onboard new developers more quickly.

Agreed, this is probably a good idea.

Issue header has missing or incorrectly filled in fields! Please fix.


Footer Microanimation

Reference

The footer code should be loaded exclusively from app.js and style.css
Modify the color according to the theme of the website

@smaranjitghose I would like to work on this issue under LGMSOC'21. Kindly assign this issue to me.

@ishani02  Assigned for 3 days. Please check the responsiveness of the changes before giving the PR


Update Y-axis labels for line plots

For mean and median modes, add "Mean: " or "Median: "
For example, the label should look like "Mean: Age (years)"
For proportion mode, label should just be "Proportion"
Y-axis for line plots in proportion mode is confusing. Currently users will have to be careful about interpretation. Here I chose to plot the "No" proportion for Undernutrition, but the Y axis title is just Undernutrition, and the user has to be remember that in fact they plotted the proportion of kids that don't have undernutrition.

It would be better if the Y-axis label just said "Proportion" for line plots in proportion mode.
In the future, we can offer users the ability to edit labels (see placeholder ticket VEuPathDB/web-eda#1053)

I will take a look at this

looks great, thanks DK!

My pleasure 😃 Happy Easter!


Iphone - scroll doesn't work in search tab

Current behavior

User can't scroll in search tab on iphone
Expected behavior

Steps to reproduce the issue

Can you handle fixing this bug by yourself?

[ ] YES
[ ] NO

Environment details

Browser:
OS:
Code Version:

Additional information

@lukaszjedrasik will take care of that at 11th Nov 2020

Step to reproduce
Device: iPhone XS Max
OS: iOS 14.2

Open Search Panel and type eg. yoga
Close Search Panel
Open and close other Sidebar eg. Menu
Open Search Panel and type eg. yoga. Now scroll shouldn't work


hub-extension from JupyterLab

I'd love to have the hub-extension brought over from JupyterLab. I don't have the File->Hub Control Panel in Retro Lab when running in JupyterHub.
Cheers,
Mike

Thanks @jabbera, sounds good.
@jupyterlab/hub-extension could indeed be added to the package.json file here: https://github.com/jupyterlab/retrolab/blob/main/app/package.json and to the list of plugins here:
https://github.com/jupyterlab/retrolab/blob/b28c91c9adde90f429c5fca6b9d49b225fad0f92/app/index.js#L84
Would you like to give it a try in a PR?

Will do. Doesn't work on binder though. I'll see if I can test it internally. Glad you commented I was going to copy it into the packages folder:-)

Closing as fixed by https://github.com/jupyterlab/retrolab/pull/148, thanks!


✨ Add spec to uninstall Helm chart from Cluster

What this PR does / why we need it:
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #

/hold for final check by @Jont828

/hold cancel


Unable to set style in IE11 for direct that uses replace: true and ngStyle

Using interpolation on the style attribute fails in IE11.

this is never bold in IE11, but it is in Chrome/Firefox

The typical resolution to this is to use ngStyle, but I can't because the directive I'm using uses ngStyle and is a replace: true directive.
The fiddle illustrates it better:

http://jsfiddle.net/8no0atrx/1/

Also, through the course of my discovery, there are some other ~strange behaviors illustrated here:

http://jsfiddle.net/zn1p3yw0/8/

I will leave this open, but this touches two things, one deprecated and the other unsupported. The first being replace: true the second having top level transclude: 'element'in a directive template.
Fixing this would imply a relatively big refactor on how compilation works, and there is a reasonable chance that it will not be fixed soon.

This basically touches on 2 known issues:

IE doesn't support interpolation in style attributes (this needs a browser fix which won't come anymore, so it's wontfix)
AngularJS does not merge expressions correctly (https://github.com/angular/angular.js/issues/5695) (also 99% wontfix due to replace deprecation)


Steam cache generating 302 while downloading (large?) playstation files

Describe the issue you are having
In the error.log it shows that some downloads from the sony-playstation downloads are receiving 302 errors for slices which causes nginx proxy cache to error out
How are you running the container(s)?
running generic cache instance specifically for playstation downloads separately
DNS Configuration
BLIZZARDCACHE_IP=<IP_ADDRESS>
FRONTIERCACHE_IP=<IP_ADDRESS>
ORIGINCACHE_IP=<IP_ADDRESS>
RIOTCACHE_IP=<IP_ADDRESS>
STEAMCACHE_IP=<IP_ADDRESS>
UPLAYCACHE_IP=<IP_ADDRESS>
WSUSCACHE_IP=<IP_ADDRESS>
SONYCACHE_IP=<IP_ADDRESS>
UPSTREAM_DNS=<IP_ADDRESS>

docker container create --name steamcache-dns-2 \
	--restart unless-stopped \
	-p <IP_ADDRESS>:53:53/udp \
	-e BLIZZARDCACHE_IP=$BLIZZARDCACHE_IP \
	-e FRONTIERCACHE_IP=$FRONTIERCACHE_IP \
	-e ORIGINCACHE_IP=$ORIGINCACHE_IP \
	-e RIOTCACHE_IP=$RIOTCACHE_IP \
	-e STEAMCACHE_IP=$STEAMCACHE_IP \
	-e UPLAYCACHE_IP=$UPLAYCACHE_IP \
	-e WSUSCACHE_IP=$WSUSCACHE_IP \
	-e SONYCACHE_IP=$SONYCACHE_IP \
	-e UPSTREAM_DNS=$UPSTREAM_DNS \
	steamcache/steamcache-dns:latest

Output of container(s)
error.log snippet
2019/05/11 22:32:09 [error] 42#42: *120953 unexpected status code 302 in slice response while reading response header from upstream, client: <IP_ADDRESS>, server: , request: "GET /gs2/ppkgo/prod/CUSA02168_00/55/f_852143d164a5c3a84ad75ae5cd5e1c4458e31010be1fd8794dcaeb28fec61ccf/f/EP9001-CUSA02168_00-GTSPORT000000000-A0138-V0100_10.pkg?downloadId=000000a9&du=00000000000000a900e248a22cdf490c&product=0187&threadId=0&serverIpAddr=<IP_ADDRESS>&r=00000001&downloadType=om HTTP/1.1", subrequest: "/gs2/ppkgo/prod/CUSA02168_00/55/f_852143d164a5c3a84ad75ae5cd5e1c4458e31010be1fd8794dcaeb28fec61ccf/f/EP9001-CUSA02168_00-GTSPORT000000000-A0138-V0100_10.pkg", upstream: "http://<IP_ADDRESS>:80/gs2/ppkgo/prod/CUSA02168_00/55/f_852143d164a5c3a84ad75ae5cd5e1c4458e31010be1fd8794dcaeb28fec61ccf/f/EP9001-CUSA02168_00-GTSPORT000000000-A0138-V0100_10.pkg?downloadId=000000a9&du=00000000000000a900e248a22cdf490c&product=0187&threadId=0&serverIpAddr=<IP_ADDRESS>&r=00000001&downloadType=om", host: "gs2.ww.prod.dl.playstation.net"

docker logs cache-sony
Executing hook /hooks/entrypoint-pre.d/10_setup.sh
Executing hook /hooks/entrypoint-pre.d/19_doc_root_setup
/var/www/html already exists.
Setting document root to /var/www/html
Executing hook /hooks/entrypoint-pre.d/20_perms_check.sh
Checking permissions (This may take a long time if the permissions are incorrect on large caches)...
Permisions ok
Executing hook /hooks/entrypoint-pre.d/20_ssl_setup
Not enabling SSL as neither key nor cert provided.
Executing hook /hooks/supervisord-pre.d/20_test_files_setup
Checking if /var/www/html is empty - Directory not empty.. don't touch content
Executing hook /hooks/supervisord-pre.d/21_cleanup_log_files
Cleaning up log files older than 3560 days
Executing hook /hooks/supervisord-pre.d/99_config_check.sh
Checking nginx config
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Config check successful
2019-04-21 14:28:28,109 CRIT Set uid to user 0

Nothing initial ringing any bells, however it doesn't look like you are running the latest image of generic. Can you docker pull steamcache/generic:latest then regenerate the container?

Am going to close this issue and reopen it when I get more diagnostic info


fix offer accepted label in offer tables

there was an issue filed, if we can find it to link it, can close it
accepted offers were appearing as Invalid instead of Accepted


Middleware execution order

hyper-express's request handling deviates from express when executing middleware, making some express patterns impossible to replicate
const app = express();
const server = createServer(app);

app.use((req, res, next) => {
  console.log('global 1');
  next();
});

app.get('/test', (req, res) => {
  console.log('handler');
  res.status(200).send('All good!!');
});

app.use((req, res, next) => {
  // should not get here for "/test" requests
  console.log('global 2');
  res.status(404).send('route not found');
});

server.listen(1122);

A request to /test logs
global 1
handler

and responds with All good!!
with hyper-express
const server = new Server();

server. use((req, res, next) => {
  console.log('global 1');
  next();
});

server. get('/test', (req, res) => {
  console.log('handler');
  res.status(200).send('All good!!');
});

server.use((req, res, next) => {
  // should not get here for "/test" requests
  console.log('global 2');
  res.status(404).send('route not found');
});

server.listen(1122);

/test logs
global 1
global 2

and responds with route not found.
why
This pattern is typical when implementing catch-all handlers for non-existent routes and also excluding specific routes from global middleware by utilizing registration order.
expectation
hyper-express handles the request just like express, global middleware should only be executed for routes registered after it.

Interesting, I wasn't aware that Express treated middlewares / route handlers based of creation order rather than path hierarchy.
Currently HyperExpress runs middlewares based on path hierarchy which yields the following order always:

Global
Path Local (Meaning bound to a specific path like '/api' -> runs on all routes '/api/*'
Route Local (Meaning bound to the route itself through options.middlewares or spread out as one of the handlers on a route creation call)

Since this would be a breaking change, I will add this change to the list of changes for the upcoming v7.0 rewrite which will introduce a bunch of breaking changes like above to close the compatibility gap.

Thanks for the prompt response. Is there a timeline for this next major release?
Also, I'll appreciate it if I can also contribute to the effort

Hey, yeah so I'm currently busy with work but I plan on beginning the rewrite at the end of march and would likely take about 2 - 3 weeks to finish. It will be done completely in TypeScript and I'll make a separate branch for it from which contributions can be made.


cannot find how to open the DAX editor without the mouse

I have looked at this page and many other shortcut pages, but cannot find a way to open the DAX editor without clicking on the measure name in the Fields pane.  I also have tried every keystroke I can think of.
Is there a hidden, undocumented shortcut key?
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 8df72ff6-206a-243a-a84a-0f6ac418a9b2
Version Independent ID: e6d1ac0d-3785-cb59-da9c-7dcac2876d2d
Content: Keyboard shortcuts in Power BI Desktop - Power BI
Content Source: powerbi-docs/create-reports/desktop-accessibility-keyboard-shortcuts.md
Service: powerbi
Sub-service: pbi-reports-dashboards
GitHub Login: @davidiseminger
Microsoft Alias: davidi

Thanks for your post. There is no hidden or undocumented shortcut keys. You can use keyboard-based menu navigation to get to its menu-item or ribbon-item button.


Support for Brocade FOS-based SAN devices

Hi,
I made a few changes that makes train able to detect FOS (Fabric OS) of Brocade Fibre-Channel switches.
The whole thing has currently a problem (stated in the code as well): The OS of these devices is linux based and does respond to uname command correctly when logging in as root user. If you log in with root, train will detect Unix/Linux/Generic Linux what is not what we want here. If you log in with a different (normal) user, that user will get rbash shell as CLI and uname command is not available what makes it possible to "fall through" the unix detection and detect a brocade_fos platform.
Normally you won't log in using root user to those devices (vendor says it's not supported), nevertheless you could do this and it would break the detection.
One workaround would be to handle brocade detection before unix, but that would cause version command run on all systems (except windows). I guess this is not really an option. Unfortunately I have no idea how to get around this problem currently.
Thanks for your feedback!

@marcelhuth This is awesome! If it is detected as Linux here https://github.com/chef/train/blob/master/lib/train/platforms/detect/specifications/os.rb#L329, you could add a check for brocade just before, therefore it will test brocade before jumping into generic linux.

@chris-rock Thanks for your feedback.
Actually it would not work this way unfortunately. Normally you won't work with root user on that devices. If you are not root (the standard use case) the CLI won't get you a stdout from uname and so the device is not a unix-family for train. At the end an exception will be thrown here https://github.com/chef/train/blob/a169efeca11404c084dd99802fb9391101ee5e40/lib/train/platforms/detect/scanner.rb#L41
So the code currently work for the standard use case (normal user to login) at the moment. It gets complicated when using root (and there are people working with root on the devices, even though it's not supported/recommended).

Looks good to me. Thanks for your work on this @marcelhuth!

Hi @jquick ,
thanks for approving this. Please do not merge anything at the moment... I'm still thinking about how to fix the problem with different logins that lead to different behavior.
As @chris-rock stated the check could be moved just before "Generic Linux", but we only reach that code when using root user. So I'm curently thinking about having two checks for brocade_fos. The first check has to be done just after unix family (if logging in with any user different from root we reach this code and anything is fine) the second check has to be done before "Generic Linux" (this will be reached when logging in with root). When the second check find a brocade_fos we have to change the previously detected os.family from "unix" to "brocade", and I don't know if this is good practice or if this could even work...
A second possibility is to throw an exception for "unsupported user in OS" (or something similar) when having the second check true.
I would like to avoid the situation where somebody depends on the os.platform is "unix" and does anything that is supported there that breaks the brocade device when using root user.
Do you have any ideas on that?
Thanks,
Marcel

Hi @jquick and @chris-rock
I tried to fix the issue with the root login. It should not break the default "Generic Linux" case just skip the detection of Linux if the devices responds to Brocade's version command and then go on with the next platform. What do you think?
Thanks,
Marcel

This works but gets us into a position of having to support the downstream platforms by ignoring it. Instead I think you had the right idea of putting the bash version right above linux in its own family then redefine the family again at the bottom. I am submitting my own refactor for arista which has the same issue. Ill post here the section, when I post it.

Hey @marcelhuth  - take a look at the arista example:
https://github.com/chef/train/blob/master/lib/train/platforms/detect/specifications/os.rb#L100 - defined here for the linux bash
https://github.com/chef/train/blob/master/lib/train/platforms/detect/specifications/os.rb#L478 - defined again for the other shell

Hi @jquick - saw your PR already ;) As this is now in master, I'll get my stuff changed to fit to the new base os family layout. I'll refactor the bash vs. "normal" shell login in the way you did with Arista as well. I'll try to get that ready the next days. Thanks for helping.

Looks good to me! Thanks for your work on this @marcelhuth !


No support for altering the shell environment

In functions such as system() and Open3.popen3(), the environment is passed as an optional first argument and not as part of opts as we initially thought.
This means that we cannot do e.g. eksek my_command, env: {my: variables}.
Solution 1
The easiest solution, and I'm fine with that, is to have the eksek and Eksekutor.new signatures as eksek *args, opts = {}, and just pass all the parameters to popen3.
However this means that we cannot as easily and directly add the cmd field in the EksekResult.
This solution also means that we can support the other ways of writing commands as supported by popen3, that is:

Open3.popen3("echo abc")
Open3.popen3("echo", "abc")
Open3.popen3(["echo", "argv0"], "abc")

Solution 2
We can also make up our own signature and decide that env should be a hash parameter and that we will always pass it as the first argument (or default to an empty hash) to popen3.

I have to say I don't have a strong opinion on this. On one hand, I guess it could be a good thing to have a strongly structured call, on the other hand, looking at the other possible options we could provide with it, Solution 1 definitely seems the most flexible version we can come up with. AFAIR, currently we are passing the cmd to EksekResultmore for logging reasons in case of an error, so it wouldn't be a huuuuge issue to not have it available. And maybe there is even a way to receive it _after_ theOpen3` operation?


Added mfilter.

Can we make this more general? I mean, we could piece together the constraints:
mfilter :: forall a f. (Plus f, Applicative f, Bind f) => (a -> Boolean) -> f a -> f a

Which kind of makes sense as MonadPlus implies a bunch of laws that these individual constraints don't, including Alternative and Monad laws. But then, where does it go? And is it useful enough to do that?

If that's too much granularity, just merge it and forget I asked a question. :)

My usual litmus test is: can we find a useful application of the generalization? I'm happy to merge this either way.

Hmm, maybe Const?

I think it's probably best to just leave this as is.

@joneshf Shall I merge this then?

Yeah, I think it's good, unless you want to rename it to filter and deprecate the array only version. It should have the same performance, just be more general.

I think this is good as is. Could you please just add a doc comment, @joneshf?

Is this still wanted, assuming I comment and fix the conflicts?

I think so, yep!

Oh, right. There's that whole transition to 0.7.0. Is it alright to leave this until 0.7.0 has been released?

Sure thing. There are RCs for the compiler, gulp plugin, and core libraries now, but I totally get it if you'd rather wait for 0.7-proper. :wink:

This is mad out of date, plus Filterable has a better story here anyway.


Bug: MP Export File Name

Issue:
There is an issue with the name of the export files in MP. The user gets "MP Export - Barry, undefined (12-12-2023)". Undefined should not be there. We should see the configuration below instead.
What it should look like: "MP Export - Barry, 1, 2, CS0AAN (12-12-2023)"

Confirm if still a bug in dev and stg.

Exporting a MP from stg appears to name the file correctly.

@annalbrecht, we discussed this ticket internally and would like to deprioritize this to Phase 1B. Could you please relabel this? Thank you.
FYA - This ticket was deprioritized since it isn't a blocker for industry submission and is a low priority compared with other development work.

@annalbrecht - could we relabel this from P-1B to 2025 (Q1 or Q2)? Internally, we discussed this ticket and are prioritizing other functionality. If the dev team has any questions, we can discuss them at the next meeting.


Add support of Borsh for args

We should be able to parse args using Borsh and not JSON, when specified by the smart contract developer.

https://github.com/nearprotocol/near-sdk-rs/pull/74


Not working when using from the command line

As others have mentioned, trying to use the command:
googleimagesdownload [Arguments...]

example:
googleimagesdownload --keywords "Polar bears, baloons, Beaches" --limit 20

gets 0 results.  I suppose google changed something that caused this to no longer work?
Fortunately, I found that using the library from another python file works as intended, so anyone who runs into the command line problem should try using the library from another python file before giving up.

What? This still doesn't work
from google_images_download import google_images_download

response = google_images_download.googleimagesdownload()
absolute_image_paths = response.download({"keywords": "puppy", "limit": 2})

Try this #298 instead :)


Update to NSIS 3.08 "large strings" build

Tool name
NSIS 3.08 "large strings" build
Tool license
zlib/libpng
Add or update?

[ ] Add
[X] Update

Desired version
NSIS 3.08 "large strings" build
Approximate size
No response
Brief description of tool
See https://nsis.sourceforge.io/Special_Builds under the heading 'Large strings', the guidance there, and the link to the zip file with the relevant build.
The motivation for this request is reducing the risk of building installers that corrupt PATH environment variables that exceed the default 1024 characters. See https://nsis.sourceforge.io/Environmental_Variables:_append,_prepend,_and_remove_entries.
Alternatively, there appears to be a plug in that could be installed to expand the functionality of the basic ("short strings") build: https://nsis.sourceforge.io/EnVar_plug-in.
URL for tool's homepage
No response
Provide a basic test case to validate the tool's functionality.
No response
Platforms where you need the tool

[ ] Azure DevOps
[X] GitHub Actions

Runner images where you need the tool

[ ] Ubuntu 20.04
[ ] Ubuntu 22.04
[ ] macOS 11
[ ] macOS 12
[ ] macOS 13
[ ] Windows Server 2019
[X] Windows Server 2022

Can this tool be installed during the build?
No response
Tool installation time in runtime
No response
Are you willing to submit a PR?
No response

The original NSIS 3.08 tool request issue was: https://github.com/actions/runner-images/issues/4739.

@ilia-shipitsin , I am afraid I am just a user. I am involved with a project called Stack that uses a NSIS compiler to create its Windows installer. In the GitHub Actions CI for that project, in a shell: bash, I am doing the following:
        # Updates NSIS 3.08 to a 'large strings' build of the same tool. See
        # https://nsis.sourceforge.io/Special_Builds.
        if [[ "${{ matrix.os }}" == "windows-latest" ]]
        then
          # wget is not available but the Stack-supplied MSYS2 will provide it
          stack exec -- wget -O nsis-3.08-strlen_8192.zip https://downloads.sourceforge.net/nsis/NSIS%203/3.08/nsis-3.08-strlen_8192.zip
          7z x -aoa -o"/c/Program Files (x86)/NSIS" nsis-3.08-strlen_8192.zip
          # Clean up
          rm nsis-3.08-strlen_8192.zip
          # Report the version on the PATH ...
          makensis -VERSION && echo
          # Should include defined symbol NSIS_MAX_STRLEN=8192
          makensis -HDRINFO
        fi

I am using a MSYS2-supplied wget because I could not get the (Windows?) curl to work.
The .zip file includes executables that overwrite the executables in the standard (1024 character limit) build. I agree that is an odd way to package things.

it is not default installer and we need to be sure that we won't  introduce any side effect for all github actions customers.

It is a puzzle. As described, the only difference between the builds is that symbol NSIS_MAX_STRLEN is set differently. The NSIS wiki is peppered with headline warnings that the basic build can corrupt users' environment variables (eg https://nsis.sourceforge.io/Path_Manipulation). So, why not just publish a version, as standard, that reduces that risk? Perhaps the NSIS objective of 'designed to be as small as possible' is considered to trump being 'safe to use'.

I trust NSIS developers that they have reasons not to add that to default build

The 'large strings' advice on the NSIS wiki seems to have been there since the page was created in 2005. It starts "If you are working with large strings use this build ...". I suppose what may have changed is that in 2023, the percentage of people with user PATH environment variables longer than 1024 characters may be higher.

Understood. There is an existing NSIS feature request from 2017: https://sourceforge.net/p/nsis/feature-requests/542/.

Hello! Given it is easy enough to alter the build version right in pipeline runtime, we would not like to change it in the image, please continue installing in runtime


fn start fails

$ fn start
time="2018-02-18T00:23:22Z" level=info msg="Setting log level to" level=info
time="2018-02-18T00:23:22Z" level=info msg="started tracer" url=
time="2018-02-18T00:23:22Z" level=info msg="datastore dialed" datastore=sqlite3 max_idle_connections=256
time="2018-02-18T00:23:22Z" level=error msg="Could not open BoltDB file for MQ" dir=/app/data error="invalid argument" mq=bolt
time="2018-02-18T00:23:22Z" level=fatal msg="Error during server opt initialization." error="invalid argument"
2018/02/18 00:23:22 error: processed finished with error exit status 1

@prologic BoltDB tries to open ./data/fn.mq file under your current directory. (eg. /home/prologic) So I suspect it's unable to read this file, could be a file/dir permission issue. Also what is your os/platform?

OMG. This is the same/similar issue to iron-io/functions#631 -- Are we just copying off each other and making the same assumptions?
Can we not assume a local Docker engine running on localhost? Please :)
I know what the problem is now; I'm running fn start with a remote Docker engine; so /home/blah will not exist :/

Also bind mounting volumes like this is really silly. In production you would actually use a named volume using the docker volumes sub-system and an appropritate volume driver. Very rarely (never?) have I bind mounted volumes for "stateful" services.

@prologic fyi Fn forked IronFunctions almost a year ago. It's much further along, nearing GA in fact, but will have similar issues as a result of same ancestry.

I guess it's not a "blocker" per se; but if you want folks to be able to try fn out quickly; fixing this is a good thing :)

Also thanks for the history lesson; good to see code re-use (even if a fork).

fn start is mostly just for quickstart/local development. Anything else and you should use docker run ... with whatever flags you want.

So what about quickstart on OS X?
Is this well documented/tested?
fb start doesn't work for me with
OS X + docker-machine managed engine (virtualbox)

@prologic can you be more explicit when saying that fn start doesn't work for you?

Was my paste not clear?
James Mills / prologic
E<EMAIL_ADDRESS>W: prologic.shortcircuit.net.au
On Mon, Feb 19, 2018 at 8:53 AM, Denis Makogon<EMAIL_ADDRESS>wrote:

@prologic https://github.com/prologic can you be more explicit when
saying that fn start doesn't work for you?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/fnproject/fn/issues/779#issuecomment-366623945, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABOv-t2aa4AUvN-DWbW2XBaYJAa6MyeLks5tWTaHgaJpZM4SJhKe
.

Okay. I can confirm that fn start works perfectly with Docker for Mac Version 17.12.0-ce-mac49 (21995).
If it seems that fn start is faulty for you. You can get customised Fn server by creating an env file (identical for Docker env file) and pass that to the fn start, check fn start --help for more details.
You can also try the following compose file https://gist.github.com/denismakogon/1188d8b2d44f51167ad5a73f98a6def7 (modified version of the one we have in-tree)

Okay. I can confirm that fn start works perfectly with Docker for Mac
Version 17.12.0-ce-mac49 (21995).

So I'm not using Docker for MAc; but docker-machine managed. Not sure if
there's any significant differences; but probably is.
I think Docker for Mac does some host<->engine filesystem sharing magic.

Permissions issue.
When you run with sudo - it works in any directory. Without sudo, it fails.
Try:
$ sudo fn start
I looked at the source code printing this error; I think the line above it has too restrictive or demanding permissions on the file. This should be loosened somehow.
db, err := bolt.Open(url.Path, 0655, &bolt.Options{Timeout: 1 * time.Second})
if err != nil {
log.WithError(err).Errorln("Could not open BoltDB file for MQ")
return nil, err
}
So sudo raises the privileges level. Too bad this bolt.go file is in a different "iron-io" project.

Has this been released? I am on Docker version 18.03.0-ce, build 0520e24 and I am using docker-machine command to manage docker daemon instead of Docker.app. I start docker as docker-machine start. It asks me to set environment variables via output of docker-machine env in current shell. If I don't  fn wouldn't find docker daemon and give this error:
See 'docker run --help'.
2018/04/11 00:12:28 error: processed finished with error exit status 125```

I set the following environment variables:
```export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://<IP_ADDRESS>:2376"
export DOCKER_CERT_PATH="/Users/user/.docker/machine/machines/default"
export DOCKER_MACHINE_NAME="default"```

fn start gives me error:

```time="2018-04-11T01:57:03Z" level=info msg="Setting log level to" level=info
time="2018-04-11T01:57:03Z" level=info msg="datastore dialed" datastore=sqlite3 max_idle_connections=256
time="2018-04-11T01:57:03Z" level=error msg="Could not open BoltDB file for MQ" dir=/app/data error="invalid argument" mq=bolt
time="2018-04-11T01:57:03Z" level=fatal msg="Error during server opt initialization." error="invalid argument"
2018/04/11 12:21:03 error: processed finished with error exit status 1```

@xolve yes this has been released, hopefully it fixes this. thanks for the detailed bug report, we will try to test with docker machine, the boltdb error there isn't very helpful and we should try to nail that one down.


Unnecessary dependency dataclasses causing conflict issues with built-in module dataclasses.

This can be fixed by removing the dataclasses dependency in pyproject.toml. This dependency is unnecessary because dataclasses is a built-in library. Causing the issue in #25
I am using latest version running on ubuntu-latest.

@GrandMoff100 Thanks for the catch! We have removed the dataclasses dependency.
Closing this issue for now but let us know if you still face issues and we can reopen.


Wrong licensing

This article https://docs.microsoft.com/en-us/microsoft-365/admin/email/about-shared-mailboxes?view=o365-worldwide says that shared mailboxes without a license are limited to 50GB, and if needed, you can expand it to 100GB by assigning P2 or P1+Archiving, but it does not specify the folder that is expanded to 100GB.
Going to the 2nd article https://docs.microsoft.com/en-us/office365/servicedescriptions/exchange-online-service-description/exchange-online-limits#storage-limits-across-standalone-plans, it states that to expand it to 100GB you will need P2. If you assign P1 + Archiving add-on, the archive mailbox will be expanded to 100GB, plus will enable the auto-expanding archiving for unlimited amount.
As we tested, the 2nd article is spot on, as only the archive is 100GB for the moment and not the Inbox itself.
This is also confirmed by a SPM (Nino) https://techcommunity.microsoft.com/t5/exchange-team-blog/correcting-shared-mailbox-provisioning-and-sizing/ba-p/607991
We need to correct this article to say what's happening in reality.
Thanks
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 289f2440-9c44-7d93-20e3-baa9e9892cd9
Version Independent ID: abc4e209-a071-d28a-cb01-aa72bbaee7c0
Content: About shared mailboxes - Microsoft 365 admin
Content Source: microsoft-365/admin/email/about-shared-mailboxes.md
Service: o365-administration
GitHub Login: @SKjerland
Microsoft Alias: sharik

Another PR was done to perform this change https://github.com/MicrosoftDocs/microsoft-365-docs/issues/6236


2024-09-16 -- Eva Tasks

Tasks for Today

[ ] Schedule regular advising meeting w/ Nic
[ ] Schedule regular research meeting w/ Nic
[x] List remaining computational work for QSS paper on Researcher-GitHub User EM

Done: https://github.com/evamaxfield/rs-graph/issues/29

[x] Start drafting QSS paper on Research-GitHub User EM

Use template from Nic: Project-Paper-Outline-Template
Started: Bullet point outline of Introduction (nearly fully filled out), Data and Methods (starting to fill out), and Results (just top level) link

Ongoing

[ ] Check in on EAGER GROBID processing / likely need to restart server and come up with better long-term processing solution -- maybe coiled
[ ] Eva free-time: migrate EM model training and application code from rs-graph to local repo: scisoft-models

In relation to the QSS paper my goal here was to separate the model usage utilities from the larger pipeline so that others (including ourselves) can use the model without installing the whole rs-graph library as it is very heavy.
Related issue: https://github.com/evamaxfield/rs-graph/issues/27

Conferences

[x] Handle OFE Symposium Travel
[ ] Message Sabina & Wolfgang to schedule meetings while at Ann Arbor

EoD Checkin
Tasks for Today

Proposed meeting times for advising + RA meetings w/ Nic, waiting on response
Listed out what I believe is the remaining computational work on QSS Software Credit and Authorship paper. Available at: https://github.com/evamaxfield/rs-graph/issues/29
Drafted out QSS Software Credit and Authorship paper: Introduction (nearly fully filled out), Data and Methods (starting to fill out), Results (top level bullets). Available at: google doc

Closing out Today

Going to end the day with just a bit of work on the "remaining computational work for QSS Software Credit" -- focusing on getting the processing pipeline back up and running and starting processing JOSS + PwC


update deploy flags in config

Signed-off-by: yeya24<EMAIL_ADDRESS>The deployment files need to be updated due to changes in https://github.com/pyrra-dev/pyrra/pull/17

Oops. Seems like I missed those! Thanks!
(PS: Seems like I need to fix the docker push to not be run on PRs)