text:
UI improved for /todo page

@sanskaromar have a look!
Resolves #3

@amitmishra11 The theme after your changes does not properly match the functionality. And that I am looking for a less fancy minimalistic view with a good color palette in mind. Please make changes accordingly.

The theme after your changes does not properly match the functionality. And that I am looking for a less fancy minimalistic view with a good color palette in mind. Please make changes accordingly.

What about complete gray theme as used around task boxes?

The theme after your changes does not properly match the functionality. And that I am looking for a less fancy minimalistic view with a good color palette in mind. Please make changes accordingly.

What about complete gray theme as used around task boxes?

I do not think it looks good there. What you can instead do, is make UI for light theme for app. That way you won't have to worry about colors used in this theme.

The theme after your changes does not properly match the functionality. And that I am looking for a less fancy minimalistic view with a good color palette in mind. Please make changes accordingly.

What about complete gray theme as used around task boxes?

I do not think it looks good there. What you can instead do, is make UI for light theme for app. That way you won't have to worry about colors used in this theme.

ohk I'll do this

@sanskaromar is this okay?

Please make these minor changes.

@sanskaromar surely

@sanskaromar  Recommended changes made

@sanskaromar It was nice working with you!

repo: sanskaromar/todo-app


text:
🛑 KEYCLOAK_URL is down

In 4a65770, KEYCLOAK_URL ($KEYCLOAK_URL) was down:

HTTP code: 0
Response time: 0 ms

Resolved: KEYCLOAK_URL is back up in 939b3dc after 1 hour, 7 minutes.

source: gharchive/issue

repo: santomaharaj/upp

license: MIT

license_type: permissive

license_source: github-api


text:
🛑 GRAFANA_URL is down

In 33dfc57, GRAFANA_URL ($GRAFANA_URL) was down:

HTTP code: 503
Response time: 996 ms

Resolved: GRAFANA_URL is back up in 7e6fd85 after 12 minutes.


text:
Leetcode Cheapest Flight With k Stops (Graph on DP).

please assign this issue i want to work on this famous problem asked on various coding platform

please directly create PR , make sure you add question link and mention time and space complexity


text:
Connect Using the SAP HANA Node.js Interface

Tutorials: https://developers.sap.com/tutorials/hana-clients-node.html
in Step 2, face below error when install hana client with command 'npm install @sap/hana-client'. Could you please guide how to resolve below error?
npm ERR! code ELIFECYCLE
npm ERR! errno 3221225477
npm ERR! @sap/hana-client@2.12.25 install: node checkbuild.js
npm ERR! Exit status 3221225477
npm ERR!
npm ERR! Failed at the @sap/hana-client@2.12.25 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

Which platform are you installing this on?
Is there an additional log file with more details?
When searching for that error, there were a few mentions of a check in Node.js for 32 bit Windows.  Noting that the @sap/hana-client Node.js driver supports 64 bit Windows only as mentioned in 3165810 - SAP HANA Client Supported Platforms note.
Regards,
Dan

Can you double check to see if you are running 32-bit Microsoft Windows or 64-bit?  Noting that the driver is not supported under 32-bit Microsoft Windows.
I believe this can be seen in the Windows about dialog.  More details can be found at https://www.howtogeek.com/howto/21726/how-do-i-know-if-im-running-32-bit-or-64-bit-windows-answers/
Regards,
Dan

I solved this issue after reinstalled latest nodejs. Hope it helps for other people :)

authors: danielva dongtianxiaozi

repo: sap-tutorials/Tutorials


text:
Master

Updated to DOX schema tutorials (screenshots of new UI + corresponding rewording of text)

 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.

Need to update local repositories and resubmit.

source: gharchive/pull-request

authors: CLAassistant Steve-Rizza jmmargo


text:
fix ordering of backup write finalization

This was why 0-byte backups were written while we did not have the right pg_dump version in use.

coverage: 0.0%. remained the same
when pulling a5be3a741bc497b47b38a10b2e14800d266f3705 on fix-write-order
into 71dff45c846e9e77c73e2be4468d1914c069c87f on master.

authors: coveralls majewsky

repo: sapcc/backup-tools


text:
Cannot execute task, cannot start native grabber

Extracted from #81

There is a new problem. It still does not show an image and shows the following exception (Note: It detects correctly, how many webcams there are connected, that is if I plug in the USB cam, the
Webcam.getWebcams(Long.MAX_VALUE, TimeUnit.MILLISECONDS)

command returns a list with 1 item, if I unplug it no device is found.). Here is the stacktrace when trying to open the webcam using open(true)
Exception in thread "Thread-26" com.github.sarxos.webcam.WebcamException: Cannot execute task
        at com.github.sarxos.webcam.WebcamProcessor$AtomicProcessor.process(WebcamProcessor.java:57)
        at com.github.sarxos.webcam.WebcamProcessor.process(WebcamProcessor.java:120)
        at com.github.sarxos.webcam.WebcamTask.process(WebcamTask.java:35)
        at com.github.sarxos.webcam.ds.cgt.WebcamOpenTask.open(WebcamOpenTask.java:20)
        at com.github.sarxos.webcam.Webcam.open(Webcam.java:177)
        at android.hardware.d.run(Unknown Source)
Caused by: com.github.sarxos.webcam.WebcamException: Cannot start native grabber!
        at com.github.sarxos.webcam.ds.buildin.WebcamDefaultDevice.open(WebcamDefaultDevice.java:223)
        at com.github.sarxos.webcam.ds.cgt.WebcamOpenTask.handle(WebcamOpenTask.java:38)
        at com.github.sarxos.webcam.WebcamProcessor$AtomicProcessor.run(WebcamProcessor.java:66)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

Hi, im accessing total 6 cameras,
For 3 cameras it just worked fine,,,but when i am trying to access 6 camera
it throws an exception
com.github.sarxos.webcam.WebcamException: Cannot execute task
Please assit

@wasifmirza, your USB controlled does not have enough bandwidth to stream data from all the webcams at once. It can be easily calculated. USB 2.0 = 60 MB/s, 640x480 RGB @ 25 FPS = 21 MB/s, so you can stream ~2 or 3 cameras at once.

Can you please provide me a solution for this.... I have extension box of usb slots. USB 2.0.
7 slots. Any kind of suggestion....because i am using it in my project and i need to access 6 camera. Please give me a solution.
Waiting for your response.
Regards

@wasifmirza there is no possibility to extend USB capacity. You can connect any number of extension boxes, but your USB controller on your motherboard is still the same - it has limited capacity (60 MB/s for USB 2.0, which is max for almost all UVC cameras) and cannot be changed up.
You can try using GStreamer v0.10 with gstreamer-driver which should stream more (due to smaller format: 4 bytes for two pixels instead of 6), but this is still too low to stream from 6 cameras at once.
As a workaround you may try to:

open two cameras at once,
take the pictures,
close them,
then open the next two,
take pictures,
close them,
etc.

But the above will be pretty slow, so if you need speed, this may not be sufficient for your application.

Thanks alot @sarxos  for the suggestion.
I am also facing 1 more problem. It is the extension box for usb.
Due to port com reorganization i am not able to open 2 camera on that box.

@sarxos  should i mail you the basic program i made ?

import java.awt.Dimension;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import java.awt.*;
import com.github.sarxos.webcam.Webcam;
import com.github.sarxos.webcam.WebcamPanel;
public class Camera extends JFrame {
 JFrame cam=new JFrame("Check Camera");

  //Webcam.getWebcams().get(0):

  Webcam w1;
  Webcam w2;
  Webcam w3;
  Webcam w4;
  Webcam w5;
  Webcam w6;

  WebcamPanel cam1;
  WebcamPanel cam2;
  WebcamPanel cam3;
  WebcamPanel cam4;
  WebcamPanel cam5;
  WebcamPanel cam6;

