javascript – Web-Based Music Royalty Measurement Tool

Working on a passion project so I am willing to invest the time & research, just need some starting advice/tips.

Currently just started and have only…

  • AWS Light Sail Sever
  • WordPress + bitnami

Looking to create a web-based music recording royalty model & graphing tool that breaks down different royalty earning measurements for artists based on their data and generates graphs. The data will be retrieved from the artist’s TuneCore & DistroKid account. Averages, Change in Earnings based on catalog size, etc. (Not worried about the math part so much right now since I have these calculations done already).

The big hurdle that is keeping me in the way is figuring out a way to grab this information from the outside websites & accounts. This is needed so that my web app can then generate graphs and models off of their data. I am not looking to store their account information and data, other than the streaming data needed to generate the graphs and charts. Streaming reports can be downloaded from TuneCore (.CSV file) & DistroKid (.TSV file)

The streaming reports are typically stored in the “bank”.

My belief is that DistroKid & TuneCore are pulling their numbers & stats from the .CSV & .TSV files stored on their end.

A website called Royalty Exchange offers something quite similar, however, they’re collecting from different royalty agencies and don’t deliver the data I am looking for. They’re collecting data from artists’ publishing agencies.

Royalty Exchange has a blog post that shows their early model of the “Royalty Calculator” and how they used the user’s inputted username and password for their BMI (publisher) account to access their data and reports. Blog post link with video demonstration.

My thoughts/questions were

  1. Is Royalty Exchange is using JavaScript & AJAX in order to collect the inputted Publishing Account Username and Password. Maybe that, once RoyaltyExchange’s app got access to the account it downloaded and store the .CSV / .TSV information to the registered artist’s account on the Royalty Exchange. Bringing the data from BMI (Publisher) to the Royalty Exchange’s server.
  2. While not storing the artist’s username and password, RoyaltyExchange stores the catalog & streaming information in their servers in order to draw the graphs and measurements for the artist. Wouldn’t this be the case if they’re able to show that information in the artists’ dashboard without them needing to sign into their Publishing account again?
  3. Maybe instead of downloading & storing the.TSV and .CSV files – Royalty Exchange’s app is just scanning for the specific artist’s stats on the site and transferring it some other way?
  4. Like mentioned in the beginning, I am aware of how intense or complex this may sound especially for my obvious lack of experience, but it’s a passion project of mine that I’d really like to work on. I feel like this community though will help point me in the right direction with what I need to brush up on & learn.

Image Links For Reference:

Appreciate it, anything will help!

timestamp – In the time side channel, is there any way to improve the measurement time accuracy?

I want to measure the execution time of a function. The execution time of this function is only slightly different in the two cases. Is there any way I can accurately measure its time to distinguish the two cases?
The possible solutions are:

  1. Use precise measurement functions. Such as __rdtscp or std::chrono clock. I tried __rdtscp, but due to the noise caused by the serializing and the granularity of time stamp counter, __tdtscp is still not accurate enough. Is there any way to reduce the noise during __rdtscp measurement?
  2. Increase the time difference of function execution. This is what I want to do now. But once this function is changed, the background becomes less convincing.
  3. Is there a lot of noise in calling functions? Is there any way to reduce the noise in calling functions? Can calling functions in inline assembly reduce noise? Or is it new to do some other work before calling the function?

Can someone give me some advice?

java – Will this time duration measurement in two threads give correct result?

A program I’m developing has two threads running similar but different task:





I want to compare the writing performance of the two external database. I have timers around the write operation so that I can collect some metrics. Those two threads are running concurrently.

My question is will this design give correct measurement result regarding to the time spent by each write operation?
My understanding is probably not because the processing time given by CPU to each thread may be different. Let’s say for thread1, after timer1 started, cpu will not move forward to the followed write operation, but switch to processing thread2 instead. This may introduce some gaps between timer1.start() and writeToExternalDB1(consumedData). However, in that case, should we regard this gap as negligible if we are processing a lot of data? What should I do to give the correct measurement result?

fitting – How to perform a LinearModelFit on a data-set with units of measurement?

Thanks for contributing an answer to Mathematica Stack Exchange!

  • Please be sure to answer the question. Provide details and share your research!

But avoid

  • Asking for help, clarification, or responding to other answers.
  • Making statements based on opinion; back them up with references or personal experience.

Use MathJax to format equations. MathJax reference.

To learn more, see our tips on writing great answers.

c – PAPI: measurement of elapsed cycles gives negative results

I am trying to use PAPI to benchmark a binary. To test it out, I created the following snippet:

#include <papi.h>
#include <stdio.h>

volatile double a = 1.0, b=2.0;

