Investigate Fortnite Crash-Info for understanding the exact cause of crashes

Fortnite is able to launch with VKD3D as well as the EAC and BattlEye runtime enabled. It crashes during the login process though, which very likely might be caused by the anti-cheat. When using DXVK though, it fully logs in and only crashes, when joining a game/lobby. It might be helpful to investigate the crash-logs/crash-details to understand what caused the crash:
Unhandled exception: page fault on execute access to 0x0000000000000000 in 64-bit code (0x0000000000000000).
Register dump:
 rip:0000000000000000 rsp:0000000000b571d8 rbp:00000001c88c3290 eflags:00010246 (  R- --  I  Z- -P- )
 rax:0000000000000000 rbx:0000000000000000 rcx:0000000000b57310 rdx:0000000000b57290
 rsi:0000000000000006 rdi:0000000180023160  r8:0000000000b57280  r9:7f5e305e7772ff5e r10:00007f9d966a1640
 r11:8101010101010100 r12:0000000000b57560 r13:0000000000b574e0 r14:0000000000b57290 r15:00000001c88c3290
Stack dump:
0x0000000000b571d8:  00000001c889d004 00000001c88c3340
0x0000000000b571e8:<PHONE_NUMBER>000000<PHONE_NUMBER>b57250
0x0000000000b571f8:  00000001c88bb13c<PHONE_NUMBER>008800
0x0000000000b57208:<PHONE_NUMBER>000000<PHONE_NUMBER>0000d0
0x0000000000b57218:<PHONE_NUMBER>b573a9 00000a11f53d9680
0x0000000000b57228:  00000001c889b56a<PHONE_NUMBER>b57684
0x0000000000b57238:  ffffffffffffffff<PHONE_NUMBER>000000
0x0000000000b57248:<PHONE_NUMBER>15d727 2200226e69614d22
0x0000000000b57258:<PHONE_NUMBER>000000 00000a11f5a77f00
0x0000000000b57268:<PHONE_NUMBER>00004d<PHONE_NUMBER>000000
0x0000000000b57278:<PHONE_NUMBER>5d223a 00000a11f5f58c00
0x0000000000b57288:<PHONE_NUMBER>000001<PHONE_NUMBER>b57370
Backtrace:
=>0 0x0000000000000000 (0x00000001c88c3290)
0x0000000000000000: -- no code accessible --
Modules:
Module	Address					Debug info	Name (98 modules)
PE<PHONE_NUMBER>110000-00000000011a9000	Deferred        msvcp140
PE<PHONE_NUMBER>1b0000-00000000011c7000	Deferred        vcruntime140
PE<PHONE_NUMBER>1d0000-00000000011d4000	Deferred        api-ms-win-crt-runtime-l1-1-0
PE<PHONE_NUMBER>1e0000-00000000011e3000	Deferred        api-ms-win-crt-heap-l1-1-0
PE<PHONE_NUMBER>1f0000-00000000011f4000	Deferred        api-ms-win-crt-stdio-l1-1-0
PE<PHONE_NUMBER>200000-0000000001203000	Deferred        api-ms-win-crt-locale-l1-1-0
PE<PHONE_NUMBER>210000-0000000001213000	Deferred        api-ms-win-crt-time-l1-1-0
PE<PHONE_NUMBER>220000-0000000001225000	Deferred        api-ms-win-crt-math-l1-1-0
PE<PHONE_NUMBER>230000-0000000001233000	Deferred        api-ms-win-crt-conio-l1-1-0
PE	000000007a850000-000000007a854000	Deferred        opengl32
PE	000000007b000000-000000007b0da000	Deferred        kernelbase
PE	000000007b600000-000000007b814000	Deferred        kernel32
PE<PHONE_NUMBER>000000-00000001417b9000	Deferred        crashreportclient
PE<PHONE_NUMBER>000000-00000001700a3000	Deferred        ntdll
PE<PHONE_NUMBER>000000-00000001800fc000	Deferred        ucrtbase
PE	00000001c4ee0000-00000001c4fb5000	Deferred        winspool
PE	00000001c69e0000-00000001c731b000	Deferred        shell32
PE	00000001c8890000-00000001c88e1000	Deferred        d3dcompiler_47
PE	00000001c8b40000-00000001c8b60000	Deferred        msacm32
PE	00000001c8db0000-00000001c8e47000	Deferred        msvcrt
PE	00000001cd360000-00000001cd364000	Deferred        api-ms-win-core-file-l1-1-0
PE	00000001cd860000-00000001cd863000	Deferred        api-ms-win-crt-utility-l1-1-0
PE	00000001d14b0000-00000001d14b3000	Deferred        api-ms-win-core-util-l1-1-0
PE	00000001d8e40000-00000001d8e43000	Deferred        api-ms-win-core-file-l1-2-0
PE	00000001d97a0000-00000001d97a7000	Deferred        api-ms-win-core-fibers-l1-1-1
PE	00000001dd3f0000-00000001dd4bf000	Deferred        crypt32
PE	00000001ec2b0000-00000001ec2d7000	Deferred        ws2_32
PE	00000001f51e0000-00000001f51f0000	Deferred        hid
PE<PHONE_NUMBER>bb0000-0000000212bb3000	Deferred        api-ms-win-core-processthreads-l1-1-1
PE<PHONE_NUMBER>730000-0000000216733000	Deferred        api-ms-win-core-handle-l1-1-0
PE	000000021a7e0000-000000021a857000	Deferred        setupapi
PE	000000021b8f0000-000000021b8f3000	Deferred        api-ms-win-core-namedpipe-l1-1-0
PE<PHONE_NUMBER>310000-0000000226313000	Deferred        api-ms-win-core-string-l1-1-0
PE<PHONE_NUMBER>ae0000-0000000231b62000	Deferred        rpcrt4
PE	000000023d820000-000000023da6f000	Deferred        user32
PE<PHONE_NUMBER>030000-000000024005e000	Deferred        iphlpapi
PE<PHONE_NUMBER>850000-0000000241853000	Deferred        api-ms-win-crt-environment-l1-1-0
PE<PHONE_NUMBER>2e0000-0000000252324000	Deferred        oleacc
PE<PHONE_NUMBER>cc0000-0000000253cde000	Deferred        xinput1_3
PE<PHONE_NUMBER>480000-0000000256483000	Deferred        api-ms-win-core-datetime-l1-1-0
PE	000000025d740000-000000025d74e000	Deferred        dwmapi
PE<PHONE_NUMBER>4b0000-00000002614d1000	Deferred        dbgeng
PE<PHONE_NUMBER>a00000-0000000263a03000	Deferred        api-ms-win-core-sysinfo-l1-1-0
PE	000000026b4c0000-000000026b53b000	Deferred        gdi32
PE<PHONE_NUMBER>9c0000-0000000273af7000	Deferred        oleaut32
PE<PHONE_NUMBER>ce0000-0000000280ce3000	Deferred        api-ms-win-core-interlocked-l1-1-0
PE	000000028d6c0000-000000028d6c3000	Deferred        api-ms-win-core-memory-l1-1-0
PE	000000028dfa0000-000000028dfac000	Deferred        nsi
PE	000000028ebe0000-000000028ebe8000	Deferred        api-ms-win-core-sysinfo-l1-2-1
PE	000000029cfc0000-000000029cfd6000	Deferred        dnsapi
PE	000000029e400000-000000029e436000	Deferred        msctf
PE	000000029ea80000-000000029ea87000	Deferred        api-ms-win-core-datetime-l1-1-1
PE	00000002bb750000-00000002bb893000	Deferred        comctl32
PE	00000002d4d40000-00000002d4d57000	Deferred        bcrypt
PE	00000002d5140000-00000002d5143000	Deferred        api-ms-win-core-file-l2-1-0
PE	00000002de970000-00000002de9a2000	Deferred        rsaenh
PE	00000002e1360000-00000002e1363000	Deferred        api-ms-win-core-processenvironment-l1-1-0
PE	00000002e3540000-00000002e3591000	Deferred        shlwapi
PE	00000002e8f10000-00000002e902b000	Deferred        ole32
PE	00000002edf00000-00000002ee15e000	Deferred        dxgi
PE	00000002f1fa0000-00000002f1fae000	Deferred        version
PE	00000002f61f0000-00000002f6214000	Deferred        explorerframe
PE	00000002f7230000-00000002f725f000	Deferred        uxtheme
PE	00000002f7f20000-00000002f7f2c000	Deferred        vcruntime140_1
PE	00000002fa030000-00000002fa037000	Deferred        api-ms-win-core-localization-obsolete-l1-2-0
PE	00000002fa6b0000-00000002fa6b3000	Deferred        api-ms-win-core-console-l1-1-0
PE	00000002fe110000-00000002fe115000	Deferred        api-ms-win-crt-multibyte-l1-1-0
PE<PHONE_NUMBER>1a0000-00000003001a3000	Deferred        api-ms-win-core-processthreads-l1-1-0
PE<PHONE_NUMBER>e10000-0000000306e13000	Deferred        api-ms-win-core-timezone-l1-1-0
PE	000000030c980000-000000030c983000	Deferred        api-ms-win-core-synch-l1-2-0
PE<PHONE_NUMBER>6f0000-0000000312709000	Deferred        shcore
PE<PHONE_NUMBER>370000-000000031637b000	Deferred        psapi
PE	000000031f800000-000000031f8ff000	Deferred        comdlg32
PE<PHONE_NUMBER>020000-0000000327073000	Deferred        combase
PE	000000032a700000-000000032a72a000	Deferred        sechost
PE<PHONE_NUMBER>260000-00000003302a0000	Deferred        advapi32
PE<PHONE_NUMBER>a70000-0000000330aa9000	Deferred        uiautomationcore
PE	000000033a7c0000-000000033a7c3000	Deferred        api-ms-win-core-profile-l1-1-0
PE	000000033ea00000-000000033ea04000	Deferred        api-ms-win-crt-string-l1-1-0
PE	000000033f0c0000-000000033f0c3000	Deferred        api-ms-win-core-heap-l1-1-0
PE<PHONE_NUMBER>840000-0000000344843000	Deferred        api-ms-win-crt-filesystem-l1-1-0
PE<PHONE_NUMBER>ba0000-0000000346bc1000	Deferred        jsproxy
PE<PHONE_NUMBER>a30000-0000000350a34000	Deferred        api-ms-win-crt-convert-l1-1-0
PE<PHONE_NUMBER>680000-0000000351688000	Deferred        api-ms-win-core-localization-l1-2-1
PE<PHONE_NUMBER>520000-0000000353523000	Deferred        api-ms-win-core-localization-l1-2-0
PE<PHONE_NUMBER>120000-0000000358166000	Deferred        winhttp
PE<PHONE_NUMBER>050000-00000003593d5000	Deferred        d3d11
PE<PHONE_NUMBER>450000-0000000361453000	Deferred        api-ms-win-core-synch-l1-1-0
PE<PHONE_NUMBER>610000-0000000375648000	Deferred        win32u
PE<PHONE_NUMBER>c50000-0000000376c53000	Deferred        api-ms-win-core-errorhandling-l1-1-0
PE<PHONE_NUMBER>d90000-0000000390d93000	Deferred        api-ms-win-core-libraryloader-l1-1-0
PE	000000039cce0000-000000039cce3000	Deferred        api-ms-win-core-rtlsupport-l1-1-0
PE	00000003a2900000-00000003a2903000	Deferred        api-ms-win-core-debug-l1-1-0
PE	00000003afd00000-00000003afd1a000	Deferred        imm32
PE	00000003b6dc0000-00000003b6de8000	Deferred        winevulkan
PE	00000003b8f00000-00000003b8fc1000	Deferred        winmm
PE	00000003be590000-00000003be5f4000	Deferred        dbghelp
PE	00007f9d94cf0000-00007f9d94cf4000	Deferred        winex11
Threads:
process  tid      prio (all id:s are in hex)
00000038 services.exe
	["C:\windows\system32\services.exe"]
	0000003c    0
	00000040    0
	00000078    0
	00000084    0
	000000a4    0
	000000bc    0
	000000cc    0
	00000100    0
