@jbmartinez very confused. i thought that's what i had done with my code. for example if you look at the second argument in replace i'm using "\". i think this exercise desperately needs a written example to make it clearer.

Doesn't help that concatAll and various other things don't appear to be standard functions, so i can't just drop the code into Code9 and mess about, set breakpoint, log stuff. Which is how i normally figure this sort of stuff out.

I actually get filter and concat e.t.c on there own, i've been using them in the bonfires quite a lot, but these challenges just seem to dump you in the middle of nowhere and tell you to get on with it.

i'm just not getting how they come together, plus the function chaining in the answer code makes things even more confusing to work out what's actually going on.

@benflinn I reccomend this: setup an upstream remote to the main FCC repo. Do a git pull upstream staging, create a branch, make your edit, commit the edit, then push the branch to your forked repo. Create a cross-repo pull request from your new branch. That way you can pull future changes from upstream without disturbing your pull request. I got emberrased on the twitch stream when one of my pull requests was horribly mangled by my having pushed a new version of staging up to my fork.

@cjg040103 You're breaking the string into an array, right? You do that with the .split(' '). That's correct. What I am proposing is that rather and appending to a single string finalString, you instead create a seperate string for each word. As each word is completed, push it on an array. Then, once you're done, use .join(' ') to turn the array back into a complete sentance.

@benflinn In theory, yes. The issue is that if you make the changes to your copy of staging, when you go to make later changes (or when THEY make later changes), you'll still have your (potentially unaccepted) change request sitting on top of your commit tree. Better to create a branch and cherry-pick your commit(s) (BTW, you should squash your commits so they're just one commit.)

@benflinn have you cloned your fork of the repo to your local machine?

@benflinn Nope, you push the branches to your own repo, then you can create a pull request from your branch against staging in the main repo. Also: I was warned by Quincy not to use the Github online editor to make changes because there was the potential to break the JSON.

I'm a senior level web software engineer and was mainly interested in the part of this site that deals with volunteering for non-profits but it looks like I need to complete all the courses first. Are there in fact several non-profit projects at the end of the tunnel, or is this site mainly used for learning? Thanks!

@teeceli As far as I knwo you need to complete the requirements before you can unlock the nonprofit projects. This site is for learning, and noce you learn you get to help a nonprofit to build a nice portfolio, feel betetr about yourself and hopefully get a job in the near future

Find the smallest number that is evenly divisible by all numbers in the provided range.The range will be an array of two numbers that will not necessarily be in numerical order.Remember to use RSAP if you get stuck. Try to pair program. Write your own code.links:

Building nonprofit projects is the main way that our campers learn full stack JavaScript and agile software development. Once you complete the Free Code Camp Waypoints, Bonfires, Ziplines and Basejumps, you'll begin this process.

Starting with the end in mind

Our goal at Free Code Camp is to help you land a job as a junior software developer (or, if you prefer, a 'pivot job' that leads your current career in a more technical direction).

You'll continue to work on nonprofit projects until you've built a sufficiently impressive portfolio and references to start your job search. Your portfolio will ultimately have four nonprofit projects. We estimate that the 800 hours of nonprofit projects you're going to complete, in addition to the 800 hours of challenges you've already completed, will be enough to qualify you for your first coding job. This will produce a much broader portfolio than a traditional coding bootcamp, which generally only has one or two capstone projects.

Choosing your first Nonprofit Project

We've categorized all the nonprofit projects by estimated time investment per camper: 100 hours, 200 hours, and 300 hours. These are only rough estimates.

Example: if you and the camper you're paired up with (your pair) each stated you could work 20 hours per week. If the project is a 100 hour per camper project, you should be able to complete it in about 5 weeks.Our Nonprofit Project team will match you and your pair based on:

Your estimated time commitment (10, 20 or 40 hours per week)

Your time zone

The nonprofit projects you've chosen

