Fix logFormat configuration inconsistencies

Problem:
As described in #3481, there are two limitations in the appender configuration:

When using the layout option to set a custom LayoutFactory, the logFormat is always ignored.
The time zone information in a custom logFormat is a fixed part of the string and may contradict the configured timeZone option.

Solution:

AbstractAppenderFactory applies the logFormat to any LayoutFactory that derives from PatternLayoutBase, not just to the default factory. If a logFormat is set along with a non-pattern layout, a warning will be logged.
The introduction of the placeholder %dwTimeZone allows the time zone information in a custom log format to depend on the value of the timeZone option.

Closes #3481

@joschi The Java 11 build repeatedly failed with
Error:  Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:<IP_ADDRESS>6:sonar (default-cli) on
project dropwizard-project: You're not authorized to run analysis. Please contact the project administrator. -> [Help 1]

This doesn't seem to be something I can fix. Would you take a look?
Also, today's AppVeyor failure looks like a timing dependent problem unrelated to the PR:
java.lang.NullPointerException
	at io.dropwizard.logging.json.LayoutIntegrationTests.testLogJsonToConsole(LayoutIntegrationTests.java:156)

In the test, there's a Thread.sleep(100) on line 152 and then a objectMapper.readTree(redirectedStream.toString()) -- if the stream is still empty after the sleep, Jackson will happily parse the empty string as a JsonNode of type MISSING which then causes the NPE in the call to isTextual() on line 156.

This doesn't seem to be something I can fix. Would you take a look?

This has been fixed in #3535. You can either rebase your branch on our latest master branch or ignore that particular error for now. 😃

Ah, ok :) Any concerns about squashing the two SuppressWarnings commits while I'm at it?
And another question: Want me to put a loop around that Thread.sleep() in testLogJsonToConsole to make it less flaky? (in a separate PR)

Any concerns about squashing the two SuppressWarnings commits while I'm at it?

Feel free to do so, if you want. Otherwise we'll squash the commits when merging the PR.

Want me to put a loop around that Thread.sleep() in testLogJsonToConsole to make it less flaky? (in a separate PR)

We're already using Awaitility in other tests and we could also use it here to wait for the conditions to turn true instead of Thread#sleep().


DOC: importing data from string

Hello,
I couldn't find in http://dataframesjl.readthedocs.io/en/latest/io.html
a way to import string data into a Julia DataFrame
dat = "Date,Stock,Open,High,Low,Close,Volume
       2016-09-29,KESM,7.92,7.98,7.92,7.97,149400
       2016-09-30,KESM,7.96,7.97,7.84,7.9,29900
       2016-10-04,KESM,7.8,7.94,7.8,7.93,99900
       2016-10-05,KESM,7.93,7.95,7.89,7.93,77500
       2016-10-06,KESM,7.93,7.93,7.89,7.92,130600
       2016-10-07,KESM,7.91,7.94,7.91,7.92,103000"

If you can tell me how to do this I could submit a PR to improve doc.
Kind regards
PS: I tried this
io = IOStream(dat)
readtable(io)

but it doesn't work

Duplicate of https://github.com/JuliaStats/DataFrames.jl/issues/948


Blog App: Validations and model specs

In this PR, I added validations and model specs
Changes

Added validations for all models
Added unit specs for all models' methods and validations.

Thank you for the feedback. @mckent05. 😁


Fix tune

Repeated enums were not translated correctly.
Took the opportunity to add an example (autumn leaves, again :notes:)
Resolves #303

Found a buzzer and managed to test it with Pixhawk 1! It works :blush:

Awesome!


Fixed twitter app integrated browser  tablets detection

Twitter app integrated browser tablets is adding strings to user agent that will confuse detection.
This is for example user agent string on iPad
Mozilla/5.0 (iPad; CPU OS 9_2_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13D15 Twitter for iPhone
The last part 'Twitter for iPhone' will confuse platform detection so isMobile will thing that this is mobile and not a tablet platform.
Proposed fix is just removing added Twitter part from user agent, similarly like FB integrated browser is fixed.

Thanks for this! Can you add some tests with the user agent?

For reference, you can find an example of tests that I added for the same Facebook app workaround in this commit: https://github.com/kaimallea/isMobile/commit/4dbc64ae7880f30a1dfdf22a3afb9a9426c100cc

In progress.

Added tests for ipad and iphone versions of twitter app.

:+1: LGTM, thanks for your contribution!

:tada: This PR is included in version 1.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Rebuild along with Entry.all

I would like to ask if its possible to re-trigger the Entry  animation event on rebuild? I'm using flutter_bloc as a state management (but I'm using the cubits) . Here is a sample snippet.
BlocBuilder<SomeCubit,SomeState>(
  bloc: someCubitInstance,
  builder: (context,state) {
    if (state is StateLoading) {
      return SomeLoadingWidget();
    } else if (state is StateSuccess) {
      return Entry.all(SomeDetailedWidget());  // Does trigger only once on stateless/stateful rebuild.

    ... some code..
    } else if (state is fail.....){
    ... more code here
    }
   ... and more irrelevant code..
  }
};

The Entry.all does not work. How do I make this work? I've posted this in StackOverFlow but haven't received any comments.
Thanks in advance!

Widgets will be recreated if you give them a different key. Set the key to key: Key(random.nextDouble().toString()) to make it recreate every time it's rebuilt.

Thanks you for the reply! I forgot about the flutter keys! I've been relying on the builder and treat all widgets like a common widget (containers). Anyway thank you for the help and for this awesome package you made it is now considered a must in all of my projects 😁

You're welcome, and thank you for the kind words 😊


Feature Request: Make nRepl Client compatible with Babashka

Please Describe The Problem To Be Solved
As of now the nRepl client of clojure-sublimed is not compatible with the the nRepl server included in Babashka.
Suggest A Solution
It would be great to be able to run Babashka code directly from sublime using the clojure-sublimed nRepl client.

I think #83 should get you covered once it’s implemented. I plan to!

Should now be possible with Connect to Raw nREPL command in 3.0.0


Considering how to handle web page titles localized by region - fewer results for same site in another country

Original title: Visiting lichess.org from Spain returns only irrelevant spanish results (user report)
From reddit comment: https://www.reddit.com/r/SideProject/comments/v5e6rt/comment/ibb8tzs/?utm_source=share&utm_medium=web2x&context=3
No issue with access from Singapore:

https://imgur.com/a/dVjhUaW

No fix for now because might be non-trivial


Add 2 COMBAT-TB/SANBI pipelines

Add M. tuberculosis sample report and M. tuberculosis phylogeny plugins from SANBI / COMBAT-TB.

Awesome. Thanks so much @pvanheus 😄


Several problems with setup.py

