Q: status?

Hey, I'm trying to add tracking to a standalone product. Can you tell me the lay of the land? I thought this was linked to PSMoveService, but just now found this project (https://github.com/cboulay/PSMoveService/issues/578)
The PSVRToolbox is dead now. I'm looking at implementing position tracking myself, but it looks like you've already gone the distance, so I'm wondering if there can be a replacement for PSVRToolbox that has tracking.
PSMoveConfigTool has an HMD section, but doesn't see the PSVR. How does its discovery work? Can it be lightweight, like PSVRToolbox?
Does your code work with PS3 cameras? (Some recent commits say PSEye code is removed.) I happen to have two. But don't have a PS4 camera.
In any case, I plan to dig into your code. And maybe put it to other uses. Thanks! Hope to hear from you :)

Glad to hear there is another dev interested in looking at this!
As I mentioned in the PSMoveService issue this project was created as a testbed for trying to get PSVR Tracking working and to serve as a reference for other devs trying to do something similar or use this project as a 3rd partly library (what ever makes more sense for their target project). To be clear there is still quite of bit of work to do, but I think most of the fundamentals are in place at this point.

PSMoveConfigTool has an HMD section, but doesn't see the PSVR. How does its discovery work? Can it be lightweight, like PSVRToolbox?

Mostly. In order to communicate with the PSVR headset over USB you need to install either a LibUSB or WinUSB driver for the two command interfaces (4 and 5). You can use Zadig to do this or make a prebuilt installer using libusbK-inf-wizard. I'm trying to make PSVRTracker support using either WinUSB or LibUSB so that in theory the library could be cross platform. Though in practice I'm focusing on Windows functionality first.

Does your code work with PS3 cameras? (Some recent commits say PSEye code is removed.) I happen to have two. But don't have a PS4 camera.

It works with both PS3 (via WinUSB) and PS4 cameras (via windows media foundation once firmware is bootloaded onto the camera).
The big thing I'm still working on is getting multi camera tracking working again. PSMoveService's multi-camera tracking works by triangulation, but this assumes that each camera frame arrives at the same time, which isn't quite true. I'm trying to accomplish the same result but instead rely on the sensor fusion code to do the job.
I'm happy to answer any questions you have about progress, implementation details, etc!