Prior coding experience (we'd like both campers to be able to contribute equally)

We won't take age or gender into account. This will provide you with valuable experience in meshing with diverse teams, which is a reality of the contemporary workplace.

You'll only work on one project at a time. Once you start a nonprofit project, we'll remove you from all other nonprofit project you've expressed interest in. There's a good chance those projects will no longer be available when you finish your current project, anyway. Don't worry, though - we get new nonprofit project requests every day, so there will be plenty more projects for you to consider after you finish your current one.

Finalizing the Project

Before you can start working on the project, our team of Nonprofit Project Coordinators will go through the following process:

We'll wait until there are two campers who have chosen the same project and look like they're a good match for one another based on the factors mentioned above.

We'll call the stakeholder to confirm once again that he or she agrees with our terms and has signed our [Nonprofit Project Stakeholder Pledge] (http://goo.gl/forms/0YKkd9bpcR).

We'll set an initial meeting with representatives from Free Code Camp, the two campers, and the stakeholder.

If the stakeholder and both campers shows up promptly, and seem enthusiastic and professional, we'll start the project.

This lengthy process serves an important purpose: it reduces the likelihood that any of our campers or stakeholders will waste their precious time.

Nonprofit Stakeholders

Each nonprofit project was submitted by a nonprofit. A representative from this nonprofit has agreed to serve as a "stakeholder" - an authorative person who understands the organization and its needs for this particular project.

<a href="http://www.youtube.com/watch?feature=player_embedded&v=UhoxoYrJ6Qs
" target="_blank"><img src="https://www.evernote.com/l/AnvmsUWWNeJFNbfm7fDa7SRLmnbn7jafRL4B/image.png"
alt="Screen shot from our twitch feed on August 1 2015" width="560" height="315"border="10" /></a>:pencil: read more about august live stream on the FCC Wiki

@Kolloom No, definitely not, .map() is something I just learned about in the functional programming section, and it can shorten many of the bonfires' solutions (though as you saw, not all of them sadly)

@luishendrix92 Yes, but to make it clear that the line is a continuation we usually put the dot on the next line down. Also, see this zipline code for a longer example: http://codepen.io/matteverson/pen/gpZGNp

I'm stuck on Bonfire Wikipedia Viewer. I am using $.submit() to $('.query').val(); Then I use that value and append it to the api query url. My $.getJSON function is not doing anything inside the $.submit function. Trying to find a solution online but still haven't found one.

Hey Campers! I’m on Waypoint: Use the Bootstrap Grid to Put Elements Side by Side. And, I’m not sure what I’m doing wrong…each button has the additional class and the class=‘row’ is within the div open and closed statements…Please look and advise.. <divclass='row'

@matteverson I found out I needed a return false statement. Now I'm trying to get http://en.wikipedia.org/w/api.php?action=parse&format=json&callback=?&page='+query to work but it's giving me an error.

I am able to query the wikipedia api but I can't find something to return that is similar to what the search results are when I search Jimi Hendrix on http://codepen.io/GeoffStorbeck/full/MwgQea. The array I receive doesn't have these types of links.

@dting I know but I just like using forIn because I don't want to type function(){} and make a callback hell. I am ok with using at most two levels of iterative methods of the array prototype one inside the other.

Write a function that splits an array (first argument) into groups the length of size (second argument) and returns them as a multidimensional array.Remember to use RSAP if you get stuck. Try to pair program. Write your own code.

id: bd7139d8c441eddfaeb5bdef
name:"Waypoint: Pair Program on Bonfires"dashedName:"waypoint-pair-program-on-bonfires"difficulty:0.44challengeSeed:"119657641"description:
- "Please note that the video for this challenge is a little outdated, and doesn't perfectly match these steps. We plan to record a new video soon."
- "OK, we're finally ready to start pair programming!"
- "Pair Programming is where two people code together on the same computer. It is an efficient way to collaborate, and widely practiced at software companies. Pair Programming is one of the core concepts of \"Agile\" Software Development, which you will hear more about later."
- "Many people use Skype or Google Hangouts to pair program, but if you talk with professional software engineers, they will tell you that it's not really pair programming unless both people have the ability to use the keyboard and mouse."
- "The most popular tool for pair programming is Screenhero. You can download Screenhero for <a href='http://links.screenhero.com/e/c/eyJlbWFpbF9pZCI6Ik1qQTNNem9XQkNJQ1pBQUNjd0FYQVZrVEdnRkxNamtfX0JWZEdGVEpSZkVCWlRwbFpXRTBNamM0WVMxaE56SmlMVEV4WlRRdE9HUXpZUzFpWXpVNE1HRTJNalkxTldNNk1UUTJNVEEyQUE9PSIsInBvc2l0aW9uIjowLCJocmVmIjoiaHR0cDovL2RsLnNjcmVlbmhlcm8uY29tL3NtYXJ0ZG93bmxvYWQvZklYQU1UUUJBTEtQQkhQTC9TY3JlZW5oZXJvLnppcD9zb3VyY2U9d2ViIn0=' target='_blank'>Mac</a> or <a href='http://links.screenhero.com/e/c/eyJlbWFpbF9pZCI6Ik1qQTNNem9XQkNJQ1pBQUNjd0FYQVZrVEdnRkxNamtfX0JWZEdGVEpSZkVCWlRwbFpXRTBNamM0WVMxaE56SmlMVEV4WlRRdE9HUXpZUzFpWXpVNE1HRTJNalkxTldNNk1UUTJNVEEyQUE9PSIsInBvc2l0aW9uIjoxLCJocmVmIjoiaHR0cDovL2RsLnNjcmVlbmhlcm8uY29tL3NtYXJ0ZG93bmxvYWQvZklYQU1UUUJBTEtQQkhQTC9TY3JlZW5oZXJvLXNldHVwLmV4ZSJ9' target='_blank'>Windows</a>. Create your new user account from within the app."
- "We have a special chat room for people ready to pair program. Go to our <a href='//gitter.im/FreeCodeCamp/LetsPair' target='_blank'>LetsPair chatroom on Gitter</a> and type \"HelloPairProgrammers!\""
- "If someone is available, they will be your \"pair\" - the person you pair programming with."
- "If no one gets back to you in the first few minutes, don't worry. There will be lots of opportunities to pair program in the future."
- "If someone does get back to you, private message them and ask for the email address they used to register Screenhero."
- "Add them as a new contact in Screenhero, then click the monitor-looking button to attempt to share your screen with them."
- "Once the Screenhero session starts, your screen's margins will glow orange. You are now sharing your screen."
- "Your pair will have their own cursor, and will be able to type text on his or her keyboard."
- "Now it's time to tackle our Bonfires. You can begin them by advancing to the next challenge."
- "Once you you finish pair programming, end the session in Screenhero session."
- "Congratulations! You have completed your first pair programming session."
- "Pair program as much as possible with different campers until you've completed all the Bonfire challenges. This is a big time investment, but the JavaScript practice you get will be well worth it!"
- "Mark this Waypoint complete and move on."

Return the provided string with the first letter of each word capitalized.For the purpose of this exercise, you should also capitalize connecting words like 'the' and 'of'.Remember to use RSAP if you get stuck. Try to pair program. Write your own code.

Write a function that splits an array (first argument) into groups the length of size (second argument) and returns them as a multidimensional array.Remember to use RSAP if you get stuck. Try to pair program. Write your own code.

Convert the given number into a roman numeral.All <a href="http://www.mathsisfun.com/roman-numerals.html">roman numerals</a> answers should be provided in upper-case.Remember to use RSAP if you get stuck. Try to pair program. Write your own code.

@qzoxec Yeah, it's okay if you paste your code - we're all here to help you, thus we need to analyze your solution and explain it so that you actually understand the mechanics and not just pass the Bonfire - the purpose is to learn!

Hi I'm trying to add a twitter button to my website by using twttr.widgets.createShareButton.The problem is I'm loading twttr synchronously when I want to be able to change the share text everytime I press a button. But when I add twttr.widgets.createShareButtonto a click event, my website creates another button when I only want to edit the original button

@qzoxec When you are running this line of code newArr = newArr.push(SubNewArr)

You are assigning the return value from push to the newArr variable

It should only be newArr.push(SubNewArr)

The Array.prototype.push() method returns the new length of the array. Thus, after your first iteration, the newArr variable will be 1 since the new length of the array is 1 after you push one element.

Afterwards, the code will fail because the push method is defined on the prototype of the Array. Hence your code will fail in pushing an element into a primitive value

Return the provided string with the first letter of each word capitalized.For the purpose of this exercise, you should also capitalize connecting words like 'the' and 'of'.Remember to use RSAP if you get stuck. Try to pair program. Write your own code.

Find the smallest number that is evenly divisible by all numbers in the provided range.The range will be an array of two numbers that will not necessarily be in numerical order.Remember to use RSAP if you get stuck. Try to pair program. Write your own code.

Hey people! I have a CSS question. I'm doing the web design/HTML/CSS stuff in Codecademy to feel stronger on that before I move onto jquery and javascript (and while I wait for Beta and regular FCC to merge). I'm doing this assignment:

@thief425 thank you so much! it was the margin thing. i always have a hard time with that. that's an easy way to remember it. i think generally speaking you are right about calling btn as well as btn-main, but in this exercise there's only just btn-main. (also, i think that might be bootstrap where you have to call them both?) anyway, THANK YOU! now i can move on with my day :-)