  /* Setting of webcam view can be done in following resolutions only :
   * QQVGA (176 , 144)

QVGA (320 x 240)
VGA (640 x 480)
*/
public Camera()
{
 w1=Webcam.getWebcams().get(0);

 w1.setViewSize(new Dimension(176 , 144)); // set size

 w2=Webcam.getWebcams().get(1);
 w2.setViewSize(new Dimension(176 , 144)); // set size

 w3=Webcam.getWebcams().get(2);
 w3.setViewSize(new Dimension(176 , 144)); // set size

 w4=Webcam.getWebcams().get(3);
 w4.setViewSize(new Dimension(176 , 144)); // set size

 w5=Webcam.getWebcams().get(2);
 w5.setViewSize(new Dimension(176 , 144)); // set size

 w6=Webcam.getWebcams().get(5);
 w6.setViewSize(new Dimension(176 , 144)); // set size

 cam1=new WebcamPanel(w1);

 cam2=new WebcamPanel(w2);

 cam3=new WebcamPanel(w3);

 cam4=new WebcamPanel(w4);

 cam5=new WebcamPanel(w5);

 cam6=new WebcamPanel(w6);

 cam.setLayout(new FlowLayout());
 cam.setSize(1224,1000);

 cam.add(cam1);

 cam.add(cam2);

 cam.add(cam3);
 cam.add(cam4);

 cam.add(cam5);

 cam.add(cam6);

 cam.setVisible(true);

 //check image capture

BufferedImage image = w1.getImage();
try {
ImageIO.write(image, "jpg", new File("test.jpg"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void camera_close()
{
w1.close();
w2.close();
w3.close();
w4.close();

w5.close();

w6.close();

}
public void camera_open()
{
w1.open();
w2.open();

w3.open();
w4.open();

w5.open();

w6.open();

}
}

This code can work with 4 cameras smoothly with resolution of each as 640,480
It runs when i connect 4 cameras on my laptop USB slots.
But when i connect my cameras to extension box it cannot add it and gives exceptions.

@wasifmirza, there is no way to fix this in Webcam Capture API. The USB ports and whole communication is being done by your operating system. If you experience problems with the external USB hub (or extension box) this is because:

Your operating system is not able to handle this hardware, or
Your USB controller is not able to multiplex traffic from 4 cameras on a single USB port (as I described previously, due to the USB bandwidth limit - 4 x 21 MB/s = 84 MB/s, which is much higher than 60 MB/s), or
The USB hub hardware is not able to work properly with your USB controller.

You may try to connect 3 hubs to your USB sloths and try to connect 2 cameras to each hub (this will give you 6 cameras). This may work but I never tried this approach, and honestly I cannot guarantee such solution to work.

Once again thanks.
Is there is any function from which we can input webcam by the usb id or any of it's USB controller feature.

I mean we use
Webcam.getWebcams.get( number such as 0 to n );
Cant we use some else for
.get(number);
because while detecting from external box there it must detect it....!
It is not detecting  from it. Only 1 camera is detected.
And i got your answer that over bandwidth cant be used but now i want to know another to access the webcam using some class or id of usb.

And i am using windows 8 ... So there is no option of port in my device manager....!
If that would have been possible so i would have changed the port number...! but unfortunately i dont have the port option.

@wasifmirza, the Webcam Capture API does not operate on the USB level. The number you are passing to Webcam.getWebcams().get(..) is a camera identifier, not the port. The API is using operating system features to list and access webcams without dealing too much with the USB. At the very bottom level the camera is accessed (thru Microsoft API) with the URI like:
vfw:Microsoft WDM Image Capture (Win32):0

Where 0 in the above example is the first camera detected (by the operating system). However, it can be connected to USB1, USB2, or even to USB10 on USB hub, so as you can see there is no way to deal with the USB port itself.

@sarxos Yup i got you and thanks for the response for every single query...
Your work on webcam is appreciable and i liked it.
Thanks !

@sarxos  what if i use usb 3.0 . I have lappy with usb 3.0
and what if i use extension box with 3.0
It will work?

@wasifmirza I guess this should be OK, but if and only if your camera is 3.0 compliant. In case it's 2.0 and your USB port is 3.0, the whole communication is still limited to 2.0 speed.

Hellos @sarxos  I have 1 issue.
I am coding in Java using eclipse IDE. I have an start and stop button.
On start button and starting the loop of capturing of camera but when i am trying to close the window or to code on stop, the process doesnt break or that loop goes on taking pictures.
Can you please suggest me how to break or stop the camera on Frame close or to stop the camera between the process.
Thanks!

@wasifmirza, can you please prepare small code example to demonstrate your issue? Normally it should be enough to call close() on webcam to stop.

@sarxos  I have tried close() function also. But it doesnt work when the camera is capturing the images.

@wasifmirza, can you verify which threads are blocking?

@wasifmirza, I was testing the code below and I do not observe more than 1.5s delay between the window close and program end (which is actually expected because application must properly dispose the webcam in shutdown hooks).
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;

import javax.swing.JFrame;

import com.github.sarxos.webcam.Webcam;
import com.github.sarxos.webcam.WebcamPanel;
import com.github.sarxos.webcam.WebcamResolution;

public class WebcamPanelExample {

	public static void main(String[] args) throws InterruptedException {

		final Webcam webcam = Webcam.getDefault();
		webcam.setViewSize(WebcamResolution.VGA.getSize());

		final WebcamPanel panel = new WebcamPanel(webcam);
		panel.setFPSDisplayed(true);
		panel.setDisplayDebugInfo(true);
		panel.setImageSizeDisplayed(true);
		panel.setMirrored(true);

		final JFrame window = new JFrame("Test webcam panel");
		window.addWindowListener(new WindowListener() {

			@Override
			public void windowClosed(WindowEvent e) {
				webcam.close();
				window.dispose();
			}

			@Override
			public void windowOpened(WindowEvent e) { }
			@Override
			public void windowIconified(WindowEvent e) { }
			@Override
			public void windowDeiconified(WindowEvent e) { }
			@Override
			public void windowDeactivated(WindowEvent e) { }
			@Override
			public void windowClosing(WindowEvent e) { }
			@Override
			public void windowActivated(WindowEvent e) { }
		});

		window.add(panel);
		window.setResizable(true);
		window.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		window.pack();
		window.setVisible(true);
	}
}

I cannot do anything more in regards to this issue. You first need to figure out which thread is blocking your application. The only way to stop camera taking pictures is to close() it.

I am also facing same issue.. but in some weird pattern..
Here is my application pattern:

this issue come whenever i am installing for the very first time, application is up, but not able to call webcam.open(); for fixing it we do restart (dirty shutdown) our application.
After step-1, This issue again come-back after OS (RHEL-7) restart, process came up via init.d scripts, it start failing while webcam.open(); now again we hv to restart..

Is there any fix/workaround available for this? should we try changing the default driver?

this is the log when it fail:
_2018-09-13 11:41:10.0049 PDT  (webcam-discovery-service) [DEBUG]: com.github.sarxos.webcam.ds.buildin.WebcamDefaultDriver - Found device USB 2.0 Camera /dev/video0
2018-09-13 11:41:10.0062 PDT  (ForkJoinPool.commonPool-worker-1) [DEBUG]: com.github.sarxos.webcam.Webcam - Setting new resolution 1280x720
2018-09-13 11:41:10.0066 PDT  (ForkJoinPool.commonPool-worker-1) [DEBUG]: com.github.sarxos.webcam.WebcamLock - Lock Webcam USB 2.0 Camera /dev/video0
2018-09-13 11:41:10.0071 PDT  (atomic-processor-1) [INFO]: com.github.sarxos.webcam.ds.cgt.WebcamOpenTask - Opening webcam USB 2.0 Camera /dev/video0
2018-09-13 11:41:10.0072 PDT  (atomic-processor-1) [DEBUG]: com.github.sarxos.webcam.ds.buildin.WebcamDefaultDevice - Opening webcam device USB 2.0 Camera /dev/video0
2018-09-13 11:41:10.0073 PDT  (atomic-processor-1) [DEBUG]: com.github.sarxos.webcam.ds.buildin.WebcamDefaultDevice - Webcam device /dev/video0 starting session, size java.awt.Dimen
sion[width=1280,height=720]
2018-09-13 11:41:10.0764 PDT  (ForkJoinPool.commonPool-worker-1) [DEBUG]: com.github.sarxos.webcam.WebcamLock - Unlock Webcam USB 2.0 Camera /dev/video0
2018-09-13 11:41:10.0766 PDT  (webcam-lock-[USB 2.0 Camera /dev/video0]) [DEBUG]: com.github.sarxos.webcam.WebcamLock - Lock updater has been interrupted
2018-09-13 11:41:10.0766 PDT  (ForkJoinPool.commonPool-worker-1) [DEBUG]: com.github.sarxos.webcam.Webcam - Webcam exception when opening
com.github.sarxos.webcam.WebcamException: Cannot execute task
at com.github.sarxos.webcam.WebcamProcessor$AtomicProcessor.process(WebcamProcessor.java:72) ~[Sarxos_webcam-capture-0.x.jar:?]
at com.github.sarxos.webcam.WebcamProcessor.process(WebcamProcessor.java:140) ~[Sarxos_webcam-capture-0.x.jar:?]
at com.github.sarxos.webcam.WebcamTask.process(WebcamTask.java:46) ~[Sarxos_webcam-capture-0.x.jar:?]
at com.github.sarxos.webcam.ds.cgt.WebcamOpenTask.open(WebcamOpenTask.java:20) ~[Sarxos_webcam-capture-0.x.jar:?]
at com.github.sarxos.webcam.Webcam.open(Webcam.java:295) ~[Sarxos_webcam-capture-0.x.jar:?]
at com.github.sarxos.webcam.Webcam.open(Webcam.java:250) ~[Sarxos_webcam-capture-0.x.jar:?]
at com.github.sarxos.webcam.Webcam.open(Webcam.java:236) ~[Sarxos_webcam-capture-0.x.jar:?]
    at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1626) [?:1.8.0_91]
    at java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1618) [?:1.8.0_91]
    at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) [?:1.8.0_91]
    at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056) [?:1.8.0_91]
    at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692) [?:1.8.0_91]
    at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157) [?:1.8.0_91]