Hello,
Thank you very much for this amazing work !
I have been trying to make the code (python setup.py develop) work on my windows 10, then 11, and now ubuntu, but have encountered countless errors with every environments (I've tried many Python versions, many torch, many cuda toolkits..)
Could you please detail one env list (versions for each dependencies) that is sure to function for the master branch ?
Would you also by any chance have a dockerfile to make it work ?
Up to now my trials were :

Create fresh environment (conda)
Install python, torch, torchvision, cudatoolkit and/or run "pip install -r requirements.txt"
install spconv by cloning it from OpenPCDet and running "python setup.py bdist_wheel
run "python setup.py develop"

This has always given many errors and I have never been able to have it work.
I have been able to run the code ("python setup.py develop" gave no error) on docker but not on any real machine.
Hope you have some time to answer me !

Hello,
I think you can follow these three steps to setup your environment:

Follow the dockerfile here to install suitable pytorch verison and spconv1.2.1
https://github.com/open-mmlab/OpenPCDet/tree/master/docker
Checkout to branch st3d_v0.3 in this repo (master branch only support pytorch 1.1 and spconv1.0).
Run python setup.py develop.

This should work for CUDA 10.2 pytorch 1.5, spconv1.2.1. BTW, since spconv does not support windows, above steps should be done on Linux env.

Hey,
Thank you very much !
After many trials I quit attempting to make it work on windows and switched to linux, on which I was able to make the repo work pretty quickly.
I was even able to make it work for Google Colab so that's nice.
Thanks a lot, great work !


How to obtain bloodvessel segmentation in retinal images using matlab

We ask that you please be patient as our team works through approving and publishing all articles/tutorials in a timely manner. Allow 1-3 days for a topic to be reviewed and/or approved - allow 3-7 days for an articles to be reviewed and/or published.
Be sure to visit our Resources Page for tools, resources, and example articles to go over.
NOTE: (Please ensure that you have only one open issue + linked pull request at a time. This will ensure that we complete the article in a timely manner from inception to publishing.)
NOTE: We tend to stray away or tend not to publish reviews/comparisons of commercial product offerings.
We're looking for the first 2-3 paragraphs of the article that appropriately summarize what your article will be about.
How to obtain blood vessel segmentation in retinal images using Matlab
Introduction:
Retinal imaging takes a digital picture of the back of your eye. It shows the retina (where light and images hit), the optic disk (a spot on the retina that holds the optic nerve, which sends information to the brain), and blood vessels. This helps your optometrist or ophthalmologist find certain diseases and check the health of your eyes. Blood vessel segmentation involves the process of removing unwanted parts or features of the image that the convolution network might unwantedly learn.
This segmentation process is very important in the field of medicine. This is since when the vessels are segmented and viewed closely, then the solution of or the cause of a given problem may be defined. This makes it a good application in this field. In this article, we are going to look how we can obtain the blood vessel segmentation in case you have the retinal image.
Key takeaways:

Basic understanding of blood vessel segmentation.
Applications of blood vessel segmentation.
Matlab code for obtaining the segmentation.

References:
Please list links to any published content/research that you intend to use to support/guide this article.
Templates to use as guides

How To Guide Template
Software Review Template
Tutorial Template

Good afternoon and thank you for submitting your topic suggestion. @queenterbruce063
Your topic form has been entered into our queue and should be reviewed (for approval) as soon as a content moderator is finished reviewing the ones in the queue before it.

Hello @lalith1403, I trust you are doing well. Could you please have a look at this topic when you get a chance. It has been in the queue for quite some time. Thanks.

This is a great topic. Focus on explaining the steps involved with segmentation, how does segmentation work and then get into the code part of it. Topic approved.


Complete Irssi CertFP instructions and unify network name

The CertFP instructions were incomplete (missing instruction about configuring external). You can also compare the instructions with https://github.com/shabble/irssi-docs/wiki/freenode_certfp
I propose to change the (Irssi-internal) network name to "LiberaChat", it was "libera" and "liberachat"

I propose to change the (Irssi-internal) network name to "LiberaChat", it was "libera" and "liberachat"

Given that some of the other instructions use liberachat, I think keeping it is better for consistency. If it must be changed, it should be changed everywhere.

can you make a list of the other instructions? Irssi networks in its default config are camelised, so ideally that style would be good for Libera Chat. And the proposed addition of Libera Chat to the default Irssi config will also use this spelling, thus it would reduce confusion to have it also like this in the official network side guide

A grep -r "libera" in /content/_guides/ reveals it in the following (filtered for the context we're talking about):
sasl/weechat.md
sasl/revolution.md
sasl/kvirc.md
sasl/irssi.md
certfp.md

Each client might follow their own rules for internal network names, for example there is this open request for weechat: https://github.com/Libera-Chat/libera-chat.github.io/pull/57

Yes, but I think all clients should be able to use liberachat (or LiberaChat should that be preferable) as a network name consistently.

@ailin-nemui Can you please resolve the conflicts? then we can merge it


Pascal-Case controller name not working on blueprint

Hi,
I ran sails generate api AdAttributes to generate a blueprint structure but when testing it, the return is always 404 not found. The route I'm trying to access is http://localhost:1337/AdAttribtues/.
Is pascal case not supported by blueprint?
Thanks

I found out the culprit! On my AdAttributes model, I added an identity options which has a value ad_attributes. I expect that identity and tableName serves same purpose because somehow when the migration run, it named my table as to what is defined on the identity. But it seems blueprint looks into the identity option to map the controller-model, I can't be sure.
So to solve my issue, I just fix the identity for table associations and added tableName option for the schema.


Loosen broccoli-jshint dependency

This seem like a generally good idea, and I needed it to get a newer jshint that will stop complaining about certain valid es6.

:+1:


Dummy Codes Added

What's this PR do? (related issue if exists)
Fixes issue #142
Any context you want to provide on the implementation?
Similar Implementation as of #138
Screenshots? (necessary if an UI/UX change)

Good work on this @shrirangpdeshmukh


Feature/terraform from springboot

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Adding first draft of template and instruction file

@crgoddard I changed a bit the toc for the template section (let me know if you don't like this change) and I've aligned this branch with main.
If you are planning to make modifications make sure you run git pull.

Merged so we can share it with CNR!


langchain[patch]: Fix summary buffer memory with return message flag

Description
Memory return could be set as str or message by return_messages flag as mentioned in https://python.langchain.com/docs/modules/memory/#whether-memory-is-a-string-or-a-list-of-messages,
where langchain.chains.conversation.memory.ConversationSummaryBufferMemory did not implement that.
This commit added buffer_as_str and buffer_as_messages function, and buffer now affected by return_messages flag.
Example Test Code and Output
# Fix: ConversationSummaryBufferMemory with return_messages flag function
# Test code
from langchain.chains.conversation.memory import ConversationSummaryBufferMemory
from langchain_community.llms.ollama import Ollama

llm = Ollama()

# Create an instance of ConversationSummaryBufferMemory with return_messages set to True
memory = ConversationSummaryBufferMemory(return_messages=True, llm=llm)

# Add user and AI messages to the chat memory
memory.chat_memory.add_user_message("hi!")
memory.chat_memory.add_ai_message("what's up?")

# Print the buffer
print("Buffer:")
print(*map(type, memory.buffer), sep="\n")
print(memory.buffer, "\n")

# Print the buffer as a string
print("Buffer as String:")
print(type(memory.buffer_as_str))
print(memory.buffer_as_str, "\n")

# Print the buffer as messages
print("Buffer as Messages:")
print(*map(type, memory.buffer_as_messages), sep="\n")
print(memory.buffer_as_messages, "\n")

# Print the buffer after setting return_messages to False
memory.return_messages = False
print("Buffer after setting return_messages to False:")
print(type(memory.buffer))
print(memory.buffer, "\n")

Buffer:
<class 'langchain_core.messages.human.HumanMessage'>
<class 'langchain_core.messages.ai.AIMessage'>
[HumanMessage(content='hi!'), AIMessage(content="what's up?")]

Buffer as String:
<class 'str'>
Human: hi!
AI: what's up?

Buffer as Messages:
<class 'langchain_core.messages.human.HumanMessage'>
<class 'langchain_core.messages.ai.AIMessage'>
[HumanMessage(content='hi!'), AIMessage(content="what's up?")]

Buffer after setting return_messages to False:
<class 'str'>
Human: hi!
AI: what's up?

@eyurtsev
The previous commit will result in ERROR if moving_summary_buffer is not empty ( when history buffer hits the limit of tokens, use llm to summarize the history and save to moving_summary_buffer), the added logic did not handle it.
I have updated to use the logic lives in load_memory_variables function instead, removed add function buffer_as_str and buffer_as_messages.
In this commit, to retrieve buffer in str or message,  you must config the flag return_messages.


Log print(...) to a channel

Haven't already done this because I'll have to ignore every message from that channel and make sure no pings get in there.

Eh I'm not sure about this anymore, let's just do a logfile or some shit

Done for the client. 8576f8de4a0da8f549709b89a79d8290c655880e


Dependencies

I think we should put some dependencies in our make files. It can get frustrating to make clean/make over and over again. I'm not sure how hard this would be to do with the way our make files descend. I'm assuming we would have to put the dependencies at the .so level. For example, the TGRSIAnalysis make file would have to know about the dependence of TGRSIDetector on TGriffin. This is not a rush, just busy work if someone wants it.

I agree. What is definitely missing are the dependencies on the header files. I've run into problems before with that, when I changed a header file and ran make and didn't notice that things depending on the header file weren't recompiled.
I think we can fix that by just adding the header files to the dependencies of the object files.

I've implemented some changes to the makefiles to include dependencies in a better way (see http://make.mad-scientist.net/papers/advanced-auto-dependency-generation/), and added a new file make.rules which has our standard rules in it.
I'm currently testing the changes on my mac as well, once that's done I'll push them.

Okay, I've tested it, and it seems to work. Just touching one of the header files causes the dependent object-files to be re-compiled. However, for some not yet determined reason, this only works after the second time the project has been compiled (after cleaning). The second time around everything gets re-compiled.

Okay, I figured out what caused this. For one I created the .deps directory via a dependency for each object file, but since the directory was updated each time a file was added to it, it's modification time was the time the last object file was processed, meaning it was newer than the previous object files (which depend on it), causing these to be re-compiled. Also, all object files got deleted as intermediate files by make, so I added a ".SECONDARY:" line to the make.rules, which makes make keep all intermediate files.
Now the first compilation compiles everything, all following compilations only compile whats necessary. This includes recompiling things if included header files have changed. The latter also includes system header files and root header files, but it is still necessary to issue a make clean after switching the root version.

We have to make clean after switching the ROOT version?!?! What did you even do? :P Awesome work, this is going to make everything so much easier!

On Jul 22, 2015, at 9:35 AM, Vinzenz Bildstein<EMAIL_ADDRESS>wrote:
Okay, I figured out what caused this. For one I created the .deps directory via a dependency for each object file, but since the directory was updated each time a file was added to it, it's modification time was the time the last object file was processed, meaning it was newer than the previous object files (which depend on it), causing these to be re-compiled. Also, all object files got deleted as intermediate files by make, so I added a ".SECONDARY:" line to the make.rules, which makes make keep all intermediate files.
Now the first compilation compiles everything, all following compilations only compile whats necessary. This includes recompiling things if included header files have changed. The latter also includes system header files and root header files, but it is still necessary to issue a make clean after switching the root version.
—
Reply to this email directly or view it on GitHub https://github.com/GRIFFINCollaboration/GRSISort/issues/397#issuecomment-123782529.

Have you tried compiling on Mac yet? I'm getting gcc errors:
gcc: error: unrecognized command line option '-stdlib=libc++'
gcc: error: unrecognized command line option '-Qunused-arguments'
cp: TXMLOdb.d: No such file or directory
/bin/sh: TXMLOdb.d: No such file or directory

I'll look into this more. I also use clang, so I don't know if this is causing any issues.

I believe it is the MAKEDEPEND line causing this. I'll see if I can figure it out.

I fixed it by adding an if Darwin: do the same stuff but use clang. Some options might be unused, but it seems to work. Will push after a some tests.

I think we should close this. No one should spend their time worrying about a change in ROOT version. @VinzenzBildstein Please re-open this if you think this premature for some reason.

No, I agree, this should be closed. I really don't think it's asking to much to clean the installation after changing the root version.
I've only mentioned the whole changing root versions so that people are aware of this.


Quatcher, do it.

Pretty sure I have changed every instance of QuestPatcher to Quatcher, gone through every file.

stop

never

next person to comment is bad

Due to the transganguation of the tri-linear interpole, the comment above is obviously falsified transdimentialifications, and should be removed.
Thanks.

ok

'This, however, does still not change the fact that Quatcher is superior

Closed since a bunch of stuff has been changed and these changes will be hard to integrate. Maybe in the future


[rstream] sync with req and opt sources?

I was implementing a file-browser and ran into the following issue:
The file-browser views a list of files and lets the user select on of them. It has files and selectedFile streams as it's sources.
const files = rs.stream()
const selectedFile = rs.stream()
const selectedFileData = selectedFile.subscribe(tx.map(processFile...))

const fileBrowser = rs.sync({
  src: { files, selectedFile },
  xform: tx.map(src => [
    "ul",
    tx.iterator(
      tx.comp(
        tx.take(5),
        tx.map(fl => [
          "li",
          {
            onclick: () => selectedFile.next(fl),
            style: {
              "font-weight": fl == src.selectedFile.name ? "bold" : "normal"
            }
          },
          fl.name
        ])
      ),
      src.files
    )
  ])
});

fileBrowser won't return until selectedFile got a next value. Usually, like in the commit-table-ssr example, one could just run selectedFile.next(null). But here the problem is that several transformations subscribe to selectedFile that would then need logic to terminate early in order not to error if the value isn't a file. That's not optimal. However, if selectedFile is changed by another component, it's still desirable for it to update fileBrowser.
So I'm wondering if sync could have req and opt (names inspired by clojure.spec) sources, where the first result is emitted when all req sources returned a value and following results whenever any of the values returns a value.

Hi @den1k - it's quite funny how we seemingly encounter & work on related issues, but as always am grateful for your feedback & comments! For my own purposes I've added a mergeOnly option to both the partitionSync transducer and the sync stream combinator to optionally change its behavior to simply collect & merge inputs into tuple objects and emit a new one with each changed input (i.e. without waiting for any others)...
To achieve your "required" input constraint, you then simply need to attach a filter to this sync instance to ensure the presence of the required keys:
const src = {
    a: rs.stream(),
    b: rs.stream(),
    c: rs.stream()
};

rs.sync({
    src,
    mergeOnly: true
}).transform(
    // ensure `a` & `b` are present
    // (might add this as a new transducer, e.g. `ensureKeys`...)
    tx.filter((tuple)=> tx.every((k) => x.hasOwnProperty(k), ["a", "b"]))
).subscribe(
    rs.trace("result")
);

src.c.next(1);
src.b.next(2);
src.a.next(3);
// result { c: 1, b: 2, a: 3 }
src.a.next(4);
// result { c: 1, b: 2, a: 4 }

Thinking further, we could add a required inputs option for sync and internalize this filter by composing it with the existing partitionSync transducer used inside sync... However, since sync also supports dynamically adding/removing inputs, I'll have to think more about how this could be achieved cleanly and not cause death-by-configuration complexity... So my current thoughts are that this composes more cleanly via the above approach.

re: an API for sync, here's another idea: keep src as is (implicitly required), and add a similar srcOpt object which has it's results merged into the stream value
.

Yeah, that could maybe work, though as I mentioned, the larger issue is how to deal with dynamic adds/removals of inputs (also a kind of key feature of sync). It's already quite complex (due to renaming sources) and this would need updating to differentiate between required vs optional as well. Will have to revisit the partitionSync transducer once more (which provides the main logic) and see how to feasible and/or intrusive it is to add optional keys...


ARTEMIS-1111 Avoid deadlock on AMQP delivery during close

I wanted to avoid the possibility of adding more race/lock conditions by introducing new Executors/Threads when dealing with the situation described by ARTEMIS-1111.  Instead I've upgraded the connection lock to a re-entrant lock.  Instead of the consumer delivery thread blocking forever when the ProtonHandler lock is held by the close() event, it does a tryLock(), then checks to see if the link is closed.  If so it will exit.  If not it will retry.

@clebertsuconic Slightly different solution to what we had previously discussed.  You might want to take a look.


Game size not booting correctly

Type
Incorrect behavior
Operating System
None
OS Version
Windows 11
Bug description
When booting the client with a set game size, it should be applied. this doesn't work every time. since my adjustments are very suttle (about 15% increase from default client size) I might play without noticing that it hasn't been scaled up and it's very annoying
Screenshots or videos

RuneLite version
the latest one. couldn't find any "info panel". will add logs after this happens again.
Logs
client.log
launcher.log

Is the Enable Client Position setting enabled? If it is then it's correctly opening with the "incorrect" client size, that the client was previously closed with.
Possibly due to having Resize Type: Keep Window Size and closing the client with the sidebar open. I would try changing that setting for resolving your issue.

Hey! Thanks for your response.
these are my settings

I suspect it's being interfered with by the stretched mode plugin somehow. (Allows for stretching the fixed client mode)


issues : Failed opening 'src/PushNotifications.php'

i have an issues on live server, but on local is running well.
[Message] include(): Failed opening 'src/PushNotifications.php' for inclusion (include_path='/var/www/dir1/dir2/api/vendor/pear/pear_exception:/var/www/dir1/dir2/api/vendor/pear/net_url2:.:/usr/share/php')
*note : I have installed it via composer

for the function is running normally accordingly.
on a local or live server, it's just that the error appears.
maybe I can apply your advice.
thanks


I am having an issue with getting a list of platform interfaces.

I setup a PCL test project in visual studio 2015 and obtained the sockets plugin via NuGet (version 1.2.2)
My PCL is targetting the following platforms.
.Net 4.5
ASP.NET Core 5.0
Windows 8
Xamarin.Android
Xamarin.iOS
Xamarin.iOS (Classic)
When I make the following call I get the exception listed below.
List x = await CommsInterface.GetAllInterfacesAsync();
An exception of type 'System.NotImplementedException' occurred in Sockets.Plugin.dll but was not handled in user code
Additional information: The empty PCL implementation for Sockets was loaded. Ensure you have added the Sockets nuget package to each of your platform projects.
My question. Since I am running the code on a Windows 7 machine, shouldn't the implementation found in Sockets.Implementation.Net run instead of getting a NotImplemented Exception?
Thank you kindly,

Hi - if you mean a test project as in a project to run tests via xunit or something like that, you might need to do some trickery to have it load the correct .dll - here is a post describing a possible work around. Another is to create a proper .NET project and add the tests from your PCL to it as linked files.
If you mean a test project as in an experiment, then I guess you have two projects already - the PCL and the .NET project. If you get the above error it means you probably installed sockets-for-pcl into the PCL, but not the .NET project. If you install it into both, you should be fine.
Let me know how you go!

Thank you very much for the prompt response good sir. My experiment project now works because of your recommendation and I shall now move into making a unit test project.
Once again, thank you very much for all your help.

No problems! Glad I could help :+1:

Hi. I'm trying to use Socket-for-PCL. So I've added it into my PCL and I get 'System.NotImplementedException' when try 'SendToAsync'. I read this posts and tried to add package into my UWP. But I got 'Payload contains two or more files with the same destination path '


Exclude mauve strictfp_modifier and Math.cos tests

Signed-off-by: Simon Rushton<EMAIL_ADDRESS>

Fixes https://github.com/AdoptOpenJDK/openjdk-tests/issues/1891
Fixes https://github.com/AdoptOpenJDK/openjdk-tests/issues/2120


v9.0.0 Beta - Read Only, Round

I have added my Lyric Round thermostat to Homebridge using this plugin. I can reliably see the temperature and status, but can't change it. On previous versions I would get various errors, like "Request failed with status code 400," but I don't get those any more with the newest version of this plugin.
To Reproduce:
Try to change the temperature in HomeKit on iOS or MacOS.
Expected behavior:
I expect the temperature to change.
Logs:
[2/9/2021, 7:42:55 PM] [Homebridge UI] Homebridge restart request received
[2/9/2021, 7:42:56 PM] [Homebridge UI] No restart command defined, killing process...
[2/9/2021, 7:42:56 PM] [HB Supervisor] Stopping services...
[2/9/2021, 7:42:56 PM] Got SIGTERM, shutting down Homebridge...
[2/9/2021, 7:43:01 PM] [HB Supervisor] Homebridge Process Ended.
            },
            "options": {
                "thermostat": {
                    "hide_fan": true,
                    "thermostatSetpointStatus": "PermanentHold"
                },
                "roompriority": {
                    "priorityType": "PickARoom"
                }
            },
            "platform": "HoneywellHome"
        }
    ]
}