Hey guys, anyone seeing the same problem in "Map the debris" bonfire ? I'm getting a NaN when I try to return the value of the orbitalperiod. I'm returning the orbitalP in the middle to test the code. Tried searching for this problem in the gitter chat, no one seems to be having it.

@thief425 I think if you use the replace() method like you did, it will change every occurrence of the first letter in the word to uppercase. So for example "emergency" would become "EmErgEncy". I haven't tested it but I think that's how this part of your code would work.

Make a function that looks through a list (first argument) and returns an array of all objects that have equivalent property values (second argument).Remember to use RSAP if you get stuck. Try to pair program. Write your own code.

Still confused on how to change the horizontal padding on buttons inside my Codecademy 'broadway' project. Now I'm making 'learn more' buttons. Again, I'd like them to just have a little padding to either side of the text, but no matter how I set 'padding' in CSS, it seems like they stay the same.

@betsbillabong When you use the aggregated padding property, you need to specify all the paddings clockwise, starting for the top. If you only want horizontal padding, you should specify padding: 0px 20px 0px 20px This will set the left and right padding to 20px and the top and bottom to 0px

@dogbot101 Hi, I managed to solve it on my own. I wanted to give default value to name and avgAlt in case they're not provided. But I realised I wasn't doing it right so I changed the code. And I was doing some other silly mistakes, but managed to solve them and pass the tests. :D