Caused by: com.github.sarxos.webcam.WebcamException: Cannot start native grabber!
at com.github.sarxos.webcam.ds.buildin.WebcamDefaultDevice.open(WebcamDefaultDevice.java:334) ~[Sarxos_webcam-capture-0.x.jar:?]
at com.github.sarxos.webcam.ds.cgt.WebcamOpenTask.handle(WebcamOpenTask.java:38) ~[Sarxos_webcam-capture-0.x.jar:?]
at com.github.sarxos.webcam.WebcamProcessor$AtomicProcessor.run(WebcamProcessor.java:81) ~[Sarxos_webcam-capture-0.x.jar:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[?:1.8.0_91]
_
and this is the log when it pass:
2018-09-13 11:33:20.0171 PDT  (ForkJoinPool.commonPool-worker-3) [DEBUG]: com.github.sarxos.webcam.WebcamLock - Lock Webcam USB 2.0 Camera /dev/video0
2018-09-13 11:33:20.0175 PDT  (atomic-processor-1) [INFO]: com.github.sarxos.webcam.ds.cgt.WebcamOpenTask - Opening webcam USB 2.0 Camera /dev/video0
2018-09-13 11:33:20.0175 PDT  (atomic-processor-1) [DEBUG]: com.github.sarxos.webcam.ds.buildin.WebcamDefaultDevice - Opening webcam device USB 2.0 Camera /dev/video0
2018-09-13 11:33:20.0176 PDT  (atomic-processor-1) [DEBUG]: com.github.sarxos.webcam.ds.buildin.WebcamDefaultDevice - Webcam device /dev/video0 starting session, size java.awt.Dimen
sion[width=1280,height=720]
2018-09-13 11:33:20.0913 PDT  (atomic-processor-1) [DEBUG]: com.github.sarxos.webcam.ds.buildin.WebcamDefaultDevice - Webcam device session started
2018-09-13 11:33:20.0914 PDT  (atomic-processor-1) [DEBUG]: com.github.sarxos.webcam.ds.buildin.WebcamDefaultDevice - Clear memory buffer
2018-09-13 11:33:21.0118 PDT  (atomic-processor-1) [DEBUG]: com.github.sarxos.webcam.ds.buildin.WebcamDefaultDevice - Webcam device com.github.sarxos.webcam.ds.buildin.WebcamDefault
Device@540994ce is now open
2018-09-13 11:33:21.0119 PDT  (ForkJoinPool.commonPool-worker-3) [DEBUG]: com.github.sarxos.webcam.Webcam - Webcam is now open USB 2.0 Camera /dev/video0
2018-09-13 11:33:21.0152 PDT  (ForkJoinPool.commonPool-worker-3) [INFO]: com.hardware.device.camera.ImageCameraDeviceImpl - Image is clicked!
2018-09-13 11:33:21.0152 PDT  (ForkJoinPool.commonPool-worker-3) [DEBUG]: com.github.sarxos.webcam.Webcam - Closing webcam USB 2.0 Camera /dev/video0
2018-09-13 11:33:21.0181 PDT  (atomic-processor-1) [INFO]: com.github.sarxos.webcam.ds.cgt.WebcamCloseTask - Closing USB 2.0 Camera /dev/video0
2018-09-13 11:33:21.0181 PDT  (atomic-processor-1) [DEBUG]: com.github.sarxos.webcam.ds.buildin.WebcamDefaultDevice - Closing webcam device
2018-09-13 11:33:21.0366 PDT  (ForkJoinPool.commonPool-worker-3) [DEBUG]: com.github.sarxos.webcam.WebcamLock - Unlock Webcam USB 2.0 Camera /dev/video0
2018-09-13 11:33:21.0367 PDT  (webcam-lock-[USB 2.0 Camera /dev/video0]) [DEBUG]: com.github.sarxos.webcam.WebcamLock - Lock updater has been interrupted
2018-09-13 11:33:21.0368 PDT  (ForkJoinPool.commonPool-worker-3) [DEBUG]: com.github.sarxos.webcam.Webcam - Webcam USB 2.0 Camera /dev/video0 has been closed
2018-09-13 11:33:21.0505 PDT  (ForkJoinPool.commonPool-worker-3) [INFO]: com.hardware.device.camera.ImageCameraDeviceImpl - Image is saved to filesystem!
2018-09-13 11:33:21.0525 PDT  (ForkJoinPool.commonPool-worker-3) [INFO]: com.hardware.device.camera.ImageCameraDeviceImpl - Total time taken to click and process image: 1343
millisec.
2018-09-13 11:33:22.0941 PDT  (webcam-discovery-service) [DEBUG]: com.github.sarxos.webcam.ds.buildin.WebcamDefaultDriver - Searching devices
2018-09-13 11:33:22.0945 PDT  (webcam-discovery-service) [DEBUG]: com.github.sarxos.webcam.ds.buildin.WebcamDefaultDriver - Found device USB 2.0 Camera /dev/video0
2018-09-13 11:33:25.0945 PDT  (webcam-discovery-service) [DEBUG]: com.github.sarxos.webcam.ds.buildin.WebcamDefaultDriver - Searching devices

authors: salmansaifi7 sarxos wasifmirza

repo: sarxos/webcam-capture

license: mit

license_source: bigquery


text:
Documentation error in OpenShiftContainerImages.md

In https://github.com/sassoftware/model-management-resources/blob/main/examples/OpenShiftContainerImages.md
the instructions from bullet 6 onwards speak about a git repository, but from this bullet onwards, we are not using a git-repository. Instead we are using a container registry. I think the commands are OK, but the text around them needs to reflect this.

@glclin,
Can you please take a look at this feedback regarding the OpenShiftContainerImages.md example?
It appears to me that the user needs to connect to the remote Git repository from the container registry using the docker commands. But that the actions being performed by the commands from step 6 -9 apply to the remote Git repository.

@kaponte75
The original comment is correct. Steps 6-9 are about interacting with the customer's container registry and not their Git repository. Steps 1 and 2 are for interacting with the Git repository, then in step 3 -5 user's will be working within their local clone of the git repository. In step 4 they are building the image into their local docker environment and in step 5 they are verifying that the image is in their local docker and getting the image id.
Finally, in Steps 6-9 they are naming the image to match the expectations of the remote container registry and pushing the image to that registry.

@kaponte75
In step 2 we clone and then pull from git. The pull is unnecessary after the initial clone. But if the customer already has the repository cloned but needs to get a newly published model, then they should use the pull command to synchronize their local repository with the remote repository.

authors: glclin jan-ehlers kaponte75

repo: sassoftware/model-management-resources


text:
header image example

please make page with header image example

Hello,
I don't quite get what you mean.
Maybe you can check this blog post.

I think the header image page might refer to a layout where you can put an image before the post title/h1 tag.

@Because789
You can adjust the logo for different screen sizes using max-width.
configure LOGO_IMAGE inside config.ts according to your needs; but aim for large screen sizes.
Then inside Header.astro, adjust the css for the logo.
/* Header.astro */

<style>
  /* other styles */
    .logo {
      @apply absolute py-1 text-xl font-semibold sm:static sm:text-2xl
      mt-1 flex max-w-[110px] sm:mt-0 sm:max-w-none; /* add this line */
    }
</style>

Make sure to adjust max-w-[110px] andmt-1 according to your logo.
Definitely there will be alternative ways to achieve this.
If you're familiar with CSS, you can also use media-query for responsive styles.

@diomed
You mean this?

If so, it can be configured inside the frontmatter property ogImage
---
ogImage: https://github.com/satnaing/astro-paper/assets/53733092/1ef0cf03-8137-4d67-ac81-84a032119e3a
---

Or do you want an example of adding an image inside the blog post?

@satnaing
I was thinking of something like this:
https://tailwindflex.com/@anonymous/blog-article-template/fullscreen-preview

@satnaing Thanks so much for coming back to me! You have no idea how many hours I struggled with this (I guess that I've never heard of Astro or Tailwind like a week ago, only had a vague understanding of CSS and never worked with JS ever, wasn't helpful at all :)).
Sadly, your solution didn't work for me. Maybe because I use a png image? Anyway, with your hints I finally found a way I'm satisfied with. For that I had to change the wrapper as well:
<style>
  .top-nav-wrap {
    /* @apply relative flex w-full items-start justify-between p-4 sm:items-center sm:py-8; */
    @apply flex w-full items-start justify-between p-4 sm:items-center;
    }
  .logo {
    /* @apply absolute py-1 text-xl font-semibold sm:static sm:text-2xl; */
    @apply flex max-w-[60px] sm:max-w-none;
  }
</style>

This probably breaks the template if you use a text based logo, since I removed the text-classes for readability. Considering I'm only using the logo, I'm happy with that.
Thanks so much for your work here, it's an amazing template and I already learned so much digging into it!

@satnaing
I was thinking of something like this:
https://tailwindflex.com/@anonymous/blog-article-template/fullscreen-preview

Oh! For that, we have to deal with CSS for customization. Currently, AstroPaper doesn't support that style of cover image out of the box. But, if you wish, you can customize ogImage style with CSS.

@satnaing
I was thinking of something like this:
https://tailwindflex.com/@anonymous/blog-article-template/fullscreen-preview

Oh! For that, we have to deal with CSS for customization. Currently, AstroPaper doesn't support that style of cover image out of the box. But, if you wish, you can customize ogImage style with CSS.

Sir please tell me how can we do this and please add this feature in theme

authors: Because789 diomed fazi-gondal satnaing tanishqmanuja

repo: satnaing/astro-paper


text:
Implement driver.Valuer interface

Hope it will be usefull for somebody.

Please rebase your branch on top of upstream master branch to get rid of extra merge commit.
Also I suggest you to maintain your IDE-specific ignores in ~/.git/gitignore instead of project specific .gitignore.

@satori hello, thank you for your suggestions. I cleared my pull request

Thanks!

authors: fromYukki satori


text:
TCD-2762: RDC Data

Description

Motivation and Context

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation fix (typos, incorrect content, missing content, etc.)

Checklist

[ ] I have read the contributing document.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

@thehannahm Can you please review the changes related to https://saucelabs.slack.com/archives/C04NZ6MGYKW/p1679346722332629? Thanks

repo: saucelabs/sauce-docs


text:
Fix backend-api-spec-update.yml

What's done:

set fetch-depth: 0 <-- this fixes pull issue
moved git configuration to earlier step <-- author is required to rebase\merge changes from master

Not tested case:

we have opened PR
we changes some endpoint
the workflow regenerates backend-api-docs.json
the workflow tries to create PR but it's already existed...

the workflow tries to create PR but it's already existed...

I think in worst case, this step will just fail, but ``git pull` is first, so all should be okay at the end

the workflow tries to create PR but it's already existed...

I think in worst case, this step will just fail, but git pull is first, so all should be okay at the end

yeap, but it breaks automatization, but will return to this question if it will gets more problems.
Note: automatization is still broken, since PR and commits are done by bot user and builds are not triggered automatically

authors: kgevorkyan nulls

repo: saveourtool/save-cloud


text:
🛑 cubeent is down

In 59c9639, cubeent (http://www.cubeent.co.kr) was down:

HTTP code: 0
Response time: 0 ms

Resolved: cubeent is back up in a29d501 after 41 minutes.

repo: savorfamily/upptime


text:
Not all matches shown

I am going crazy here.
These data shows only match with order 0

{"rounds":[{"name":"Round 1"}],"matches":[{"roundIndex":0,"order":0,"sides":[{"contestantId":"65","scores":[{"mainScore":0,"isWinner":false}],"isWinner":false},{"contestantId":"56","scores":[{"mainScore":0,"isWinner":false}],"isWinner":false}]},{"roundIndex":0,"order":3,"sides":[{"contestantId":"55","scores":[{"mainScore":0,"isWinner":false}],"isWinner":false},{"contestantId":"66","scores":[{"mainScore":0,"isWinner":false}],"isWinner":false}]},{"roundIndex":0,"order":2,"sides":[{"contestantId":"57","scores":[{"mainScore":0,"isWinner":false}],"isWinner":false},{"contestantId":"67","scores":[{"mainScore":0,"isWinner":false}],"isWinner":false}]},{"roundIndex":0,"order":1,"sides":[{"contestantId":"64","scores":[{"mainScore":0,"isWinner":false}],"isWinner":false},{"contestantId":"54","scores":[{"mainScore":0,"isWinner":false}],"isWinner":false}]}],"contestants":{"65":{"players":[{"title":"Phuong Balistreri","nationality":"SK"}]},"56":{"players":[{"title":"Albert Fay","nationality":"MQ"}]},"55":{"players":[{"title":"Lonnie Beier","nationality":"IL"}]},"66":{"players":[{"title":"Arthur Volkman","nationality":"TK"}]},"57":{"players":[{"title":"Allie Cronin","nationality":"FK"}]},"67":{"players":[{"title":"Marci Streich","nationality":"KY"}]},"64":{"players":[{"title":"Adolph Senger","nationality":"FK"}]},"54":{"players":[{"title":"Brandy Mills","nationality":"MO"}]}}}

and these shows correct all matches
`

{"rounds":[{"name":"Round 1"},{"name":"Round 2"},{"name":"Round 3"}],"matches":[{"roundIndex":0,"order":1,"sides":[{"contestantId":"7","scores":[{"mainScore":44,"isWinner":true}],"isWinner":true},{"contestantId":"8","scores":[{"mainScore":12,"isWinner":false}],"isWinner":false}]},{"roundIndex":0,"order":2,"sides":[{"contestantId":"6","scores":[{"mainScore":45,"isWinner":false}],"isWinner":false},{"contestantId":"9","scores":[{"mainScore":77,"isWinner":true}],"isWinner":true}]},{"roundIndex":0,"order":3,"sides":[{"contestantId":"5","scores":[{"mainScore":34,"isWinner":true}],"isWinner":true},{"contestantId":"10","scores":[{"mainScore":11,"isWinner":false}],"isWinner":false}]},{"roundIndex":1,"order":0,"sides":[{"contestantId":"4","scores":[{"mainScore":33,"isWinner":true}],"isWinner":true},{"contestantId":"7","scores":[{"mainScore":11,"isWinner":false}],"isWinner":false}]},{"roundIndex":1,"order":1,"sides":[{"contestantId":"9","scores":[{"mainScore":44,"isWinner":false}],"isWinner":false},{"contestantId":"5","scores":[{"mainScore":55,"isWinner":true}],"isWinner":true}]},{"roundIndex":0,"order":0,"sides":[{"contestantId":"4","scores":[{"mainScore":25,"isWinner":true},{"mainScore":23,"isWinner":true}],"isWinner":true},{"contestantId":"11","scores":[{"mainScore":25,"isWinner":false},{"mainScore":12,"isWinner":false}],"isWinner":false}]},{"roundIndex":2,"order":0,"sides":[{"contestantId":"4","scores":[{"mainScore":45,"isWinner":true}],"isWinner":true},{"contestantId":"5","scores":[{"mainScore":32,"isWinner":false}],"isWinner":false}]},{"roundIndex":2,"order":1,"sides":[{"contestantId":"7","scores":[{"mainScore":44,"isWinner":true}],"isWinner":true},{"contestantId":"9","scores":[{"mainScore":12,"isWinner":false}],"isWinner":false}]}],"contestants":{"7":{"players":[{"title":"Briana Frami","nationality":"LK"}]},"8":{"players":[{"title":"Ian Hegmann","nationality":"ZM"}]},"6":{"players":[{"title":"Yong Abernathy","nationality":"AT"}]},"9":{"players":[{"title":"Timothy Bartoletti","nationality":"CA"}]},"5":{"players":[{"title":"Vern Kreiger","nationality":"SZ"}]},"10":{"players":[{"title":"Anisha Abernathy","nationality":"PR"}]},"4":{"players":[{"title":"Alan Bode","nationality":"CZ"}]},"11":{"players":[{"title":"Ali Gibson","nationality":"JE"}]}}}