Great! Just for context, I maintain (it's a full time job) an impressive 3D RPG Maker software that From Software published in 2000 (it's not really professional grade by itself, but it's for Windows, so expansion is relatively straightforward.) From Software makes the Dark Souls games today. The maker software is unique because it comes with a tacit license to print/sell King's Field games, which is the original game series for the PlayStation.
I'm in the process of scrabbling together a port of https://en.wikipedia.org/wiki/King's_Field_II that is VR enabled with the goal of 2020 release.  It's the 20th and 25th anniversary of the products respectively.
VR works via the PSVR/PSVRToolkit, but I'm going to have to develop a standalone version of the PSVRToolkit because the author is not uploading new builds, and the current Release sends wrong sensor data over the UDP server feature. I want to enable use of Sony's peripherals on Windows and role it all into a configurator program that also provides a UI to the various INI files that involved. I exchanged some emails with its author, who was very soured on the idea of PSVR. They believe from what I can gather that it's not "real VR" and see no future for it. Whereas I've always aimed to make 3D software available to the general public via inexpensive computers and so see the PSVR as the most likely way to reach the widest audience possible, and I feel like it doesn't need exotic computers to host it, and only costs $150.
Anyway, I'm unimpressed with the OLED display, but have been able to make the picture and sensors to work very well. I thought tracking would be necessary, but I was able to stabilize the sensors by using a much higher Beta term for the Madgwick solver. It creates a very chaotic picture but does not drift. I haven't yet tackled decoupling the picture from the raw sensor data, but in theory it should be trivial. (VR gets me sucked in, and I have to swear it off for a while, and so work with it off and on. Lately it's been too warm to dawn the headset.)

WinUSB driver for the two command interfaces (4 and 5).

I have WinUSB installed via PSVRToolkit. I assumed that "Failed to open MorpheusHMD(USB\VID_054c&PID_09af" meant that some API like SteamVR was not installed. What I am missing?
I'm hopeful position tracking is within reach. PSVRConfigTool doesn't find the set. The wiki says:
Open %appdata%/PSVRSERVICE/HMDManagerConfig.json
Set "virtual_hmd_count" to 1

Now I see a menu for the HMD button. (Never mind, why not default to 1?) Is following https://github.com/HipsterSloth/PSVRTracker enough to get a demo going? I will definitely be poring over the source code. I was going to try to modify the PointTracker code from FreeTrackNoIR. The OpenCV trackers did not look useful to me. I know everyone uses OpenCV, but I felt like I could probably get further just programming something from scratch than navigate its API/code base. That may seem naive, but the basic problem of filtering a black/blue image seems more approachable to me than finding a needle in OpenCV's proverbial haystack! SO OBVIOUSLY I'm pretty relieved to learn of your effort :)

EDITED! Am I crazy, or does PSVRTracker not need to access the PSVR's USB device at all? I mean, in theory it just needs to see lights in the camera? Is this right? I will focus on cameras now :)

I have WinUSB installed via PSVRToolkit. I assumed that "Failed to open MorpheusHMD(USB\VID_054c&PID_09af" meant that some API like SteamVR was not installed. What I am missing?

That error message (assuming it's coming from PSVRService) means that it can't open the sensor or command interface for the PSVR headset using the WinUSB driver. There are a few possible reasons for this.
If PSVRToolkit is running at the same time and is connected to the the PSVR headset then PSVRService won't be able to connect to the USB interface (only one program can connect to the USB device at a time).
If that's not the case then we should verify that WinUSB is actually the driver you have installed for the PSVR interfaces (and not LibUSB).

Connect and turn on your PSVR headset
Launch Zadig (https://zadig.akeo.ie/)
Select Options > List All Devices
Make sure both PS VR Interface 4 and Interface 5 have WinUSB installed:

Now I see a menu for the HMD button. (Never mind, why not default to 1?) Is following https://github.com/HipsterSloth/PSVRTracker enough to get a demo going? I will definitely be poring over the source code.

Sorry about this. That wiki is super out of date. The virtual HMD config was intended for use back when I didn't have USB communication working with the PSVR headset and was experimenting with purely optical tracking. I will probably be removing that option at some point in the future. In theory you could just do the purely optical tracking option but there are some trade-offs. More on that in a sec

I was going to try to modify the PointTracker code from FreeTrackNoIR. The OpenCV trackers did not look useful to me....

It depends on what you are trying to do. There is definitely a lot to the OpenCV API. The "Learning OpenCV book" + many StackOverflow articles were a huge help to me. If you ultimately decide not to use OpenCV you'll need a image processing library that can do HSV color filtering, camera image undistortion and calibration, image segmentation and contour generation, and finally SolvePnP.

EDITED! Am I crazy, or does PSVRTracker not need to access the PSVR's USB device at all? So the tracker does need input from the USB device/sensors?

In theory you can do multi-led tracking without using sensor data (Accelerometer + Gyro) BUT that can result in a lot more tracking instability. By using the sensor data as an input into the optical tracking model you can make a better initial guess about the pose of the headset when trying to compute a best fit projection. This is particularly important when you can only see 3 or fewer lights.
You could certainly start with this if you wanted though. This was the intended use case of the VirtualHMD. Don't actually connect to the PSVR headset but instead due pure optical tracking and rely on the client code to do the sensor fusion. I haven't tested that code path in a while so it's possible there are some things I broke as well.

Just for the record, does the current implementation use only 1 camera?

Correct. You can connect multiple cameras, but you'll get incorrect tracking data because I haven't ported over the camera pose calibration code from PSMoveService yet. It's part of the config tool that has you place a PSMoveController at 5 locations on a piece of paper and uses SolvePnP to figure out where each camera is relative to the calibration paper. This was the next feature I wanted to port over though.

VR works via the PSVR/PSVRToolkit, but I'm going to have to develop a standalone version of the PSVRToolkit because the author is not uploading new builds, and the current Release sends wrong sensor data over the UDP server feature. I want to enable use of Sony's peripherals on Windows and roll it all into a configurator program that also provides a UI to the various INI files that involved.

If you wanted to stick with using PSVRToolkit and port over the optical tracking code I have written in PSVRTracker you are certainly welcome to. Though I'm not sure if there is a C# version of OpenCV so that may or may not be a great path forward. I tried to make the client API of PSVRService a C99 style interface so that it would be easy to make a C# wrapper. Not sure...
One thing I should also stress: PSVRTracker is still very much a work in progress. While tracking kind of works for either a stereo camera (PS4 Camera) or a mono camera (Logitech C920 or ps3eye) there is still a bunch of work to do:

Need better camera calibration values (lens distortion and camera intrinsics)

The calibration tool I have implemented now generates moderately ok values

Stereo and Mono tracking algorithms could probably be better

They are my first attempt a doing multi-led tracking. It's hard to tell at the moment if they are the right approach or not because the sub-optimal camera calibrations I have throw off the quality of the LED position estimation.

Kalman filter needs to be better tuned

Feels sloppy at the moment

Camera pose calibration needs to be ported from PSMoveService

Need for multi-camera support

And finally I should mention I'm pretty swamped right now trying to get the new PS4 Move controller (the one with the micro usb connection) working in PSMoveService and getting some stuff done for work. So it might be a few weeks before I can make any meaningful progress on any of the aforementioned tasks. But I'm more than happy to answer questions in the meantime about what I've written so far.

Is Zadig a necessary component? I saw libusb in Device Manager earlier today. I generally installed WinUSB (4 & 5) but may have tried libusb once (I think it didn't work) but I did not see WinUsb in Device Manager, and so guessed that the libusb lines were WinUsb.
It really sounds like you're on top of everything. I may have been way over my head if I tried my hand at it. I just imagined given an image, I could exact meaningful information from it, with relatively little code. In my experience, very direct code--just do it yourself instead of seeking out off the shelf solutions--almost always works out for the best, and potentially saves a lot of shopping around, and produces code with maybe only a small source file instead of a behemoth external dependency. But what's worked in the past isn't necessarily guaranteed to always work. It's just a strategy for when I cannot find elegant solutions to software problems. It is reinforced by the fact that after I do something with mammoth external code, always I begin to have regrets after about a year, until I realize it's time to bite the bullet and implement its function from scratch. That always works out for the best, and it's very easy to sleep after.
With graphics, I've yet to see a problem that is actually complicated. Graphics look impressive, but are really very simple problems, that just involve little operations that are performed millions or billions of times, but at their heart they are child's play. And compared to some very mundane problem domains that seem like bookkeeping or UI, these domains are very personalized problems, and so seem very outwardly simple, but are actually very time demanding to implement, and are that way because no one has ever found a way to reduce these problems. Moral of the story is you can't just the complexity of a problem in code by how it appears to end-users.
Here (http://www.swordofmoonlight.net/bbs2/index.php?action=dlattach;topic=286.0;attach=928;image) is a picture I took earlier today. It is a scene from a recreation-in-progress of what I consider to be the best specimen of a 3D story space in existence from 1995. It looks simple. In fact, too simple with modern--very solid--3D graphics. I'm committed to publishing this port of this game with native PlayStation VR on Windows. So I'm in it for the long haul. 2020 is the 25th anniversary. The original is not well known, so I hope that it will be seen in a new light (if noticed at all) in 2020. Its predecessor, I believe, happens to have been the first title to share all of the qualities of modern 3D video games. It's not lightning in a bottle like part 2, but I think the 3 part series is of historical interest, and is also prototypical of how we imagined VR games in the 90s. 2020 is a ways away. But unless OpenXR comes along and changes the landscape, I don't see myself looking at other avenues for doing VR on Windows. I only began the work of porting this game (by mining the original disc) very recently, this summer, so I hadn't looked at it in VR until tonight. I realized the other day that even if it doesn't feel quite right with modern graphics (somehow I will find a way to compensate... already someone is working on SVG textures) that the PSVR's diminutive resolution is very much like the original PlayStation's. And so I'm less worried for VR. Other than its side-effects.
The software itself is unique. I think it will be the first competent 3D story software comparable to RPG Maker like products. It's not limited to 1995 presentation. It can do about like Shadow of the Colossus or King's Field IV, that looks very similar to SOTC. https://www.facebook.com/moratheia/photos/?ref=page_internal is the only other project that I know of using it. Their project uses all original artwork, and they are very crafty whether at art or music. But I worry their lifestyle will not allow them to ever finish/publish their work.
Aside from Sony replacing the PSVR in the meantime, 2020 is a good ways off. I hope that this software/port I'm involved with is able to garner attention and be a poster child for VR and outlet for would-be VR artists. I have faith that tracking will come online for Windows users in the meantime :)
I will definitely be around to follow your work... and lend a hand. I know that all-too-often developers work without anyone to try their work and provide useful feedback, without which bugs can linger for too long, unnoticed. I will also work on tweaks. I try to perfect my product's experience. If you want to demo this with VR, I am going to upload the project for back-up on my web server before too long. The controls are impeccable; Unlikely anything I've ever experienced. I hope to do the save for its VR element. It is a well regarded PlayStation title, even if little known.
P.S. I think a "Sony Peripherals for Windows" project would be very useful. Whether your objective here is to eventually role this back into PSMoveService or not. I think it would be a good thing if possible to develop it into something that is like PSVRToolbox, but also with tracking. It might be putting all of the eggs into one basket, but I think that there could easily be one Control Panel style applet/driver framework to directly interface with Sony's peripherals. Especially the PSVR continues to impress, but the PlayStation itself is an albatross. (Hopefully if it/the console model dies--as it should--Sony keeps making its peripherals!)

Update
Here (https://www.reddit.com/r/KingsField/comments/9kj984/very_early_playable_section_of_kf2_for_windows/) is a quasi-demo I've pieced together since we last spoke. Direct download: http://www.swordofmoonlight.net/holy/KING'S FIELD II.zip
You may or may not be interested in it because it uses PlayStation VR as a standalone product, and it has what I believe to be much better anti-drift characteristics than what is commonly thought to be possible.
I've mainly been occupied with importing/exporting everything into Blender and back out into level geometry squares that have textures, since the data comes from a PlayStation game which has a very exotic addressing scheme that requires some manual intervention, read: a lot of time spent doing clerical work.
In the meantime I quickly developed a hybrid system that blends two side-by-side Madgwick integrators (mainly copied from existing sources) so that one is optimized for its anti-drift quality, and the other for its picture stability, so that when your head isn't moving (imperceptible movements) the more drifty/stable position is shown, until that is, it drifts too far from the other's better estimate. At which point some fudging is required to reel it in to the orbit of the more chaotic/correct approximation.
Other than this demonstration, I believe that the technology demo is close to optimal for the PSVR in terms of geometry of the simulated 3D space. I have some doubts about the perception of depth, however I believe that the settings are correct, except I suspect it's really not appealing to focus the binocular vision to a theoretical point infinitely far away. (I.e. eyeballs straight ahead.) As a result, I have lessened the separation effect until I can experiment with picking a distance to focus on. (Technically the green caves in the demo look like a Magic Eye image, and the angular cave walls look like flat teeth, using naive separation settings: that is separating the view volumes same as the distance between my eyes.)
P.S. I plan to dig into PSVRTracker before too long. I plan to not take on another single-minded project for at least a few weeks. If I don't get into VR in this period, I will before too long, surely before year's end.

Hey... reviving this old topic. I remembered you recommended Zadig here. And provided helpful instructions!
Do you think that's why (https://github.com/HipsterSloth/PSVRTracker/issues/19) I can't get the PSVR to appear? I am pretty sure I have these exact drivers installed by PSVRToolkit's installer. Are the ones in the drivers folder not "signed"? Why is Zadig needed? Sorry.
PS3Eye camera set up was a piece of cake thanks to the IPIsoft PSEYE Driver option (indirectly) recommended here (https://github.com/HipsterSloth/PSVRTracker/wiki/Virtual-Stereo-Camera-Setup)
Although, I'm beginning to wonder what exactly your wiki means by "virtual" since it seems to mean different things in the "Virtual HMD" case than it means in the "Virtual Stereo Camera" case. One is real cameras right? The other is not a real PSVR? Or is it? Anyway, I can't get the PSVR to appear in PSVRConfigTool. (DS4 neither.)

I don't know if I've ever seen the source-code for these drivers. Is it in the respective projects? Or are they just perfunctory things that tie into Lib-usb?

Yeah these are really just simple wrappers for lib-usb and winusb based drivers. When assigning a generic USB driver to a USB interface you can either:
A) Use zadig to install a libusb or winusb wrapper for the device and interface
b) Use libusbk's "USB Inf Creator/Installer" Wizard (https://sourceforge.net/projects/libusbk/) to create an installer that does the same thing. That's all the  IPIsoft PSEYE Driver really is.

Although, I'm beginning to wonder what exactly your wiki means by "virtual" since it seems to mean different things in the "Virtual HMD" case than it means in the "Virtual Stereo Camera" case.

Virtual HMD = A tracked light that you attach to a real HMD. Another program reads this tracking LED data and feeds it to FreePIE so that people can add positional tracking to HMDs that only have rotational tracking
Virtual Stereo Camera = Faking a real stereo camera with two side by side mono cameras. It's not a true stereo camera because the video frames don't arrive in sync. I don't really want to support this mode anymore since it was just used as a stepping stone for true stereo camera support. Instead I want to support true multi mono camera support, which involves a calibration step of determining where the cameras are relative to each other.


Flow error fixes (Flow v0.92.0)

Motivation

I am using react-navigation-tabs v2.3.0 as a dependency of my React Native 0.59 project. I run Flow v0.92.0 in my project. When I run flow, it complains about two things in react-navigation-tabs, which I fix in this PR. See the full error logs for these two issues below.
I suspect these issues are not picked up by this project's own Flow check, because it uses an older version of Flow (0.78.0), but I have not tested this.
Property focused is missing in object type [1].
getAccessibilityStates in the default props of TabNavigationView accesses a field focused, but this does exist in the Flow type of getAccessibilityStates above. I added this boolean to the type.
I wondered if focused should be optional, but the only invocation of this function I found was in BottomTabBar.js, and it sends in focused, so I guess it can be mandatory?
Error ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ node_modules/react-navigation-tabs/src/navigators/createBottomTabNavigator.js:31:32

Property focused is missing in object type [1].

 [1] 17│   getAccessibilityStates: (props: { route: any }) => string[],
       :
     28│   static defaultProps = {
     29│     lazy: true,
     30│     getAccessibilityRole: () => 'button',
     31│     getAccessibilityStates: ({ focused }) => (focused ? ['selected'] : []),
     32│   };
     33│
     34│   static getDerivedStateFromProps(nextProps, prevState) {

Cannot create ResourceSavingScene element
I'm less sure about this one. As I understand it, the type for renderScene says it should return the Maybe React.Node, which basically means a proper Node or null or undefined. By removing the maybe type, it no longer accepts undefined. null is still allowed. I don't know if this is a unwanted. But Flow doesn't complain any longer!
Error ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ node_modules/react-navigation-tabs/src/navigators/createBottomTabNavigator.js:136:18

Cannot create ResourceSavingScene element because in property children:
 • Either null or undefined [1] is incompatible with null [2].
 • Or property @@iterator is missing in null or undefined [1] but exists in $Iterable [3].

     node_modules/react-navigation-tabs/src/navigators/createBottomTabNavigator.js
     128│             const isFocused = navigation.state.index === index;
     129│
     130│             return (
     131│               <ResourceSavingScene
     132│                 key={route.key}
     133│                 style={StyleSheet.absoluteFill}
     134│                 isVisible={isFocused}
     135│               >
     136│                 {renderScene({ route })}
     137│               </ResourceSavingScene>
     138│             );
     139│           })}
     140│         </ScreenContainer>

     /private/tmp/flow/flowlib_18448cb5/react.js
 [2]  14│   | null
        :
 [3]  20│   | Iterable<?React$Node>;

     node_modules/react-navigation-tabs/src/utils/createTabNavigator.js
 [1]  22│   renderScene: (props: { route: any }) => ?React.Node,

Test plan
I have done the same changes within the node_modules of my app, and my Flow v0.92 check doesnt' complain anymore.
I have also run Flow in this project, as is required per commit.

Maybe I can ping @satya164 here? 😊

Hey! Thanks for sending the PR. Actually I've been working on migrating the codebase to TypeScript. Maybe you can extract out the flow types to a definition file instead?

That would be fun to try. I'll see what I can do once I have some more open source time.
If you would like to merge this and release a patch first, that would also be cool. ;)


Verify that nothing links to help.exercism.io

The old help site was deprecated in December 2015. We now have content that is displayed on the main exercism.io website, under each individual language on http://exercism.io/languages.
The content itself is maintained along with the language track itself, under the docs/ directory.
We decided on this approach since the maintainers of each individual language track are in the best position to review documentation about the language itself or the language track on Exercism.
Please verify that nothing in docs/ refers to the help.exercism.io site.  It should instead point to http://exercism.io/languages/:track_id (at the moment the various tabs are not linkable, unfortunately, we may need to reorganize the pages in order to fix that).
Also, some language tracks reference help.exercism.io in the SETUP.md file, which gets included into the README of every single exercise in the track.
We may also have referenced non-track-specific content that lived on help.exercism.io.  This content has probably been migrated to the Contributing Guide of the x-common repository.  If it has not been migrated, it would be a great help if you opened an issue in x-common so that we can remedy the situation. If possible, please link to the old article in the deprecated help repository.
If nothing in this repository references help.exercism.io, then this can safely be closed.

Checked and double-checked. I think we're good.

Thanks!

Don't mind me.
I'm adding a reference so we get a visual "todo" list in the top level issue,
https://github.com/exercism/todo/issues/181


SUBMARINE-532. [WIP] Use Notebook CRD & controller to spawn jupyter notebook

What is this PR for?
This PR shows how to use Kubeflow's Notebook CRD & controller to spawn jupyter notebook
What type of PR is it?
[Improvement]
Todos

User doc of notebook and example yaml

What is the Jira issue?
SUBMARINE-532
How should this be tested?
CI
Screenshots (if appropriate)
Questions:

Does the licenses files need update? No
Is there breaking changes for older versions? No
Does this needs documentation? No

@lowc1012 Thanks for the contribution! One question, will the notebook controller's YAML files be added to submarine helm charts? The current script based on "kind" is for testing, right?

@tangzhankun
Yes. After the PR is merged, I will create another PR for deploying NB-controller by using helm charts.
And yes, it is added into submarine test-k8s.

/cc @liuxunorg @jiwq

Will merge if no more comments.


feature: truncate

Great work on this library! So far substituting String with CompactString has given immediate performance improvements in the projects I've tested it on.
The only unfortunate thing I ran into was that CompactString has no truncate method like that of String. Implementing it user-side is a bit scary because some unsafe is likely involved. Is there any chance it could be added in a future update?
Simple example using the String api:
    let mut s = String::from("Hello World!\n\n");
    assert!(s.len() == 14);

    s.truncate(s.trim_end().len());
    assert!(s.len() == 12);

Thanks for the issue @Greatness7 and @Kijewski for the implementation!


Use a uuid as the parameter type in the Exister.Exists() method

Once the work item ID has been migrated to a UUID (in #1322), we should be able to convert the id parameter from string to uuid.UUID in the repository.Exister interface:
type Exister interface {
	// Exists returns true as the first parameter if the object with the given ID exists;
	// otherwise false is returned. The error is either nil in case of success or not nil
	// if there has been an issue.
	Exists(ctx context.Context, id string) (bool, error)
}

@xcoulon we'll still have the tracker ids but it is good if we make this change homogeneous

ah yes, indeed. So let's fix https://github.com/almighty/almighty-core/issues/1429 first, and then we can address this issue ;)

putting on "hold" until #1429 is addressed


Add support for AWS Secrets Manager

What this PR does / why we need it:
Adds support for AWS Secrets Manager: https://concourse-ci.org/creds.html#asm

/assign @william-tran

@kurtmc can we call it credentialManager.awsSecretsManager? I should have asked for the same with SSM :S

@william-tran Done. Is it ok for me to rebase this pull request so that there is no conflict?

YEs, please rebase, also bump the minor version of the chart instead as this is a new feature

@william-tran Done.

/ok-to-test

/lgtm

thanks @kurtmc!


Download lua 5.3, build it, use it's headers and its static library.

Followup to https://github.com/jcmoyer/rust-lua53/pull/3.
This branch is not cleaned up, but that works on mac os and on linux and guarantees that the correct libraries are used. It is also not terribly slow since cargo is clever about when to run prebuild.
Having a solution that works without hassle when the library is used as a dependency is pretty important IMHO. People are used that adding a crate in their dependency is all they need to do. I think this approach is the most compatible one. What do you think?

I agree, having everything self-contained is preferable for cargo. But I think there should be an option to use a dynamic library (at least on Windows) so I want to take a closer look at this when I get some time.

I am definitively broke windows support with my changes. I have no access to a windows machine to add it back in. I can confirm that the current solution works on mac os and linux, independent of system installs though.
I'll use this branch for my projects going forward. Happy to clean it up a bit if you like the approach and want to merge it.

Yeah, if you'd like to clean it up I can add windows support back in and merge it. Just let me know when it's OK to merge.

Okay, branch cleaned up and rebased on master.

Many thanks!


count of objects "alive" in pool

 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.Liu Jiaming seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Anybody have idea on how to pass the Travis CI check?

It seems that Both node and count play a role in Head when atomic_compare. Meanwhile, Counts of Objects alive in pool have little practical use other than debugging. So, close this pr.


Setup script for initial project configuration

Right now we have a lot of commands in readme that need to be executed.
We can ease this by providing setup.sh that will automatically do these steps.

We have a similar thing in Toby: https://github.com/blumilksoftware/toby/blob/main/setup


fix(appengine): correct screenshot to use GCS artifact instead of docker

Scott, could you drop in a screenshot of the screenshot?

Whoops, apologies for not including that @dorbin. Thanks for stepping in @duftler!


Error serializing mysql8.0.18 field type Bigint data

Through the DataStream Source to listen to a table, use JsonDebeziumDeserializationSchema
Field name order_id, type bigint(20)
mysql  order_id =<PHONE_NUMBER>438665216
Flink order_id = "FRKx5vqAAAA ="
Other values of the same type are fine
Environment :

Flink version :  1.13.3
Flink CDC version: 2.2.0
mysql version: 8.0.18

Problem is JsonDebeziumDeserializationSchema invoke org.apache.kafka.connect.json.JsonConverter which use org.apache.kafka.connect.data.Decimal as schemaName to convert mysql bigint unsigned.
And by default JsonConverterConfig has DECIMAL_FORMAT_DEFAULT = DecimalFormat.BASE64.name(), so custom JsonConverterConfig and change DECIMAL_FORMAT_DEFAULT to NUMERIC should fix the problem.

Closing this issue because it was created before version 2.3.0 (2022-11-10). Please try the latest version of Flink CDC to see if the issue has been resolved. If the issue is still valid, kindly report it on Apache Jira under project Flink with component tag Flink CDC. Thank you!


Update build-a-light-bright-app.spanish.md

Spanish translation revision

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

Closed and Reopened this PR to attempt to resolve a specific Travis build failure.

Thank you, we've included your change.


Page header not collapsable without breadcrumbs

The problem
Our team would like to have collapsable page headers when when we have just a title and button. Currently this is not happening and it creates a bit of an inconsistent experience.
The solution
Make the page header component collapsable for all variation (always when you have a button)
Design link
https://carbon-for-ibm-products.netlify.app/?path=/story/ibm-products-components-page-header-pageheader--with-breadcrumbs&globals=viewport:basic
Links to other materials
No response
Owner/main maintainer(s)
Carbon for products
Second/backup maintainer(s)
No response
Product/offering
NS1 Connect
Business priority
Low Priority = release date is not dependent on fix or not upcoming
Code of Conduct

[X] I agree to follow this project's Code of Conduct
[X] I checked the current issues for duplicate issues

Adding notes since I responded to the initial message in support —
We do support the collapsed headers but found that without either a breadcrumb or action item, the collapsed header with the page title and button don’t render.
Checked the usage docs and while the breadcrumbs are typically expected as part of the page header but didn’t see anything for or against this particular use case.
There is a workaround although it’s a bit hacky — including a breadcrumb and then using CSS to hide it does allow you to accomplish this in the short term.


Counter shows a vatiable on the slots available

I have one server that it shows the variable rather than the number of slots available
x/${status.maxPlayers}$queuedPlayers

What game is that and can you show me the configuration you used for that (except any sensitive data, if any)? :)

The latest version should fix this issue. If you're running with the prebuilt docker image, wait until the Action is through (and green): https://github.com/FlorianSW/discord-player-count-bot/actions/runs/12260886038


Navigation drawer can be added for better use.

there is no navigation drawer. I can add the navigation drawer which will ease the use of app for user.

There is no need of nevigation drawer.


Bug fixes, compartmentalisation and documentation for priority predecessor and zones criteria

Closes #633
Separates the priority locations and priority zones criteria into their own functions for ease of testing. Also add further documentation for these criteria in the function docs.
Adds a testset for these criteria constructor functions. Also adds updates for the mcda decision matrix construction tests which were previously not included in the test suite.

Could you give an overview of what bugs were fixed?

Could you give an overview of what bugs were fixed?

Sure, it's briefly summarized in #633, but I'll describe it more here. In the Matlab version the strong_pred variable is a 2*nsites matrix : https://github.com/open-AIMS/ADRIA_repo/blob/bc29474555015b88fa0a10f7f935408f0b4f0e76/ADRIAfunctions/siteConnectivity.m#L197
where the first column is the site ids. In the Julia version it is a vector : https://github.com/open-AIMS/ADRIA.jl/blob/5f7db8942ec279485bf7cbc77f415510f4937fc4/src/ecosystem/connectivity.jl#L190
When strong_pred is used in predec, the structure used to calculate the priority sites criteria, it is still used in the same way as the matlab version-
Matlab: https://github.com/open-AIMS/ADRIA_repo/blob/bc29474555015b88fa0a10f7f935408f0b4f0e76/ADRIAfunctions/ADRIA_DMCDA.m#L66-L69
Julia: https://github.com/open-AIMS/ADRIA.jl/blob/5f7db8942ec279485bf7cbc77f415510f4937fc4/src/decision/dMCDA.jl#L597-L599
This means L599 above in the Julia version is using predec[1,:] assuming it is a list of site ids, when it is filled with strong_pred on L598, where 2 copies of the vector strong_pred are added to predec.
This difference informed assumptions in how the zone criteria are calculated also, so this PR includes changes to the zone criteria.

Ah okay, sorry I somehow missed the linked issue. But the additional info is nice.

Please format all files to conform to the style guide

Please format all files to conform to the style guide

I just re-formatted so I think it's good to go

Please format all files to conform to the style guide

I just formatted, so should be good to go

Hi Rose, could I get an update on this?
I still see style issues but perhaps you've addressed these and have not yet pushed the changes?

Hi Rose, could I get an update on this?
I still see style issues but perhaps you've addressed these and have not yet pushed the changes?

Hi Takuya, I recently pushed formatting changes but I just copied from the formatting setup guide you and Dan just added because I've noticed some things are a bit different. I'm just about to go and reformat all my PRs

Hi Rose, could you rebase this onto main please?

Hi Rose,
I think this is still using strong_pred incorrectly.
strong_pred is a vector, where the entries are the location ids that receive the most input, e.g.,
[297, 123, 23, ...]
would indicate:

Location 1 provides the most larvae to Location 297
Location 2 -> 123
Location 3 -> 23
... etc ...

I see no changes to guided_site_selection or connectivity_strength that accounts for this, and I don't think the values are meaningful for MCDA as they are.
Or am I missing something?

Hi Rose,
I think this is still using strong_pred incorrectly.
strong_pred is a vector, where the entries are the location ids that receive the most input, e.g.,
[297, 123, 23, ...]
would indicate:

Location 1 provides the most larvae to Location 297
Location 2 -> 123
Location 3 -> 23
... etc ...

I see no changes to guided_site_selection or connectivity_strength that accounts for this, and I don't think the values are meaningful for MCDA as they are.
Or am I missing something?

My understanding was the strong_pred[1] = 293 implies that the strongest source for site 1 is site 293

Hi Rose,
I think this is still using strong_pred incorrectly.
strong_pred is a vector, where the entries are the location ids that receive the most input, e.g.,
[297, 123, 23, ...]
would indicate:

Location 1 provides the most larvae to Location 297
Location 2 -> 123
Location 3 -> 23
... etc ...

I see no changes to guided_site_selection or connectivity_strength that accounts for this, and I don't think the values are meaningful for MCDA as they are.
Or am I missing something?

My understanding was that strong_pred[1] = 293 implies that the strongest source for site 1 is site 293.
For each vertex v_id the incoming neighbours are found here:
https://github.com/open-AIMS/ADRIA.jl/blob/fc2294445be617ba019b91b8a96eabafff22d7a7/src/ecosystem/connectivity.jl#L196
Then the number of connections for each incoming neighbour are found here:
https://github.com/open-AIMS/ADRIA.jl/blob/fc2294445be617ba019b91b8a96eabafff22d7a7/src/ecosystem/connectivity.jl#L201
Then the incoming neighbour with the most connections is found here:
https://github.com/open-AIMS/ADRIA.jl/blob/fc2294445be617ba019b91b8a96eabafff22d7a7/src/ecosystem/connectivity.jl#L206
And the site id for that neighbour is entered at the index of the vertex v_id here
https://github.com/open-AIMS/ADRIA.jl/blob/fc2294445be617ba019b91b8a96eabafff22d7a7/src/ecosystem/connectivity.jl#L207

Okay sure, it's the strongest source. My question about how this is appropriate for MCDA still stands though.

In priority sites we use strong_pred to favour sites that are the strongest sources  of the sited priority sites, and in the priority zones criteria we use strong_pred to favour sites which are the strongest sources to a zone. strong_pred is not used directly as a criteria. Do you mean not appropriate as a measure of larval connectivity?

In priority sites we use strong_pred to favour sites that are the strongest sources of the listed priority sites, and in the priority zones criteria we use strong_pred to favour sites which are the strongest sources to a zone. strong_pred is not used directly as a criteria. Do you mean not appropriate as a measure of larval connectivity?

No no, I missed that it wasn't using strong_pred directly inside guided_site_selection(), but was going throw two additional steps.

Yeah it's a bit confusing because strong_pred is what is stored in mcda_vars. This PR separates the processing of strong_pred to create the zone and priority sites criteria into 2 functions (previously it was just done inside guided_site_selection).  So priority_location_criteria() adds proportional value to sites that are the strongest sources of sites in the priority list by indexing strong_pred at the priority site locations and then using those resulting indices to add value to the priority criteria. It's similar for the zones criteria (calculated in priority_zones_criteria()) but value is added to the whole zone and to any sites which are the strongest source for sites in the zone.
It also fixes a bug which was occuring because strong_pred used to be a matrix with site ids in the first column and strongest source sites in the second column. The methods were still assuming it had this structure when it no longer does so I've made changes to account for this.

I'll be merging this into the changes for MCDA Rose


Create Figma account & file

create a figma account with the new email
move designs to figma
create an invite link

invite for collaborators: https://www.figma.com/team_invite/redeem/TCbSlROz296pDnJfLJhYor


Add retry feature

Hello @mxcl,
First, thank you for your great library! :+1:
I was thinking that it would be great to have a retry feature when a promise fails. For example, when calling a web API, it would be great to retry when it returns a 5xx error.
Nice features could be:

Have a number of tries retry(2)
Have a delay retry(2, after: 1)
Have a closure to decide when to retry or not retry(2, after: 1, when: { ((ErrorType) -> Bool) in … }

It would look something like this:
// Simple retry
NSURLConnection.GET(…).then { response in
    // Success code
}
.retry(2)
.error { error in
    UIAlertView(…).show()
}

// Retries 2 times and then enter the `error` function if the promise
// failed 3 times (1 original + 2 retries)

// retry with delay (could be of type NSTimeInterval (seconds))
NSURLConnection.GET(…).then { response in
    // Success code
}
.retry(2, after: 3)
.error { error in
    UIAlertView(…).show()
}

// Retries 2 times. Waits each time 3 seconds before retrying

// retry with when a certain error occurred
NSURLConnection.GET(…).then { response in
    // Success code
}.retry(2, after: 3) { error -> Bool in
    // Retry only if the statusCode of the error is a server error (5xx)
    return error.statusCode = 5xx
}.error { error in
    // This closure is called only if the error status code was other than 5xx
    // or there was a 5xx error after 2 retries
    UIAlertView(…).show()
}

// Retries 2 times only if 5xx internal server error. Waits each time 3 seconds before retrying.

What do you think? :)

I like the idea ;)

when iOS device is unlocked, the first http request always fails with the UnderlyingCocoaError, due to Apple's incorrect implementation of keep alive. before retry mechanism is implemented, how to handle it gracefully? currently I use ugly nested .error handler.

This would be an awesome addition!

Can you list concrete situations and use-cases where you have needed this? Not saying no, just want to understand the problem properly.

This is a good idea to implement in PromiseKit
Here is an alternative version while you don't have it natively:
the promiseClosure in the beginning is needed otherwise so that the promise can resolve again and again.
func retry<T>(promise:(() -> Promise<T>), times:Int = 5, delaySeconds:NSTimeInterval = 0.0) -> Promise<T> {
	return promise().recover { (error) -> Promise<T> in
		if times == 0 {
			 throw error
		} else {
			if delaySeconds > 0.0 {
				return delay(delaySeconds).thenInBackground { retry(promise, times: times - 1, delaySeconds: delaySeconds) }
			} else {
				return retry(promise, times: times - 1, delaySeconds: delaySeconds)
			}
		}
	}
}

func delay(delay:NSTimeInterval) -> Promise<()> {

	let (promise, fulfill, _) = Promise<()>.pendingPromise()

	let delayTime = dispatch_time(DISPATCH_TIME_NOW, Int64(delay * Double(NSEC_PER_SEC)))
	dispatch_after(delayTime, dispatch_get_main_queue()) {
		fulfill()
	}

	return promise
}

It would have to be something like:
retry(times: 2, delay: 2) {
    NSURLSesssion.GET(url)
}.then { data in
    //…
}

I'm still reluctant to add this as I feel it is an anti-pattern to retry, can someone provide a concrete example of a time it was important to have this feature?

I use retry in our app for some critical network requests.
We use an endpoint to give urls for the other endpoints. If this first call fails it makes all the other calls to fail. The initial call will be recalled again anyway when the user presses retry or goes to another screen. But just because one network call failed we shouldn't display an error to the user before we try for a couple of times.

The endpoint cannot be fixed? Adding retry to the library feels like fixing things with duct tape when really we should be fixing the underlying cause properly.

For example, if for any reason your internet is down for 1 sec a retry would help.
Sent from my iPhone

On 27/07/2016, at 19:58, Max Howell<EMAIL_ADDRESS>wrote:
The endpoint cannot be fixed? Adding retry to the library feels like fixing things with duct tape when really we should be fixing the underlying cause properly.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

I've been thinking about this since I first endorsed the inclusion of it,
and I realized it's a feature very specific to networking. While promises
are used extensively for async network calls, that's not all the library
can be used for, and so "retry" would be useless or unnecessary in a lot of
valid use cases. This might make more sense as an extension to the library.
That said, I haven't come up with a decent pattern when there is a network
call that fails and I want to retry. Everything I've written feels
ungainly, even with PromiseKit.
On Wed, Jul 27, 2016 at 9:58 AM, Max Howell<EMAIL_ADDRESS>wrote:

The endpoint cannot be fixed? Adding retry to the library feels like
fixing things with duct tape when really we should be fixing the underlying
cause properly.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/mxcl/PromiseKit/issues/350#issuecomment-235650265,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAZ4nIsHIdw-KrtaizwmCcgFkgFKijxAks5qZ45SgaJpZM4HDJEE
.

func retry<T>(var times: Int, body: () -> Promise<T>) -> Promise<T>
    func attempt() -> Promise<T> {
        return body().recover { error -> Promise in
            guard times-- > 0 else { throw error }
            return after(2).then(attempt)
        }
    }
    return attempt()
}

Usage:
retry(2: times) { flakeyTask() }.then {
    //…
}

@discardableResult func retry<T>(times: Int, wait: TimeInterval = 2, body: @escaping () -> Promise<T>) -> Promise<T> {     var attempts = times     func attempt() -> Promise<T> {         return body().recover { error -> Promise<T> in             attempts -= 1             guard attempts > 0 else { throw error }             return after(interval: wait).then(execute: attempt)         }     }     return attempt() }
@mxcl This is what we tried for the retry for Promisekit, but did not work. Can you double check the code please?

@zhenjiangliu24 What doesn't work about it? It seems to work fine for me.

@zlangley for me, what inside the retry function is been called only once.

func samplePromise(result: Bool) -> Promise {

    return Promise<Int> { fulfill, reject in
        guard result else {
            count += 1
            reject(PromiseError.noResult); return
        }
        fulfill(count)

    }
}

func testRetry() {
    retry(times: 5) {
        self.samplePromise(result: false)
        }.then{_ in
            print("goes here.")
    }
    XCTAssert(count == 5, "retry failed")
}

This is our unit test.

XCTAssert will be called immediately. You need to rewrite your test to wait for the async work to execute.
Consider using XCTestExpectation.
    func testRetry() {
        enum Error: Swift.Error {
            case test
        }

        let ex = expectation(description: "")

        var count = 0
        retry(times: 5, wait: 0) { _ -> Promise<Void> in
            count += 1
            if count == 5 {
                ex.fulfill()
            }
            return Promise(error: Error.test)
        }.then {
            XCTFail()
        }
        waitForExpectations(timeout: 1)
    }

@zlangley It works! Thanks man, you are awesome.

Does this also work for when? I can't seem to get it to work with the following:
func testWhenRetry() {
        let ex = expectation(description: "test -when- with retry")

        var promises: [Promise<Void>] = (1...5).map { _ in
            promises.append(Promise { fulfill, reject in
                self.count += 1
            })
        }

        retry(times: 5) {  _ -> Promise<Void> in
            when(resolved: promises)
                .always { _ in print("when.always \(self.count)") }

            if self.count == 10 {
                ex.fulfill()
            }

            return Promise(error: PromiseError.noResult)
        }

        waitForExpectations(timeout: 5)
        XCTAssert(count == 10, "test -when- failed")
    }

I think it's because the recover in the retry function is being called on when, but shouldn't it be called on the individual promises? It would be slick if the retry skips the promises that were fulfilled and keep going through the rejected. Or is there a better approach to what I'm doing?

There are a number of issues in the test you provided. For one, the count will never exceed 5 because each of the promises in promises are only instantiated once; it's only the block provided to retry that will be executed multiple times. You're also not ever resolving any of the promises in promises. And remember that your XCTAssert will always fail because it will be called immediately.
If you have further questions, please open a new issue or ask them via gitter. :)