0000004c explorer.exe
	[C:\windows\system32\explorer.exe /desktop]
	00000050    0
	000000ec    0
	000000f0    0
00000070 winedevice.exe
	[C:\windows\system32\winedevice.exe]
	00000074    0
	0000007c    0
	00000080    0
	00000088    0
	0000008c    0
	00000090    0
	00000098    0
0000009c plugplay.exe
	[C:\windows\system32\plugplay.exe]
	000000a0    0
	000000a8    0
	000000ac    0
	000000b0    0
	000002fc    0
000000b4 svchost.exe
	[C:\windows\system32\svchost.exe -k LocalServiceNetworkRestricted]
	000000b8    0
	000000c0    0
	000000c4    0
000000f8 rpcss.exe
	[C:\windows\system32\rpcss.exe]
	000000fc    0
	00000108    0
	0000010c    0
	00000110    0
	00000114    0
	00000118    0
	00000488    0
	0000048c    0
00000120 tabtip.exe
	["C:\windows\system32\tabtip.exe"]
	00000124    0
	00000128    0
	0000012c    0
000003b4 (D) Z:\home\alpha-craft\Games\Heroic\Fortnite\Engine\Binaries\Win64\CrashReportClient.exe
	["../../../Engine/Binaries/Win64/CrashReportClient.exe" "C:/users/alpha-craft/AppData/Local/FortniteGame/Saved/Crashes/UECC-Windows-0EC4487D4138304D5EF0959172610D30_0000" -ImplicitSend -AppName=UE-FortniteGame -CrashGUID=UECC-Windows-0EC4487D4138304D5EF0959172610D30_0000 -DebugSymbols=..\..\..\Engine\Intermediate\Symbols]
	000003b8    0 <==
	000003bc    0
	000003c0    0
	000003c4    0
	000003c8    0
	000003cc    0
	000003d0    0
	000003d4    0
	000003d8    0
	000003dc    0
	000003e0    0
	000003e4    0
	000003e8    0
	000003ec    0
	000003f0    0
	000003f4   -2
	000003f8   -2
	000003fc    0
	00000400    0
	00000404    0
	00000408    0
	0000040c    0
	00000410    0
	00000414    0
	00000418    0
	0000041c    0
	00000420    0
	00000424    0
	00000428    0
	0000042c    0
	00000430    0
	00000434   -1
	00000438    0
	0000043c    1
	00000440    1
	00000444    1
	00000448    1
	0000044c    0
	00000460    0
	00000464    0
	00000468    0
	00000474    0
00000478 explorer.exe
	[C:\windows\system32\explorer.exe /desktop]
	0000047c    0
	00000480    0
	00000484    0
00000490 tabtip.exe
	["C:\windows\system32\tabtip.exe"]
	00000494    0
	0000049c    0
	000004a0    0
System information:
    Wine build: wine-5.12-15762-ge9a47cbabb9 (Staging)
    Platform: x86_64
    Version: Windows 10
    Host system: Linux
    Host version: 6.2.10-200.fc37.x86_64

I don't think this is relevant for this repository.
AFAIK the Anti-Cheat causes a crash when joining the lobby, and part of this was already discussed in #918