`
I dont see any error in console, data are generated on backend by same function and visually it looks ok to me, but plenty of games do not show all matches and rounds.
Any clue why, or what to check?

Just a quick guess for now,
Try adding
        {
            "name": "Round 2"
        },
        {
            "name": "Round 3"
        }

to the first data.
It needs an appropriate number of objects in the rounds array, otherwise it can't construct a proper tree

Thanks, I thought that rounds should be actual value how many are present. When I calculated how many rounds total should be, it works fine. Thanks

Thanks for raising the issue.
Developer experience definitely needs improvement in such cases.

authors: MiroBabic sbachinin

repo: sbachinin/bracketry


text:
fix compile error with newer prometheus/client_golang versions

removed all http related features in v1.0.0, see
https://github.com/prometheus/client_golang/blob/master/CHANGELOG.md#100--2019-06-15
Signed-off-by: Andreas Schmid service@aaschmid.de

Closing because haven't see #1 before...

@sberk42: Sorry but I was not aware that you will merge this one. Now in the Dockerfile there is a reference to aaschmid/fritzbox_exporter which might not be in your interest. Should I fix that or will you do yourself?


text:
[stepback_and_steerturn_recovery]ゴール地点が新入不可能エリアの時

stepback_and_steerturn_recovery実行時、ゴールエリアが新入不可能エリアに有るとき、永遠にstepback_and_steerturn_recoveryから抜けなくなり、最終的に落ちる問題が有る

再現手順
・ゴール地点を侵入できないエリア（障害物の中など）に設定
・しばらく待つ（数分かかる）
・move_baseがエラーを吐いて落ちる（recovery behaviorないで無限ループに入っていることが原因）

[ WARN] [1574850130.474606778, 1442.310000000]: Car maneuver recovery behavior finished.
[ INFO] [1574850130.678987088, 1442.510000000]: *****************************************************
[ INFO] [1574850130.679043395, 1442.510000000]: ********Start StepBackAndSteerTurnRecovery!!!********
[ INFO] [1574850130.679091085, 1442.510000000]: *****************************************************
[ INFO] [1574850130.679156055, 1442.510000000]: ==== 1 th recovery trial ====
[ INFO] [1574850130.679215561, 1442.510000000]: attempting step back
[move_base-4] process has died [pid 7747, exit code -11, cmd /opt/ros/kinetic/lib/move_base/move_base cmd_vel:=nav_vel odom:=base/diff_drive_controller/odom map:=map_keepout __name:=move_base __log:=/home/gisen/.ros/log/56b907ae-10fc-11ea-9f62-00e04cf07c90/move_base-4.log].
log file: /home/gisen/.ros/log/56b907ae-10fc-11ea-9f62-00e04cf07c90/move_base-4*.log
[move_base-4] restarting process

解決方法：無限ループになっている部分を見つけてタイムアウトを入れる


text:
feat: add tasklet support

The Tasklet is a simple interface with just one method execute. Using this we can perform single tasks like executing queries, deleting files. In our case we will be moving the files from source to destination directory.

https://www.baeldung.com/spring-batch-tasklet-chunk
https://docs.spring.io/spring-batch/reference/step/tasklet.html

repo: sboussekeyt/spring-batch-rs


text:
Overlapping legends on clustermap

Hi @sbslee
I was plotting a cluster map using the following command on a .csv file that contains relative frequency of top20 bacterial class.
import pandas as pd
import dokdo
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns
sns.set()
df = pd.read_csv(csv_file, index_col=0)
dokdo.clustermap(df,
              metadata=metadata_file,
              normalize='clr',
              hue1='matrix',
              figsize=(10, 8)
              )
plt.savefig('heatmap-3.png')

and got this image

Can you suggest how to plot the legends and scale so that it doesn't overlap on the fig?
Also when I am using flip=True the color code of samples are going missing from the graph:

Please help!

@rupesh-sinha,
Great questions! As for the first question, you can simply make the figure bigger with, say, figsize=(20, 20). This should spread things out.
As for the other question, congratulations, you found a bug! I will try to fix this issue in the next release (1.16.0).
Thanks for reporting the issues.

https://stackoverflow.com/questions/71871308/seaborn-clustermap-and-multiple-color-labeling-of-columns

@rupesh-sinha,
FYI, the bug has been fixed in the 1.16.0-dev branch. I will release the official version soon, but in the meantime you are welcome to try it out!
import dokdo
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns
sns.set()
qza_file = '/Users/sbslee/Desktop/dokdo/data/moving-pictures-tutorial/table.qza'
metadata_file = '/Users/sbslee/Desktop/dokdo/data/moving-pictures-tutorial/sample-metadata.tsv'

dokdo.clustermap(qza_file,
                 metadata=metadata_file,
                 normalize='clr',
                 hue1='body-site',
                 hue2='subject')

dokdo.clustermap(qza_file,
                 metadata=metadata_file,
                 normalize='clr',
                 flip=True,
                 hue1='body-site')

authors: rupesh-sinha sbslee

repo: sbslee/dokdo


text:
Allow project-specific CommentCreator taking into account the existing header

Could be used to implement #23
Just a sketch for feedback, if the general approach looks OK I'll add tests and look more closely at binary compatibility.

Thanks!
Sorry to ask, but what would be the exact effect of this change?

Of course! The main change is that this unseals CommentCreator so users can provide their own.
Additionally, it adds a existingText: Option[String] parameter to CommentCreator.apply, so that you can optionally take into account the existing header text.
This can be used to make sure the copyright year is preserved. I can provide a crude regex-based implementation of that as a unit test, though doing it 'really correctly' might be hard so I'm not proposing adding such an implementation to the plugin itself just yet :).

@raboof, thanks, LGTM.
@britter, what do you as the creator of commentcreator think?

Nice!

authors: hseeberger raboof

repo: sbt/sbt-header


text:
externalIvySettings and defining a publishTo resolver

I'm trying to use a custom Ivy repository from an SBT build and after some fiddling with externalIvySettingsURL I am able to resolve dependencies from this repository.
In the ivysettings.xml we have a resolver chain defined that gives preference to some of the company's custom repos.
I'm having some issues in trying to publish to one of these ivy repositories though - I don't know how to reference the resolver to publish to.
I've had succes in publishing by commenting out the externalIvySettingsURL and redefining the resolver repo to publish to in sbt speak.
When I try to use both externalIvySettingsURL and the repo defined in sbt (using resolvers += Resolver.file("my-test-repo" ...) this doesn't seem to work anymore.
When running 'publish' I'm now getting the error message "(*:publish) Undefined resolver 'my-test-repo'"
Any ideas on how to resolve this issue?

I've learned this workaround from @jsuereth through typesafe's support:

In the ivysettings xml specify your publishing resolver with a specific name string
In the publishTo in sbt specify the exact same resolver with the exact same name. Ignore the errors. The one from ivysettings.xml should win.

With this in my build.sbt publishing now works fine:
publishTo := Some(Resolver.file("publishingResolverName"))

This is not the cleanest of workarounds, but at least it works. Maybe it's enough to have this documented somewhere?

Closing this since we now default to using Coursier.

repo: sbt/sbt


text:
Cant debug remote in version 0.13.8

I just cant debug remote sbt scalatra application using sbt version 0.13.8.
Tried with SBT_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=n
and in Intellij IDEA the default remote options and wont work.
Tried to start the internal sbt console in Intellij with remote options configured and I can get it work.
I seems that SBT starts a new java process when I run container:start so I cant debug.
Any suggestion?

Likely a #1702 related bug /cc @jsuereth

I am on 0.13.8 too and I have the same issue. Hopefully somebody will look into it :/

I am closing this due to inactivity, but if this is still relevant let us know with more details (reproduction steps etc).

authors: codella eed3si9n ronaldo-getreveel


text:
packageBin shouldn't package stale class files

See https://github.com/rickynils/scalacheck/issues/318 for the user-land result..

@dwijnand, @rickynils, or @xuwei-k could one of you describe the repro steps?
I see that ScalaCheck 1.13.4 and ScalaCheck 1.12.6 got released simultaneously. So can I reproduce this by:
git checkout 1.12.6
sbt package
git checkout 1.13.4
sbt package

If so the question is, if the file in question have later timestamp than in 1.12.6?
https://github.com/rickynils/scalacheck/commit/259607f788ce9d32ff86515ab1648797284b94d1 happened on Jun 22, 2015, but there's been https://github.com/rickynils/scalacheck/commit/224a7ad1fb993423a0e60da0be00b972081ea3df#diff-c8345e81ae750f53d481247eb90c97ce on Aug 9, 2015.
Is the expectation, "detect changes to source code even if the timestamp is older than the previous source"? I'm sure we could try this, but there might be some consequences to performance if we can't assume that the time is monotonically increasing.


text:
Warn on unused settings (or tasks) when they are marked secondary

problem

sbt will silently ignore unused settings.
Displaying warning for all unused tasks and setting will catch top level keys like clean.

scalacOptions in compile += "-X"

expectation

I can mark keys to be top level or secondary. (keyUsage in (ThisBuild, foo) := Usage.Secondary, probably tasks default to top level, and settings default to secondary.)
There's a buildLint command that warns on unused setting/task expressions with secondary keys provided by build.sbt.
The warning takes in account of the scope delegation rules.
Debug mode to display unused setting/task expressions provided by plugins, including the Defaults.

scalacOptions in compile += "-X"
^
[warning] Unused key: projA/*:compile::scalacOptions was not referenced by other settings/tasks.

notes
Many have brought up the idea of warning on unused. Here's previous thread on unused settings from 2011, which shows 58 unused settings.

Can you assign me this?

I have a PR here - https://github.com/sbt/sbt/pull/5153


text:
Use keystores in Scaffold-Eth

Description
Adds keystore for yarn generate and also for all scripts run inside script/deploy.s.sol.
keystore is saved to '~/.foundry/keystores/scaffold-eth-default'
yarn account:generate // generates a random wallet and saves to keystore

yarn account:import // uses prompt to ask for private key and password

Additional Information

[x] I have read the contributing docs (if this is your first contribution)
[x] This is not a duplicate of any existing pull request

Related Issues

Hey @jrcarlos2000 ! Overall working great!
But I noticed some things we possibly need to change:

We need to add information to readme that after yarn:deploy we need to enter empty password
I think it's better to use another keystore for account:generate. Let's say I want to deploy my contract to sepolia. I run account:generate and then deploy it. Then I want to change contract, so I work locally again, and when yarn chain my generated sepolia account is gone with all my sepolia eth. So I need to save private key of sepolia account somewhere or generate a new one. But as I understand if we will use another keystore this problem disappears.
yarn account doesn't work
I'm getting this warning all the time, even when deploying to sepolia

Warning (9302): Return value of low-level calls not used.
  --> script/DeployHelpers.s.sol:33:9:
   |
33 |         deployer.call{ value: SCAFFOLD_BASE_BALANCE }("");
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

[⠆] Compiling...

Can we get rid of it?

thanks @rin-st , yes still testing out what would be the best Dev Ex here before coming up with an updated README.

I think it's better to use another keystore for account:generate. Let's say I want to deploy my contract to sepolia. I run account:generate and then deploy it. Then I want to change contract, so I work locally again, and when yarn chain my generated sepolia account is gone with all my sepolia eth. So I need to save private key of sepolia account somewhere or generate a new one. But as I understand if we will use another keystore this problem disappears.

so for this, we can do a pre-check, only generates a wallet after yarn chain, when there is no existing keystore.

I'm getting this warning all the time on deploy, even when deploying to sepolia

yes, will get rid of this

update : i have made a change:
when you do yarn account:generate or yarn account:import your keystore will be named scaffold-eth-custom, users will be able to set this on .env , please check the .env.example. so they can either used the anvil account ( scaffold-eth-default) or the imported / generated account ( at scaffold-eth-custom )
we also allow them to give it a name if provided.
yarn account:generate --name KEYSTORE_NAME  , will need to update on .env
yarn account:import --name KEYSTORE_NAME  , will need to update on .env
KEYSTORE_NAME defaults to scaffold-eth-custom

Thanks for the quick fixes! 🔥
Regarding yarn account. Could you take address from scaffold-eth-custom keystore, not as parameter? It worked without parameters before and also we don't need to save address before passing to yarn account

Thanks for the quick fixes! 🔥
Regarding yarn account. Could you take address from scaffold-eth-custom keystore, not as parameter? It worked without parameters before and also we don't need to save address before passing to yarn account

yes this will be taken from the .env , it will be set to scaffold-eth-default first and scaffold-eth-custom when user has generated a wallet. However you still need to unlock it. we still need the password to decrypt the keystore.
cc: @technophile-04

After running yarn chain and then yarn deploy it gives:

Tysm Carlos for this!!
As I understand ETH_KEYSTORE_ACCOUNT basically denotes which keystore to use.
SE-2 basically will be interacting with two keystore named:

scaffold-eth-default => This keystore uses anvil's 0th account private key, password is set to empty string ''
scaffold-eth-custom => This will be generated when you run yarn account:generate, users sets the password.

I kinda like how we are getting account of keystore from .env. This means if I have created an keystore account "my-account", I could just add it in .env#ETH_KEYSTORE_ACCOUNT=my-account and everything should work in context of my-account address as deployer / sending transaction and also yarn account will list details of my-account address.
^ So if above is true(it seems to be, on my testing) then this makes yarn account:import kind of redundant? If people want to use their preferred account with PK then they can just update .env#ETH_KEYSTORE_ACCOUNT with their account?
Difference b/w current SE-2 flow and keystore flow is:

Whenever you run yarn deploy(on localhost) you need to hit "Enter"
After you run yarn account:generate, you have to manually update .env#ETH_KEYSTORE_ACCOUNT with scaffold-eth-custom to use account generated by you to deploy contract.
If you do yarn deploy(on localhost) after pt.2, user has to enter scaffold-eth-custom password instead of hitting enter since now we will be using scaffold-eth-custom account always.

Some DX improvements:

Considering point 2. and 3, I think we should show the user whats the current account/address being used at that time when he is entering the password(Because I was kind of confused initally,  should I hit "Enter" or use my generated account password without looking at .env)

(optional): Umm thinking out loud, with keystore it feels like we should have single deploy account for all SE-2 instance. Currently(in this branch) it removes the previous instance scaffold-eth-custom from keystore and generates a new one.

Imagninary flow:

Users run yarn generate => we check if scaffold-eth-custom is already present in keystore
If not, we create scaffold-eth-cusom with random address.
If its present, then in CLI we directly show the "Using address/account 0x23423423", and then "Enter the password"
There could be an another script like yarn account:dangerous-re-generate (this will remove scaffold-eth-custom) and generate new one

But yeah would love to know others thought as well!

Stressing on the point, in my thinking keystore kind of changes how we have been preaching to deploy contracts to testnet / mainnet.
Let's suppose I have 2 SE-2 instance (DAO-1 and NFT-proj-2).
Previously each of the project had their respective deployer key independent of each other. Example running yarn generate in NFT-proj-2 won't affect DAO-1 project's pk at all.
With keystore since we have only one global namespace(sacffold-eth-custom), running yarn generate in NFT-proj-2 will override the pk of DAO-1 project(loosing the deployer account of DAO-1 project)
So, Ideally I think yarn generate should tell the user do you want to override previous account or not?(if its second time). If its very first time we create an account.
Similarly to here, we could mention if you want to use your personal keystore account, you could update the .env#ETH_KEYSTORE_ACCOUNT with your preffered account name.

the yarn account:import is a helper function for a non trivial operation
cast wallet import ${1:-scaffold-eth-custom} --interactive // here is worth mentioning that the user can select the name if they pass --name {ACCOUNT_NAME} and use it later on the .env
if i want to put my current pk into a keystore i would need to use this command anyways ( or something similar ) this is interactive which is good!

Umm I kind of confused and like 51% not to add yarn account:import and 49% to add it. kj
The reason :

It add volume to scripts in package.json, if we didn't have it then the options could be just yarn generate (to generate an account), yarn acount to list account details (same as current SE-2)
Its just an abstractions over cast wallet import ACCOUNT_NAME --interactive, also foundry people seems to prefer running their own commands (for beginners we could have a line about in the docs)
We don't have to do any magic, like removing scaffold-eth-custm etc.

what we can add is setting the custom or "named" account to be the one that .env points to, after the user calls yarn generate or yarn account:import . I wouldnt prefer this imo

Lol confused on this too. Both option makes sense to me but yeah telling people to manually update .env with  scaffold-eth-custom/ their prefered account.
Also @jrcarlos2000 can we achieve point 1. of "Some DX improvements" from https://github.com/scaffold-eth/scaffold-eth-2/pull/878#issuecomment-2220397549, I think it should be just adding echo 'using $ETH_KEYSTORE_ACCOUNT' before everything?

Its just an abstractions over cast wallet import ACCOUNT_NAME --interactive, also foundry people seems to prefer running their own commands (for beginners we could have a line about in the docs)

I agree with you @technophile-04 , for DX 1, 2 we can achieve it. keeping only one single scaffold-eth keystore account
Lets see other thoughts !

Some DX improvements:

Considering point 2. and 3, I think we should show the user whats the current account/address being used at that time when he is entering the password(Because I was kind of confused initally,  should I hit "Enter" or use my generated account password without looking at .env)

(optional): Umm thinking out loud, with keystore it feels like we should have single(testnet/mainnet) deploy account for all SE-2 instance. Currently(in this branch) it removes the previous instance scaffold-eth-custom from keystore and generates a new one.

Imagninary flow:

Users run yarn generate => we check if scaffold-eth-custom is already present in keystore
If not, we create scaffold-eth-cusom with random address.
If its present, then in CLI we directly show the "Using address/account 0x23423423", and then "Enter the password"
There could be an another script like yarn account:dangerous-re-generate (this will remove scaffold-eth-custom) and generate new one

But yeah would love to know others thought as well!

Agree, good points!

what we can add is setting the custom or "named" account to be the one that .env points to, after the user calls yarn generate or yarn account:import . I wouldnt prefer this IMO

I wouldn't prefer this too

With keystore since we have only one global namespace

hm, I didn't take it into account!

So, Ideally I think yarn generate should tell the user do you want to override previous account or not?(if its second time). If its very first time we create an account.
Similarly to here, we could mention if you want to use your personal keystore account, you could update the .env#ETH_KEYSTORE_ACCOUNT with your preffered account name.

+++

Umm I kind of confused and like 51% not to add yarn account:import and 49% to add it.
2. Its just an abstractions over cast wallet import ACCOUNT_NAME --interactive, also foundry people seems to prefer running their own commands (for beginners we could have a line about in the docs)

Since I'm not a foundry pro, I'd prefer to leave it. It's easier to check package.json than find information in the docs. We can always remove it if not needed

We don't have to do any magic, like removing scaffold-eth-custm etc.

As an option we can make a name required for account:import, so it won't rewrite scaffold-eth-custom by default

Hey @jrcarlos2000 amazing work!
I have some questions. Please excuse my dum dumness if there is any.
So here is what it would look like for a normal user:

The user clones the repo, does a yarn install and foundry too
2. yarn chain generates a default keystore
the user then is able to run yarn deploy but she is asked a password that she needs to leave blank and click enter

My question here is:

How hard is it to remove the empty pw submission?
Maybe introduce a new command:
yarn deploy:local that would not ask a password and just yolo the contract into local.

Why I am wondering if this would work or not is that I believe that this empty pw thing will baffle lots of newbies. (It confused me at the beginning)
What I would suggest is to have a different command for local deployments. Since local deployments are entirely different from deployments on real chains, it makes sense to separate them.
yarn deploy:local would deploy contracts on the local anvil node.:
https://github.com/user-attachments/assets/81928915-4160-408e-b0e0-d3e151f830a4
   "deploy:local": "forge build --build-info --build-info-path out/build-info/ && forge script script/Deploy.s.sol --rpc-url ${1:-default_network} --broadcast --legacy --ffi --password '' && node scripts-js/generateTsAbis.js",
The method above would ensure two things:

Ease of use for newbies: very verbose, yarn deploy:local deploys the contracts locally instead of yarn deploy deploying locally.
Separation: now we have an entirely new command for local deployments, which is not possible to mix with the deploy we already have.

yarn deploy would still use the local node as a default value as a guard because there is no harm in deploying to a local node.
More on yarn deploy.

Ask the user: chain to deploy
Ask the user: keystore to use
Show a confirmation (and maybe the deployer details) just before deployment

This would take a little bit of effort but it would be better in terms of UX

@jrcarlos2000 is there a way we could in deploy script while doing yarn deploy that if the rpc url is 127:.... then we conditionally pass the --password with '' string and if the resolved ${1:default_network} is different we don't pass the --pasword flag?

Updates:

Updated from latest version of branch foundry
Added a --password flag, that uses a default password when on localhost , namely localhost, yarn chain && yarn account are also updated to follow this pattern.
Users will have to pass a password for other accounts they import

## Usage
yarn account --password PASSWORD ## defaults to localhost if not passed
yarn deploy --network NETWORK --password PASSWORD ## defaults to localhost if not passed

Unable to log the account being used, however if the decryption fails, it will log the corresponding account , users should be aware that the account they are using is the account they have already pointed to on their .env

Failed to decrypt keystore "/Users/carlosssramosss/.foundry/keystores/scaffold-eth-custom"

Added yarn:account:force-import to force override on scaffold-eth-custom account.

It looks cleaner right now @technophile-04

Testing this out and when I run yarn deploy I get this error:
[elliott@fedora foundry-deploy-test]$ yarn deploy
[⠢] Compiling...
No files changed, compilation skipped
error: the following required arguments were not provided:
  --keystore <PATHS>

Usage: forge script --keystore <PATHS> --fork-url <URL> --password <PASSWORDS> --broadcast --legacy --ffi --etherscan-api-key <KEY> <PATH> [ARGS]...

For more information, try '--help'.

Prior to running I yarn installed and yarn account:generate. Did I miss a step?

Thanks @escottalexander for testing it out!
Could you please see if you have .env present in pacakges/foundry/.env and it should have this init ETH_KEYSTORE_ACCOUNT=scaffold-eth-default .
You don't need to create the .env it should have been automatically created when you first clone and yarn install if it didn't that it might be a bug which we need to solve (could you please tell the OS you are using?)
If .env was already present could you try upgrading foundry version. You  could just run
foundryup

This should make all the foundry related stuff like anvil etc upto date and then could you try running yarn deploy again?

Thanks @technophile-04
Perhaps I did yarn install before being in the correct branch because I did have a .env but it did not have the ETH_KEYSTORE_ACCOUNT in it. Deleting the .env and performing a yarn install set up a .env with that variable and the deploy was successful. So hopefully just a user error on my part and not a rel issue. Thanks!

Upon seeing @escottalexander 's reply here, I tested it with a clean install of SE-2 and I got the same error.
After yarn install, I tried to run yarn deploy. And below is what I get:
`
...
[⠊] Compiling...
[⠑] Compiling 31 files with Solc 0.8.26
[⠒] Solc 0.8.26 finished in 2.56s
Compiler run successful!
error: the following required arguments were not provided:
--keystore
Usage: forge script --keystore  --fork-url  --password  --broadcast --legacy --ffi  [ARGS]...
For more information, try '--help'.
make: *** [Makefile:16: deploy] Error 2
`

As @technophile-04 mentioned, yarn install should create a .env file in the directory shown above. (packages/foundry)
I tried to look around a bit but I couldn't figure out where the code that creates the .env file
Info about my system:
PS C:\Users\port> wsl cat /proc/version Linux version 5.15.153.1-microsoft-standard-WSL2 (root@941d701f84f1) (gcc (GCC) 11.2.0, GNU ld (GNU Binutils) 2.37) #1 SMP Fri Mar 29 23:14:13 UTC 2024
I run wsl2 ubuntu on a win11 EDU machine.
I have run foundryup to get foundry to the latest version.

Just merged the makefile PR, would love a last couple of tests.
git clone https://github.com/scaffold-eth/scaffold-eth-2.git foundry-se-2 --branch feat/keystore

Then
cd foundry-se-2 && yarn install

then try SE-2 magic command yarn chain, yarn deploy, yarn start they should work out of box hopefully.
Before deploying to testnet:
yarn account:generate

#enter some password

Then update .env#ETH_KEYSTORE_ACCOUNT=scaffold-eth-custom .
yarn account

# enter same password as above to unlock and see the balance

Send some eth to generate account on sepolia and then:
yarn deploy --network sepolia

# enter same password which you used early

This should deploy the contract to sepolia with generated account.
and lastly :
yarn verify --network sepolia

This should verify the contract

@technophile-04 yarn account:generate is successful but yarn account fails. I did update the .env to point to scaffold-eth-custom and I verified that the keystore exists in /.foundry/keystores. Let me know if you want me to try something to diagnose further.
[elliott@fedora foundry-se-2]$ yarn account:generate
Enter password:
`scaffold-eth-custom` keystore was saved successfully. Address: 0x822bda2a647b1dba555d002964dba61c21d2b84c
Please update .env file with ETH_KEYSTORE_ACCOUNT=scaffold-eth-custom
[elliott@fedora foundry-se-2]$ yarn account
/bin/sh: line 1: source: .env: file not found
make[1]: *** [Makefile:30: verify-keystore] Error 1
🚫 Unable to access keystore account scaffold-eth-custom

Please run `yarn account:generate` to generate deployer keystore account and update `ETH_KEYSTORE_ACCOUNT=scaffold-eth-custom` in `.env` file

Thanks @escottalexander for tests! Not sure what caused that problem but pushed a commit so that we don't do sourcing of .env in make file. Hopefully it should work now could you please try it once again?

@technophile-04 I just repeated the steps in a fresh download of the repo (and removed my existing scaffold-eth-custom keystore) and this time it is asking for my password which is good but it fails after I give it my password. I tried twice (recreated the keystore) being very careful to enter my password correctly.
I am running Fedora Linux 40.

@technophile-04 I just repeated the steps in a fresh download of the repo (and removed my existing scaffold-eth-custom keystore) and this time it is asking for my password which is good but it fails after I give it my password. I tried twice (recreated the keystore) being very careful to enter my password correctly.

Strange, not sure whats happening did you get error as previous one after you enter password? Could you paste the error?
Also after you do yarn account:generate could you try just running plain command:
cast wallet address --account scaffold-eth-custom

# after entering the password it should log you wallet address

@technophile-04 This is the error I get:
[elliott@fedora foundry-se-2]$ yarn account
Enter keystore password:

🚫 Unable to access keystore account scaffold-eth-custom

💡 If you haven't generated a deployer keystore account yet, please run `yarn account:generate`. Then update the `.env` file with `ETH_KEYSTORE_ACCOUNT=scaffold-eth-custom`

The simple cast command works. It prints the wallet address after I give it my password.

I don't know much about C Makefiles but it appears when I run yarn account it tries to get my address by running cast wallet address(via make verify-keystore). This command seems to fail when I try it by itself:

Ohh actually since we have .env configured in pacakges/foundry with ETH_KEYSTORE_ACCOUNT foundry picks that variable without us needing to explicitly mention  scaffold-eth-custom it get gets that from .env :

Also was debugging this with @portdeveloper and I think we finally fixed the issue, seems like executing commands from makefile seems to pass argv at different position for different OS. But it should be good now and hopefully should work 🙌

I have just tested it all except the verify, will test it when etherscan is out of maintenance, and everything works great!
hyped up to see these changes in prod!!

Have tested this, everything still works perfectly for me on Mac OS @technophile-04 😁

@technophile-04 @carletex Works great! No issues this time. I was able to follow all the steps you posted including deploying to sepolia and verifying the contract. Nice work!

Tested it and it all works amazing!!!
Though I want to note one thing here:
yarn deploy --network sepolia
deploys and verifies the contract
So we do not need to run:
yarn verify --network sepolia
Wanted to point this out to ask if this is the intended behavior or not.
Is it better to make it separate or keep it as is for ease of use?

Wanted to point this out to ask if this is the intended behavior or not.
Is it better to make it separate or keep it as is for ease of use?

Actually they are separate already, yarn deploy --network sepolia should only deploy the contract without verifying it.
I think maybe you felt this way because you got "contract already verified" when you deployed "YourContract.sol"? I this is because etherscan is being smart

Wanted to point this out to ask if this is the intended behavior or not.
Is it better to make it separate or keep it as is for ease of use?

Actually they are separate already, yarn deploy --network sepolia should only deploy the contract without verifying it.
I think maybe you felt this way because you got "contract already verified" when you deployed "YourContract.sol"? I think this is because etherscan is being smart marking contracts already verified which have same bytecode?

That is right haha I should've tested it with a separate contract before adding that comment!
Now after testing with another contract, I saw that everything works as it should!
lesgoo

Thanks to @portdeveloper for noticing! Actually fork was not woking, just fixed it at https://github.com/scaffold-eth/scaffold-eth-2/pull/878/commits/cbc3ac9f3fc849cb43993415b06460b507eaaa10
So now :
By default yarn fork will fork mainnet.
and yarn fork --network ${networkName} will fork mentioned network name. Eg: yarn fork --network sepolia will fork sepolia

Merging this into foundry branch 🙌 Thanks @jrcarlos2000 and also others for feedback/help!!


text:
Adding some padding to UpdatesSection.scala

The "Data Definition" section in "UpdatesSection.scala" seem to be cutting off some of the drop and create statements.  Hoping this padding corrects the issue.

I'm sorry, I've just realized that I've just merged this PR, that seems to be the same fix.
Thanks anyway!

No problem, as long as the issue is fixed!

authors: juanpedromoreno zarthross

repo: scala-exercises/exercises-doobie


text:
Backport "Fix exhaustivity due to separate TypeVar lambdas" to LTS

Backports #18616 to the LTS branch.
PR submitted by the release tooling.
[skip ci]

No regressions detected in the community build up to lts-18723.
Reference


text:
Update dynamodb to 2.16.44

Updates software.amazon.awssdk:dynamodb from 2.16.17 to 2.16.44.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "software.amazon.awssdk", artifactId = "dynamodb" } ]

labels: library-update, semver-patch

Superseded by #1064.

repo: scanamo/scanamo


text:
Update dynamodb to 2.17.111

Updates software.amazon.awssdk:dynamodb from 2.17.92 to 2.17.111.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "software.amazon.awssdk", artifactId = "dynamodb" } ]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #1334.


text:
Update scala-library to 2.12.13

Updates org.scala-lang:scala-library from 2.12.8 to 2.12.13.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Files still referring to the old version number
The following files still refer to the old version number (2.12.8).
You might want to review and update them manually.
.travis.yml

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scala-lang", artifactId = "scala-library" } ]

labels: library-update, semver-patch, old-version-remains

Superseded by #87.

repo: scaruby/scaruby


text:
Pass data from UIViewController to floatingPanel

Hello, how to send data from uiViewCOntroller to floatingPanel and displayed to label in floating panel ?
guard let bottomSheetVc = storyboard?.instantiateViewController(identifier: Constant.storyBoard.sbSheetExercise) as? BottomSheetExerciseViewController
        else {
            return
        }
        bottomSheetVc.coordinate(lat: lat, lng: lng)

func coordinate(lat: Double!, lng: Double!){
        let latString: String = String(format: "%f", lat)
        let lngString: String = String(format: "%f", lng)

        self.lblDistanse.text = "self.lblDistanse.text = latString

    }

it's return nil when display to label
Fatal error: Unexpectedly found nil while implicitly unwrapping an Optional value: file

The above code is not enough to understand your situation. But If uiViewControeller is a content view controller in a panel, you can access it through uiViewController.parent.

authors: scenee ysavr

repo: scenee/FloatingPanel


text:
Create a texture strategy similar to FontData.

As @cies said

I can also imagine its great to have FillTexture take a DynamicImage or even a GLuint (pointing to the texture in GL'istan).

Just like fonts, there are many different kinds of textures. We should have gelatin-picture use a texture strategy similar to the way it uses FontData. That way the implementation details (GLuint or DynamicImage) aren't leaked in the top level API. This TextureData should be implemented in gelatin-core.
I'm thinking something like
data TextureData = TextureData
    { textureShow :: String
    , textureHash :: Int -> Int
    , ...
    }

And then have the backend provide a function that maps a texture to a TextureData. I'm not certain of what other functions would be needed in the TextureData record though.

The alternative is to encode the texture type in the type of Picture like was previously done with Font.

repo: schell/gelatin


text:
enable Dependabot or similar

I periodically run ./gradlew depUp locally, manually update build.gradle.kts as needed, make sure things still build, and push to publish an updated Greencently to Maven Central.
Would be nice to have this handled automatically whenever possible.

Added Renovate in #11.

repo: schmonz/junit-greencently

license: Unlicense


text:
Incorrect exception being raised with SQLite

If I open a SQLite database using one of the standard constructors like this:
this.db = new NPoco.Database(connectionStringBuilder.ConnectionString, DatabaseType.SQLite);
and the database specified in the DataSource does not exist then instead of getting the expected System.Data.SQLite.SQLiteException I get a System.Reflection.TargetInvocationException with the SQLite exception held in the InnerException. Is this correct? I would have thought in cases like this NPOCO should have raised the database exception.
Cheers,
Edit 25/8: I downloaded the current master and tried with this. I get the same issue.

Sorry, but I will need more information about the exception.
Its likely because it is using the DbFactoryProviders to instantiate the connection. We are not catching the exception in NPoco, but if you can send us more info then we can look further. Even a sample console application showing the problem.

Sorry! My fault entirely, I setup a test harness and it raised the correct exception. After a lot of debugging it turns out I'm opening the database in a service  which is being injected by MVVM Light's ViewModelLocator class. When the caller receives the exception it looks like MVVM Light is wrapping it in a TargetInvocationException.</red face> Sorry again :)

authors: makingbloke schotime

repo: schotime/NPoco


text:
'42P08: inconsistent types deduced for parameter $4'

Using Npoco with Npgsql in C#  (Update)
When null values are passed as parameters , Npoco will pass only a single parameter=null  instead of separate parameters with same value.  Here it will throw the error : '42P08: inconsistent types deduced for parameter $4' .
Beacause Npoco will get confused on datatype when same parameter is passed  to interger and text datatype column

What version of NPoco are you using. This doesn't do this by default in the latest version.

Npoco version = 2.0.0.0 , Runtime Version =v4.0.30319

As a workaround , im using the below code.
public static int UpdateWhere<T, TKey>(this IDatabase database, T obj, Expression<Func<T, bool>> where, Expression<Func<T, TKey>> onlyFields)
{
var ev = database.DatabaseType.ExpressionVisitor(database);
ev.Update(onlyFields);
ev.Where(where);
var tableName = obj.GetTheType().Name.ToLower();
string sql = "SELECT column_name,data_type FROM information_schema.COLUMNS WHERE TABLE_NAME = '" + tableName+"'";
var tabDetails = database.Fetch(sql);
var updateStatement = ev.Context.ToUpdateStatement(obj, false, onlyFields == null);
var tempUpdateStmnt = updateStatement;
foreach (var Item in tabDetails)
{
if (tempUpdateStmnt.Contains(Item.Column_Name))
{
int index =tempUpdateStmnt.IndexOf(Item.Column_Name);
int comaIndex = -1;
if (index < tempUpdateStmnt.IndexOf("WHERE"))
{
comaIndex = tempUpdateStmnt.IndexOf(',', index);
if (comaIndex < 0)
{
comaIndex = tempUpdateStmnt.IndexOf("WHERE", index);
}
                    string castType = "::" + Item.Data_Type+" ";
                    tempUpdateStmnt = tempUpdateStmnt.Insert(comaIndex, castType);
                }

            }
        }
        return database.Execute(tempUpdateStmnt, ev.Context.Params);
    }

This has been fixed in the for a few years. Upgrade to v4.

authors: ChembanKuthira schotime


text:
Still working

Hi.  I'm new to SmartThings and I have an Alarm.com security panel.  I followed the instructions and I can see the Alarm.com in my list of SmartApps on the IDE page and I can see the Alarm.com switch in My Device Handlers.  But, I can't find either in the app.  I've been reading that IDE is going to be depreciate (or possibly already has).  Will this method still work or is there another new way to connect Alarm.com to SmartThings?

Thanks ahead of time, by the way.  I can see that a lot of great work has been done on this.

Thanks ahead of time, by the way.  I can see that a lot of great work has been done on this.

This app stopped working for 98% of us early 2021, due to 2FA. It magically still works for a few, including Schwark. So highly unlikely that he will put any more effort into this project.
Outlookhttps://aka.ms/qtex0l for iOS

From: jamnmon66 @.>
Sent: Saturday, January 1, 2022 11:28:51 AM
To: schwark/smartthings-alarmcom @.>
Cc: Subscribed @.***>
Subject: Re: [schwark/smartthings-alarmcom] Still working (Issue #40)
Thanks ahead of time, by the way. I can see that a lot of great work has been done on this.
—
Reply to this email directly, view it on GitHubhttps://github.com/schwark/smartthings-alarmcom/issues/40#issuecomment-1003581293, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AIN52RMAW7LKULAJ5HWOAETUT4TUHANCNFSM5LCUJVVA.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

This app stopped working for 98% of us early 2021, due to 2FA. It magically still works for a few, including Schwark. So highly unlikely that he will put any more effort into this project.
Outlookhttps://aka.ms/qtex0l for iOS

From: jamnmon66 @.>
Sent: Saturday, January 1, 2022 11:28:51 AM
To: schwark/smartthings-alarmcom @.>
Cc: Subscribed @.***>
Subject: Re: [schwark/smartthings-alarmcom] Still working (Issue #40)
Thanks ahead of time, by the way. I can see that a lot of great work has been done on this.
—
Reply to this email directly, view it on GitHubhttps://github.com/schwark/smartthings-alarmcom/issues/40#issuecomment-1003581293, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AIN52RMAW7LKULAJ5HWOAETUT4TUHANCNFSM5LCUJVVA.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

Yes Schwark did put a lot of work in to this over the years and adrian97c, glad to see old names still around :)
There are alternatives out there. Suggest you check out Home Assistant http://hass.io and the custom component https://github.com/uvjustin/alarmdotcom .Its a little more involved getting started but the cost of entry is pretty low (a raspberry pi) and it integrates with smartthings out of the box if you're not ready to scrap your setup.

https://community.smartthings.com/t/st-edge-smartthings-alarm-com-integration/246934

repo: schwark/smartthings-alarmcom


text:
Make auto-generated citation file

With default options it generates the following CFF file:
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Dokken"
  given-names: "Jørgen S."
  orcid: "https://orcid.org/ABCD-ABCD-ACBD-ABCD"
title: "Research Project 1"
version: "0.1.0"
date-released: 2022-11-29

I think the citation file is really nice, but I think we should skip the orcid question from the cookiecutter because no one really remembers this and I think the questions should be answerable without having to lookup things like the orcid

Done

repo: scientificcomputing/template-repo


text:
Image resolution is low

I'm implementing the panorama view with this specs :
device : iphone XR
image : 4096 x 2048 (JPEG)
panorama type : spherical
bound size : full screen (828 x 1792)
and, the quality is very low after implemented.
what config should i make to make it high resolution as the image?
i recognized that the image is zooming-in too much
please advice.
thank you

Change minFoV and maxFoV. It's working.

authors: johanesgahari nhatduong

repo: scihant/CTPanoramaView


text:
fix: bump to manylinux 2010, add test

From #157. I've uploaded manually built 1.11.1 binaries for manylinux2010. This adds a test that shows the breakage, then adds the bump to 2010 which fixes it. Should we also ship manylinux1? I'd say no (in fact, I think I'd be fine to delete the old manylinux1 binaries for 1.11.1) - it's probably more likely that and old pip would get a broken binary than someone would need this on actual manylinux1.
I'd like to know why this broke - was is ninja, or is there some issue with the latest manylinux1? Maybe someone will investigate someday.
FYI, to build locally with a different manylinux, say for the 32-bit wheel:
git checkout 1.11.1
CIBW_MANYLINUX_I686_IMAGE=manylinux2010 pipx run cibuildwheel --only cp39-manylinux_i686

It's probably more likely that an old pip would get a broken binary than someone would need this on actual manylinux1

yep, for the past week that's around 5200 linux downloads with an old pip (<19.0) versus 50 downloads with 2.5 <= glibc < 2.12
Overall, that's 0.8% of downloads.
We could probably drop manylinux1 now. If the lack of a manylinux1 wheel is a problem on the next release, then a mix-in with manylinux1 wheels built with a statically linked libstdc++ (as done in #159 ) can be added.

@henryiii, since you approved #159, I merged that one and will close this one.

authors: henryiii mayeut

repo: scikit-build/ninja-python-distributions


text:
Fix sam_knn.py variable name for reset

As presented here, https://github.com/scikit-multiflow/scikit-multiflow/issues/272, SAMKNNClassifier cannot use the reset() method. This seems to be due to the name mismatch between internal variable self.max_wind_size and input argument max_window_size.
max_wind_size does not appear to be referenced anywhere else in the library, so simply editing the name to match max_window_size in SAMKNNClassifier.__init__() may be all the change that is needed to fix this.

Changes proposed in this pull request:

Rename max_wind_size to max_window_size on all three uses in SAMKNNClassifier.__init__().
Change expected_info in test_sam_knn_coverage to reflect corrected value for max_window_size
Fixes https://github.com/scikit-multiflow/scikit-multiflow/issues/272

Checklist
Implementation

[x] Implementation is correct (it performs its intended function).
[x] Code is consistent with the framework.
[x] Code is properly documented.
[x] PR description covers ALL the changes performed.
[x] Files changed (update, add, delete) are in the PR's scope (no extra files are included).

Tests

[x] New functionality is tested.
[x] Tests are created for the new functionality or existing tests are updated accordingly.
[x] ALL tests pass with no errors.
[ ] CI/CD pipelines run with no errors.
[x] Test Coverage is maintained (coverage may drop by no more than 0.2%).

No checks were failed, but two were canceled. As far as I can tell, this was not caused by the PR and the edited code does not need further changes. What should I do to resolve this?

repo: scikit-multiflow/scikit-multiflow


text:
Check for unique ASes in generator, use non-production ASes.

Now that we are using global AS numbers, the generator needs to catch a
.topo file that repeats AS numbers. Also, we need to change to using
example AS numbers where possible, and private-use AS numbers for the
default topo etc.
For private-use, i've gone with the following scheme for our test topos:

The prefix is 4_295_00X for ISD X.
Core ASes have a suffix of _0X0, where X is 1,2,3 for the
first/second/third core AS in an ISD etc.
Non-core ASes have the suffix of _0XY where X is their core issuer
AS, and Y is incremented for each non-core AS under that issuer.

topology/Default.topo is annotated with the old AS IDs to help with the
transition.
N.B.: doc/fig/default-topo.pdf needs to be updated, i'll be looking for
a volunteer. :)
For the interfaces in go/lib/xtest/graph, i've gone with the last 4
digits of each AS number, which thankfully comfortably fits in the
64bit namespace.
Ref https://github.com/scionproto/scion/wiki/ISD-and-AS-numbering
Also:

Remove an old ignore.goconvey
Fix address regex in snet to cope with _'s in AS numbers.

This change is

Reviewed 69 of 73 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

go/lib/pathmgr/pathmgr_test.go, line 235 at r1 (raw file):

func apsCheckPaths(desc string, aps AppPathSet, expValues ...string) {
	SoMsg(fmt.Sprintf("%s: len", desc), len(aps), ShouldEqual, len(expValues))
	//fmt.Println(getPathStrings(aps))

Leftover comment?

go/lib/xtest/graph/graph.go, line 294 at r1 (raw file):

		{"2-4_295_002_010", 20102011, "2-4_295_002_011", 20112010},
		{"2-4_295_002_020", 20202021, "2-4_295_002_021", 20212020},
		{"2-4_295_002_011", 20112021, "2-4_295_002_021", 20112021},

Just noticed that the original edge here was wrong, the right side should be 20212011.

topology/Default.topo, line 39 at r1 (raw file):

  1-4_295_001_021: # old 1-15
    cert_issuer: 1-4_295_001_020
  1-4_295_001_022: # old 1-17

This should be 1-18.

Comments from Reviewable

Review status: all files reviewed at latest revision, 3 unresolved discussions, some commit checks failed.

go/lib/pathmgr/pathmgr_test.go, line 235 at r1 (raw file):
Previously, scrye (Sergiu Costea) wrote…
Leftover comment?

Yep, thanks! Fixed.

go/lib/xtest/graph/graph.go, line 294 at r1 (raw file):
Previously, scrye (Sergiu Costea) wrote…
Just noticed that the original edge here was wrong, the right side should be 20212011.

Good catch :)

topology/Default.topo, line 39 at r1 (raw file):
Previously, scrye (Sergiu Costea) wrote…
This should be 1-18.

Done.

Comments from Reviewable

There is one breaking change in this PR - it fixes the filenames of certs to be _ separated. This will only impact you if your AS numbers are > 999.

authors: kormat scrye

repo: scionproto/scion


text:
Improve performance of event-mode upper-bound error handling during normalization

https://github.com/scipp/esssans/blob/1ae920d685e3fd306afc5414c3e05b6fb1416bd6/src/esssans/uncertainty.py#L56 is quite inefficient.
A better approach would be to change https://github.com/scipp/esssans/blob/1ae920d685e3fd306afc5414c3e05b6fb1416bd6/src/esssans/normalization.py#L406-L408 to something like
denominator.variances *= numerator.bins.size()

since at this point we have an equivalent binning. Currently this will raise scipp.Variances error during the division later, since it requires an explicit broadcast. We can thus change to
denominator.variances *= numerator.bins.size()
denominator.data = sc.bins_like(numerator, denominator.data)

which is still faster than the current implementation.
Ultimately, we may consider adding the upper-bound approach in Scipp, so this can be done more efficiently.

Merged into another feature branch (pending merge itself).

repo: scipp/esssans


text:
Inverse of Log CDF of Normal Distribution

Is your feature request related to a problem? Please describe.
We were interested in calculating z-scores associated to log p-values in the situation where log(p) can be very small.
The naive solution of applying scipy.special.ndtri(numpy.exp(log_p)) fails when log_p < ~-745 due to underflow.
Describe the solution you'd like
In the underlying C code for scipy.special.ndtri found here,  when p is very small the approximation used for  ndtri(p) is an expression in sqrt(-2*log(p)). This formula could then
be applied directly to calculate the inverse of the Log CDF of the normal distribution for very small log(p). A function could be written which exponentiates log_p and then uses the existing ndtri implementation on the exponentiated value, except for when log_p is very small, in which case the rational approximation in sqrt(-2*log_p) can be applied directly. Preferably this could be done in C or Cython for performance reasons.
Describe alternatives you've considered
We've already implemented this approach in Python and applied it in our research. A code snippet can be found below. Would there be interest in adding such a solution to scipy through a C extension? If so, I'd be happy to submit a PR, though it may be several weeks before I have the free time to do so. In the mean time, if anyone else has an interest in adding this that would be great too.
import numpy as np
from scipy.special import ndtri
from numpy.polynomial import Polynomial
from scipy._lib._util import _lazywhere

_P2 = Polynomial([3.23774891776946035970,
                  6.91522889068984211695,
                  3.93881025292474443415,
                  1.33303460815807542389E0,
                  2.01485389549179081538e-1,
                  1.23716634817820021358e-2,
                  3.01581553508235416007e-4,
                  2.65806974686737550832e-6,
                  6.23974539184983293730e-9])

_Q2 = Polynomial([1.00000000000000000000,
                  6.02427039364742014255,
                  3.67983563856160859403,
                  1.37702099489081330271,
                  2.16236993594496635890e-1,
                  1.34204006088543189037e-2,
                  3.28014464682127739104e-4,
                  2.89247864745380683936e-6,
                  6.79019408009981274425e-9])

def log_ndtri_small_p(log_p):
    """Approximation to inverse log CDF normal for log_p <= -32"""
    x = np.sqrt(-2.0 * log_p)
    x0 = x - np.log(x) / x
    z = 1 / x
    x1 = z * _P2(z)/_Q2(z)
    return x1 - x0

def log_ndtri(log_p):
    output =  _lazywhere(log_p > -32, [log_p],
                         lambda x: ndtri(np.exp(x)), f2=log_ndtri_small_p)
    # If input is scalar, convert result to scalar
    if not isinstance(log_p, np.ndarray):
        output = output.item()
    return output`