Device & Model:
Honeywell Lyric Round
Environment:

Node.js Version: v14.15.4
NPM Version: 7.5.2
Homebridge Version: 1.2.5
Homebridge Honeywell Home Plugin Version: 8.4.0
Homebridge Config UI X Plugin Version: 4.38.0
Operating System: MacOS

@wtadler When looking at those logs it doesn't look like you made change to the thermostat in the home app? It says current 25.5 and changing 25.5

You can see that it changes the TargetTemperature.  I'm not sure why it appears to using some funny unit. You can see it's reporting the current heat as 23.5, which shows up as 74 in HomeKit. Between that and my changed settings it appears to be using a unit equal to degrees_F / 2 - 13.5. Strange.

Please see #414.

@wtadler what logs are you getting with the Beta?

@wtadler can you try the latest beta: 8.5.1-beta 1

Tried it. Looks like it's now getting new access and refresh tokens each time I read, and a Request failed with status code 400 when I try to write?
[2/11/2021, 6:25:50 PM] [HoneywellHome] Thermostat Thermostat Thermostat - Set TargetHeatingCoolingState: 1
[2/11/2021, 6:25:51 PM] [HoneywellHome] Sending request for Thermostat Thermostat to Honeywell API. mode: Heat coolSetpoint: 78 heatSetpoint: 72 thermostatSetpointStatus: PermanentHold
[2/11/2021, 6:25:51 PM] [HoneywellHome] Thermostat Thermostat Thermostat pushChanges - {"mode":"Heat","thermostatSetpointStatus":"PermanentHold","autoChangeoverActive":false,"heatSetpoint":72,"coolSetpoint":78}
[2/11/2021, 6:25:52 PM] [HoneywellHome] "Request failed with status code 400"
[2/11/2021, 6:25:52 PM] [HoneywellHome] Thermostat Thermostat Thermostat - {"message":"Request failed with status code 400","name":"Error","stack":"Error: Request failed with status code 400\n    at createError (/usr/local/lib/node_modules/homebridge-honeywell-home/node_modules/axios/lib/core/createError.js:16:15)\n    at settle (/usr/local/lib/node_modules/homebridge-honeywell-home/node_modules/axios/lib/core/settle.js:17:12)\n    at IncomingMessage.handleStreamEnd (/usr/local/lib/node_modules/homebridge-honeywell-home/node_modules/axios/lib/adapters/http.js:260:11)\n    at IncomingMessage.emit (events.js:327:22)\n    at endReadableNT (internal/streams/readable.js:1327:12)\n    at processTicksAndRejections (internal/process/task_queues.js:80:21)","config":{"url":"https://api.honeywell.com/v2/devices/thermostats/TCC-2728972","method":"post","data":"{\"mode\":\"Heat\",\"thermostatSetpointStatus\":\"PermanentHold\",\"autoChangeoverActive\":false,\"heatSetpoint\":72,\"coolSetpoint\":78}","headers":{"Accept":"application/json, text/plain, */*","Content-Type":"application/json","Authorization":"Bearer XXX","User-Agent":"axios/0.21.1","Content-Length":123},"params":{"locationId":2417661,"apikey":"XXX"},"transformRequest":[null],"transformResponse":[null],"timeout":0,"responseType":"json","xsrfCookieName":"XSRF-TOKEN","xsrfHeaderName":"X-XSRF-TOKEN","maxContentLength":-1,"maxBodyLength":-1}}
[2/11/2021, 6:25:52 PM] [HoneywellHome] Got access token: AAAA
[2/11/2021, 6:25:52 PM] [HoneywellHome] New refresh token: BBBB
[2/11/2021, 6:25:52 PM] [HoneywellHome] Homebridge config.json has been updated with new refresh token.
[2/11/2021, 6:25:56 PM] [HoneywellHome] Thermostat Thermostat Thermostat - Set TargetTemperature: 25
[2/11/2021, 6:25:56 PM] [HoneywellHome] Sending request for Thermostat Thermostat to Honeywell API. mode: Heat coolSetpoint: 78 heatSetpoint: 77 thermostatSetpointStatus: PermanentHold
[2/11/2021, 6:25:56 PM] [HoneywellHome] Thermostat Thermostat Thermostat pushChanges - {"mode":"Heat","thermostatSetpointStatus":"PermanentHold","autoChangeoverActive":false,"heatSetpoint":77,"coolSetpoint":78}
[2/11/2021, 6:25:57 PM] [HoneywellHome] "Request failed with status code 400"
[2/11/2021, 6:25:57 PM] [HoneywellHome] Thermostat Thermostat Thermostat - {"message":"Request failed with status code 400","name":"Error","stack":"Error: Request failed with status code 400\n    at createError (/usr/local/lib/node_modules/homebridge-honeywell-home/node_modules/axios/lib/core/createError.js:16:15)\n    at settle (/usr/local/lib/node_modules/homebridge-honeywell-home/node_modules/axios/lib/core/settle.js:17:12)\n    at IncomingMessage.handleStreamEnd (/usr/local/lib/node_modules/homebridge-honeywell-home/node_modules/axios/lib/adapters/http.js:260:11)\n    at IncomingMessage.emit (events.js:327:22)\n    at endReadableNT (internal/streams/readable.js:1327:12)\n    at processTicksAndRejections (internal/process/task_queues.js:80:21)","config":{"url":"https://api.honeywell.com/v2/devices/thermostats/TCC-2728972","method":"post","data":"{\"mode\":\"Heat\",\"thermostatSetpointStatus\":\"PermanentHold\",\"autoChangeoverActive\":false,\"heatSetpoint\":77,\"coolSetpoint\":78}","headers":{"Accept":"application/json, text/plain, */*","Content-Type":"application/json","Authorization":"Bearer "","User-Agent":"axios/0.21.1","Content-Length":123},"params":{"locationId":2417661,"apikey":"XXX"},"transformRequest":[null],"transformResponse":[null],"timeout":0,"responseType":"json","xsrfCookieName":"XSRF-TOKEN","xsrfHeaderName":"X-XSRF-TOKEN","maxContentLength":-1,"maxBodyLength":-1}}
[2/11/2021, 6:25:57 PM] [HoneywellHome] Got access token: CCCC
[2/11/2021, 6:25:57 PM] [HoneywellHome] New refresh token: DDDD
[2/11/2021, 6:25:57 PM] [HoneywellHome] Homebridge config.json has been updated with new refresh token.

@wtadler sorry for not focusing on this. I have published a beta that potentially will work with write to the API, based of this. Can you give it a try?
Beta: v9.4.2-beta.1

#554


Create a range of nreceiving_from values

For things like #4234, would be more realistic to have a range for nreceiving_from rather than a constant value.

I'm wondering if this needs more than I think it does...

Yes! Of course there is. Dropping this because I don't have time to push it through.


Mysql root configuration changes

What I find out from https://hub.docker.com/_/mysql MySQL by default have root user
and its impossible to create root user(because its already exists) via MySQLContainer builder so I added one more check to exclude adding new root user

Fix for #2689


Standardize sensor attribute names using HA's provided slugify utility

Hey there! Thanks for this awesome improvement on the original YNAB integration!
I noticed that the attributes in the sensor entity weren't handling special characters properly (e.g., I have parentheses and brackets in some of my category and account names) so I updated it to use the slugify utility provided by the HA core.

Talk about me being late.
Nice improvement. I am actually going to hopefully be doing a big update soon.
Rather than having a single budget sensor with all the balances and category information a attributes, I am going to pull each category and account in as it's own sensor.
So this will be the first step in that. Making sure the names can get setup correctly 👍

Nice! I was thinking the same thing. I'll contribute if I can find some time this week 😄


[YUNIKORN-189] Fix email URLs in README

Replace spaces with escaped space %20 in subject texr

Hey @wilfred-s,
Your changes look good to me!
View build log
TravisBuddy Request Identifier: e5323d10-a0ae-11ea-8dbc-21d9b9d6c42b

Codecov Report

Merging #160 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #160   +/-   ##
=======================================
  Coverage   58.58%   58.58%
=======================================
  Files          62       62
  Lines        6101     6101
=======================================
  Hits         3574     3574
  Misses       2386     2386
  Partials      141      141

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 60a9eab...793196f. Read the comment docs.


Error: Unknown Error

It stopped working few minutes ago
It show "Error: Unknown Error" instead of normal osu! stats banner

It seems caused by the internet fluctuation and temporarily down, and the unknown state was still cached for 10 mins. If things go well it well be normal after 10 mins, or you can use "Ctrl+F5" to flush the cache manually.


Remove -review:none from pull request query

Right now, this action filters pull requests using -review:none which is supposed to filter out pull requests that haven't been reviewed. Unfortunately, this includes pull requests which have been reviewed with comments, but not approvals or "request changes", so it causes reviews to be systematically undercounted.
For example, you can see this query returns results even though both reviewed-by:damccorm and -review:none are specified - https://github.com/apache/beam/pulls?q=is%3Apr+is%3Aopen+reviewed-by%3Adamccorm+review%3Anone+-author%3Adamccorm
I ran the forked version of this action and it fixed some accuracy issues I'd noticed.
Before the change (using flowwer-dev/pull-request-stats@master): https://github.com/damccorm/playground/pull/27
After my change (using damccorm/pull-request-stats@master): https://github.com/damccorm/playground/pull/29
Note the higher counts, despite them being run on the same morning (and I didn't do any pr reviews between runs).

Not sure why the diff is so large on the generated dist file, but if you do a diff on the contents between master and my changes you shouldn't notice anything other than the -review:none change

Hi @damccorm, thanks for such a complete report on the issue.
I'm currently on vacation, but please give me one week to return, and deeply analyze the implications of the change.
Best!

Sounds good, thank you! Enjoy the vacation

Hi @damccorm
Thanks for your contribution. Removing the filter and including PRs with requested changes to the stats made a lot of sense. It's now published on v2.9.0.
By the way, I saw you are working on returning the results as an output or a file. It seems very interesting. What are you trying to achieve?

I filed #72 since I won't have time to get to this myself in the near term


Is the performance right for lmdb training(imagenet-resnet) ?

The configuration : gpu-4x1080ti, cpu-xeon 32G, HDD. cuda-8.0, cudnn-6.0
Training resnet50 on imagenet by the original code example: 0.4-0.5 iters
Due to the low speed, I use the code
from tensorpack.dataflow import *
class BinaryILSVRC12(dataset.ILSVRC12Files):
    def get_data(self):
        for fname, label in super(BinaryILSVRC12, self).get_data():
            with open(fname, 'rb') as f:
                jpeg = f.read()
            jpeg = np.asarray(bytearray(jpeg), dtype='uint8')
            yield [jpeg, label]
ds0 = BinaryILSVRC12()
ds1 = PrefetchDataZMQ(ds0, nr_proc=1)
dftools.dump_dataflow_to_lmdb(ds1, '/path/to/ILSVRC-train.lmdb')

according to your tutorials to generate lmdb.
And replace the original code in imagenet_utils.py
if isTrain:
        ds = dataset.ILSVRC12(datadir, name, shuffle=True)
        ds = AugmentImageComponent(ds, augmentors, copy=False)
        if parallel < 16:
            logger.warn("DataFlow may become the bottleneck when too few processes are used.")
        ds = PrefetchDataZMQ(ds, parallel)
        ds = BatchData(ds, batch_size, remainder=False)

by
ds = LMDBData('/path/to/ILSVRC-train.lmdb', shuffle=False)
ds = LocallyShuffleData(ds, 50000)
ds = PrefetchData(ds, 5000, 1)
ds = LMDBDataPoint(ds)
ds = MapDataComponent(ds, lambda x: cv2.imdecode(x, cv2.IMREAD_COLOR), 0)
ds = AugmentImageComponent(ds, augmentors)
ds = PrefetchDataZMQ(ds, parallel)
ds = BatchData(ds, 256)

for reading training data from the generated lmdb without changing the reading manner of validation.
Then I get the training speed : 2.0-2.2 iters
What makes me confused is the performance. Using the original code, the validation errors drop significantly. For instance, after training 15 epochs, the top-1/5 validation errors drop to 0.43/0.19(training is 0.48/0.24). But with the changed code, the error rates drop too slowly (top-1/5 validation errors are 0.89/0.79 after 15 epochs, training is 0.36/0.14).
So is the performance right for the changed code?
Thanks a lot!

For speed, read tutorial: http://tensorpack.readthedocs.io/en/latest/tutorial/performance-tuning.html
For accuracy: I don't know what happened -- any line of code that's written wrong could cause it. If you can post more information following the issue template maybe I'll be able to tell more.

I didn't change other codes but only the codes for reading training data from LMDB file. The codes are copyed from your tutorials and shown as above.

The codes are copyed from your tutorials and shown as above.

Then you're using a different batch size compared to the original code.

Sorry about that. In my running codes,        ds = BatchData(ds, batch_size)

It's better to paste the changes (in the form of diff, for example) you made instead of describing them. As you can see from the comment above it's not easy to describe them accurately.
In addition to that there are a lot of other issues that may matter. What's the version of tensorflow? How do you install tensorpack? For the two runs you mentioned originally, are they on the same system with consistent software stack?

I run the two on the same computer with same environment: TF1.40, Python2.7, and install the tensorpack use: pip install -U git+https://github.com/ppwwyyxx/tensorpack.git.

I don't know what went on. This is not an issue I can reproduce, but the code looks fine. Maybe check the lmdb file, something may went wrong when you generate it. For example if it's smaller than 140G it's incomplete.

 With LMDB file or reading from list randomly?
Besides, is the performance reported in your README of Resnet evaluated on validation dataset without pre-activation?
Thanks a lot!

I read raw jpegs. But reading from LMDB will have similar performance.
The numbers in the first table does not use preact.

I have checked the generated LMDB. It is about 149.7GB.
I will change the environment and try it again.
Thank you for your share and kind reply!
Thanks a lot!


joinChannel failed on Android device

I call joinChannel or joinChannelWithOptions, both failed.

undefined is not an object (evaluating 'jsonResults.result') happens on iOS also.

Sorry for the late reply, is our demo work? maybe your params is wrong.

I don't run demo. I use it in our project. This error happens sometimes when call mediaPlayer.pause() or mediaPlayer.stop(). These methods don't need params.

you can refer to our demo, if you call stop, you should call open again.

I think it's better to return error code than throw an error if call the wrong method.

Yes，we will optimize it next version

This repo has been migrated to https://github.com/AgoraIO-Extensions/Electron-SDK


auro-alerts: general updates

General Support Request
The scope of this issue is to address needed upgrades for Auro Alerts.
Recommended to create a new repo with the installer and port over the core functional component code.

On hold until WC-Generator 3.0 is released

duplicate of #8


COVID-19 dashboard: add new column (Project Source)

Let's add a column for project source. Perhaps we should simply call it 'source'. The two common values will be 'live wrangling' meaning from a lab, and 'import geo'. I'm sure we will add additional values over time.

Added to COVID-19 dashboard. Needs to be filled out for most of the projects.


Add automation of Properties file creation in build phase with a maven plugin

Feature to automate the properties file creation;
Created a plugin that can be add in the pom to automatic create properties file based on passed args.
It could be useful in case you need a properties with all the value generated automatically.
It's  useful for me because we need to deploy a software that can be configurable by the users, considerating that we have a lot of properties, this implementatios save us a lot of time instead of copy and paste every time and could be the possibility that we write wrong value.
Example of Config:
@GroupOrder({"second", "first"})
interface MyConfig extends Config {

    @Group({"first"})
    @Key("valuekey")
    @DefaultValue("value")
    String value();

    @DefaultValue("value2")
    String value2();

    @Group({"second"})
    @DefaultValue("value3")
    String value3();

    @Group({"second", "sub"})
    @DefaultValue("value4")
    String value4();
}

Example of plugin usage:
        <plugin>
            <groupId>org.aeonbits.owner</groupId>
            <artifactId>maven-plugin-owner-creator</artifactId>
            <version>1.0.11-SNAPSHOT</version>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>create</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <outputDirectory>${basedir}/test.properties</outputDirectory>
                <packageClass>com.tryproject.MyConfig</packageClass>
                <projectName>tryproject</projectName>
                <projectDesription>description</projectDesription>
                <!-- <jarPath>possiblecustomjar.jar</jarPath> -->
            </configuration>
        </plugin>

In the next few days i'll take a look to owner-site and add documented page!
PS: i did some little changes to the property creator, so i'll push in the next few days too on a new branch

owner has already some outdated documentation. We need to keep docs in sync with features: if a cool feature is there, but nobody knows it, nobody uses it. For a library an undocumented feature does not actually exists.

Hi Luigi,
I started to create the documentation, I've seen that you did a clean up and refactor of the code, that's cool!
But I noticed that you removed lot of annotations that I added, can I ask you why?
I know that for Owner purpose are useless, maybe can I add them in the plugin as you did with PropertiesFileCreator?

Hi @lucalas
I know you may have not liked my intervention, sorry about that.
I refactored because of my taste, which is minimalistic and I consider detrimental everything that is superfluous:

the banner on top of the file was not necessary and not desirable in my case. AWT dependencies are bad for server side software and other contexts where AWT is not available (servers, android, etc).
I didn't like to introduce new annotations for saving a file. At beginning I thought it was in a separate module, otherwise I would have refactored in agreement with you before merging.
@Description would have been useful if it was implemented in javadocs instead of annotation. And the same would be true for the other annotations. Javadocs are not retained in the code, which is also good, also writing some explanation in an annotation is not as good as writing in javadocs.
@NoProperty, I don't find any purpose for that.
@ValorizedAs, same as above. There are defaults which serve the purpose.
@Groups* no purpose as well, since in properties files one usually organises things in a tree-like structure, for instance 'foo.bar' and 'foo.baz' properties are in the 'foo' group. For sorting, alphabetical sorting is enough.
Creator interface was useless.
Files generated during the build should be under the 'target' folder so that they can be cleaned up during the 'mvn clean' and they don't need to get committed in the git repo.

I still need to fix the build for the module and complete the cleanup before the next release. If you do not agree with my changes, I cannot include your pull request in my repository; if this is the case, just let me know.
Thanks
Luigi.

I understand your point of view @lviggiano , just give me a try to explain the reasons:

the banner on top of the file was not necessary and not desirable in my case. AWT dependencies are bad for server side software and other contexts where AWT is not available (servers, android, etc).

Undestandable, it was just a way to give a pretty rappresentation of the properties file but no problem.

I didn't like to introduce new annotations for saving a file. At beginning I thought it was in a separate module, otherwise I would have refactored in agreement with you before merging.

I'm agree with you about don't introduce new annotations that have nothing to do with Owner purpose, I'll put annotations in plugin module, if is reasonable for you or maybe you have a better solution.

@description would have been useful if it was implemented in javadocs instead of annotation. And the same would be true for the other annotations. Javadocs are not retained in the code, which is also good, also writing some explanation in an annotation is not as good as writing in javadocs.

About this point I could try to introduce javadoc parser to be able to use native implemantation of javadocs API, @Description annotatiion could be redundant I know.

@NoProperty, I don't find any purpose for that.
@ValorizedAs, same as above. There are defaults which serve the purpose.
@groups* no purpose as well, since in properties files one usually organises things in a tree-like structure, for instance 'foo.bar' and 'foo.baz' properties are in the 'foo' group. For sorting, alphabetical sorting is enough.

I created a piece of documentation where there are explanation and examples for  annotations use cases, you can find here.
I used these annotations to customize the properties file creation.
Let me know if these alternative could be reasonable for you.
Thanks,
Luca

Sure they are reasonable. The maven plugin now sits in its own module, so you can play there.
I delayed the next release I was planning for some weekends ago, since I need to address some technical and personal issues before that.


Technical guide and explanation to Bark

Hi all, I just wrote a detailed article on the technical aspects within Bark. Feel free to check out the article here: https://betterprogramming.pub/text-to-audio-generation-with-bark-clearly-explained-4ee300a3713a?sk=e2b2f75f5fc93c656bef031c60bf99bf

Nice writeup. I would just note that

Bark has various voices for speech generation based on language, gender, and background sounds. The complete voice collection with more than 100 presets can be found in the speaker library.

Is not the complete collection of voice. Even without add-ons for voice cloning you can simply not specify a voice in Bark and Bark will generate a new random voice on the spot. That voice can be saved and used again -- the voice is simply the audio sample itself, in raw tokens. So Bark is not limited to 100 voices, it's infinite voices. And because Bark tries to match the text prompt to a voice you can use Bark like a voice lab just by text prompting, creating and then refining/tweaking the voices with additional prompts/resaves.

Good point there, I have made the edits. Thanks for highlighting this

@kennethleungty can you do a writeup on serpai's voice cloning addon? I would love to understand on a technical level how to train new voices at a high enough qualtiy that matches Bark's voice library.

@kennethleungty can you do a writeup on serpai's voice cloning addon? I would love to understand on a technical level how to train new voices at a high enough qualtiy that matches Bark's voice library.

Yes me too, and also train the model with a new language


App crashes with stack overflow error when game with many moves is archived or unarchived

GoMove includes the previous and next moves in the data that is archived or unarchived with NSCoding. As soon as the first move is archived or unarchived, a chain reaction is set into motion that archives or unarchives the next move of the next move of the next move ...
If a game has a large number of moves this eventually leads to the app crashing with a stack overflow error. For archiving this can happen when a game is loaded from an .sgf file, or when the player is playing out a game within the app. For unarchiving this is less likely to happen because the app would probably have crashed already when the archive was created (unless unarchiving begins at a point where the call stack is already deeper than when when the archiving occurs).
The issue was first seen in a crash report in Xcode, sent from an iPhone 11 Pro. The crash occurred within a large number of GoMove::initWithCoder calls (i.e. during unarchiving), at a call stack depth of 510.
In the simulator the issue can be successfully reproduced when loading an .sgf file with 1231 moves (arbitrary number).

Fuego supports up to 1394 moves:
GO_MAX_NUM_MOVES - RESERVE

GO_MAX_NUM_MOVES is defined as (4 * SG_MAX_SIZE * SG_MAX_SIZE), which resolves to 4 * 19 * 19, which is 1444.
RESERVE is a constant with value 50

See GoGtpEngine::CheckMoveStackOverflow() and GoBoard::StackOverflowLikely().
So it appears that the real call stack limit on an iOS device is exhausted much sooner than what Fuego assumes.


Another possible trap: %h:exists

Not sure if this is a big enough trap, but it just got me, so…
I had code like this:
my %h = <a 1 b 2>;
say ‘hello’ if %h<a>:exists;
say ‘world’ if %h<x>:exists;

Output:
hello

Then I decided to check for more than one element, and using slices is what came to my mind immediately:
my %h = <a 1 b 2>;
say ‘hello’ if %h<a b>:exists;
say ‘world’ if %h<x y>:exists;

Output:
hello
world

Not exactly what I hoped for!
Thinking about it, it makes sense. Still, perhaps it is worth to mention something like this (are there any other traps similar to this one?).

@AlexDaniel Why does that make sense? What happened exactly?

%h<x y>:exists

returns a list of 2 elements, and that list is True
So you really need something like this
say ‘world’ if all %h:exists;

Yes, depending on what you want exactly, you should use any or all.
The fact that it returns the element itself (and not a list with one element) is a possible source for other traps. It makes sense because this is what you mean in most cases, but when you start generalizing you stumble upon completely different behavior.


Postgres database

This is like the sqlite local database, except it allows to store multiple project on the same postgres instance
How to setup

Set the database property to postgres in .chainlit/config.toml
If it hasn't been set yet, set the id property to a unique value like "project-1" in .chainlit/config.toml
Setup your postgresql instance and add the connection string in the POSTGRES_DATABASE_URL (for exemple in the .env file)
You can now run chainlit.

I am using this branch for testing and encountered the following error:
ModuleNotFoundError: No module named 'chainlit.client.postgres.prisma.app'

@Dbraum

I am using this branch for testing and encountered the following error:
ModuleNotFoundError: No module named 'chainlit.client.postgres.prisma.app'

You need to run prisma generate --schema ./schema.prisma in the chainlit/client/postgres/prisma directory.


Define Data Availability Sampling (DAS)

Define the process and parameters (number of samples) for doing Data Availability Sampling (DAS).

I'm not sure the number of samples has to be a part of the spec because clients can decide this for themselves, however the spec can make secure recommendations.

I'm not sure the number of samples has to be a part of the spec because clients can decide this for themselves, however the spec can make secure recommendations.

Just for my understanding: will this include how we use ipfs?

will this include how we use ipfs?

Eventually, yes. But it will probably start with more conservative goals, e.g. just defining what to sample. Then move on to how to sample as that gets iterated on in the implementation.

A recent topic that came up is "do we need to sample from both rows and columns for DAS?" (cf. https://github.com/lazyledger/lazyledger-core/pull/270)
Mechanism 1 (from paper)
The mechanism from the paper (https://github.com/lazyledger/lazyledger-core/pull/270#discussion_r610034373) involves sampling shares randomly from both rows and columns. In other words, each share in the EDS (extended data square) has two possible addresses: the pairs (row, col) (i.e. column index against a row root) and (col, row) (i.e. a row index against a column root).
A fraud proof consists of Merkle proofs against a single row/column root for at least k (the width of the ODS (original data square)) shares.
Mechanism 2 (potential alternative)
We note that having two addresses for shares introduces duplication without any additional security. Instead, we can only sample from rows. The space of shares is identical to above, so each individual share has exactly the same probability of being sampled. The only difference is that only Merkle proofs against row roots are downloaded.
A fraud proof consists of Merkle proofs against a single row root (for a fraudulent row), or a Merkle proof against multiple row roots (for a fraudulent column) for at least k shares.
Discussion
Pros of alternative:

If all nodes by default configuration only sample from rows, there's twice as much bandwidth/capacity available for the same shares (conversely, sampling from both rows and columns halves the bandwidth/capacity available).

Cons of alternative:

Fraud proofs for columns are slightly larger.

I don't immediately see any security issues with the alternative, but maybe I'm missing something.

Fraud proofs for columns are slightly larger.

The question is how much larger in the worst-case and how often do we expect this to happen (and who is impacted by this/who needs to download and process these fraud proofs)?
As far as I understand, it will only be (some kind of) full-nodes who will be generating these fraud proofs (and it is expected to be a really, really rare event). What kind of clients will be validating these exactly?

The question is how much larger in the worst-case

Without deduplication of sibling nodes, Merkle proofs against a single root vs Merkle proofs against k roots is basically the same size. Nodes are expected to have all the row and column roots, so those don't need to be included in the proof explicitly.

who is impacted by this/who needs to download and process these fraud proofs
What kind of clients will be validating these exactly?

This would affect light nodes mostly in terms of processing fraud proofs.


Option for initializing the generation with an image file?

Hi
@lucidrains, @afiaka87, @DrJKL, @enricoros, and all other contributors to this amazing project.
I am trying to figure out the following:
I saw there is an "--img" flag for using an image as prompt, but is there a way to use an image as initializer for the generation?
If not, then do you guys have any plans implementing it? I'd say this is probably be one of the most important feature still missing from Big Sleep and... I would be happy to contribute to this myself, but this is not my field (yet!) so I honestly have no idea where to start...
But ! If you think this could be similar to how other projects implemented it (for example deep daze), then I could take a look at it and try to make my way around it... and I could probably get somewhere...
So yeah, let me know what you think!

I'd like to say here that this sounds incredibly useful. It would allow someone to pass an image back and forth between VQGAN+CLIP setup and Big Sleep. For this I think it would need an encoder, and this one might work - https://github.com/disanda/MTV-TSA

@illtellyoulater or maybe there's some surreal quality to Big Sleep generations that is still useful for your work? do let me know since I am curious!

@lucidrains I think the VQGAN+CLIP implementation from @crowsonkb generally yields higher quality results, but the results from Big Sleep have more variety. This feature would allow the two to be combined (and I could add Big Sleep as an alternative engine for https://github.com/wolfgangmeyers/aibrush-2).

@wolfgangmeyers ohh got it, that is interesting (re: variety)
ok, maybe i'll hack this out when i have some spare time, shouldn't take too long

there's actually also an improved version of big sleep out there (called fusedream) https://arxiv.org/abs/2112.01573 in case people don't know

oops, closed by accident

Fusedream looks awesome. Do you think the MTV-TSA project would work for this and/or fusedream for encoding an init image to latents?

@wolfgangmeyers haha, i'm not familiar with MTV-TSA at all
btw, i'm not quite sure i understand the need for an encoder in your previous comment
@illtellyoulater was your desired feature basically this? https://github.com/lucidrains/deep-daze#priming

Let me clarify - Big Sleep selects a random starting image (mostly dog images?) and can then use a priming image that guides the image generation. That does seem to help, but I've had odd results. The priming image is similar to the image_prompts param in VQGAN+CLIP that seems to accomplish the same thing:
https://github.com/nerdyrodent/VQGAN-CLIP/blob/main/generate.py#L60
In this case, I think the ask is to be able to take an image and convert it into the BigGAN latent space, similar to the init_image param in VQGAN+CLIP that uses VQGAN's encoder ability:
https://github.com/nerdyrodent/VQGAN-CLIP/blob/main/generate.py#L64
The expectation would be that you could do could reconstruct an input image - take an input image, convert it to latents, and then convert that back into an image that is similar enough to the original to be recognizable. Artbreeder does something similar with Stylegan, I think.
The big benefit to this is that you can provide a concrete starting point for image generation, and it's possible to "resume" image generation from a completely different stack like VQGAN+CLIP, Glide, DALL-E, etc. I have a PR up that allows resuming from another Big Sleep generated image - this was very handy in being able to try many variations and pick the best one (looks like I need to fix merge conflicts).

Looks like they only support 256x256 for BigGAN though.

ohh got it! sorry my bad, this won't be easy then
it'll require what they call projection in GAN literature, something like http://people.csail.mit.edu/minhuh/papers/pix2latent/arxiv_v2.pdf

@wolfgangmeyers and yes you are right, an encoder would help here, but it needs to be trained concurrently with the GAN, something which BigGAN does not have

In this case, I think the ask is to be able to take an image and convert it into the BigGAN latent space, similar to the init_image param in VQGAN+CLIP that uses VQGAN's encoder ability: https://github.com/nerdyrodent/VQGAN-CLIP/blob/main/generate.py#L64

@lucidrains: I confirm my request is exactly what @wolfgangmeyers said in the above period.

This feature would allow the two to be combined (and I could add Big Sleep as an alternative engine for https://github.com/wolfgangmeyers/aibrush-2).

@wolfgangmeyers this would be very cool.

it'll require what they call projection in GAN literature, something like http://people.csail.mit.edu/minhuh/papers/pix2latent/arxiv_v2.pdf
@wolfgangmeyers and yes you are right, an encoder would help here, but it needs to be trained concurrently with the GAN, something which BigGAN does not have

@lucidrains this is getting a bit too technical for me so from now on I will leave space to you guys. I just hope one way or another it can be done :) I hope that when needed I will still be able to help with feedbacks and the alike.

@lucidrains I think the VQGAN+CLIP implementation from @crowsonkb generally yields higher quality results, but the results from Big Sleep have more variety.

Agreeing with @wolfgangmeyers here, VQGAN+CLIP results looks better, but Big Sleep has more variety. Also, as pointed out by @lucidrains, there's a certain surreal quality in Big Sleep which keeps me fascinated.

there's actually also an improved version of big sleep out there (called fusedream) https://arxiv.org/abs/2112.01573 in case people don't know

@lucidrains I didn't know this, I will try it out!


setxkbmap and xset are resetting after restarting keyd

I have the following configuration set:
## Sets keyboard layout
setxkbmap "us,ru"

## Increases key repeat rate
xset r rate 250 45

After I run systemctl restart keyd, both settings get reset and I need to rerun these commands again.
Keyd version v2.3.1-rc (8f0727c)

This is a consequence of the fact that X utils don't account for hotplugging. Restarting the daemon is the equivalent of unplugging and replugging the . My advice would be to do all your remapping in keyd using the new unicode support
E.G
[russian]
q=й
w=ц

[shift+russian]
q = Д

and then set macro_repeat_timeout

Are there any benefits to this setup? Or potential problems with using setxkbmap?
Currently I have basically oneliner to set Russian layout and a command to switch it. Writing every single key seems a bit tedious and overcomplicated;)
Besides, I have to rerun my keyboard script after restarting keyd anyway, to get the xset setting

Are there any benefits to this setup?

It provides a centralized place to define all your bindings and allows you to more easily customize your layout. Using X utils in conjunction with keyd is generally not recommended, with the possible exception of your keymap. Unicode support is still fairly

Writing every single key seems a bit tedious and overcomplicated;)

Someone had to do it for X too ;).

Besides, I have to rerun my keyboard script after restarting keyd anyway to get the xset setting

This is true for non-macro/unicode keys, but you will have to modify macro_timeout anyway if you want your repeat intervals to match, since the display server doesn't know how to handle macros.

@rvaiya Is it no longer the issue? I don't need to restart setxkbmap and xset?

Unless something has changed on the X/xkb side, I believe this is still an issue. The only way to solve this issue is to implement some kind of hot reloading which doesn't recreate the virtual device, but I'm not convinced this is worth the additional effort.
It is worth noting that keyd -e can be used for experimentation without requiring a restart, but once you find something you are happy with and add your changes to the config file you will have to rerun setxkbmap. Alternatively you should be able to change these settings in your X config, which I believe will make them persistent.

Can then language layouts be defined inside keyd? I can contribute for Russian and Ukrainian layouts.

I've added support for file inclusion to the config format and shipped keyd with some includeable layout files. I generated them from the corresponding xkb layout files so there may be some warts. I would appreciate any feedback/corrections.


Support passing particular AUR package names to AUR-Update as args to specifically update those packages

e.g., ./aur.sh -webstorm would only update webstorm.

Functionality added with the "only" flag.
Use: aur-update -o [package_name]


How to test plugins?

Hi!
It would be nice add some tests for new plugins but using conan config to install, all tests will be copied also.
Is there some way to ignore those files using conan config install ?

Yes, this is something that has to be discussed too. The plugins feature is still on its early stages 😄


#15155 Remove heads pointing to old refs

Following issue #15155
when migrating a repository that had previously deprecated heads, migrated repository wasn't passing health check thus it was not possible to make new branches via UI
( see issue
The patch basically ensure that git log points to a valid head when on a closed PR at the migration time.

Tested this on :
[x] 1.15.2
[x] Main latest
I ensured that all PR were still working after merging, also that old PR were still ok.
Sample output in logs :

For the sake of readability, I could remove the log showing the full err
Thank you in advance to have a look at this.

Doesn't #17013 fix this?

Ah this is is at a different point.
Ok, I think git log is the wrong call - certainly without a -1

Sorry to disturb, should I do something in here ?


sakura: 3.2.0 -> 3.3.4

Motivation for this change
The current package in stable (16.09) is broken, the one in unstable (master) works.
See related issue: https://github.com/NixOS/nixpkgs/issues/16584
I think in this case it might be good to fix stable (16.09) fast so others don't have the same inconvenience, but please let me know if this is not the correct way to approach or solve this, this is my first contribution here.
Things done

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

[ ] NixOS
[ ] OS X
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Fits CONTRIBUTING.md.

The patch has been cherry-picked to the release branch. Thank you.

@joachifm thanks for cherry-picking this to the release branch!
I tried to run nixos-rebuild switch --upgrade today while running stable (16.09) and the updated nixpkg for sakura doesn't seem to get pulled in yet, when would this be expected to end up in the nixos-16.09 channel?

@djvdorp it's difficult to say in general, the channel moves forward when release critical tests + all builds complete. You can keep track of progress at https://hydra.nixos.org/jobset/nixos/release-16.09


Android Performance issue

As a mobile app user, I would like the delay for the video player to be shorter. Currently, the delay is long enough to think that the system is hung or that the player is broken.
Steps to reproduce

Jack is setting up a testing environment for Android
Android tests will be incorporated in the daemon testing
Jack will investigate and try to replicate performance issues

Expected behavior
Videos should load and begin to play quickly on par with other user experiences
Actual behaviour
Video does not play within 20 seconds and makes the user suspect that the player is broken
System Configuration
build in android 8, minimum build 5
Anything Else

Screenshots

@akinwale Is this still an issue or did the new daemon fix it?

@alyssaoc Daemon 0.21 is performing a whole better than previous versions. One more thing I'd like to test is being able to disable DHT completely, so that downloads are done using only HTTP blob mirrors, but the daemon doesn't have the option to do that yet.


Auto backup

I know we have the backup command and it works like a charm for me:)
Due some hardware issues i started to use rsync and cron to make a extra backup.
Im by far expert in programming and linux in general, but is that a option that could be put into the script so it runs a backup on a timer?

Using the latest 1.3-dev arkmanager:
VISUAL= EDITOR=ed crontab -e <<EOE
g/^0,15,30,45 [*] [*] [*] [*] arkmanager saveworld backup/d
$r !echo "0,15,30,45 * * * * arkmanager saveworld backup >/dev/null 2>&1"
!sleep 1
wq
EOE


Add an option (suggestion)

Hi,
First I wanted to thank you for this awesome tool. Would it be possible to add an option for running WPForce with all WordPress urls in a file?
e.g. : python wpforce.py -i usr.txt -w passwd.txt -f filename-containing-urls.txt
This would be awesome. Thanks again.

Hello,
I don't think I will add this as it's a little too far outside of what I designed it for, but I can suggest a way you could do this in bash.
You could plrably make something like this:
while read filename-containing-urls.txt ; do python wpforce.py -i usr.txt -w passwd.txt -f $i ; done < filename-containing-urls.txt
That syntax might be a bit off but that would be the basic idea

Thanks for your quick reply.  I get this msg:
line 1: read: `url3.txt': not a valid identifier


Make a schedule task to integrate tweet account feeds

[x] learn twitter API, see if they support what we want (listen for all posts in one account's feeds)
[x] test POC by pulling test twitter account feeds (@, tag, post, media, template) -> content
[ ] reformat, pre-cleanup before processing -> schema contract
[ ] connect the pipeline with next -> filter service

Test account.
API key.


fix(runner): update img2img to do sequential processing of batch request

This PR updates the image-to-image router in runner to process the batch requests sequentially.  Similar to text-to-image, this will stabilize GPU memory usage and allow for some GPUs to run multiple instances of lighter weight models.

Reserving comment: Will test when have some time. Papabear has some test data from running batches that provides that there is no significant efficiency gain running the requested images in parallel.

@ad-astra-video I made some small changes to make the I2I code more similar to the T2I pipeline code. The change looks good to me feel free to merge this and release it under version v0.0.7.