Sorry to bump a closed issue, but I believe I know exact cause of the crash. It is related to a custom anti-tamper technology used specifically in Fortnite (at least, I haven't seen similar thing used in other applications).
To avoid the crash, you have to add stubs for several functions from ntdll:

RtlEnumerateGenericTableAvl
RtlNumberGenericTableElementsAvl
RtlGetElementGenericTableAvl
RtlLookupElementGenericTableAvl
RtlDeleteElementGenericTableAvl

See this patch for reference.

@SingleInfiniteLoop Might be worth posting at https://github.com/ValveSoftware/Proton so they can further investigate rather than here. We personally can't do anything with the information you just gave us, as it doesn't entirely relate to the operation of this project.


Obsoleted _TASK_ROLLOVER_FIX

Based upon http://arduino.stackexchange.com/a/12588/10648, the extra
code for _TASK_ROLLOVER_FIX should not be needed if the math is done
slightly different. I updated the code and did some quick tests and it
appears correct. Example #6 returns the same values for IDLE, but a few
less ms when not compiled with IDLE. Using the setMillis() function in
the SO posting, I did some quick tests with Example #2. using
setMillis(-3000) sets the millis() value to 3 seconds before rollover.
Task #1 gets an extra catch-up hit, but not Task #2. But, it works the
same as the original code though when using setMillis(-3000).
Let me know if you have questions.

You are right. Thanks.

Wow! The  execute() loop becomes really lean.. I love it!

Hi,
Was I supposed to update the library.properties file too? (I'm new to this...) I noticed that the Ardunio IDE does not see that this project has been updated. What about the readme file and/or the doc folder?
Thanks,
Jim

No, I updated it, just didn't publish yet. Thanks.
On Mon, Nov 30, 2015 at 12:23 PM -0800, "Jim Foster"<EMAIL_ADDRESS>wrote:
Hi,
Was I supposed to update the library.properties file too? (I'm new to this...) I noticed that the Ardunio IDE does not see that this project has been updated. What about the readme file and/or the doc folder?
Thanks,
Jim

Reply to this email directly or view it on GitHub:
https://github.com/arkhipenko/TaskScheduler/pull/10#issuecomment-160750766

OK, good to know.

 I just went back to my project and went to update my TaskScheduler library, but I don't see 1.9.1, just 1.9.0. How do I get the Ardunio dev environment see the update?

It's a mystery to me too. I usually just download and replace in the folder directly... Sorry. Can't be more helpful...  I just went back to my project and went to update my TaskScheduler library, but I don't see 1.9.1, just 1.9.0. How do I get the Ardunio dev environment see the update?

Reply to this email directly or view it on GitHub:
https://github.com/arkhipenko/TaskScheduler/pull/10#issuecomment-163069361

I had to revert back to 1.9.0 - there is an issue with "delayed" methods if we use this approach.

Really? What kind of issue, if I may ask.

Of course. When you delay a task execution for more than a current interval, instead of delaying, it actually starts executing immediately, indefinitely and as if interval is zero.
The reason is that previous millis in that scenario are ahead of current, which means that m-p is always negative, but since it's unsigned, it is always MUSH larger than interval, so it is scheduled for execution immediately, and since interval is added to previous millis after execution, it never stops (p is always ahead of m).
Please compile the following code with 1.9.1 and 1.9.0 and observe the different behavior.
#include <TaskScheduler.h>
// Callback methods prototypes
void t1Callback();
//Tasks
Task t1(1000, -1, &t1Callback);
Scheduler runner;
void t1Callback() {
Serial.print("t1: ");
Serial.println(millis());

}
void setup () {
Serial.begin(115200);
Serial.println("Scheduler delay TEST");

runner.init();
Serial.println("Initialized scheduler");

runner.addTask(t1);
Serial.println("added t1");

delay(5000);

t1.enableDelayed(2000);
Serial.println("Enabled t1");
}
void loop () {
runner.execute();
}
Regards,
Anatoli
From: Jim Foster
Sent: Monday, December 14, 4:26 PM
Subject: Re: [TaskScheduler] Obsoleted _TASK_ROLLOVER_FIX (#10)
To: arkhipenko/TaskScheduler
Cc: Anatoli Arkhipenko
Really? What kind of issue, if I may ask.
—
Reply to this email directly or view it on GitHub.

I will try and look at this and see what I can find (but I don't know when that will be with the holidays, wife's birthday in early January, etc.), but my first thought is that the delay code should not be relying on those negative numbers either.
Here's my take without cracking open the code. Shouldn't the delay code be handled mathematically the same way as the interval code? Isn't the delay just a special one-time version of an interval?
Or am I missing something here?

Well, the main decision point is this:
if ( m - p < i ) break;

which assumes that m (millis)  should always be later than p (previous millis).
In the delay case, p could be pushed beyond m, which would be fine if we were using the negative numbers.
My initial approach was to work with the target time, not interval, which by definition must not happen earlier than the previous millis (unless your interval is comparable with 50 days!). So rollover detection is pretty reliable. I think it is safer, but will continue pondering, since now I am not sure it is safe if a delay method causes a rollover... Fun!
			targetMillis = p + i;
			if ( targetMillis < p ) {  // targetMillis rolled over!
				if ( p > ( m - i) )  break;
// basically (p > ( m - i))  is same as (i > m - p) or (m - p < i) - are we back to delayed problem???
			}
			else
				if ( targetMillis > m ) break;

In the end, it only affects systems that run fro 50 days non-stop. How many of those are there???

I guess I can limit the max available interval to some very large number (less than max long<PHONE_NUMBER> for instance), and always first check if m - p is more than<PHONE_NUMBER>, thus detecting a negative number:
long d = (long) (m - p);
if ( d < i ) break;  // since d would be negative, things should continue to work...

That should do it?
Say, max interval is 24 days:<PHONE_NUMBER>L millis.  Whoever needs to run a task less frequently will have to rely on a different library...

I haven't had a chance to look at the code, so these comments are partly speculation, but why would the delay code not work in a way similar to the interval code? If the newer interval code takes care of the rollover inherently, why not adjust the delay code (which I never considered at the time--sorry) to work in a similar way? Isn't the delay just a special one-off "interval"?

Exactly what I thought!
Could you please check the 'testing' branch? I think it works (tested with all examples and more). I know you are busy, but appreciate if you could have a look. (Happy birthday to your wife by the way)

@arkhipenko, yup, I can look at it and give it a spin. At this point the earliest I can get to it will be Friday evening, but more likely over the weekend.

@arkhipenko--I pulled down a fresh copy of "testing" today (1.9.1), and yes, it seems to work just fine. Should this version be called 1.9.2?? Just in case someone else snagged a version of 1.9.1 with the delay issue you found?  Your call...

I guess you are right, better avoid confusion.


Build failure: php84Packages.psalm

Steps To Reproduce
Steps to reproduce the behavior:

build php84Packages.psalm

Build log
Installing dependencies from lock file
Verifying lock file contents can be installed on current platform.
Your lock file does not contain a compatible set of packages. Please run composer update.

  Problem 1
    - Root composer.json requires php ^7.4 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 but your php version (8.4.0beta3) does not satisfy that requirement.

Additional context
Notify maintainers
@NixOS/php

Metadata
broken on master (94c66368e01b37c60b85ce8cfa5f2cb48cc5651f)

Add a :+1: reaction to issues you find important.

I'm not surprised by this. Most likely that Psalm is not ready yet for PHP 8.4 since it hasn't been officially released as stable release.


Make tensorflow the only backend

This removes the ability to swap out backends in favor of only using tensorflow. I think it makes the code a bit easier to follow, but I probably missed a few things. I think this should be reviewed for any major problems, but otherwise we fix small things in followups.
I left in the ability to unpack distributions, and moved the distribution initialization to just after that (previously this had been done via multiple inheritance). I also made distribution initialization a static method in case we want to get the tensorflow distributions external to the pymc3 model for inspection.
I implemented a few new distributions along the way, and uncommented their tests.

This looks great, I'll go ahead and merge so that things go out of sync, if there are follow-up fixes we want to do it's no big deal.


fix #9

Fixes #9. Now my game runs without crashing!

Breaking change: load_mem_ex is renamed to _load_mem_ex.

As always, please modify any details as you like.
Also, adding short module comment before updating to 0.3.1 would be nice. I tried writing some:
 /* audio/mod.rs */
//! Audio sources

 /* filter/mod.rs */
//! Audio filters

 /* lib.rs:struct Handle */
/// `Handle` can be used to adjust the parameters of the sound while it's playing

Not sure if they're appropriate comments, but maybe better than nothing?
Thank you :) [Edited]

Looks good. Thanks.
I'll run a warn(missing_docs) lint this evening.

Looks good. Thanks.
I'll run a warn(missing_docs) lint this evening.


Add social media card to repository

This needs to wait for #277.

Postponed to v2.0.0.
I won't have the time to work on it for v1.3.0.


For Power BI, distinction between datasets are labelled as PowerBI and dataflows as PowerQueryOnline

For those unfamiliar with the terminology, explain on this page the distinction between datasets is labelled as PowerBI and dataflows as PowerQueryOnline
This will help those who are not completely sure of terminology and how this maps back to Power BI artifacts

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

ID: 08217244-82bb-13b5-46f7-454801d8f865
Version Independent ID: 4a8b0a32-bf57-7544-c60d-6b7f250c4477
Content: Azure service tags overview
Content Source: articles/virtual-network/service-tags-overview.md
Service: virtual-network
GitHub Login: @allegradomel
Microsoft Alias: kumud

@Firstly apologies for the delay response!
Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.

#reassign-reviewer: @mbender-ms

#reassign-reviewer: @andreamichaelmsft


Tutorial canvas

Closes #175

@wilberquito
It can be tested in two situations.
Wait next to captain Java.
Wait nest to the first puddle.


Added deleteCookie steps and tests

Description
New feature : Added deleteCookie which gives the ability to delete cookies from the browser.
Interrogation

There is only two scenarios in the unit test i can't seems to think of other scenarios, it might need some more.

Looks good to me!  My only recommendation is to make a new test HTML page called deleteCookie.html so we don't accidentally get interactions between the checkCookieExists unit tests (since these tests are deleting the same existing-cookie cookie).


Unable to create certificate on windows

I am using mod_md v2.2.7 from Apache 2.4.43 from apachelounge.com.
I am trying to configure a couple of hosts. But I am getting the following errors.
Apache log:
[Thu Jun 25 20:26:05.131666 2020] [md:error] [pid 12916:tid 4] ACME server authz: challenge 'invalid' for vidyasridhar.no-ip.org at https://acme-v02.api.letsencrypt.org/acme/authz-v3/5471419350. Exact response was: {"identifier":{"type":"dns","value":"vidyasridhar.no-ip.org"},"status":"invalid","expires":"2020-07-02T14:55:58Z","challenges":[{"type":"http-01","status":"invalid","error":{"type":"urn:ietf:params:acme:error:unauthorized","detail":"Invalid response from http://vidyasridhar.no-ip.org/.well-known/acme-challenge/xDZiHoccWDQV26wxi6gqk4mNI0rplRjWhhbyUujj9zA [<IP_ADDRESS>]: \"                                              \\n                                              404 Not Found</T\"","status":403},"url":"https://acme-v02.api.letsencrypt.org/acme/chall-v3/5471419350/qqgfcg","token":"xDZiHoccWDQV26wxi6gqk4mNI0rplRjWhhbyUujj9zA","validationRecord":[{"url":"http://vidyasridhar.no-ip.org/.well-known/acme-challenge/xDZiHoccWDQV26wxi6gqk4mNI0rplRjWhhbyUujj9zA","hostname":"vidyasridhar.no-ip.org","port":"80","addressesResolved":["<IP_ADDRESS>"],"addressUsed":"<IP_ADDRESS>"}]}]}
The same error is for another domain that I am trying to use as well, but I have not shown it because the information is simply repeated.
md-status:
errors.txt
Is it because there is already a certificate (says that it expires 2020-07-02)?
Also, how do I set the name property in the conf file? I am referring to the "name": "vidyasridhar.no-ip.org".
Thanks,
Sridhar

Thanks for the details. As I read it, the ACME validation is not allowed to access the url http://vidyasridhar.no-ip.org/.well-known/acme-challenge/xDZiHoccWDQV26wxi6gqk4mNI0rplRjWhhbyUujj9zA on your server (it gets status 403 which is HTTP for access denied).
mod_md is designed to handle these resources before common user authentication happens.

The other cause could be your ISP that denies access to port 80 in general. Some are known to do so.
The alternative is to setup the TLS-ALPN authenticaton which only uses port 443. Look in the README for some how-tos.

Thank you for the prompt response.
I do not have mod_security. I am able to access http://vidyasridhar.no-ip.org/.well-known/acme-challenge/
I created a test file called testfile.txt and I am able to view that.
However, what is strange is that the contents of the file is changing. It contains gYV5uJWEDjikGxVpnv4bBkzmSMfDN3y5IUnDfLdK9J0.F-rtkc_GNZ3tB9AlOOI_ZqkQWLB5hCo07q6O3-_muig which is the same content that is returned by http://vidyasridhar.no-ip.org/.well-known/acme-challenge/xDZiHoccWDQV26wxi6gqk4mNI0rplRjWhhbyUujj9zA
When I created that file, I just had 12345 for testing purposes.
What could be happening here?
BTW, I had been using win-acme before and I had gotten it to work. That's why I suspected that the certificate may still be there (says 2020-07-02) and that could be causing a problem. All this started when I wanted to add a new domain and I got the same problem with win-acme and I decided to try it with mod_md.
Thanks.

Added some more logging, but getting the same error. This is an extract from apache's error_log. Please help.
error_log.txt

If you experience the same problem with 2 acme clients, as I understand you, the problem is probably not in a particular  client. General acme problems are best discussed at https://community.letsencrypt.org where there are several very helpful people with lots of experience.

Yes, same problem with multiple clients (win-acme, certbot and now, mod_md). Will try that forum as you suggested. Thanks.

I wanted to note that this turned out to be a problem with the ISP modem running a webserver on port 80 so that "external" clients couldn't navigate to the web server. This was not "visibile" because when I requested the same URL from "internal" machines, I was getting the correct result as the internal router was sending the request correctly to the webserver without touching the modem (which acted as an external gateway).

 And thanks for the follow up here.


I cannot write anything on my the terminal. It is showing up, but I cannot write anything on it

I installed this package on atom and opened it but i cannot write anything on it. I checked the installed package on the setting, there I found out that the package hasn't been installed completely. So then I tried uninstalling it so I could install it again but the package cannot be uninstalled for some reason.

Please retest again with platformio-atom-ide-terminal 2.9.0.
These type issues all so far seem fixed with this release due to using node-pty-prebuilt instead unmaintained and outdated pty.js


[Feature Request] Access raw json of requests instead of Object form

When using the rest client, is it possible to just have the commands return raw json? The client is extremely hard to use because an Object Oriented approach has been forced into it, which results in more complex code to extract usable information. Take the following process:
I want to get all my data converters and iterate over them
converters = rest_client.get_converters("1000","0")
for idx, converter in enumerate(converters['data']):
   pass

# Fails with error
# TypeError: 'PageDataConverter' object is not subscriptable

The above code will not work. This is because the rest client converts the default json response into an object PageDataConverter.
I'm not sure why this needs to be an object. It's just a json response from the server, which should be really easy to work with. Instead for every single request I need to add this function.
def toJson(input):
    return ast.literal_eval(str(input))

converters = toJson(rest_client.get_converters("1000","0"))
for idx, converter in enumerate(converters['data']):
   pass

# Works

Can we just have access to the raw response?

Hi @JacksonBowe, it is not a dictionary, it is an obj class.
Try to use it:
with RestClientPE(base_url=url) as rest_client:
    try:
        # Auth with credentials
        rest_client.login(username=username, password=password)
        user = rest_client.get_user()

        converters = rest_client.get_converters("1000", "0")

        for index, item in enumerate(converters.data):
            print(index, item)

    except ApiException as e:
        logging.exception(e)


refactor(canopy): work to match PRMS canopy calculations

implemented vectorized and procedure calculate procedures
still sloppy and needs work; does not match PRMS yet

Codecov Report

Merging #50 (3b96cad) into main (449f60b) will decrease coverage by 2.04%.
The diff coverage is 66.48%.

@@            Coverage Diff             @@
##             main      #50      +/-   ##
==========================================
- Coverage   77.39%   75.34%   -2.05%
==========================================
  Files          27       27
  Lines        1637     1793     +156
==========================================
+ Hits         1267     1351      +84
- Misses        370      442      +72

Impacted Files
Coverage Δ

pynhm/canopy/PRMSCanopy.py
63.72% <62.02%> (-33.29%)
:arrow_down:

pynhm/base/storageUnit.py
95.00% <95.83%> (+4.52%)
:arrow_up:

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 449f60b...3b96cad. Read the comment docs.


Don't run ci if only markdown files on root directory changed

If changelog and other markdown files on root directory are updated, there is no reason for CI to run.

More similar stuff could be done like don't run backend tests when only frontend changes, but I'm afraid this will need more individual pipelines, which brings the downside that each of them needs separate dependency installation, so it may slow down full CI runs.

this might skip the docker build on tag when the tag happens on a changelog.md only commit

But looks like *.md only match all markdown files on the root folder? So only below files are affected
CHANGELOG.md       CODE_OF_CONDUCT.md CONTRIBUTING.md    README.md          README_ZH.md       SECURITY.md

Closed as we are converting to actions


Message merge update according to the dynamic file streaming.

Still need to write unit tests but it'll be nice to be reviewed as it is.
Splitting up #220, it's the biggest chunk of the split PR.

Looks good!
I only have one question left: How are the DataPiece messages created from the Kafka messages? Specifically, how is the StreamModuleKey constructed from kafka messages?

The messages come as flat buffers so we need to deserialize it based on the schema (it can be parsed from the flat buffer) and then see the source_name or name field to parse the source and the topic can be retrieved from the Message  object of Kafka api.
It's not super simple so maybe easier to show the solution, which will be done in a later PR...!

It's not super simple so maybe easier to show the solution, which will be done in a later PR...!

Sounds good!


Profiles / Environments / remotes

For the purpose of the peace framework, we should decide on the term "profile" or "environment", instead of "remote".
For many script-like automations like "download this file and run it", if we want to know the state of our downloaded file, we don't normally care about different profiles / environments. In that scenario we only care about:

Here's my URL
Here's the destination path
Logic:

Is the file already downloaded?
Do the download.

There's no environment to connect to, so a git-fetch-like operation doesn't make sense -- in other words, the local computer is the default environment. Meaning if we want environments to be a general supported concept, it should be defaulted for workflows that don't need environments.
However, one may later decide "actually I want to run this for a different set of parameters", which is conceptually a different profile / environment.

Addressed by #25 and #27 -- we store profile specific information in separate directories.


Skip non-user URLs when autodetecting a GitHub repository

Uses a hardcoded list of known examples (from a new dependency).
Closes: #12725

(Leaving as draft -- I didn't investigate improving the 404 behavior generally, will see if I get any additional time to do so, though what's here should fix the specific example(s) already)

I might be able to help out with the error-response handling side of this: after looking at how the frontend handles stats display currently, I've opened #12759, which displays some of the existing code (I'm not sure yet whether the suggested fix is a good one though).

Ah amazing, well done, yeah that looks nice!

Thanks!  The name-filtering approach here looks good, too.  Something probably worth checking: is the COPYING file from github-reserved-names included when it's built into a package?

is the COPYING file from github-reserved-names included when it's built into a package?

Looks like it is yeah, let me know if you were just asking or if you'd seen it not be included somehow.

Thanks - I'd taken a look at the pyproject.toml license configuration and wasn't sure whether the COPYING file would be bundled when a text license is specified.
The reason I asked is that I noticed you credit the NPM source package -- the correct thing to do -- and I wanted to check that that work and reference is included in the distributed package (and indirectly in pypi/warehouse as well).
(I've recently worried about making mistakes related to copyright and attribution in my own projects - and so it was on my mind to check for similar problems elsewhere; even at the risk of seeming like asking difficult questions.  on balance I figured it was better to ask.  in retrospect I probably should've just downloaded the package and checked myself)

Ah no worries at all, it's a helpful question! And even with the laziness, better to ask and have me check than stay quiet :D -- yeah don't worry bout that, I'm lazy enough for all of us so I don't mind offloading a bit of it hah.
Anyways, now I don't really understand why CI is complaining about dependencies, so trying to figure out what it expects me to run beyond pip-compile.

@Julian Might want to check the version of pip-tools you have, I see some extraneous changes here.


Scalable OEIS proxy

We want to reduce the traffic on the OEIS website for fetching stripped.gz, names.gz and the b-files. Miners should not fetch the files directly from OEIS, but from a LODA proxy which caches the files.
We would implement a simple proxy server that caches the files locally. For scalability: we add a look-up endpoint to the (central) API server. Every miner calls the look-up API once during start up. It fetches a list of servers (and their capabilities). It randomly selects one of the available servers and uses it for its lifetime (probably change after 12h or so). That would allow us to scale, also for submission of programs. It would also allow us blue/green deployments.

We have an OEIS proxy now. It is not really scalable, but it caches the files, which is good enough for now.


Proper multi-line paste

A proper multi line paste; should work like vim. I need to inspect the content of the paste
to detemrine if it does or does not have new lines.


Make the scripts more general

The tools created here were developed to fix a specific bag file, but most of these tools can be used for other situations with little to no adaptation of the code.
We can implement a set of input args to make it easy to adapt.

Right. That's what I did in the scripts I developed.

I have to implement some improvements.
But they are done.
I also update the readme.


klog-rs: 0.2.0 -> 0.3.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/tobifroe/klog/releases.
meta.description for klog-rs is: Tool to tail logs of multiple Kubernetes pods simultaneously
meta.homepage for klog-rs is: https://github.com/tobifroe/klog
meta.changelog for klog-rs is: https://github.com/tobifroe/klog/releases/tag/0.3.1
Updates performed

Rust version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.3.1 with grep in /nix/store/07vdxc9ldgwllia2c8hd5iqqfzbrv115-klog-rs-0.3.1
found 0.3.1 in filename of file in /nix/store/07vdxc9ldgwllia2c8hd5iqqfzbrv115-klog-rs-0.3.1

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

klog-rs

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/07vdxc9ldgwllia2c8hd5iqqfzbrv115-klog-rs-0.3.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A klog-rs https://github.com/r-ryantm/nixpkgs/archive/0938529cc9271dde3434be45438f24a02e9d0d76.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/0938529cc9271dde3434be45438f24a02e9d0d76#klog-rs

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/07vdxc9ldgwllia2c8hd5iqqfzbrv115-klog-rs-0.3.1
ls -la /nix/store/07vdxc9ldgwllia2c8hd5iqqfzbrv115-klog-rs-0.3.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review

x86_64-linux

:white_check_mark: 1 package built:

klog-rs

Maintainer pings
cc @tobifroe for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

@NixOS/nixpkgs-merge-bot merge


IdS4 problem with Authority URL

I am connecting with oidc-client.js to an ASP.NET Core Web Api which I want to protect with IdS4/AccessTokenValidation. The api and the IdS run on the same server on port 443. The server is behind a router/firewall and I have configured a port forwarding for port 443.
The problem is this:
when I configure the authority URL in the api to https://localhost... this results in "Issuer name does not match authority" because the authority in the oidc-client is of course set to the WAN address.
But when I configure the authority URL to the WAN address, my router blocks the request to the IdS. I think this is because there is no NAT loopback.
Is this a known problem? Do I misunderstand anything? Or is NAT loopback a required feature for this scenario? Unfortunately the router I am working with doesn't seem to support it.

Have you looked at the load balancing and deployment docs?

Sorry for my ignorance.
You mean this?
http://docs.identityserver.io/en/release/topics/deployment.html
I don't see much about IdentityServer that could help me except maybe the given link to MS
https://github.com/aspnet/Docs/issues/2384
Given your hint about load balancing I found his article which seems very helpful:
http://amilspage.com/set-identityserver4-url-behind-loadbalancer/
As a quick fix I solved the problem using the IssuerUri option.
http://docs.identityserver.io/en/release/reference/options.html
(Although the reference recommends to not use it)


Build Performance, Startup Performance

Follow the directions found here: https://github.com/JonDouglas/AndroidPerformanceAndAppSizeChallenge

Build Performance (No bin/obj)

Before Cold Build Times Changes:

Time Elapsed 00:00:20.42

After Cold Build Times Changes:

Time Elapsed 00:00:17.37

Build Performance (Incremental change)

Before Incremental Build Times Changes:

Time Elapsed 00:00:01.12

After Incremental Build Times Changes:

Time Elapsed 00:00:01.00

Startup Performance (Activity Displayed)

Before Startup Tracing:

ActivityManager	Displayed com.companyname/md598d6b30712be9407dad13bbdd87ba4ff.MainActivity: +4s663ms

After Startup Tracing:

ActivityManager	Displayed com.companyname/md598d6b30712be9407dad13bbdd87ba4ff.MainActivity: +2s975ms

Application Size (Download Size)
I couldn't run apkanalyzer on my both Windows machines :/
Bonus

Include a Diagnostic MSBuild Log File or MSBuild BinLog File

Any comments / feedback for how we can improve this experience?
Maybe could you create some video on YT about it?
Version Information (Help -> About Visual Studio -> Copy Information)
Microsoft Visual Studio Community 2019
Version 16.2.3
VisualStudio.16.Release/16.2.3+29215.179
Microsoft .NET Framework
Version 4.8.03752
Installed Version: Community
Visual C++ 2019   00435-60000-00000-AA461
Microsoft Visual C++ 2019
Add New File   3.5.134
The fastest and easiest way to add new files to any project - including files that start with a dot
Application Insights Tools for Visual Studio Package   9.1.00611.1
Application Insights Tools for Visual Studio
ASP.NET and Web Tools 2019   16.2.290.48383
ASP.NET and Web Tools 2019
ASP.NET Web Frameworks and Tools 2019   16.2.290.48383
For additional information, visit https://www.asp.net/
Azure App Service Tools v3.0.0   16.2.290.48383
Azure App Service Tools v3.0.0
Azure Functions and Web Jobs Tools   16.2.290.48383
Azure Functions and Web Jobs Tools
C# Tools   3.2.1-beta4-19408-03+2fc6a04980f800c59e8ede97e6ae294ff47d666e
C# components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.
Common Azure Tools   1.10
Provides common services for use by Azure Mobile Services and Microsoft Azure Tools.
Extensibility Message Bus   1.2.0 (d16-2@8b56e20)
Provides common messaging-based MEF services for loosely coupled Visual Studio extension components communication and integration.
HotReload Extension   1.4.0
Xamarin.Forms HotReload Visual Studio Extension
IntelliCode Extension   1.0
IntelliCode Visual Studio Extension Detailed Info
Microsoft Azure Tools   2.9
Microsoft Azure Tools for Microsoft Visual Studio 0x10 - v2.9.20626.2
Microsoft Continuous Delivery Tools for Visual Studio   0.4
Simplifying the configuration of Azure DevOps pipelines from within the Visual Studio IDE.
Microsoft JVM Debugger   1.0
Provides support for connecting the Visual Studio debugger to JDWP compatible Java Virtual Machines
Microsoft Library Manager   1.0
Install client-side libraries easily to any web project
Microsoft MI-Based Debugger   1.0
Provides support for connecting Visual Studio to MI compatible debuggers
Microsoft Visual C++ Wizards   1.0
Microsoft Visual C++ Wizards
Microsoft Visual Studio Tools for Containers   1.1
Develop, run, validate your ASP.NET Core applications in the target environment. F5 your application directly into a container with debugging, or CTRL + F5 to edit & refresh your app without having to rebuild the container.
Microsoft Visual Studio VC Package   1.0
Microsoft Visual Studio VC Package
Mono Debugging for Visual Studio   16.2.6 (4cfc7c3)
Support for debugging Mono processes with Visual Studio.
Node.js Tools   1.5.10610.1 Commit Hash:529a87de2769e143655e31ea81795c42e5775ef8
Adds support for developing and debugging Node.js apps in Visual Studio
NuGet Package Manager   5.2.0
NuGet Package Manager in Visual Studio. For more information about NuGet, visit https://docs.nuget.org/
ProjectServicesPackage Extension   1.0
ProjectServicesPackage Visual Studio Extension Detailed Info
ResourcePackage Extension   1.0
ResourcePackage Visual Studio Extension Detailed Info
ResourcePackage Extension   1.0
ResourcePackage Visual Studio Extension Detailed Info
SQL Server Data Tools   16.0.61906.28070
Microsoft SQL Server Data Tools
TypeScript Tools   16.0.10627.2001
TypeScript Tools for Microsoft Visual Studio
Visual Basic Tools   3.2.1-beta4-19408-03+2fc6a04980f800c59e8ede97e6ae294ff47d666e
Visual Basic components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.
Visual F# Tools 10.4 for F# 4.6   16.2.0-beta.19321.1+a24d94ecf97d0d69d4fbe6b8b10cd1f97737fff4
Microsoft Visual F# Tools 10.4 for F# 4.6
Visual Studio Code Debug Adapter Host Package   1.0
Interop layer for hosting Visual Studio Code debug adapters in Visual Studio
Visual Studio Tools for Containers   1.0
Visual Studio Tools for Containers
VisualStudio.Mac   1.0
Mac Extension for Visual Studio
WakaTime   1.0
Xamarin   <IP_ADDRESS> (d16-2@37df81894)
Visual Studio extension to enable development for Xamarin.iOS and Xamarin.Android.
Xamarin Designer   <IP_ADDRESS>5 (remotes/origin/d16-2@357d38ef4)
Visual Studio extension to enable Xamarin Designer tools in Visual Studio.
Xamarin Templates   16.3.117 (59a59e8)
Templates for building iOS, Android, and Windows apps with Xamarin and Xamarin.Forms.
Xamarin.Android SDK   <IP_ADDRESS> (d16-2/ebd65c9)
Xamarin.Android Reference Assemblies and MSBuild support.
Mono: mono/mono/2019-02@e6f5369c2d2
Java.Interop: xamarin/java.interop/d16-2@d64ada5
LibZipSharp: grendello/LibZipSharp/d16-2@caa0c74
LibZip: nih-at/libzip/rel-1-5-1@b95cf3f
ProGuard: xamarin/proguard/master@905836d
SQLite: xamarin/sqlite/3.27.1@8212a2d
Xamarin.Android Tools: xamarin/xamarin-android-tools/d16-2@6f6c969
Xamarin.iOS and Xamarin.Mac SDK   <IP_ADDRESS> (c669116)
Xamarin.iOS and Xamarin.Mac Reference Assemblies and MSBuild support.

@Klewerro Thank you so much for your submission! To claim your swag, please fill out this quick survey!
http://aka.ms/androidappchallenge


Strange list_get behavior

Describe the bug
Code with multiple list-gets has unpredictable effects on output.
To Reproduce
Compiling
list_get (list "ABC" "123") 1;
list_get (list "DEF" "456") 1;
println (list_get (list "GHI" "789" ) 1);

with -l py
produces
["ABC","123"][1]
["DEF","456"][1]
print(["GHI","789"][1])

Deleting either of the first 2 lines causes it to produce
print("789\n")

Expected behavior
The lines of code before the last one should not affect how golfed the last line is. Also, note that deleting even one of the first two lines causes the other to not be outputted at all.
I suspect this may have nothing to do with the list_get op and just be about some ceiling being hit on the number of golf plugins that can be run, but at the moment I'm not sure.

This is caused by a malfunctioning interpreter / hardcode plugin.
We can see that Polygolf is not able to evaluate the output of the original program, but it is able to evaluate the program with one of the lines deleted, hence being able to reduce the whole program to just hardcoding the output.

Ah, this is simply caused by the js output not being valid javascript. The first line needs  a semicolon. So this ain't a big issue, since you don't really need to use discards like this. Alternatively we can ban implicit discards outside of tests as I was considering doing several times.
Are there golf relevant cases of the automatic semicolon insertion failing?

No relevant cases outside of testing that I'm aware of, I just stumbled across this while testing #252

We can just output single line javascript, but that would make tests slightly less readable.

I think "semicolons only where they are strictly needed and newlines elsewhere" is a common enough golfing style to be justifiable. It trades off a bit of simplicity and consistency but maintains the readability benefits as much as possible.

On second thought, there is at least one golf application of a statement starting with an open bracket:
[a,b]=`1 2`.split` `

On second thought, there is at least one golf application of a statement starting with an open bracket:
[a,b]=`1 2`.split` `

Ok, I will patch js to replace newlines with semicolons where needed.


Connection reset after users reach 800 online

I use Nginx server with SSL connection, when users enter under 800, everything runs normally, but when the user rises above 800, sometimes a connection reset class occurs, even though it has raised the ulimit to 40000, please help

Do you run it using Supervisor?

Exactly

Check this documentation: http://socketo.me/docs/deploy#supervisor
You might need to also set minfds a higher number.

I have set it to 40000, but nothing changes.
in the end I changed the queue driver from sync to redis,

A bit of googling got me here: https://github.com/Oefenweb/ansible-supervisor/issues/49

okay, thanks for the response. I think I have applied it in Oefenweb/ansible-supervisor#49, and I skipped the configuration from http://socketo.me/docs/deploy. I have applied it, I will wait for it tomorrow morning, because the user will peak at 7 to 9 am. I'll update you later, thanks again

Come back on this issue if it didn't work out.


Modifications to Tax Smoothing lecture notebook

Edits to be made for smoothing.rst:

[x] Replace the old code that had hard wired N =2 for the Markov chain case with the new code that works for a N

[x] Adjust the examples in the lecture that use the old hardwired N=2 code to use instead the new more general code.

[x] Bring in the new examples from the Jupyter notebooks and add some text and maybe more examples

[x] change some of the graphs in the by flipping the sign of "government assets" to record instead "government debt" and adjust the graphs accordingly.

hi @shizejin thanks for the PR. I noticed there are some conflicts that need to be resolved with source/rst/smoothing.rst. Would you be able to resolve these?

Hi @mmcky, thanks for reminding. Tom and I are still working on it. I will make sure to resolve all the conflicts and notify you when it is ready for merge. Thank you again!

hey @shizejin -- great - no problem at all.
Take your time and please tag ready when its ready to merge.

Hi @jstac @mmcky , these two lectures about consumption smoothing and tax smoothing are now ready for review and merge. :)

@shizejin can the file source/rst/junk_editing_tom be deleted?

Hi @mmcky thanks for spotting this. I have deleted the file.

thanks @shizejin

This is very nice, many thanks @shizejin and @thomassargent30 .  The exposition and code is clear.  It helps to have the two topics treated one by one.
I have some suggestions/requests:

Insmoothing.rst, in the first figure, the font size is inconsistent across the two titles of the subfigures.
In the same figure, title of left hand figure, please replace "cons" with "consumption".
In the same figure, left hand subfigure, I would reset the ylim to zoom in a bit on the data.

Also, in smoothing_tax.rst, there is a sequence of the following pattern: three figures in a single row, showing three different kinds of paths.  I'm concerned that this subfigure format (3 cols, one row) won't fit well into the PDF.  It would be better if each subfigure was flattened and they were stacked vertically.  This might even look better on the website.
A side point: in the same set of figures, I would try letting matplotlib pick all the colors, rather than specifying that some are green and blue.  Matplotlib coloring has been carefully designed so that the combinations look nice together.  Let's use their default colors when possible.
Thanks in advance.  This is nearly ready to merge.
PS I even learned a new word reading these lectures --- prologomenon!

Hi @jstac , Thank you so much for your quick and careful reviews and your suggestions. I think all of them make sense, and will modify the lectures accordingly.
And I have a small question about the side point you mentioned which is about specifying the color for plots. I was doing so basically to align the colors of lines and axes in the twinx plot. I think it is possible to first plot a line with default color suggested by matplotlib and then apply the same color to the axis, but I am afraid that the code for finding out the color that is used might be verbose. I wonder if there is any better way to fulfill this purpose?

Hi. Matt. Yes.  Tom
On Mon, Oct 7, 2019, 7:05 PM mmcky<EMAIL_ADDRESS>wrote:

@shizejin
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_shizejin&d=DwMCaQ&c=slrrB7dE8n7gBJbeO0g-IQ&r=hV4qLWg4zodvX-YQ-ETIbA&m=Aoy9j4DVkxeM5tJpKbNwtFVLzszhf1ITEJXntu2GRLM&s=XGylUxoNgNB7JXuqxasNjquOVbk7aAtdd-I6iTVpIIU&e=
can the file source/rst/junk_editing_tom be deleted?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_QuantEcon_lecture-2Dsource-2Dpy_pull_617-3Femail-5Fsource-3Dnotifications-26email-5Ftoken-3DAA63MTS7KGHEGXB4XFV2DLTQNO56NA5CNFSM4IQCKU5KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEASCVWY-23issuecomment-2D539241179&d=DwMCaQ&c=slrrB7dE8n7gBJbeO0g-IQ&r=hV4qLWg4zodvX-YQ-ETIbA&m=Aoy9j4DVkxeM5tJpKbNwtFVLzszhf1ITEJXntu2GRLM&s=u7PDF-uan1A5Vmk62lo_Z4S82xe4CWiaZlPvmSUBzJ8&e=,
or mute the thread
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AA63MTTX4XHEMVI27ZZLFBTQNO56NANCNFSM4IQCKU5A&d=DwMCaQ&c=slrrB7dE8n7gBJbeO0g-IQ&r=hV4qLWg4zodvX-YQ-ETIbA&m=Aoy9j4DVkxeM5tJpKbNwtFVLzszhf1ITEJXntu2GRLM&s=k9Qr357QMiJtG4ySq7-WcD_BitrTTyOwH9DfnZTyF6s&e=
.

Sorry @shizejin, I'm not sure of a good approach.
Perhaps it's not necessary to align the colors (I'm not 100% sure what you mean).
Even if the code is a little verbose, I don't mind as long as it's well documented.
Thanks for taking care of these changes.