For those who is looking for more robust implementation of the retry function that takes arbitrary number of retries and delay:
func retry<T>(times: Int, cooldown: TimeInterval, body: @escaping () -> Promise<T>) -> Promise<T> {
  var retryCounter = 0
  func attempt() -> Promise<T> {
    return body().recover(policy: CatchPolicy.allErrorsExceptCancellation) { error -> Promise<T> in
      retryCounter += 1
      guard retryCounter <= times else {
        throw error
      }
      return after(interval: cooldown).then(execute: attempt)
    }
  }
  return attempt()
}

Is there anyway to do this in Objective C ? I can't seem to be able to use the recover function in Objective-C

catch behaves the same as recover in ObjC

@namanhams have you managed to achieve this in Objective C?

updated march/04/2021 @nalexn
func retry(times: Int, cooldown: TimeInterval, body: @escaping () -> Promise) -> Promise {
var retryCounter = 0
func attempt() -> Promise {
return body().recover(policy: CatchPolicy.allErrorsExceptCancellation) { error -> Promise in
retryCounter += 1
guard retryCounter <= times else {
throw error
}
return after(seconds: cooldown).then(attempt)
}
}
return attempt()
}
usage:
retry(times: 5, cooldown: 1) {
myfunction()
}


Backport HA iotawatt integration changes