int main(){
    int Events(1) = {PAPI_TOT_CYC};
    long long values(1);
    PAPI_start_counters(Events, 1);

    for (int i = 0; i < 10000; ++i){
        a = a * b;

    PAPI_read_counters(values, 1);

    printf("read 1: %lldn", values(0));
    long long read1 = values(0);

    for (int i = 0; i < 10000; ++i){
        a = a * b;

    PAPI_read_counters(values, 1);
    printf("read 2: %lldn", values(0));
    long long read2 = values(0);

    printf("diff: %lldn", read2-read1);

    PAPI_stop_counters(values, 1);

    return 0;

When I run this repeatedly, there are basically two problems. Not only the cycle count fluctuates a lot (which is, though, expected), but also sometimes I get even negative difference: the second read actually reads less than the first one:

read 1: 173549
read 2: 137818
diff: -35731

I am using PAPI version 5.4.1, since the cluster I am running at has only this one. I also tried running locally and the problem persists.

Am I just doing it fundamentally wrong?

I am aware that I don’t need PAPI to measure the timings, but I would also like to measure operations executed and cache miss rates. So I would like to get PAPI working.

resolution – distance between pixels = a fixed measurement (inch, foot etc)?

Let’s say the distance from my camera to my object is 3 feet. The object is a 6 foot long pole. The pole has a mark every inch. Will the number of pixels between the bottom 1 inch be the same number of pixels of the top 1 inch? Will I be able to say that at a 3 foot distance from my camera and any object that for example 100 vertical pixels is an inch, across the entire vertical view of the image?

I did a simple test. I took a picture of some graph paper, then converted to jpg to a pbm. At the bottom if the image, 30 pixels was 1/10 of an inch. But at the to of the image, it was more like 37 pixels for the 1/10 of an inch.

Was there a problem in the way i did my simple experiment. The jpg was taken with my cellphone. Would I see similar results with my Canon G11 Powershot?

Measurement – Why should a dedicated light meter be used instead of the one built into the camera?

Not only are light meters more versatile, you can use them to take some types of measurements that you can't do with cameras (and vice versa).

The meter you linked (and which I happen to own) has two types of measurement: reflective and incident. In addition, light meters can measure lightning / lightning, which is not possible with modern DSLRs.

Reflective measurement in the measurement you know from DSLRs; Light is reflected from your subject and back into the camera. While this type of measurement has many advantages: you can measure from a distance, you take into account the whole scene, etc., there are many pitfalls. A scene with a lot of snow or a dark wall can deceive you. I am sure you have some images that are poorly exposed for no reason, among a series of well-exposed images – this happens when a reflective meter is fooled.

The incident measurement is slightly different. It allows you to measure the light that falls on a subject at the location of this subject. This gives you a "truer" exposure where dark material comes out dark and light material white. Sekonic has a pretty good FAQ entry on the subject. When taking pictures of people, measure the face of the subject with the dome on your lens, which you often see in films.

With a modern flash meter you can also measure lightning and lightning. The measuring device you have connected can either be connected to a PC synchronization cable or set so that it responds to a flash of light. This allows you to measure the results of flashes that you set up without using a digital camera or polaroid. You can also check if you have hit your exposure without checking your LCD a thousand times.

In addition to measuring the entire scene, incident measurement allows you to measure the light from each of your flash units. If you ever look at flash notations, they are usually recorded. Measure this on the subject and point the white dome at your various lights while firing them separately. This way you can quickly record your flash conditions. This is extremely useful when recreating a look.

Oh, and the reason I carry this Sekonic meter around a lot: it's much, much smaller than my DSLR, and I use it for my film cameras that don't measure.

Measurement – Why is the subject too dark when using the Nikon D5600 auto modes?

I have a problem with using automatic and semi-automatic modes. For example, I have "fairly optimal" light, in "A" mode I set the desired aperture value, be it 2.8 and ISO 200, when I switch to live view mode on the LCD screen, everything is fine , depending on the conditions I get slow shutter speed (up to 1 / 800s). After switching to the viewfinder, the time immediately increases to huge values, even up to 30 seconds. I can change ISO and aperture in both directions, but the time doesn't change at all or the change is minimal. It "works" the same in every automatic mode. I tried it for both lenses and for different lighting conditions. The LCD screen displays a warning that "the subject is too dark". The time does not change when I keep an eye on the viewfinder. The images are output in white (no surprise). In addition, the flash always fires in AUTO mode.

I restored the factory settings, reset all user settings, formatted the memory card, downloaded the latest firmware from the official Nikon website and reinstalled it. Nothing has changed:

  • LCD preview: ISO 2000 and 2.8 aperture, the shutter speed was set to 1 / 500s, the photo is fine.

  • View through the viewfinder: ISO 2000 and aperture 2.8, the shutter speed changed to 30s, while I changed the exposure compensation to -5.0, the time dropped to 1 / 20s and the photo was overexposed.

In manual mode (and automatically when previewing on the LCD) everything works pretty well. I took several hundred photos and found no sharpness problems. The changes to the parameters are visible. I can shoot even in low light conditions. Therefore I do not understand whether my Nikon is simply faulty, whether I am doing something wrong or not understanding something about how it works.

Terminology – generic term for the time measurement between the creation of an entry by the user and the removal of this entry?

I measure the time between users who create a list and disable a list for A / B testing, and make conclusions about success (for some apps, including the one I'm working on, a shorter The duration of the listing is an indication of greater success.

I am not sure which technical language / terminology is suitable for the period between the creation of an entry by a user and the deactivation / removal of the entry.

I currently call it & # 39;Collection time& # 39;, or & # 39;Days online& # 39; but I made this up to describe the metric – I hope to understand if there is a more general term / metric used by UX professionals?