Hi @jstac , there are two lines in the third plot "Cumulative return path (complete market)" which have different scales, and I was trying to use color to show which axis is for which line. I guess I can try to make this goal by the way that I mentioned, and try to keep the code as concise as possible.

No problem @shizejin , just let me know when you are ready for me to review.

Thanks @shizejin , nice work.  merging now.

Thank you so much @jstac and @mmcky !


Test definitions - linting results

Problem description
While testing linting rules for Gherkin the following output was produced for NumberVerification_verify.feature
  2      Multiple empty lines are not allowed                                                    no-multiple-empty-lines
  19     Multiple empty lines are not allowed                                                    no-multiple-empty-lines
  20     Multiple empty lines are not allowed                                                    no-multiple-empty-lines
  42     Trailing spaces are not allowed                                                         no-trailing-spaces
  52     Multiple empty lines are not allowed                                                    no-multiple-empty-lines
  81     Multiple empty lines are not allowed                                                    no-multiple-empty-lines
  160    Scenario name is already used in: NumberVerification_verify.feature:111                 no-dupe-scenario-names
  191    Trailing spaces are not allowed                                                         no-trailing-spaces
  192    Multiple empty lines are not allowed                                                    no-multiple-empty-lines

For NumberVerification_device_phone_number_share.feature
  2    Multiple empty lines are not allowed                                                                       no-multiple-empty-lines