This pull request is to be put on top of https://github.com/jyavenard/iotawatt_ha/tree/IntegrateLocally
It backports all the changes made into HA's official iotawatt integration and add the high resolution energy sensors.

this will only work with 2021.9 ; will approach this differently.


[WIP] Packages rules

@stevepiercy btw, the extra carriage returns that you are adding, VSCode complains about them:
MD012/no-multiple-blanks: Multiple consecutive blank lines [Expected: 1; Actual: 2]markdownlint[MD012](https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md012.md)

@stevepiercy same for spaces after the list dashes:
MD030/list-marker-space: Spaces after list markers [Expected: 1; Actual: 3]markdownlint[MD030](https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md030.md)

I use MyST primarily, where 4 spaces helps with proper indentation of nested lists, code blocks, and admonitions. There is no standard for Markdown flavors, and we don't require linting Markdown, CommonMark, or GitHub's flavor of Markdown anywhere.

@stevepiercy merging for now, we will continue adding and improving, I'd like to have something there.

@stevepiercy I had this extension, I removed it from my setup: https://github.com/DavidAnson/vscode-markdownlint

@sneridagh I assume you could configure it to silence specific warnings. If it helps you, then use it. I always use my editor's preview feature or build docs to catch mistakes.
I have an ingrained habit of using the tab key to indent, and configure Markdown/MyST/reST to indent 4 spaces:
-<TAB>Bullet List Item