Additional context (e.g. screenshots)

This is actually something I've needed to solve before as well. I found a simple solution in this set of lecture notes.
If p > q then
log(p - q) = log(p) + log(1 - exp(log(p) - log(q))
so that we can express log(p - q) in terms of log(p) and log(q)
We can then do something like
import numpy as np
from scipy.special import log_ndtr

def log_diff(log_p, log_q):
    return log_p + np.log(1 - np.exp(log_q - log_p))

And then the above could be calculated as
log_diff(log_ndtr(-37.5), log_ndtr(-37.6)  # -707.6926042717773
log_diff(log_ndtr(-37.7), log_ndtr(-37.8)  # -715.2174432032357

That's is really helpful! Thanks!
@DominicChm could you try this out?

Happy to help :)

@mdhaber I put together a Cython implementation of log_ndtri. It didn't take as long I'd anticipated. The process for adding and registering new special functions is very convenient. I followed #11313 to see how it's done. It remains to add tests, benchmarking, and proper documentation. I saw in these guidelines that all new features should be discussed in the scipy-dev mailing list. Should I make a thread there before doing any further work?

Yes, all new functions should be brought up on the mailing list. I think it fits squarely in our realm, so i don't imagine people will not want to have it. One thing there might be discussion about is the name. It isn't the same as log(ndtri(x)), right? It's ndtri(log(x)), no? The log prefix would seem to indicate the former, so ndtri_log might be more appropriate unless there is precedent otherwise.
This may have been requested specifically before:
https://github.com/scipy/scipy/issues/11465#issuecomment-583020013
If you agree that's what the user was asking for, it might be a good thing to mention to the mailing list that you had the same need, so it's not so uncommon. R distributions sometimes accept log inputs too.

Thanks, that sounds good. I actually dithered for a bit between log_ndtri and ndtri_log. My final reasoning was ndtri is the inverse of ndtr, so log_ndtri is the inverse of log_ndtr.  ndtri_log does seem less confusing though. It looks like this is one of the things the user in #11465 was asking for. Ill bring that up in the mailing list. I haven't found a solution to getting good precision when p ~ 1 and log(p) ~ 0 though, which is something that user was also interested in. For the future, should I go directly to the mailing list instead of raising an issue here?

Yes, you're right. ndtri_exp? I don't know anymore : ) maybe suggest a few names and see what resonates with people.
I think it's reasonable to start with an issue and get a little feedback like you did here before posting to the mailing list. For example, I think we identified that the mailing list post should ask for feedback on the name. You can also encourage people to come to the issue on GH for discussion rather than having the discussion itself via email.
Sometimes, if I'm pretty sure the feature is desired, I'll go ahead and get the PR in good shape and even submit that, so that the mailing list post is mostly to attract reviewers.
So the order is what makes sense to you - but if you want to limit the possibility of writing code that won't be accepted, then yes, posting early is a good idea.

FWIW, there is log_ndtr is _faddeeva.cxx

@ev-br Yes, the existence of log_ndtr is what made me think log_ndtri could potentially be an acceptable name for its inverse, analogous to ndtr vs ndtri.

It makes sense, it's just tough to know whether it's (log_ndtr)i or log_(ndtri). Might be best to pick a name that is either unambiguous or makes people think enough to look it up.

From your mailing list post:

I've checked just now and it appears that the Julia function applies the same technique I propose

You may know this already, but it can't hurt to mention - please check licenses before looking at other open-source code. Looks like StatsFuns is MIT-licensed, which should be compatible with SciPy's BSD license, but we steer clear of most R code because that tends to be GPL.

@mdhaber Thanks, that's good to know. I actually didn't realize it could be an issue even for investigating the naming conventions other software has used for classes of functions. I'll definitely be more cautious in the future.

Looking at signatures and documentation is fine. But the comment "Julia function applies the same technique I propose", suggested to me that you looked at the source code. Maybe not, but then I'd suggest to be more explicit about how you knew (e.g. documentation says).

I understand. My knowledge came from the following comment in their source file. Knowing now that their code is license compatible, I've found that they actually use a different rational approximation from that in the cephes library.
norminvcdf & norminvlogcdf implementation

Rational approximations for the inverse cdf and its logarithm, from:

Wichura, M.J. (1988) Algorithm AS 241: The Percentage Points of the Normal Distribution
Journal of the Royal Statistical Society. Series C (Applied Statistics), Vol. 37, No. 3, pp. 477-484

authors: ev-br mdhaber steppi

repo: scipy/scipy


text:
ENH: ECDF in scipy.

Is your feature request related to a problem? Please describe.
When in Python, calculating an ECDF requires loading statsmodels' ECDF function. It is a really big dependency for something relatively small.
Describe the solution you'd like.
A function to calculate the empirical distribution function of a given sample.
Describe alternatives you've considered.
Using statsmodels.
Additional context (e.g. screenshots, GIFs)
It was mentioned as a numpy feature requrest at some point but they decided against it (reasonably) as it is more of a scipy feature: https://github.com/numpy/numpy/issues/9057.

The KS test functions have a very nice way of doing this. I'll add it shortly because I'm working on a function for survival analysis and a lot of code can be shared.

authors: hadjipantelis mdhaber