Expected behavior
The most of issues are related to formatting.
But the optional scenario title is indeed duplicated in lines 111 and 160.
It should be considered to change the filenames of test definitions to kebab-case.
Alternative solution

Additional context

@rartych I've fixed. The check on the feature file is also reflected now on the check report?

Closing as fixed within release PR #139


V2_MetaFunction type incorrect for error boundaries

What version of Remix are you using?
1.14.1
Are all your remix dependencies & dev-dependencies using the same version?

[X] Yes

Steps to Reproduce

Configure remix for the latest meta and error boundary features
Make a route that throws an error or response in the loader
Add a meta export that uses the V2_MetaFunction generic and pass <typeof loader>
Use data.whatever and see that the types are totally cool with that
Hit the route with the thrown error and see the runtime exception.

Expected Behavior
The types should warn that the data property could be undefined.
Actual Behavior
Meta functions are called for error boundaries so the data property that's passed could be undefined. The types don't allow for this currently.

I made a PR which may help explain what I need: https://github.com/remix-run/remix/pull/5787

Fixed by #6231, will be available in the next release (likely 1.17.0)


Pipenv collects a restriction from somewhere and doesn't show it in the graph output

Hi! Sorry if this has been discussed before. I tried my best to find a relevant thread.
I have a huge project which I am trying to convert to pipenv. I wrote a Pipfile (specifying most of the dependencies as "*"). Now, when I run $ pipenv install, I get the error "Could not find a version that matches django==1.11,>=1.11,>=1.3,>=1.9,>=2.0.1,>=2.2", although when I delete the virtual environment, recreate it and run $ pipenv install --skip-lock && pipenv graph, I get a graph with no mention of the ">=2.0.1" or ">=2.2" restrictions. Is that normal? If so, how can I figure out where those restrictions come from?
$ pipenv --support
Pipenv version: '2018.11.26'
Pipenv location: '/usr/local/lib/python2.7/dist-packages/pipenv'
Python location: '/usr/bin/python'
Python installations found:

3.8.0: /usr/bin/python3.8
3.5.7: /usr/local/bin/python3.5m
3.5.7: /usr/local/bin/python3
3.7.5: /usr/bin/python3.7m
2.7.17: /usr/bin/python2.7
3.7.5: /usr/bin/python3.7

PEP 508 Information:
{'implementation_name': 'cpython',
 'implementation_version': '0',
 'os_name': 'posix',
 'platform_machine': 'x86_64',
 'platform_python_implementation': 'CPython',
 'platform_release': '5.3.0-46-generic',
 'platform_system': 'Linux',
 'platform_version': '#38-Ubuntu SMP Fri Mar 27 17:37:05 UTC 2020',
 'python_full_version': '2.7.17',
 'python_version': '2.7',
 'sys_platform': 'linux2'}

System environment variables:

LESS
QT4_IM_MODULE
PYTHONDONTWRITEBYTECODE
XDG_CURRENT_DESKTOP
XDG_SESSION_TYPE
QT_IM_MODULE
LOGNAME
USER
PATH
PIP_SHIMS_BASE_MODULE
HOME
ZSH
DISPLAY
SSH_AGENT_PID
LANG
MANAGERPID
SHELL
XAUTHORITY
JOURNAL_STREAM
SESSION_MANAGER
XDG_DATA_DIRS
MANDATORY_PATH
TERM
GNOME_DESKTOP_SESSION_ID
CLUTTER_IM_MODULE
WINDOWPATH
XMODIFIERS
GIO_LAUNCHED_DESKTOP_FILE_PID
MONITORADO_OAUTH_TOKEN
GPG_AGENT_INFO
XDG_SESSION_CLASS
INVOCATION_ID
USERNAME
XDG_SESSION_DESKTOP
XDG_RUNTIME_DIR
SSH_AUTH_SOCK
VTE_VERSION
GDMSESSION
IM_CONFIG_PHASE
GNOME_SHELL_SESSION_MODE
PIP_PYTHON_PATH
DBUS_SESSION_BUS_ADDRESS
_
GTK_MODULES
GTK_IM_MODULE
DESKTOP_SESSION
LSCOLORS
XDG_CONFIG_DIRS
DEFAULTS_PATH
PIP_DISABLE_PIP_VERSION_CHECK
OLDPWD
SHLVL
PWD
PYTHONFINDER_IGNORE_UNSUPPORTED
DOCKER_TOKEN
COLORTERM
XDG_MENU_PREFIX
LS_COLORS
PAGER

Pipenv–specific environment variables:
Debug–specific environment variables:

PATH: /home/feakuru/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
SHELL: /usr/bin/zsh
LANG: en_US.UTF-8
PWD: /home/feakuru

UPD: GitHub suggested issues that are alike, and one of them mentions that pip graph doesn't show dependencies from extras. I manually checked all extras and it doesn't look like there's any connection.

Could this be rechecked on pipenv==2022.8.19?


numbers with commas in space manifests get parsed as an integer, not a string

Issue
When pushing an application with the following manifest file:
applications:
- name: dora

env:
INTEGER: 1234,567,89

When they run cf env the variable INTEGER is not handled correctly and is returned as follows:
INTEGER: 123456789

The commas are removed and the field is parsed as an integer instead of a string.  This is different than CF CLI v6's behavior and contrary to the YAML spec definition of an integer (and float): https://yaml.org/spec/1.2/spec.html#id2803828
Context
This is caused by an issue with Ruby's included YAML parsing library, Psych.  There is an old issue from 2016 where they note it is not fixed due to backwards compatibility concerns.
Expected result
INTEGER: 1234,567,89 should be parsed as a string
Current result
INTEGER: 1234,567,89 is parsed as an integer 1234,567,89
Possible Fix
We could make a PR into https://github.com/ruby/psych, or we could switch libraries (if there even are others to choose from).
We could try pre-parsing the YAML before we pass it to Psych, however I would expect that to be difficult and fraught with other issues.

@sethboyles & @MarcPaquette

hey it looks like a potential fix was merged into psych. https://github.com/ruby/psych/issues/273
do we need an official release of psych to be cut before testing this new strict_integer functionality?


Samriddhi College

https://samriddhicollege.edu.np/
https://samriddhicollege.edu.np/bsccsit-college-in-bhaktapur-nepal/

@Dave-oo-Dave First stage of verification passed, official domain is samriddhicollege.edu.np as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@Dave-oo-Dave This domain is already in the repository. I am closing the request as a duplicate. Thank you.


AArch32: vpop (sreg variant) had faulty mult_addr ordering

As part of a research project testing the accuracy of the SLEIGH specifications compared to real hardware, we observed an unexpected behaviour in the vpop instruction for both, AArch32 (ARM:LE:32:v8) & Thumb (ARM:LE:32:v8T).
According to the manual, it loads multiple consecutive Advanced SIMD and floating-point register file registers from the stack. However, we noticed the output was incorrect.

e.g, for AArch32 with,
Instruction:         0x020abd7c, vpopvc {s0,s1}
initial_memory: { "0x0": [ 0xbb, 0xda, 0x60, 0xca, 0xe8, 0x7c, 0x26, 0xcf ] }
We get:
Hardware:         { "q0": 0xcf267ce8ca60dabb, "sp": 0x8 }
Patched Spec: { "q0": 0xcf267ce8ca60dabb, "sp": 0x8 }
Existing Spec:  { "q0": 0xca60dabbcf267ce8, "sp": 0x8 }

e.g, for Thumb with,
Instruction:         0xbdec020a, vpop {s0,s1}
initial_memory: { "0x0": [ 0xbb, 0xda, 0x60, 0xca, 0xe8, 0x7c, 0x26, 0xcf ] }
We get:
Hardware:         { "q0": 0xcf267ce8ca60dabb, "sp": 0x8 }
Patched Spec: { "q0": 0xcf267ce8ca60dabb, "sp": 0x8 }
Existing Spec:  { "q0": 0xca60dabbcf267ce8, "sp": 0x8 }

Note: The patched spec does not introduce any disassembly changes to the best of our knowledge.

Yeah, checking through the implementation more carefully, it looks like the actual discrepancy between the vpop semantics and the vldm semantics is caused by a missing build statement.
The existing unpatched Ghidra generates Pcode that looks something like:
020abdec "vpop {s0,s1}"

mult_addr = sp
sp = sp + 0x8:4
tmp:4 = *[ram]mult_addr
s1 = tmp
mult_addr = mult_addr + 0x4:4
tmp:4 = *[ram]mult_addr
s0 = tmp

i.e., s0 and s1 are loaded in the wrong order.
The old 'fix' kept the operations in the same order, but adjusted the way mult_addr was computed so the values for s0 and s1 were loaded from the same address.
The PR has been updated with a much simpler fix that simply adds the missing build so that the operations are ordered correctly (matching the vldm and being closer to reference manual):
Pcode after new patch:
mult_addr = sp
sp = sp + 0x8:4
tmp:4 = *[ram]mult_addr
s0 = tmp
mult_addr = mult_addr + 0x4:4
tmp:4 = *[ram]mult_addr
s1 = tmp

The same thing is true for #6604 (which has also been updated).


TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.
If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.
If you'd like for me to do this for you, comment TagBot fix on this issue.
I'll open a PR within a few hours, please be patient!

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/87411

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/88153

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/89584

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/89836

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/92607

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/108065


profiling .xonshrc

How exactly can I use this to profile my rc file, I want to know how I can speed up my boot time now that I've bogged everything down, but I don't exactly understand how to boot this before my xonshrc goes thru (esp understanding how long it takes to load each module!

I think you can use old style for this:
t = time.time()
# my command
print(f"{time.time() - t} sec")

I believe that there is the way for this but I have no recipe now.


Duplicate and Redundant Model Names in the Model Options

In the model selection dropdown menu, there are duplicated and redundant model names, which seem unnecessary and unclear in their purpose.
Screenshot:

Is this related to any commit?

Is this related to any commit?

Are the competion models still showing for you? I just pulled up the dev instance, and didn't see the models, so I marked it done.
I'm checking the git blame now, and maybe this is related to the translation files because package.json seems like it hasn't had those models in the enum list since at least last year.

@coderabbitai can you check translation files values with the key "chatgpt.gpt3.model.*", to see if any of them contain any of the following models?
text-davinci-003
text-curie-001
text-babbage-001
text-ada-001
code-davinci-002
code-cushman-001

The English version has these models, which are allowed.
    "chatgpt.gpt3.model.enumItemLabels1": "OpenAI API Key - gpt-4-turbo",
    "chatgpt.gpt3.model.enumItemLabels2": "OpenAI API Key - gpt-4",
    "chatgpt.gpt3.model.enumItemLabels3": "OpenAI API Key - gpt-3.5-turbo",
    "chatgpt.gpt3.model.enumItemLabels4": "OpenAI API Key - gpt-3.5-turbo-16k",

Ohh @PeterDaveHello this issue was more about the dropdown showing "gpt-4 gpt-4", when it should be showing something like "OpenAI GPT-4 gpt-4"? I see now.
@coderabbitai so the situation is the label on the enums for this model dropdown is showing the same exact text as the enum value. How do we fix this issue? It's both in the package.json as well as has translation file overrides. The enum description is definitely working fine, it's just the label that is not working.

@Christopher-Hayes I think it should be just "OpenAI GPT-4"

@Christopher-Hayes I think it should be just "OpenAI GPT-4"

They're enums, so VS Code's UI will show the enum "value". If we didn't have the "labels", it would only show the value. I don't believe there's a way to have it only show the label, but not the value.

hmmm ... I didn't think about the implementation, but from the view of a user, that's a little bit confusing.

hmmm ... I didn't think about the implementation, but from the view of a user, that's a little bit confusing.

Our options are either no labels:
gpt-4o
gpt-4o-mini
[...]

or with labels:
OpenAI GPT-4o   gpt-4o
OpenAI GPT-4o Mini   gpt-4o-mini
[...]

Regardless, we shouldn't spend much time on this. Next release I think we might just remove this model dropdown all together because users are finding it confusing when they use a custom (non-OpenAI) model, and this config setting only gives OpenAI models.

another implementation that'll just by pass this issue will be great, then we can just ignore this issue right now 👍


Inflex shortcuts

@mattSturgeon  I have put together all my changes and was wondering if I could push them up to the inflex-shortcuts branch?
Tried this but obviously failed....
pld@WorkstationTT:~/development/OpenBoardView$ git push origin inflex-shortcuts
Username for 'https://github.com': inflex
Password for<EMAIL_ADDRESS>remote: Permission to MattSturgeon/OpenBoardView.git denied to inflex.
fatal: unable to access 'https://github.com/MattSturgeon/OpenBoardView.git/': The requested URL returned error: 403
Changes are as follows;

File history
Center and reset zoom key
Fix CPU consumption issue with linux when SDL is minimised/hidden
Filename in window title

@inflex you want to make a fork on your github account and push to that. You won't have permission to push to my repo. See Fork A Repo. If you want a git tutorial I found Git for ages 4 and up rather helpful.
Go to@chloridite's repo and hit the fork button, then you want to run these commands to set up your remotes:
# Change origin to point to your new fork
git remote set-url origin https://github.com/inflex/OpenBoardView.git

# Add upstream to point at chloridite's repo
git remote add upstream https://github.com/chloridite/OpenBoardView.git

# Add matts to point to my fork (if you want)
git remote add matts https://github.com/MattSturgeon/OpenBoardView.git

# Add any other remotes you want
# e.g. piernov and pafmaf
git remote add piernov https://github.com/piernov/OpenBoardView.git
git remote add pafmaf https://github.com/pafmaf/OpenBoardView.git

# Now run fetch to update remotes
git fetch --all

# Use the gitk gui to visualise the git branches/history
gitk --all

Thankyou again, I'll let you know how it goes, success, or house burning down :+1:


Add Ruby 2.3 and 2.4 to the test matrix.

Happy holidays!

Until rails/rails@47c4924 is released in Rails 4.2.8, Ruby 2.4 won't work with it. The test suite uses activesupport unfortunately.

@connorshea thanks. Could you explain a bit more what you're trying to solve for here? I'm afraid I'm lost.

@benbalter rails 4.2.7 depends on json 1.x, which doesn't work on Ruby 2.4. In order to test on Ruby 2.4 we have to wait for rails 4.2.8 to come out which doesn't depend on json 1.x.
Sorry if that still isn't clear 🙈

@connorshea sorry this never got merged. We're now testing 2.3 and 2.4, but will go ahead and merge this PR so you can get the contribution bit. Thanks for the PR! :smile:

@benbalter no problem, thanks for maintaining the gem :)