or
1.<TAB>Enumerated List Item

or
Definition List Term<RETURN>
:<TAB>Definition List Definition

This way I always have consistent indentation of any type of list or nested items.


404 Cannot GET / response when using HMR

Laravel Mix Version: 0.11.3

Node Version: 7.9.0

NPM Version:  4.2.0

OS: Debian 8

Description:
Not sure if it is related to #747 but:
I have a  fresh Laravel 5.4.20 install and I have a  PHP DEV server running at http://<IP_ADDRESS>:9000.

  }
}

My webpack.mix.js file
const { mix } = require('laravel-mix');

mix.js('resources/assets/js/app.js', 'public/js')
   .sass('resources/assets/sass/app.scss', 'public/css');

My app.js file
import Vue from 'vue';

const app = new Vue({
    el: '#app'
});

Then, I compile my assets using  npm run hot which outputs that everything was successfully built and that the weback DEV server is listening at http://localhost:8080.
However, when I try to visit http://<IP_ADDRESS>:8080 in the browser I get a 404 error response

Cannot GET /

Note that when I am trying npm run watch and visit http://<IP_ADDRESS>:9000 then I get a successful 200 response
EDIT:
I also found this SO post that refers to the same issue

When HMR is enabled, a "hot" file is created in the public folder of your laravel application, that folder tells the mix() view helper that you should request your webpack files from http://<IP_ADDRESS>:8080
This means that you want to go to http://<IP_ADDRESS>:9000 like normal and it should work perfectly fine.

@KuroThing Thank you for noticing this. Having my php server listening at http://<IP_ADDRESS>:9000 I run npm run hot and then I was able to succesfully visit my app at http://<IP_ADDRESS>:9000.
However, when I subsequently try to make a change in a Vue component to see the change s automatically reflected, I had the following error ( probably related to #743 )

XMLHttpRequest cannot load http://localhost:8080/c60b38f1daf3aa3d5488.hot-update.json. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://<IP_ADDRESS>:9000' is therefore not allowed access.
[HMR] Update failed: Error: Manifest request to http://localhost:8080/c60b38f1daf3aa3d5488.hot-update.json timed out at XMLHttpRequest.request.onreadystatechange ://localhost:8080/js/app.js:38:22)

After upgrading to<EMAIL_ADDRESS>HMR works again just fine


Project license

Hi everybody,
Could you include a license for this repository so I know if I could use your work in my personal projects?
Thank you for this amazing work!

Hi @mvidela31 ,
I added the BSD 2-Clause "Simplified" License. Thanks so much for your interest.


License addition criterion 3 disregards the decentralized nature of git and open source

The Adding a license page states criteria for the addition of new licenses to https://choosealicense.com, among these it reads:

A GitHub code search must reveal at least 1,000 public repositories using the license.

At this point I'd like to quote the tagline of this repository:

choosealicense.com - A site to provide non-judgmental guidance on choosing a license for your open source project

If the site is non-judgemental about licenses, I think it should also not judge their relevance based on one single platform in a much larger ecosystem, the site is after all called "choosealicense.com", not "chooseagithublicense.com".
Furthermore I just issued a search for "open source licenses" on google and choosealicense.com came up second in my results - which demonstrates the popularity and influence this site has gained (for which I applaud everyone who has contributed to make it so), but I firmly believe also implies a responsibility to offer a fair representation of licenses regardless of their popularity on github.com in particular in order to allow new, innovative licenses to have a voice and gain popularity through choosealicense.com as well.
Personally I believe 1,000 as a threshold to be unnecessarily high and more damaging to innovation than protective of "spam", but regardless of that I hereby propose to make this criterion (whatever the number) at least respect and value the decentralized nature of git and open source and therefore count the license usage among all the diverse platforms and communities out there.
Proposing a new license, given the tough criteria, is in itself quite an undertaking, I therefore see no relevant possibility for this loosening of criteria to be exploited in any way. A malign attempt to conjure up a fake count of usage through mock platforms created for only this purpose would easily be spotted in qualitative review and its rejection surely would be understood and supported by the community at large anyway, even if the criteria technically allow some leeway.
I'd like to thank everyone for their work on choosealicense.com and would ask for due consideration of this issue. I can gladly contribute a concrete proposal and PR for this if needed to make this happen from a practical point of view.

@simonrepp I fully agree that it would make sense to include more code hosts in the criterion for measuring a license's adoption. But it's not just a matter of rewording that criterion — we need to provide an easy way to validate it.
GitHub ends up being a reasonable proxy for the adoption metric, since it's the most popular host, and therefore one would assume that, by the law of large numbers, its distribution of licenses would approximate the true distribution when considering all code hosts out there; that, coupled with the fact that it's easy to search for repositories filtered by license, makes it an imperfect but pratical heuristic for this effect.
What would you suggest as an alternative technique to measure this criterion in a broader universe of repositories? Perhaps we could also incorporate a similar filtered search on GitLab and Bitbucket, and manually sum the results? Or do you know of an aggregation platform that allows searching across multiple code hosts while filtering by license?

@waldyrious Thanks for sharing your thoughts!
My main idea here is to not overengineer/-specify the requested proof of relevance for applications - 1,000 repositories is a huge number anyway and whoever attains that kind of adoption will probably be able to compile a reasonable listing (which as you propose sums up to a total) from a few sources/platforms, and most likely that will be in the form of a few search urls on different sites, although I don't think this needs to be explicitly specified. I believe it's reasonable to assume that someone who wrote a license that was picked up by 1,000 different repositories and reviewed e.g. by OSI to provide that proof and listing in a sensible form that is easily reviewed. If an application for addition comes in an unacceptable/unreviewable form this can be given as feedback and a more sensible application requested. (but I think this is rather hypothetical) Also I would strongly advise to not specify a fixed list of platforms, as I'd rather not open another issue in 2 years when it becomes obsolete due to rapid changes in the open source landscape. :)
I disagree that github is a reasonable proxy by the way - I think it's fair to state (and really I'm doing this without any moral judgement here) that there is a considerable and growing amount of communities and people that for various motives avoid hosting their code on github (or other large platforms for that matter). If there is a correlation with a favor in licenses in these communities it essentially introduces a bias, the avoidance of which is the entire point of the issue I created.
So to sum it up from my side - I don't see a need for contriving a specific format or technical metric to prove this quantitative threshold (1,000) set by the guidelines of choosealicense.com. I think this is mostly a matter of just agreeing to revise the formulation to make it platform-independent. The search url approach which is currently mandatory could be turned into a technical suggestion instead, aiding people to prepare their proposal (search urls for other platforms could be provided too), but in any case this should be free-form and trust be put into people to come up with something reasonable on their own.

there is a considerable and growing amount of communities and people that for various motives avoid hosting their code on github (or other large platforms for that matter). If there is a correlation with a favor in licenses in these communities it essentially introduces a bias

