Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
  • Dec 21 2018 17:11
    @MadLittleMods banned @OmarAlmaqtri
  • Jun 05 2018 23:13
    @MadLittleMods banned @LWSS
  • May 25 2018 16:50
    @MadLittleMods banned @TheRedstoneTaco
Richard Sithole

I have a "curiosity killed the cat" kinda question:

In an if statement, when do you negate a check vs checking for the positive flow, for example:

Option A

if (a + b === 2) {
// do x;
} else {
// do y;


Option B

if ( a + b !== 2) {
// do x;
} else {
// do y;

Is there a heuristic or general rule when to apply option A vs option B logic?

What are the best websites and android apps for best developers and AI news blogs and tutorials
Hey! I have a doubt. I would like to make 3 consecutive vanilla JS Ajax calls (one inside other) what is the best practice for that?
Stephen James
Using fetch?
Hi everyone ! I am new to react.js and this is the link to my first project : https://anmol270900.github.io/Friends/
Do suggest some changes so that the project gets better and I get to learn more.
Star my repository if you like it https://github.com/Anmol270900/Friends :)

in this codepen i am trying to change instance class names without using eval. (with eval its very simple)
can someone point me to the right direction ?

function extend () {
   let parent = this;
   child = function() { return parent.apply(this, arguments); }

const Base = function(){}
Base.extend = extend;
const Test = Base.extend({ ... });
console.dir(new Test());

will output > child


Hello, my name is Liora and I am currently hunting open source projects for company NeuraLegion (www.neuralegion.com)
We just launched a free annual subscription for open source projects for our AIAST tool NexPloit.

If you are interested, please, reach us on opensource@neuralegion.com!

Thank you for your time and consideration! If you have any questions, please do not hesitate to contact us!


Richa verma
hey ! i created this https://therichaverma.github.io/ website. Please have a look and tell me where i am wrong . Thanks .
Kimanje Patrick
@hrichaverma Nice work. I suggest you add a smooth scroll behavior to the destination of your Nav links
Richa verma
@DrKimpatrick okay . thanks a lot.
Alexey Protchenko
@hrichaverma, and it would be better to add favicon to allow browser to show it on the tab
Error: Please install pg package manually
please anyone look over the error
Arun Kumar
test message
Can anybody see my message?
Alexey Protchenko
@arunkumar413 , yes
Arun Kumar
Thanks :)
Hi all!
Has anyone used Dropzone.js before? https://github.com/enyo/dropzone
Hi, can somebody help me translate this into vanilla js/plain javascript?
$(".pop").popover({ trigger: "manual" , html: true, animation:false})
    .on("mouseenter", function () {
        var _this = this;
        $(".popover").on("mouseleave", function () {
    }).on("mouseleave", function () {
        var _this = this;
        setTimeout(function () {
            if (!$(".popover:hover").length) {
        }, 300);
Chris Cullen
    for( var i = 0; i < arr.length; i++){
       var next = arr[(i+1)%len];

         diff = (values[arr[i]] - next );
          date += values[arr[i]];
Why is next here going back to the start of the array once its finished?
how can I make it end at the end
(i+1)%len - i suppose len here is the arr.length?
arr.length % arr.length returns 0, so, on the last array element your next receives value from the first element of array.

Hi all

I'm running into a problem with recordrtc.
After recording the audio from my platfrom using recordrtc its been saved temporarily to /tmp folder. But in some scenario the audio file is missing or /tmp/upload_b6460cdff8c889265b0b063712f46c10: Invalid data found when processing input.

Can anyone explain this scenario?
Thanks in advance

Hey Guys, i wanna enhance my skills in react and any other technologies like redux, mobx, react-native etc. And i looking for internship or junior position. Maybe first time for free. I'll be glad to any suggestions

module.exports = {
encryptFile: async function(file){

this.encodeToArrayBuffer(file).then(function(bufferFile) {
        return bufferFile;


hey guys, im using this sitnaxis to define an methodn into an object using module.exports
in my case i have added the async declaration before the function word, is this correct? (since i want to return a promise)
or how should i declare the async here?
async converts your function result to a promise
but it mostly used for be able to resolve any promises with await
async function(file) {
  let bufferFile = await this.encodeToArrayBuffer(file);
  let magicfile = applyBlackMagic(bufferFile);
  return magicfile
ribhav sharma
hi @/all
hello I need help with something
anyone here
Rob Ede
just post the question my dude
Chigozie Igwebuike Christopher
hi guys, i've been struggling with my algorithm for a couple hours now and still cant get one of the last test cases right. Below is the code i have for the cash register project, pls any feedback on all my wrongs would be appreciated, the code is a bit messy too so pls forgive me in advance
//function checkCashRegister houses the major global variables and conditions to be met
//function findChange searches for exact change to be returned
//function totalCid calculates the total number of change in the drawer
//'cid' stands for cash in drawer
//'theAvailable' refers to total number of available change in the drawer

function totalCid(cid) {
        let total = 0;
        for (let piece of cid ) {
            total += piece[1];   
         return total.toFixed(2);

//exact change

function findChange(moneyOwed, cid) {
            var change_arr = [];
            var currencyValues = {
                  'ONE HUNDRED': 100.00,
                  'TWENTY': 20.00,
                  'TEN': 10.00,
                  'FIVE': 5.00,
                  'ONE': 1.00,
                  'QUARTER': 0.25,
                  'DIME': 0.10,
                  'NICKEL': 0.05,
                  'PENNY': 0.01
            for (let i = cid.length - 1; i >= 0; i--) {
                const currName = cid[i][0];
                const currTotal = cid[i][1];
                const currValue = currencyValues[currName];
                let currAmount = (currTotal/currValue).toFixed(2);
                let currToReturn = 0;
                while (moneyOwed >= currValue && currAmount > 0) {
                    moneyOwed -= currValue;
                    moneyOwed = moneyOwed.toFixed(2);
                    currAmount --;
                    currToReturn ++;
                if (currToReturn > 0) {
                    change_arr.push([currName, currToReturn * currValue]);



     return change_arr   


function checkCashRegister (price, cash, cid) {
    var register = {'status' : null, 'change' : []};
    const moneyOwed = parseFloat(cash - price).toFixed(2);
    const theAvailable = totalCid(cid);

    if (Number(moneyOwed) > Number(theAvailable)) {
            register.status = 'INSUFFICIENT_FUNDS';
            return register;

    if (Number(moneyOwed) === Number(theAvailable)) {
            register.status = 'CLOSED';
            register.change = [...cid];
            return register;
          register.change = findChange(moneyOwed, cid);

     if (Number(moneyOwed) < Number(theAvailable)) {
        register.status = 'OPEN';
        return register
    }  return {status : "INSUFFICIENT_FUNDS"};

here is the test case i cant get right;
checkCashRegister(19.5, 20, [["PENNY", 0.01], ["NICKEL", 0], ["DIME", 0], ["QUARTER", 0], ["ONE", 1], ["FIVE", 0], ["TEN", 0], ["TWENTY", 0], ["ONE HUNDRED", 0]]) should return {status: "INSUFFICIENT_FUNDS", change: []}.
@Gozieh your test case has cid value of 1.01 and moneyOwed 0.50
so, in checkCashRegister you get third if.
@Gozieh, also, i have to say
if you are going to calculate money values in js you probably want to use some special library, f.e. decimal.js
in case you dont know, in js: 0.1 + 0.2 != 0.3;
Stephen James
@Gozieh you need to handle the case where after going through the drawer loop that there is still money owed be cause the denominations don’t match.
Chigozie Igwebuike Christopher
@taburetkin thanks for the feedback buddy, i've heard about js and its complications with floats and i've tried to work around them in my solution: using toFixed as a method to bring the decimal to two places, although now you mention it, i might just look at other options
@sjames1958gm thanks for the feedback chief, i'll take another look at the logic in loop and see how to implement your hint.
i appreciate the feedback guys.
Stephen James
@Gozieh , maybe this will help you somehow