Prompt improvement for coding task

Currently LLM still have difficulties with actual coding problems, which is less forgiving than fuzzy language. One example is for our "app scaffolding" idea, asking the AI to convert the guide it produced into machine readable JSON doesn't seem to work very well (which comes as a surprise as we previously tested similar or even more difficult tasks such as asking it to just agentize itself directly with a simpler json-lite language, or to produce complex JSON, and AI passed both tests in the past).
We probably can try to use Chain-of-though (CoT) technique to see if that help:

First ask it to output a script to perform all actions mentioned in the guide while assuming the text files are present. (A coding/conversion task)
Then ask it to encode all text files introduced in the guide + the output in first step into JSON representation. (A plain encoding task)

Another example is when asking AI to produce OpenAPI spec, while it usually succeed, the verbosity of OpenAPI itself means that the context limit is easily exceeded. One idea:

Produce a high level verbal description of the API, omitting details, but provide example JSON request/response pair (to save tokens)
Convert to OpenAPI spec but omit all JSONSchema
On a separate AI instance, feed it each JSON request/response and ask it to infer schema

After some more testing on typical 13-B grade LLM, for the first workflow we found that source code extraction + encoding into JSON is actually much harder than it seems and LLM at that grade just can't do it (vicuna-13b seems to be able to, but only at full strength and not quantized?). Seems what happened is that:

it is actually two tasks concurrently, which they may have difficulty keeping up with.
Nested language (programming language code inside a JSON) seems to make it confused
Further possible interference if you give example, then ask in same vs different language
It also seems to have difficulty with multi-language use case, sometimes insisting that some file just don't exists?

While this seems like a lost cause, after more experiments, I found a solution that may be less painful:

Try to meet half-way - instead of asking it to encode in JSON, just ask it to give a listing of all source file appearing in the guide in plain markdown formats (i.e. list + codeblock eg).
Asking positively (list everything) seems to work better than indirect/negatively as prompting guide tell you (not "try to extract source code file")


Contact form

Good job on the library! Super fun to play with. Were you able to get the contact form hooked up and  able to send out emails? I have hit a road block and not sure what else to try.
Thanks again!

What problems did you encounter? Can you elaborate?

There doesn't seem to be any logic to send the emails.

Any code sample for the /inc/sendEmail.php ?

I ended up creating a script that works for email.js if you want that.


set_pixels method seemingly not doing anything

Hi, I'm using slint with mipidsi and attempting to use the set_pixels method to update the display with no luck.
Other methods that use draw seem to work fine. Would you happen to know if I'm doing something wrong?
I am able to see the response from TestImage and clear.
Thanks
    let di = display_interface_spi::SPIInterface::new(spi_device, dc);

    let mut display = mipidsi::Builder::new(mipidsi::models::ST7789, di)
        .reset_pin(rst)
        .invert_colors(mipidsi::options::ColorInversion::Inverted)
        // .display_size(constants::display::W as u16, constants::display::H as u16)
        .init(&mut delay)
        .unwrap();

    // Clear the display
    display.clear(Rgb565::BLACK).unwrap();
    display
        .set_orientation(mipidsi::options::Orientation::new())
        .unwrap();

    mipidsi::TestImage::new().draw(&mut display).unwrap(); // Works

    display.clear(Rgb565::RED).unwrap(); // This works too
    display
        .set_pixels(
            0,
            0,
            240,
            320,
            &mut [slint::platform::software_renderer::Rgb565Pixel(0);
                constants::display::W as usize]
                .iter()
                .map(|x| embedded_graphics::pixelcolor::raw::RawU16::new(x.0).into()),
        )
        .unwrap();

The ex and ey coordinates are part of an inclusive range. Try this:
    display
        .set_pixels(
            0,
            0,
            239,
            319,
            &mut [slint::platform::software_renderer::Rgb565Pixel(0);
                constants::display::W as usize]
                .iter()
                .map(|x| embedded_graphics::pixelcolor::raw::RawU16::new(x.0).into()),
        )
        .unwrap();

Sadly no difference with this change

set_pixel looks to work fine.

If set_pixel works set_pixels should also work, because they use very similar code:
https://github.com/almindor/mipidsi/blob/7ff5271e20b5d835e8ecc27537a49b5f55ec3e99/mipidsi/src/lib.rs#L198-L204
https://github.com/almindor/mipidsi/blob/7ff5271e20b5d835e8ecc27537a49b5f55ec3e99/mipidsi/src/lib.rs#L225-L240
Your code does only draw a single black line on top of the display, which might make it hard to see during debugging. Does this work display.set_pixels(0, 0, 239, 319, core::iter::repeat(Rgb565::MAGENTA).take(240 * 320))?;?

Thanks so much! This works. It seems I have an issue elsewhere.


Using print instead of samp.printf for log-printing

Hello fellow Pythonistas!
Mostly everything is in the title - stdout/err isn't really used in SAMP, nobody's gonna see their print()s there. Arguably we still need to keep stderr going to the "right" place, maybe someone will need debugging info that should NOT go to the logs.
But other than that - what would you guys think about tying sys.stdout directly to sampgdk::logprintf so that we can freely use built-in print for our debugging or logging? (if you guys like it, I'd be more than willing to examine how we could achieve this and write a PR!)
Thanks in advance :-)

Sounds good to me!

With #63 merged, this issue is resolved. :smile:


Application: The Ticketto Protocol

Project Abstract
The Ticketto Protocol aims to solve a long-standing problem in the ticketing industry: establish trust in secondary markets. Also, we're giving small event organizers an affordable, and accessible sales channel for them to be able to easily issue tickets and control access to venues.
Grant level

[x] Level 1:  Up to $10,000, 2 approvals
[ ] Level 2:  Up to $30,000, 3 approvals
[ ] Level 3:  Unlimited, 5 approvals (for >$100k: Web3 Foundation Council approval)

Application Checklist

[x] The application template has been copied and aptly renamed (project_name.md).
[x] I have read the application guidelines.
[x] Payment details have been provided (bank details via email or Polkadot (USDC & USDT) address in the application).
[x] I am aware that, in order to receive a grant, I (and the entity I represent) have to successfully complete a KYC/KYB check.
[x] The software delivered for this grant will be released under an open-source license specified in the application.
[x] The initial PR contains only one commit (squash and force-push if needed).
[x] The grant will only be announced once the first milestone has been accepted (see the announcement guidelines).
[ ] I prefer the discussion of this application to take place in a private Element/Matrix channel. My username is: @_______:matrix.org (change the homeserver if you use a different one)

I have read and hereby sign the Contributor License Agreement.

Hi @semuelle! Thanks a lot for your initial comments. Indeed, it's been a long process to thoroughly consider the needs behind Kippu.
Now, about your questions:

Have you talked to any event organizers or ticket sellers what they think about the infrastructure?
Yes. Several months ago I wanted to organize an event for a local Meetup. We wanted to sell tickets online, and were planning for upscaling to 1k+ people. While the event failed and we couln't launch, I noticed some flaws in the available options for ticket selling solutions.
So, I decided to interview small event organizers and ticket sellers (event promoters, mainly) in Colombia. As a result of those, we've come to some initial conclusions about the needs they have:

To access existing ticketing systems, they must subscribe to a service (with upfront issuance costs) and might incur high comission fees (sometimes up to 15%~20%).
Delegate selling on third-parties (like event promoters) was not easy.

And by not using these services, they have to rely on third-paries, thus:

Organizers lose connection with their audience, thus hardening conditions to invite them to follow up and create community.
Also, in practice, they lose control over selling parameters (like minimum and maximum prices, or even control against overselling). And yes, they're able to control some of those via agreements, but they're prone to fail.

In conclusion, they're pretty interested in a model that allows them to incur almost no upfront costs (except deposits and fees).
We also found out that, as distribution/selling channels event organizers generally use social networks (i.e. WhatsApp, Instagram), event promoters and some "official selling points". While distribution is successfully achieved via these channels, this means organizers have to print tickets (incurring initial costs), to mitigate overselling, but end up:

Being vulnerable to fraudulent reselling and tickets forging.

When discussing the benefits of using our proposed solution with them, some organizers showed interest in the potential for attendees to resell on a secondary market safely and how the reduction in fraud can improve their reputation, as well as the ease of handling the access to the event via a mobile application.

Have you reached out to anyone to see whether they would be willing to trial it? I imagine that for such a project to be successful, the difficulties are not in the technical implementation but in its integration into existing processes.
We have. We're currently underway an early proof of concept with an event organizer (can't disclose yet who they are due to internal agreements) using some Web2-ish (centralized APis accepting signed transactions as authorization gateway) technology to try the functionality, allowing us to understand those nuances in the process. Our approach is to build an end-to-end solution with some integrations on critical steps (like payments gateway, gathering of event information, training of people handling the entrance, etc.).