I was concerned about that as well as I wrote my comment above. However, I think you would agree that including the 3 or 4 major platforms would be sufficient to include most of such communities, at least to the degree that they may affect the scale of adoption we're talking about here. If a hyper-specialized community prefers obscure platform X and uncommon license Y, it doesn't seem likely that they would tilt the scales significantly even if they were included in the count. (And in any case, that would be a data point which I'm sure the maintainers would take into consideration if presented with it, in the unlikely cases that it would make a difference.)

My main idea here is to not overengineer/-specify the requested proof of relevance
...
I don't see a need for contriving a specific format or technical metric to prove this quantitative threshold

Quite the contrary: by making it specific we make it clear what data collection effort is expected, are even able to provide demo search URLs that both contributors and maintainers can quickly adapt to assess a proposed license's adherence to this criterion. I see the goal of making it specific as a way to make thing easier, not harder.
And as you say, the panorama will certainly change after a while, at which point we can make adjustments just like the ones we're discussing here. I am sure you can appreciate that no specification will be 100% future-proof, so we might as well make everyone's lives easier while the current conditions apply.

Choosealicense.com is really not the place "to allow new, innovative licenses to have a voice and gain popularity". 1000 repos is a very high bar for a random new OSS license, of which there are many, but if such a new license really adds value, it can be demonstrated by such adoption, and will blow past 1000 repos.
I'm fine with considering evidence of adoption in repos on other public hosts, including non-git ones. I'll tweak the language in CONTRIBUTING to allow for that, while keeping the concrete GitHub example.
Aside, @waldyrious you wrote:

Or do you know of an aggregation platform that allows searching across multiple code hosts while filtering by license?

I don't, but would enjoy knowing of one, or things in that direction. Sort of in that direction that I know of:

Wikidata query counting uses of licenses for items with a repo and a license that has an SPDX ID (I'm not at all confident it isn't more complicated than that, eg 0BSD results are fishy)
Searchcode does aggregation, but seems to be doing some kind of substring search that doesn't work well for searching for unique fragments needed to identify likely instances of specific licenses
Software Heritage is doing aggregation but as far as I know does not allow searching contents at this point.

@waldyrious

I see the goal of making it specific as a way to make thing easier, not harder.

For specific url suggestions I fully agree, that will make it easy for the suggested platforms themselves, and easier to deduce method for those not listed, which is great! A fixed set of specified (and therefore exclusively allowed) platforms however, will make it easy for the listed ones and impossible for anything that is not considered by us now, meaning again someone like me will have to open an issue, it will need to be discussed again ... I'm not sure what the advantage would be of that to just leaving this open for other platforms.
No specification is 100% future-proof, I agree, but an exclusive list of platforms would not even be 100% present-proof, as it would only get as good as our small collective picture of what we think is out there that is relevant, and that might not even fairly represent some platforms and communities we don't know about that are out there right now. I do a good amount of research on these things and yet I can not claim I could fairly write that list right now (or ever really).
@mlinksva

Choosealicense.com is really not the place "to allow new, innovative licenses to have a voice and gain popularity".

Ok noted. Personally I believe it should be though - if a platform grows powerful enough to significantly influence culture and decisionmaking for millions of people entering a field, it should take responsibility to allow that culture and decisionmaking to develop further as well, that's also why I don't think the 1,000 limit is a good idea either, but as I mentioned that's more of an aside.
I think an important step is made if at least the platform lock-in is gone, and I'm thankful that we seem to agree on that point, thank you for the support on that, to both of you. :+1:


balena Etcher-1.19.25.setup file corrupt

Updating my Nebra RockPi Indoor hotspot but the balena Etcher-1.19.25.setup file is corrupt .

test


Cache Everything On Performance Library to Memcached

Improve script execution time.
Goal: Reduced execution time from an average of 121.4 ms to less than 60 ms by elimiting frequent database read operation.

Partial implementation has reduced execution time to 76 ms


[image_picker: iOS] Added AlertViewController to image_picker for iOS 9

Description
The image_picker plugin is using an UIAlertView to prevent a crash when using the camera on simulator. UIAlertView has been deprecated as of iOS target 9.0. This PR adds a revision for iOS 9.0 by adding an AlertViewController.
Related Issues
https://github.com/flutter/flutter/issues/67831
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] My PR includes unit or integration tests for all changed/updated/fixed behaviors (See Contributor Guide).
[x] All existing and new tests are passing.
[x] I updated/added relevant documentation (doc comments with ///).
[x] The analyzer (flutter analyze) does not report any problems on my PR.
[x] I read and followed the Flutter Style Guide.
[x] The title of the PR starts with the name of the plugin surrounded by square brackets, e.g. [shared_preferences]
[x] I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy.
[x] I updated CHANGELOG.md to add a description of the change.
[x] I signed the CLA.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change (please indicate a breaking change in CHANGELOG.md and increment major revision).
[x] No, this is not a breaking change.

Hey I keep failing the pipeline for formatting issue. The CI isn't giving too much guidance what is causing the formatting/linting issue. Is anyone available for help?

@mehmetf I was wondering if I could get some support for this PR? I am not sure why I keep failing the pipeline, and I would like to get some assistance. Who would. be best to contact for this?

@mehmetf I was wondering if I could get some support for this PR? I am not sure why I keep failing the pipeline, and I would like to get some assistance. Who would. be best to contact for this?

@cyanglaz Hey Chris, you comment on a PR I had made earlier. I was having issues with the CLA, but had it resolved in this PR. However I am not sure what I am doing incorrectly in this PR.  I was having issues with the CLA, but had it resolved in this PR. However I am not sure what I am doing incorrectly in this PR. Could I get your help?

@MrWinbush Which PR do you mean?

@MrWinbush Which PR do you mean?

@cyanglaz https://github.com/flutter/plugins/pull/3368

@cyanglaz https://github.com/flutter/plugins/pull/3368

@MrWinbush Looks like the diff in this PR doesn't reflect the actual change proposed. Did you check in the correct commits?

Closing due to lack of response to the question above about the content of the PR. If you're still interested in contributing a change here, please open a new PR with the correct changes. Thanks!


Add Extensions Diagrams

Name of extension
Diagrams
MediaWiki.org page (if it exists)
https://m.mediawiki.org/wiki/Extension:Diagrams
Justification
The only working Extensions thats supports graphviz. This also supports wiki internal links directly from graph.
How often is this extension/skin updated?
Regular
How many people contribute to this extension regularly?
2
Are you the author of this extension/skin?
No

Instead of using the mentioned extension it would also be possible to use the extensions
https://m.mediawiki.org/wiki/Extension:Flex_Diagrams
and provide the graphviz support with https://github.com/mdaines/viz-js

That's a very interesting idea - I didn't know about that library. Diagram rendering seems to be a lot more reliable when it's done client-side (i.e., via JavaScript) rather than server-side.


Ref/lower node yarn version

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Conversion of native str/String from/to HDF5 string types

I've spent some time digging into HDF5 conversion API and it seems like it actually works! As in, we can force it to "understand" Rust string types and convert back and forth. Given the painful experience with strings and arrays (#86, #47, #85), this could be a huge win in usability.
The same can be done with varlen/fixed arrays/strings (direct conversions to/from &[T], Vec<T>, String, &str, etc).
Price to pay: extra memory allocation. If the dataset is not chunked, it will (at some point in the conversion path) use double the required memory. If it is chunked, I think it will process it chunk by chunk so the cost could be negligible.
There's many details to consider and discuss, this is just a start and an experiment. Details below.

Test file:
HDF5 "test.h5" {
GROUP "/" {
   DATASET "a1" {
      DATATYPE  H5T_STRING {
         STRSIZE 26;
         STRPAD H5T_STR_NULLPAD;
         CSET H5T_CSET_ASCII;
         CTYPE H5T_C_S1;
      }
      DATASPACE  SIMPLE { ( 5 ) / ( 5 ) }
      DATA {
      (0): "abcdefghijklmnopqrstuvwxyz", "ABCDEFGHIJKLMNOPQRSTUVWXYZ",
      (2): "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000",
      (3): "123\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000",
      (4): "a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
      }
   }
   DATASET "a2" {
      DATATYPE  H5T_STRING {
         STRSIZE 3;
         STRPAD H5T_STR_NULLPAD;
         CSET H5T_CSET_ASCII;
         CTYPE H5T_C_S1;
      }
      DATASPACE  SIMPLE { ( 4 ) / ( 4 ) }
      DATA {
      (0): "abc", "1\000\000", "\000\000\000", "23\000"
      }
   }
}
}

Prototype:
use std::alloc;
use std::error::Error;
use std::mem;
use std::slice;
use std::str;

use libc::{c_void, size_t};
use ndarray::Array1;

use hdf5_sys::h5::herr_t;
use hdf5_sys::h5d::H5Dread;
use hdf5_sys::h5i::hid_t;
use hdf5_sys::*;

const STRING_SIZE: usize = mem::size_of::<String>();

extern "C" fn conv_func(
    src_id: hid_t, dst_id: hid_t, cdata: *mut h5t::H5T_cdata_t, nelmts: size_t, buf_stride: size_t,
    _bkg_stride: size_t, buf: *mut c_void, _bkg: *mut c_void, _dset_xfer_plist: hid_t,
) -> herr_t {
    // TODO: the accepted function pointer should be unsafe by default
    unsafe {
        // check examples in H5Tconv.c, e.g. H5Tconv__s_s
        match (*cdata).command {
            h5t::H5T_CONV_INIT => {
                // initialization, checks, etc - ignore for now
                (*cdata).need_bkg = h5t::H5T_BKG_NO;
            }
            h5t::H5T_CONV_FREE => {
                // nothing to do here
            }
            h5t::H5T_CONV_CONV => {
                let buf = buf as *mut u8;
                let nullterm = match h5t::H5Tget_strpad(src_id) {
                    h5t::H5T_STR_NULLTERM | h5t::H5T_STR_NULLPAD => true,
                    h5t::H5T_STR_SPACEPAD => false,
                    _ => panic!("unsupported"),
                };
                let src_size = h5t::H5Tget_size(src_id) as usize;
                let dst_size = h5t::H5Tget_size(dst_id) as usize;
                let (dir, mut src_buf, mut dst_buf) = if src_size >= dst_size {
                    (1, buf, buf)
                } else {
                    let k = nelmts - 1;
                    (-1, buf.offset((k * src_size) as _), buf.offset((k * dst_size) as _))
                };
                let src_stride =
                    dir * (if buf_stride == 0 { src_size } else { buf_stride }) as isize;
                let dst_stride =
                    dir * (if buf_stride == 0 { dst_size } else { buf_stride }) as isize;
                for _ in 0..nelmts {
                    let mut len = src_size;
                    if nullterm {
                        // technically, nullpad has to be handled differently, but that's
                        // how it's done in the HDF5 library itself (H5T__conv_s_s in H5Tconv.c)
                        for i in 0..src_size {
                            if *src_buf.offset(i as _) == b'\0' {
                                len = i;
                                break;
                            }
                        }
                    } else {
                        for i in (0..src_size).rev() {
                            if *src_buf.offset(i as _) != b' ' {
                                len = i + 1;
                                break;
                            }
                        }
                    }
                    // alternatively, could use std::from_utf8_unchecked()?
                    let s =
                        str::from_utf8(slice::from_raw_parts(src_buf, len)).unwrap().to_string();
                    libc::memcpy(dst_buf as _, &s as *const _ as _, STRING_SIZE);
                    mem::forget(s);
                    src_buf = src_buf.offset(src_stride);
                    dst_buf = dst_buf.offset(dst_stride);
                }
            }
        }
    }
    0
}

fn main() -> Result<(), Box<dyn Error>> {
    unsafe {
        assert!(h5::H5open() >= 0);
        let type_id = h5t::H5Tcreate(h5t::H5T_OPAQUE, STRING_SIZE as _);
        assert!(type_id >= 0);
        assert!(h5t::H5Tset_tag(type_id, "rust::String\0".as_ptr() as *const _) >= 0);
        // let h5_type_id = h5t::H5Tcreate(h5t::H5T_STRING, 1);
        let h5_type_id = *hdf5::globals::H5T_C_S1;
        assert!(h5_type_id >= 0);
        assert!(
            h5t::H5Tregister(
                h5t::H5T_PERS_SOFT,
                "H5T_C_S1->rust::String\0".as_ptr() as _,
                h5_type_id,
                type_id,
                Some(conv_func),
            ) >= 0
        );
        let file =
            h5f::H5Fopen("test.h5\0".as_ptr() as *const _, h5f::H5F_ACC_RDONLY, h5p::H5P_DEFAULT);
        assert!(file >= 0);
        for name in &["a1\0", "a2\0"] {
            println!("{}:", name);
            let ds = h5d::H5Dopen2(file, name.as_ptr() as *const _, h5p::H5P_DEFAULT);
            assert!(ds >= 0);
            let space = h5d::H5Dget_space(ds);
            assert!(space >= 0);
            let npoints = h5s::H5Sget_simple_extent_npoints(space);
            assert!(npoints >= 0);
            let npoints = npoints as usize;
            let layout =
                alloc::Layout::from_size_align(npoints * STRING_SIZE, mem::align_of::<String>())?;
            let buf = alloc::alloc(layout);
            assert!(
                H5Dread(ds, type_id, h5s::H5S_ALL, h5s::H5S_ALL, h5p::H5P_DEFAULT, buf as _,) >= 0
            );
            let vec = Vec::<String>::from_raw_parts(buf as _, npoints, npoints);
            println!("{:#?}", vec);
            let arr: Array1<String> = Array1::from_shape_vec_unchecked(npoints, vec);
            println!("{:#?}", arr);
        }
    }

    Ok(())
}

Output:
a1

TLDR: we have an HDF5 dataset with type |S26 and we read it directly into a Vec<String> and it sort of seems to work.

@magnusuMET There you go as promised ^ 😄

Just verified, the conversion routine indeed runs chunk by chunk. So, if you're converting a dataset with 1K strings but chunk size is 100, you will allocate memory for at most 1100 strings at a time (this would be the advantage as opposed to "read all, then convert" approach).

@aldanor That is some really great stuff! So it sort of acts as an inplace conversion? Nasty trick of copying the layout of the String :+1:

Yea, it is in-place in a sense that String body (pretty hefty, 24B) is generated in place, obviously not the heap data it points to.
One could argue it's not the most efficient way of doing things etc, but given that it allows you to map directly to Rust types, I think convenience outweighs everything else. Typically, if you want performance, you won't be using strings at all in the first place :)
Note also that this would automatically work for structs as well, any String field wrapped in a struct or array would automatically be decoded in place.