for many of the bonfire exercises I've gotten an error similar to this: "expected [ Array(4) ] to deeply equal [ Array(4) ]" What does exactly does this mean? I have dealt with this error in the past many times, but I still don't understand the meaning of it. Can someone elaborate, please?

@sok213 it's just telling you that the array given from the function you made does not equal the test answer..the arrays maybe too big to show on the test window so it just shortcuts it to your array does not equal my array

Array(4) I think means that both arrays have 4 elements but those elements aren't equal

Please note that the video for this challenge is a little outdated, and doesn't perfectly match these steps. We plan to record a new video soon.OK, we're finally ready to start pair programming!Pair Programming is where two people code together on the same computer. It is an efficient way to collaborate, and widely practiced at software companies. Pair Programming is one of the core concepts of "Agile" Software Development, which you will hear more about later.Many people use Skype or Google Hangouts to pair program, but if you talk with professional software engineers, they will tell you that it's not really pair programming unless both people have the ability to use the keyboard and mouse.The most popular tool for pair programming is Screenhero. You can download Screenhero for <a href='http://links.screenhero.com/e/c/eyJlbWFpbF9pZCI6Ik1qQTNNem9XQkNJQ1pBQUNjd0FYQVZrVEdnRkxNamtfX0JWZEdGVEpSZkVCWlRwbFpXRTBNamM0WVMxaE56SmlMVEV4WlRRdE9HUXpZUzFpWXpVNE1HRTJNalkxTldNNk1UUTJNVEEyQUE9PSIsInBvc2l0aW9uIjowLCJocmVmIjoiaHR0cDovL2RsLnNjcmVlbmhlcm8uY29tL3NtYXJ0ZG93bmxvYWQvZklYQU1UUUJBTEtQQkhQTC9TY3JlZW5oZXJvLnppcD9zb3VyY2U9d2ViIn0=' target='_blank'>Mac</a> or <a href='http://links.screenhero.com/e/c/eyJlbWFpbF9pZCI6Ik1qQTNNem9XQkNJQ1pBQUNjd0FYQVZrVEdnRkxNamtfX0JWZEdGVEpSZkVCWlRwbFpXRTBNamM0WVMxaE56SmlMVEV4WlRRdE9HUXpZUzFpWXpVNE1HRTJNalkxTldNNk1UUTJNVEEyQUE9PSIsInBvc2l0aW9uIjoxLCJocmVmIjoiaHR0cDovL2RsLnNjcmVlbmhlcm8uY29tL3NtYXJ0ZG93bmxvYWQvZklYQU1UUUJBTEtQQkhQTC9TY3JlZW5oZXJvLXNldHVwLmV4ZSJ9' target='_blank'>Windows</a>. Create your new user account from within the app.We have a special chat room for people ready to pair program. Go to our <a href='//gitter.im/FreeCodeCamp/LetsPair' target='_blank'>LetsPair chatroom on Gitter</a> and type "Hello Pair Programmers!"If someone is available, they will be your "pair" - the person you pair programming with.If no one gets back to you in the first few minutes, don't worry. There will be lots of opportunities to pair program in the future.If someone does get back to you, private message them and ask for the email address they used to register Screenhero.Add them as a new contact in Screenhero, then click the monitor-looking button to attempt to share your screen with them.Once the Screenhero session starts, your screen's margins will glow orange. You are now sharing your screen.Your pair will have their own cursor, and will be able to type text on his or her keyboard.Now it's time to tackle our Bonfires. You can begin them by advancing to the next challenge.Once you you finish pair programming, end the session in Screenhero session.Congratulations! You have completed your first pair programming session.Pair program as much as possible with different campers until you've completed all the Bonfire challenges. This is a big time investment, but the JavaScript practice you get will be well worth it!Mark this Waypoint complete and move on.