Do you have any information on other (previously) existing projects in the Polkadot ecosystem or other ecosystems that you could learn from or work with?
We know about another project (#690) with a similar idea in the Polkadot ecosystem. However, we're unsure whether they're still active, nor have they released much information that leads us to learn.
In other ecosystems, we've seen other projects working with a similar approaches[1] [2] [3], from which we've taken inspiration for some desired features on a roadmap (like access with memberships, or crowdfunding for event organizers). For technical details, we've inspired on OSS, such as Pretix.

Hope these answers are good enough to help you better understand our current state on research and proposal outline.

I'm really glad to hear it sounds good to you @semuelle.
As for the future roadmap: while briefly mentioned in the application document, I can expand it further.
We plan to launch an alpha version by Q1, and after that prepare another module to help "event organizers" onboard themselves to the platform with the feedback we get from that version. This is planned to be a potential Level 2 slightly larger grant, indeed.
As we get even more insights, plans for scaling imply implementing this solution, once the protocol has been proved as a series of pallets, one of them, the already mentioned pallet-nfts-marketplace, a pallet extension of pallet-nfts to amplify the capabilities for selling NFTs to support selling via Assets, as well as handling auctions. For that scaling, we might be interested in applying to the Decentralized Futures Program.

Hi @semuelle, I just wanted to know if there's additional feedback before continuing with the review? Or additional info needed from my end.

Hey @pandres95, sorry for the late reply. I would suggest that we put this application on hold and you apply for the whole roadmap you described above with the DF program. It makes sense to treat it as one, as you are basically trying to establish a business model and the DF program is very well suited for it (as long as funds are spent in 2024).
DF grants below 50k USD can be fast-tracked and the application template is similar to ours, so it shouldn't take all that long. You have to put some thought into how to fund the project afterwards, but that seems fairly straightforward if all goes well. If you agree, feel free to close this PR and we can get back to it if needed.

Hey @semuelle! Sorry for the late response. We've been in preparations to finish and release our first private PoC (will be released on a single event), to validate some of our hypotheses, especially the ones regarding usability with Web3 experiences for non-web3 regular users.
Once we finish that, we'll start drafting our proposal for the DF program. Let me know if there's some additional feedback from this process that can work out towards this proposal. Otherwise, I think we can just close this PR by the end of the week.

Thanks for the update, @pandres95. I am just going to close the PR now. We can reopen it if needed.
As you can see on the website, the DF program is more focused on long-term viability of a project. So, in addition to what you put into this application, I would put some thought into where you are planning to be at the end of 2024 and how you are going to fund the project. The application template is quite similar to ours, so it should be fairly straightforward.


Make scripts in hack compatible with NixOS

This should not make any difference on other OSes but improves
usability on NixOS by a lot.
Signed-off-by: Jens Schneider<EMAIL_ADDRESS>How to categorize this PR?

/area dev-productivity
/kind enhancement
What this PR does / why we need it:
It refactors the scripts in the hack directory, so that they seamlessly work on NixOS.
The changes should not affect the behavior on other OSes.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Release note:

NONE

 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.


'flowershow@latest' is not in this registry.

~/Wiki on aws (ap-southeast-2)
> npx flowershow publish
npm ERR! code E404
npm ERR! 404 Not Found - GET https://registry.npmjs.org/flowershow - Not found
npm ERR! 404
npm ERR! 404  'flowershow@latest' is not in this registry.
npm ERR! 404 You should bug the author to publish it (or use the name yourself!)
npm ERR! 404
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/zenobius/.npm/_logs/2022-08-25T00_20_49_491Z-debug-0.log

~/Wiki on aws (ap-southeast-2) took 3s
x npx envinfo

  System:
    OS: Linux 5.18 Fedora Linux 36 (Workstation Edition)
    CPU: (8) x64 Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
    Memory: 12.41 GB / 31.19 GB
    Container: Yes
    Shell: 5.8.1 - /bin/zsh
  Binaries:
    Node: 17.7.1 - ~/.asdf/installs/nodejs/17.7.1/bin/node
    Yarn: 1.22.15 - ~/.asdf/installs/nodejs/17.7.1/bin/yarn
    npm: 8.5.2 - ~/.asdf/plugins/nodejs/shims/npm
  Managers:
    pip3: 22.1.2 - ~/.asdf/shims/pip3
    Yum: 4.13.0 - /usr/bin/yum
  Utilities:
    Make: 4.3 - /usr/bin/make
    GCC: 12.1.1 - /usr/lib64/ccache/gcc
    Git: 2.37.2 - /usr/bin/git
    FFmpeg: 5.0.1 - /usr/bin/ffmpeg
  Servers:
    Apache: 2.4.54 - /usr/sbin/apachectl
  Virtualization:
    Docker: 20.10.14 - /usr/bin/docker
  SDKs:
    Android SDK:
      API Levels: 28, 29, 30
      Build Tools: 28.0.3, 29.0.2, 29.0.3, 30.0.2, 30.0.3
      System Images: android-22 | Google APIs Intel x86 Atom, android-24 | Google Play Intel x86 Atom, android-29 | Google Play Intel x86 Atom, android-30 | Google APIs Intel x86 Atom
      Android NDK: 22.0.7026061
  IDEs:
    Nano: 6.0 - /usr/bin/nano
    Sublime Text: 4134 - /usr/bin/subl
    VSCode: 1.70.2 - /usr/bin/code
  Languages:
    Bash: 5.1.16 - /usr/bin/bash
    Java: 1.8.0_322 - /home/zenobius/.asdf/shims/javac
    Perl: 5.34.1 - /usr/bin/perl
    Python: 3.9.5 - /home/zenobius/.asdf/shims/python
    Python3: 3.9.5 - /home/zenobius/.asdf/shims/python3
  Databases:
    PostgreSQL: 14.3 - /usr/bin/postgres
    SQLite: 3.26.0 - /home/zenobius/.asdf/shims/sqlite3
  Browsers:
    Brave Browser: <IP_ADDRESS>
    Chrome: 104.0.5112.101
    Firefox: 103.0.2

~/Wiki on aws (ap-southeast-2) took 12s
> asdf current
act             0.2.23          /home/zenobius/.tool-versions
awscli          2.7.9           /home/zenobius/.tool-versions
aws-copilot     1.19.0          /home/zenobius/.tool-versions
bats            ______          No version set. Run "asdf <global|shell|local> bats <version>"
bazel           ______          No version set. Run "asdf <global|shell|local> bazel <version>"
direnv          ______          No version set. Run "asdf <global|shell|local> direnv <version>"
earthly         ______          No version set. Run "asdf <global|shell|local> earthly <version>"
fzf             0.30.0          /home/zenobius/.tool-versions
github-cli      2.14.2          /home/zenobius/.tool-versions
golang          ______          No version set. Run "asdf <global|shell|local> golang <version>"
golangci-lint   ______          No version set. Run "asdf <global|shell|local> golangci-lint <version>"
goreleaser      ______          No version set. Run "asdf <global|shell|local> goreleaser <version>"
gradle          ______          No version set. Run "asdf <global|shell|local> gradle <version>"
java            adoptopenjdk-8.0.322+6 /home/zenobius/.tool-versions
just            ______          No version set. Run "asdf <global|shell|local> just <version>"
lua             ______          No version set. Run "asdf <global|shell|local> lua <version>"
neovim          stable          /home/zenobius/.tool-versions
nodejs          17.7.1          /home/zenobius/.tool-versions
pnpm            6.32.8          /home/zenobius/.tool-versions
poetry          ______          No version set. Run "asdf <global|shell|local> poetry <version>"
python          3.9.5 anaconda3-2018.12 /home/zenobius/.tool-versions
ruby            ______          No version set. Run "asdf <global|shell|local> ruby <version>"
rust            ______          No version set. Run "asdf <global|shell|local> rust <version>"
yarn            1.22.11         /home/zenobius/.tool-versions

~/Wiki on aws (ap-southeast-2)
> asdf info
OS:
Linux pennyroyal 5.18.18-200.fc36.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Aug 17 16:02:04 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

SHELL:
zsh 5.8.1 (x86_64-redhat-linux-gnu)

ASDF VERSION:
v0.8.1-a1ef92a

ASDF ENVIRONMENT VARIABLES:
ASDF_DIR=/home/zenobius/.asdf

ASDF INSTALLED PLUGINS:
act                          https://github.com/grimoh/asdf-act.git
awscli                       https://github.com/MetricMike/asdf-awscli.git
aws-copilot                  https://github.com/NeoHsu/asdf-copilot
bats                         https://github.com/timgluz/asdf-bats.git
bazel                        https://github.com/rajatvig/asdf-bazel.git
direnv                       https://github.com/asdf-community/asdf-direnv.git
earthly                      https://github.com/brad-jones/asdf-earthly.git
fzf                          https://github.com/kompiro/asdf-fzf.git
github-cli                   https://github.com/bartlomiejdanek/asdf-github-cli.git
golang                       https://github.com/kennyp/asdf-golang.git
golangci-lint                https://github.com/hypnoglow/asdf-golangci-lint.git
goreleaser                   https://github.com/kforsthoevel/asdf-goreleaser.git
gradle                       https://github.com/rfrancis/asdf-gradle.git
java                         https://github.com/halcyon/asdf-java.git
just                         https://github.com/heliumbrain/asdf-just.git
lua                          https://github.com/Stratus3D/asdf-lua.git
neovim                       https://github.com/richin13/asdf-neovim.git
nodejs                       https://github.com/asdf-vm/asdf-nodejs.git
pnpm                         git@github.com:jonathanmorley/asdf-pnpm.git
poetry                       https://github.com/asdf-community/asdf-poetry.git
python                       https://github.com/danhper/asdf-python.git
ruby                         https://github.com/asdf-vm/asdf-ruby.git
rust                         https://github.com/code-lever/asdf-rust.git
yarn                         https://github.com/twuni/asdf-yarn.git

Hi @airtonix! Thank you for submitting this issue.
The CLI tool is a work in progress, so this won't work at the moment (see issue #19). I'll make it more explicit on our front page!

@rufuspollock, I've added the following note to our "How it works" section. Let me know if it's OK and I'll close the issue.

@olayway that's good. I think you could use the phrasing we have on docs page and include the invitation to sign up.

@airtonix sorry for the confusion and we hope to have this flow ready for primetime in the next few weeks (we already have something close to this working internally but not yet ready for external consumption). If you'd be up for being an alpha user let us know - and perhaps sign up on https://flowershow.app if you haven't already. Thank-you again for

👍🏻


HikariCP total number of connections exceeding maximumPoolSize & Connection close queries

Hi,
I have 3 different queries.

Could you please help me understand why the total number of connections is exceeding maximumPoolSize with all the default HikariCP config.
08-07-2020 14:09:48.159 [DEBUG] [HikariPool-1 housekeeper] [] [/]  com.zaxxer.hikari.pool.HikariPool.logPoolState:417 - HikariPool-1 - After cleanup  stats (total=10, active=3, idle=7, waiting=0)
08-07-2020 14:09:48.171 [DEBUG] [HikariPool-1 connection adder] [] [/]  com.zaxxer.hikari.pool.HikariPool.call:730 - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@5a88bed6
08-07-2020 14:09:48.183 [DEBUG] [HikariPool-1 connection adder] [] [/]  com.zaxxer.hikari.pool.HikariPool.call:730 - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@1bb5b4ed
08-07-2020 14:10:18.160 [DEBUG] [HikariPool-1 housekeeper] [] [/]  com.zaxxer.hikari.pool.HikariPool.logPoolState:417 - HikariPool-1 - Before cleanup stats (total=12, active=2, idle=10, waiting=0)

Also from our logs, I see two unusual cases when the connections were closed
(connection is dead) and (connection was evicted)
2.a) Dead Connections:  The error message recommends consider using a shorter maxLifetime value. In our case the maxLifeTime(default 30mins) is less than MySQL wait_timeout (28800 secs = 8 hours).  Could you explain the possible reasons for failing to validate the connection.
08-07-2020 14:28:51.152 [WARN ] [https-jsse-nio-8443-exec-9] [] [5f05ca0ecd9b0f2bc9500e89c459c81c/c9500e89c459c81c]  com.zaxxer.hikari.pool.PoolBase.isConnectionAlive:179 - HikariPool-2 - Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl@15c6b86c (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value.
08-07-2020 14:28:51.153 [DEBUG] [HikariPool-2 connection closer] [] [/]  com.zaxxer.hikari.pool.PoolBase.quietlyCloseConnection:129 - HikariPool-2 - Closing connection com.mysql.cj.jdbc.ConnectionImpl@15c6b86c: (connection is dead)
2.b) Evicted connections: Could you please explain in which cases the connections are  evicted from the pool.
08-07-2020 16:54:25.581 [DEBUG] [HikariPool-1 connection closer] [] [/]  com.zaxxer.hikari.pool.PoolBase.quietlyCloseConnection:129 - HikariPool-1 - Closing connection com.mysql.cj.jdbc.ConnectionImpl@1b72c14f: (connection was evicted)
Thanks!!!

The line numbers in the messages above do not match the current driver version.  Please upgrade.


Chore: Formatted community Mailing list component

Signed-off-by: Abhijay Jain<EMAIL_ADDRESS>Description
Formatted community Mailing list component
This PR fixes #229
Notes for Reviewers
Signed commits

[x] Yes, I signed my commits.

@Abhijay007 I think you should make the field mandatory and little bigger because it looks really empty.

@Abhijay007 I think you should make the field mandatory and little bigger because it looks really empty.

ok, so you are talking about validations, right?

https://user-images.githubusercontent.com/64387054/148189667-94af6272-8065-47ac-b9ea-75176394fccb.mp4

@leecalcote @YashKamboj please review :)


fix: fixed property name typo in pom.xml

Summary
Fixed property name mave.source.plugin.version to maven.source.plugin.version

Codecov Report

Merging #23 (d29c265) into master (92f02b0) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #23   +/-   ##
=========================================
  Coverage     69.95%   69.95%
  Complexity      128      128
=========================================
  Files            13       13
  Lines           416      416
  Branches          1        1
=========================================
  Hits            291      291
  Misses          113      113
  Partials         12       12

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 92f02b0...d29c265. Read the comment docs.