Just to add to the above so I don't forget, we could totally do something like that (I could probably take up on that once the dust settles over the currently blockers), BUT: this will require splitting H5Type into H5Read and H5Write. I.e., you can write &str or String but you can only read String.

Just to add to the above so I don't forget, we could totally do something like that (I could probably take up on that once the dust settles over the currently blockers), BUT: this will require splitting H5Type into H5Read and H5Write. I.e., you can write &str or String but you can only read String.


Fix incorrect here document in https://k8s.io/docs/setup/production-environment/tools/kubeadm/

Amend https://k8s.io/docs/setup/production-environment/tools/kubeadm/
The existing here document for setting up YUM on RHEL / CentOS would try to copy $basearch from the environment, rather than let YUM use its own variables.
Fix that.
I've tested the heredoc works how I expect. I haven't end-to-end tested that the fixed documentation works on RHEL / CentOS.
/priority important-soon
/sig cluster-lifecycle
Fixes #20279

can this be backported to dev-1.18?

@neolit123 the master branch deploys Kubernetes documentation for v1.18
No need for a backport unless you also want to cover older documentation (which might be justifiable; I'd be willing to listen to a case made for that).

I think we could actually delete dev-1.18; I'm not sure what that branch is used for.

/approve


Fill up Defined Map Datas vector in DataHelpers

Related to #475.
At the moment, this is our g_defined_map_datas vector in DataHelpers.cpp, which stores all the Map information:

static const std::vector g_defined_map_datas =
{
{0, "City_00_01", "maps/city_zones/city_00_01/city_00_01.txt", "Outbreak"},
{1, "City_01_01", "maps/city_zones/city_01_01/city_01_01.txt", "Atlas Park"},
{23, "City_23_01", "maps/city_zones/city_23_01/city_23_01.txt", "Galaxy City"}
};

Here's an explanation of all the parameters in this vector, in order from left to right:

m_map_idx. The map... index. Currently unused and we could modify the code to use this, but that's not for this PR.
m_map_name. This is what the server checks against a character's EntityData's CurrentMap in order to load up the map.
m_map_path. The path the server looks for in order to load up the maps (from maps.bin AFAIK). The convention is pretty easy to follow, so I don't feel the need to explain too much.
m_display_name. The name of the map displayed to players.

What we should do, is to fill up this vector with information of all the other areas. Basically whatever City_02_01 is, City_03_01, etc etc. The convention is pretty easy to follow, so I think this would be a good first issue.

Do we know why Galaxy City got index number 23? According to my extracted files, it's actually City_01_03
$ ls data/geobin/maps/City_Zones/City_01_03
 city_01_03.bin  'Galaxy City is in this dir.bin'

I think it was some placeholder code put back then that puts Galaxy City on 23 lol so I just followed it

The id's are not actually used anywhere by the client, it just had those values hardcoded as map-ids.
As for the proper mappings, they can be read from unpacked texts/English/menuMessages.ms


StepMania 5.3 Outfox Alpha Build 5.3.0 Crash

Missing folder/files etc...
I was just opening StepMania 5.3 Outfox Alpha Build 5.3.0 then it crashed due to an access violation..
Log: log.txt
Crash info: crashinfo.txt
Crash Video Zip: CrashVideo.zip

you will need to install a driver for your graphics card, as windows 10 has crippled your chipset.

There are two that have been known to work, for your specific chipset: we have the one from Dell, which is here: https://www.dell.com/support/home/en-uk/drivers/driversdetails?driverid=r279356 You may need to run it in 'windows 7 compatibility mode' but it will give you OpenGL 2.0
and this one which I have helped users with in the past on our discord server: https://cdn.discordapp.com/attachments/527732010714923019/701041468336242719/Win7Vista_64_151717bb.zip Again, this one needs to be run in windows 7 compatibility mode, as it cannot see windows 10.
The log says you have the Q45 intel chipset, but do you have any other graphics cards on the system?

There is a small possibility of this triggering an edge crash, which is why I've changed this to an issue we will be working on. We do not support D3D anymore, however, we do support ancient versions of OpenGL 1.1 to 1.5. This should also be exposed in your driver, but you will need to install one of the above to get access to this. Our new instance of D3D is at least a year away, so If we cannot get you fixed, it will be a shame for you to wait this long.
I will also change the way we sort things on the lowlevel window side.

It's okay, I'll just stick to StepMania 5.0.12 and older. Maybe in the future, I will switch to StepMania 5.3.

Have you tried installing the drivers?

This is an issue we cannot fix due to the driver crippling of the intel chipsets.

okay
On Sat, Jul 11, 2020 at 5:27 PM Crystal Squirrel<EMAIL_ADDRESS>wrote:

Closed #12 https://github.com/TeamRizu/OutFox/issues/12.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/TeamRizu/OutFox/issues/12#event-3536612939, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AOVW7IC4NM7LOSROFUFZV3DR3DKNRANCNFSM4ODDL3FQ
.

i didn't need 5.3 anyways
On Sat, Jul 11, 2020 at 9:21 PM Siri // GMD Partitionhlep <
<EMAIL_ADDRESS>wrote:

okay
On Sat, Jul 11, 2020 at 5:27 PM Crystal Squirrel<EMAIL_ADDRESS>wrote:

Closed #12 https://github.com/TeamRizu/OutFox/issues/12.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/TeamRizu/OutFox/issues/12#event-3536612939, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AOVW7IC4NM7LOSROFUFZV3DR3DKNRANCNFSM4ODDL3FQ
.

i haven't responded nor did i agree to installing the needed drivers
because i worried it might kill my graphics card. (i mean i think there
will be a black screen)
On Sat, Jul 11, 2020 at 9:22 PM Siri // GMD Partitionhlep <
<EMAIL_ADDRESS>wrote:

i didn't need 5.3 anyways
On Sat, Jul 11, 2020 at 9:21 PM Siri // GMD Partitionhlep <
<EMAIL_ADDRESS>wrote:

okay
On Sat, Jul 11, 2020 at 5:27 PM Crystal Squirrel <
<EMAIL_ADDRESS>wrote:

Closed #12 https://github.com/TeamRizu/OutFox/issues/12.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/TeamRizu/OutFox/issues/12#event-3536612939, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AOVW7IC4NM7LOSROFUFZV3DR3DKNRANCNFSM4ODDL3FQ
.


Incorrect type for Releases

Exported interface for Releases contains "locale" param (of "ReleaseData" type) -> https://github.com/contentstack/contentstack-management-javascript/blob/master/types/stack/release/index.d.ts#L11
It is inconsistent with what is indicated in API documentation for Releases, as the param name should be "release" -> https://www.contentstack.com/docs/developers/sdks/content-management-sdk/javascript/reference#release-create.
In order for creating release to work, we need to use param "release", but it ends up with following TS error:

Hi @Greensleeves11
We are not able to reproduce the issue here. When we export the release data we do get locale param in the data.

Hi @Greensleeves11
The issue was resolved in commit . Please check the latest version
cc: @sunil-lakshman @nadeem-cs


Ship LICENSE file with the gem

PR #61 removed not only test files, but also useful files, such as LICENSE file. This file is demanded by Linux distros such as Fedora.

This resolves #66

This resolves #66


adds Happy Numbers in Python

Pull Request Template
What have you Changed(must)
I have added 202. Happy Numbers in Python
Issue Number #822 -
Pr will be close and marked as spam. If issue number not found or issue was assigned to someone else.
Marking as spam can block your account from HacktoberFest.
Self Check(Tick After Making pull Request)

[X] This issue was assigned to me if not it will be marked as spam.
[X] My file is in the proper folder
[X] I am following clean code and Documentation.
[X] I have added the title and what program will do first in the file
[X] I have named the file as (Problem #). (Problem Title(in Camel Case)).(extension)
ex. 2. AddToNumbers.py

README - How to Contribute

@GoodGuyGregory you have to create a PR only after you've been assigned to the issue. We'll be closing this now.

@SSKale1 can you assign me this Problem?


Set the correct language during indexing

Fix #292

[Current coverage][cc-pull] is 92.22%

Merging [#303][cc-pull] into [release/0.8.x][cc-base-branch] will decrease coverage by 0.56%

@@           release/0.8.x       #303   diff @@
===============================================
  Files                 20         20
  Lines               1220       1222     +2
  Methods                0          0
  Messages               0          0
  Branches             148        148
===============================================
- Hits                1132       1127     -5
- Misses                42         48     +6
- Partials              46         47     +1

Powered by Codecov. Last updated by [7c4b3a7...beb058f][cc-compare]
[cc-base-branch]: https://codecov.io/gh/nephila/djangocms-blog/branch/release/0.8.x?src=pr
[cc-compare]: https://codecov.io/gh/nephila/djangocms-blog/compare/7c4b3a7c7617290585669e2d1eb4c8454697155d...beb058f27ec99308b8bf85a2800037fc82d4256a?src=pr
[cc-pull]: https://codecov.io/gh/nephila/djangocms-blog/pull/303?src=pr

Coverage decreased (-0.9%) to 95.663% when pulling 2ca14f445466a4431c9c6cdc4cca8053197f6b38 on hotfix/haystack into 7c4b3a7c7617290585669e2d1eb4c8454697155d on release/0.8.x.

Coverage decreased (-0.9%) to 95.663% when pulling 2ca14f445466a4431c9c6cdc4cca8053197f6b38 on hotfix/haystack into 7c4b3a7c7617290585669e2d1eb4c8454697155d on release/0.8.x.


Support linked files

Following project build a dacpac, but with not tables in model.xml:
<Project Sdk="MSBuild.Sdk.SqlProj/1.0.0">
  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
    <RecoveryMode>Simple</RecoveryMode>
  </PropertyGroup>
  <ItemGroup>
    <None Include="..\..\Database1\Database1\Table1.sql" Link="Table1.sql" />
  </ItemGroup>
</Project>

In addition, Publish fails:
1>------ Build started: Project: ConsoleApp1, Configuration: Release Any CPU ------
1>Using package name ConsoleApp1 and version 1.0.0
1>Setting property RecoveryMode to value Simple
1>Using SQL Server version Sql150
1>Writing model to C:\Users\Erik\Source\Repos\ConsoleApp7\ConsoleApp1\obj\Release\netstandard2.0\ConsoleApp1.dacpac
1>ConsoleApp1 -> C:\Users\Erik\Source\Repos\ConsoleApp7\ConsoleApp1\bin\Release\netstandard2.0\ConsoleApp1.dacpac
2>------ Publish started: Project: ConsoleApp1, Configuration: Release Any CPU ------
2>dotnet C:\Users\Erik\.nuget\packages\msbuild.sdk.sqlproj\1.0.0\Sdk\../tools/netcoreapp3.1/BuildDacpac.dll -o "obj\Release\netstandard2.0\ConsoleApp1.dacpac" -n ConsoleApp1 -v 1.0.0 -sv Sql150   -p RecoveryMode=Simple
2>Using package name ConsoleApp1 and version 1.0.0
2>Setting property RecoveryMode to value Simple
2>Using SQL Server version Sql150
2>Deleting existing file C:\Users\Erik\Source\Repos\ConsoleApp7\ConsoleApp1\obj\Release\netstandard2.0\ConsoleApp1.dacpac
2>Writing model to C:\Users\Erik\Source\Repos\ConsoleApp7\ConsoleApp1\obj\Release\netstandard2.0\ConsoleApp1.dacpac
2>ConsoleApp1 -> C:\Users\Erik\Source\Repos\ConsoleApp7\ConsoleApp1\bin\Release\netstandard2.0\ConsoleApp1.dacpac
2>Manifest file not found at 'C:\Users\Erik\Source\Repos\ConsoleApp7\ConsoleApp1\ConsoleApp1.nuspec'
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
========== Publish: 0 succeeded, 1 failed, 0 skipped ==========

@ErikEJ Looking at your project file I'm not surprised that the table doesn't end up in the resulting .dacpac because the build action for Table1.sql is set to None. Could you try changing that to Content and see if that works?
As for the publish, I'm not entirely sure what dotnet publish should do in this case. Perhaps dotnet pack would be more appropriate. Looking at the error though it seems that the publish actually does a pack, since it seems to be looking for a .nuspec file. Have you added a .nuspec file to the project as described here.

Of course! Adding as Content works like a charm - and "Build" works just as expected.

@ErikEJ Just to clarify, are you talking about setting the build action to Build, or are you referring to doing a dotnet build? Because I wouldn't expect the build action being set to Build to work actually ;).

Sorry, just mean running Build in VS works

Okay, great. Thanks for the feedback. And if you run into any more issues don't hesitate to create a new one.

You are welcome, this is a great project! I may have a look at: https://github.com/jmezach/MSBuild.Sdk.SqlProj/issues/6


[PDI-20038] - Pentaho <IP_ADDRESS> - Getting java.lang.OutOfMemoryError: Java heap space when running PDI Jobs

Backport of https://github.com/pentaho/pentaho-kettle/pull/9198

 Note:

Frogbot also supports Contextual Analysis, Secret Detection, IaC and SAST Vulnerabilities Scanning. This features are included as part of the JFrog Advanced Security package, which isn't enabled on your system.

🐸 JFrog Frogbot

:white_check_mark: Build finished in 46m 18s
Build command:
mvn clean verify -B -e -Daudit -amd -pl core

:ok_hand: All tests passed!
Tests run: 5338, Failures: 0, Skipped: 14    Test Results

:information_source:  This is an automatic message


Update to nuprocess 2.0.6

Ref https://github.com/ValdemarGr/mezel/issues/37
I didn't test if this would fix the bug, but this bumps to 2.0.6, which uses JNA 5.11.0.

Thanks!


set local session posargs via notify

Closes: https://github.com/theacodes/nox/issues/391
Once the basic API has been reviewed and accepted I'll add tests for this feature.

@cjolowicz I think this is good to merge.

ping: @cjolowicz - I think this is good to merge

Looks great, thanks, y'all!


Brackets do not affect the molecule properties or structure view

If I enter a structure and add brackets to indicate a repeating unit, the repeated unit information is not included in the structure display.

Or the structure properties -

This means there are 4 terminal in this end, but there is one R1 availble to connect.

??? I don't understand the comment.

In this picture above, it indicates there are 4 R(A)P- connecting to -R(C)P-.  But -R(C)P- have only one R1 to be connected.

The picture above should not represent  4 R(A)P- connecting to -R(C)P-
That particular set of brackets should mean R(A)P.R(A)P.R(A)P.R(A)P.R(C)P.R(C)P
Your interpretation of the HELM rules is incorrect.

fixed in 2017-10-30 update

Brackets now affect the properties, but not the structure view.

i.e. the same structure is show above and below.

Fix in 2017-11-20 update

Confirmed fixed. Thanks.


Open source CSET! 🎉

There are a few things we need to do to open source CSET. This list covers what I think needs doing, but please comment with any other ideas. This is a fair amount of stuff, and we probably won't get it done before Christmas.

[x] Check code for any confidential stuff.
[x] Check git history for any confidential stuff.
[x] Check GitHub issues/PRs for any confidential stuff.
[x] I'd like to get #23 (and a follow-up documentation PR) merged in before opening up.
[x] Change LICENCE to Apache 2.0. #44
[x] Signoff of plan to open source from department head.
[x] Make separate repository for private bit of workflow. Or if there is any confidential stuff found we'll make a new public repository. Private workflow will come under UM partnership licence.
[x] Expand README.md to make it more welcoming and removing references to internal systems.
[x] Update contribution guide in documentation. #53
[x] Clarify where the split between the open source core and UM partnership licence workflow is.
[x] Filter out any internal domains from git history.
[x] Get another SSE to check that I have covered everything for open sourcing.
[x] Permission from the Science Code Information Asset Owner.
[x] Record repository within the Science Codes asset register.
[x] Get final signoff from @Sylviabohnenstengel
[x] Make this repository public.

This repository is now public! :tada:


[release/1.2 backport] fix killall when use pidnamespace

Backport of https://github.com/containerd/containerd/pull/3149 for the 1.2 branch (only the first commit (cherry picked from commit fa5f744a790356472d4649b9ad1d955e36d0c7c0))
addresses https://github.com/moby/moby/issues/38978

/cc @lifubang @fuweid

Codecov Report

Merging #3274 into release/1.2 will not change coverage.
The diff coverage is n/a.

@@             Coverage Diff              @@
##           release/1.2    #3274   +/-   ##
============================================
  Coverage        43.74%   43.74%
============================================
  Files              101      101
  Lines            10761    10761
============================================
  Hits              4707     4707
  Misses            5319     5319
  Partials           735      735

Flag
Coverage Δ

#linux
47.38% <ø> (ø)
:arrow_up:

#windows
40.84% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

LGTM


[v4.0.0] Reworked for consistent syntax

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#11  👈
#10
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @GoodM4ven and the rest of your teammates on  Graphite

Merge activity

May 8, 7:14 AM EDT: @GoodM4ven started a stack merge that includes this pull request via Graphite.


Where is the path to the downloaded pretrain models?

Like the question, I cannot find the pretrain models in my computer, or if there are any infos about the pretrain models? e.g., training epochs, etc.

The directory for pretrained model is /home/xxx/.cache/torch/hub/checkpoints/ on linux or  C:\Users\xxx\.cache\torch\hub\checkpoints\ on windows.