mid-task commit for Berkeley to take over

pull/1319/head^2
Quincy Larson 2015-07-11 18:31:12 -07:00 committed by Berkeley Martinez
parent 158baca3d3
commit e04c11c2e7
4 changed files with 291 additions and 161 deletions

View File

@ -0,0 +1,32 @@
{
"name": "Functional Programming",
"order": 0.050,
"challenges": [
{
"id": "bd7129d8c441eddfbeb5bddf",
"name": "Hike: Computer Security",
"dashedName": "waypoint-computer-security",
"difficulty": 0.01,
"challengeSeed": ["133186284"],
"description": [
"The basics of computer security, and how to make sure you protect your information. Let's cover computer security. The first thing we're going to talk about is something called a dictionary attack which has to do with your passwords. When creating your passwords, some sites require extremely specific and complicated passwords, which is actually a bit unnecessary. The type of attacks they're trying to gaurd you from are dictionary attacks. Dictionary attacks are programmed to try every word in the dictionary, or in its own database of common words and passwords, as the password for a large mass of usernames. If your password is Kangaroo, they're probably going to break into your account. Most passwords aren't this simple, but that doesn't matter. They attack such a massive amount of accounts that they only need a few passwords that are relatively simple. When creating a password, you want to use different cases, numbers, and symbols, but one of the most effective ways to create a good password is to throw some random letters in there (ex: kangarooSyCA67). Also, stay away from sequential numbers. Phishing, another thing to watch out for, is emails or webpages that mimic other valid sites to try and trick people into entering their personal information, though the site truly isn't connected to the site it's trying to mimic. In general, two ways to safeguard from these attacks are checking the address in the browser and to open a new browser and go to the website that is claiming to contact you. Let's also discuss encryption and HTTPS. If you are at Starbucks trying to access your bank account, you have reason to be suspicious that someone could see and take your information. You will want to look for a green HTTPS instead of HTTP at the beginning of the web address. That means that the site you're sending your information to is encrypting your passwords and other information, scrambling up data according to a code that only they know. In general, whenever you're showing private or sensitive information, check for HTTPS. A few other general tips: don't share passwords between important accounts. If a site you use gets hacked into, your password may be compromised regardless of its strength. Also, don't download strange files. If you don't recognise the file type like .pdf, .txt, .jpg, be wary. Some of these files you download can be very powerful and even run your computer from the inside. Lastly, keep your software updated, particularly software that interacts with the internet. One way that information can be compromised is when 'bad guys' find holes and gaps in security of older versions of softwares. Those bugs have been patched in newer versions, so if you keep everything updated, you'll avoid lots of problems. These are all very basic things you should know about how to keep your information safe on your computer."
],
"challengeType": 6,
"tests": [
"Q1: Passwords should be shared with all of your accounts (F, don't reuse important passwords)",
"Q2: If you don't trust a site or an email, open a new browser and re-enter the intended location. (T)",
"Q3: Keeping software updated will help protect your computer and your information. (T)"
],
"nameCn": "",
"descriptionCn": [],
"nameFr": "",
"descriptionFr": [],
"nameRu": "",
"descriptionRu": [],
"nameEs": "",
"descriptionEs": [],
"namePt": "",
"descriptionPt": []
}
]
}

View File

@ -285,164 +285,6 @@
"</div>"
]
},
{
"id": "bd7159d9c436eddfaeb5bdef",
"name": "Can I Calculate the True Cost of a Bootcamp with a Coding Bootcamp Cost Calculator?",
"dashedName": "can-i-calculate-the-true-cost-of-a-bootcamp-with-a-coding-bootcamp-cost-calculator",
"description": [
"<script src=\"/js/calculator.js\"></script>",
"<div class=\"row\">",
" <div class=\"col-xs-12 col-sm-10 col-md-8 col-lg-6 col-sm-offset-1 col-md-offset-2 col-lg-offset-3\">",
" <h1 class=\"text-center\">Coding Bootcamp Cost Calculator</h1>",
" <h3 id=\"chosen\" class=\"text-center text-primary\">Coming from _______, and making $_______, your true costs will be:</h3>",
" <div id=\"city-buttons\">",
" <div class=\"spacer\"></div>",
" <h2 class=\"text-center\">Where do you live?</h2>",
" <div class=\"spacer\"></div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"atlanta\" class=\"btn btn-primary btn-block btn-lg\">Atlanta</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"austin\" class=\"btn btn-primary btn-block btn-lg\">Austin</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"brisbane\" class=\"btn btn-primary btn-block btn-lg\">Brisbane</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"boulder\" class=\"btn btn-primary btn-block btn-lg\">Boulder</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"chicago\" class=\"btn btn-primary btn-block btn-lg\">Chicago</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"denver\" class=\"btn btn-primary btn-block btn-lg\">Denver</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"hong-kong\" class=\"btn btn-primary btn-block btn-lg\">Hong Kong</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"london\" class=\"btn btn-primary btn-block btn-lg\">London</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"los-angeles\" class=\"btn btn-primary btn-block btn-lg\">Los Angeles</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"manchester\" class=\"btn btn-primary btn-block btn-lg\">Manchester</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"melbourne\" class=\"btn btn-primary btn-block btn-lg\">Melbourne</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"new-york-city\" class=\"btn btn-primary btn-block btn-lg\">New York City</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"portland\" class=\"btn btn-primary btn-block btn-lg\">Portland</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"raleigh-durham\" class=\"btn btn-primary btn-block btn-lg\">Raleigh-Durham</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"san-francisco\" class=\"btn btn-primary btn-block btn-lg\">San Fransisco</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"seattle\" class=\"btn btn-primary btn-block btn-lg\">Seattle</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"singapore\" class=\"btn btn-primary btn-block btn-lg\">Singapore</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"toronto\" class=\"btn btn-primary btn-block btn-lg\">Toronto</button>",
" </div>",
" <div class=\"col-xs-12 btn-nav\">",
" <button id=\"other\" class=\"btn btn-primary btn-block btn-lg\">Other</button>",
" <div class=\"spacer\"></div>",
" </div>",
" </div>",
" <div id=\"income\" class=\"initially-hidden\">",
" <div class=\"spacer\"></div>",
" <h2 class=\"text-center\">How much money did you make last year (in USD)?</h2>",
" <div class=\"spacer\"></div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"0\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$0</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"20000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$20,000</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"30000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$30,000</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"40000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$40,000</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"50000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$50,000</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"60000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$60,000</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"70000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$70,000</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"80000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$80,000</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"90000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$90,000</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"100000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$100,000</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"120000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$120,000</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"140000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$140,000</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"160000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$160,000</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"180000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$180,000</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"200000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$200,000</button>",
" <div class=\"spacer\"></div>",
" </div>",
" </div>",
" <div id=\"chart\" class=\"initially-hidden\">",
" <div class=\"d3-centered\">",
" <svg class=\"chart\"></svg>",
" </div>",
" </div>",
" <div id=\"explanation\" class=\"initially-hidden\">",
" <div class=\"col-xs-12 col-sm-10 col-sm-offset-1\">",
" <div class=\"text-center\">",
" <button id=\"transform\" class=\"btn btn-primary btn-lg\">Transform</button>",
" <div class=\"button-spacer\"></div><a href=\"/json/bootcamps.json\">View Data Source JSON</a><span>&nbsp; &bullet; &nbsp;</span><a href=\"/coding-bootcamp-cost-calculator\">Recalculate</a>",
" </div>",
" <h3>Notes:</h3>",
" <ol>",
" <li class=\"large-li\">For cash-up-front bootcamps, we assumed an APR of 6% and a term of 3 years.</li>",
" <li class=\"large-li\">For wage-garnishing bootcamps, we assume 18% of first year wages at their advertised starting annual salary of around $100,000.</li>",
" <li class=\"large-li\">We assume a cost of living of $500 for cities like San Francisco and New York City, and $400 per week for everywhere else.</li>",
" <li class=\"large-li\">The most substantial cost for most people is lost wages. A 40-hour-per-week job at the US Federal minimum wage would pay at least $15,000 per year. You can read more about economic cost<a href=\"https://en.wikipedia.org/wiki/Economic_cost\" target=\"_blank\"> here</a>.</li>",
" <li class=\"large-li\">Free Code Camp. We don't charge tuition or garnish wages. We're fully online so you don't have to move. We're self-paced so you don't have to quit your job. Thus, your true cost of attending Free Code Camp will be $0.</li>",
" </ol>",
" <div class=\"spacer\"></div>",
" <div class=\"row\">",
" <div class=\"col-xs-12 col-sm-4 col-md-3\"><img src=\"https://www.evernote.com/l/AHRIBndcq-5GwZVnSy1_D7lskpH4OcJcUKUB/image.png\" class=\"img-responsive testimonial-image\"/></div>",
" <div class=\"col-xs-12 col-sm-8 col-md-9\">",
" <h3>Built by Suzanne Atkinson</h3>",
" <p class=\"large-p\">Suzanne is an emergency medicine physician, triathlon coach and web developer from Pittsburgh. You should &thinsp;<a href=\"https://twitter.com/intent/user?screen_name=SteelCityCoach\" target=\"_blank\">follow her on Twitter</a>.</p>",
" </div>",
" </div>",
" <div class=\"spacer\"></div>",
" </div>",
" </div>",
" </div>",
"</div>"
]
},
{
"id": "bd7158d9c435eddfaeb5bdef",
"name": "Does Free Code Camp have an application process?",
@ -1162,5 +1004,253 @@
" <p class='large-p'>All campers who have already completed these challenges are retroactively eligible for the certificate!</p>",
"</div>"
]
},
{
"id": "bd7156d9c436eddfadb5bd3b",
"name": "How can I watch Live Coding on the Free Code Camp Twitch.tv Channel?",
"dashedName": "how-can-i-watch-live-coding-on-the-free-code-camp-twitch-tv-channel",
"description": [
"<div class='col-xs-12'>",
" <div class='panel panel-info'>",
" <div class='panel-heading text-center'>Watch us code on our Twitch.tv channel</div>",
" <div class='panel-body text-center'>",
" <div class='row'>",
" <div class='col-xs-12'>",
" <h2>Watch the live stream below or on our &thinsp;<a href='http://twitch.tv/freecodecamp' target='_blank'>Twitch.tv channel</a>.</h2>",
" <div class='spacer'></div>",
" <div class='row'>",
" <div class='col-md-8 col-xs-12'>",
" <div class='embed-responsive embed-responsive-16by9'>",
" <iframe src='http://www.twitch.tv/freecodecamp/embed' frameborder='0' scrolling='no'></iframe>",
" </div>",
" </div>",
" <div class='col-md-4 col-xs-12'>",
" <div class='visible-sm visible-xs'>",
" <div class='embed-responsive embed-responsive-16by9'>",
" <iframe src='http://www.twitch.tv/freecodecamp/chat?popout=' frameborder='0' scrolling='no'></iframe>",
" </div>",
" </div>",
" <div class='visible-md visible-lg'>",
" <div class='embed-responsive embed-responsive-twitch-chat'>",
" <iframe src='http://www.twitch.tv/freecodecamp/chat?popout=' frameborder='0' scrolling='no'></iframe>",
" </div>",
" </div>",
" </div>",
" </div>",
" <div class='row'>",
" <div class='col-xs-12'>",
" <h2>Check out our scheduled shows. You can add them to your calendar.</h2>",
" <div class='embed-responsive embed-responsive-16by9'>",
" <iframe src='https://www.google.com/calendar/embed?src=freecodecamp.com_r06116ile3o6ucpif7s0g281tc%40group.calendar.google.com&amp;ctz=America/New_York&amp;mode=AGENDA' style='border: 0' width='800' height='600' frameborder='0' scrolling='no' class='embed-responsive-item'></iframe>",
" </div>",
" </div>",
" </div><br/>",
" <div class='row'>",
" <div class='col-xs-12'>",
" <h2>Here are some of our previous shows (you can full-screen them):</h2>",
" <div class='row negative-20'>",
" <div class='col-xs-12 col-sm-12 col-md-6'>",
" <div class='embed-responsive embed-responsive-16by9 big-break'>",
" <iframe src='//www.youtube.com/embed/Z_43xApGB9Y' class='embed-responsive-item'></iframe>",
" </div>",
" <p class='wrappable negative-30'>link: &thinsp;<a href='http://www.youtube.com/watch/Fn9HMn79KH0'>http://www.youtube.com/watch/Z_43xApGB9Y</a></p>",
" </div>",
" <div class='col-xs-12 col-sm-12 col-md-6'>",
" <div class='embed-responsive embed-responsive-16by9 big-break'>",
" <iframe src='//www.youtube.com/embed/PvWHzcebjjQ' class='embed-responsive-item'></iframe>",
" </div>",
" <p class='wrappable negative-30'>link: &thinsp;<a href='http://www.youtube.com/watch/Fn9HMn79KH0'>http://www.youtube.com/watch/PvWHzcebjjQ</a></p>",
" </div>",
" <div class='col-xs-12 col-sm-12 col-md-6'>",
" <div class='embed-responsive embed-responsive-16by9 big-break'>",
" <iframe src='//www.youtube.com/embed/yHL6mEr-LGY' class='embed-responsive-item'></iframe>",
" </div>",
" <p class='wrappable negative-30'>link: &thinsp;<a href='http://www.youtube.com/watch/Fn9HMn79KH0'>http://www.youtube.com/watch/yHL6mEr-LGY</a></p>",
" </div>",
" <div class='col-xs-12 col-sm-12 col-md-6'>",
" <div class='embed-responsive embed-responsive-16by9 big-break'>",
" <iframe src='//www.youtube.com/embed/dolG-yRMcPs' class='embed-responsive-item'></iframe>",
" </div>",
" <p class='wrappable negative-30'>link: &thinsp;<a href='http://www.youtube.com/watch/Fn9HMn79KH0'>http://www.youtube.com/watch/dolG-yRMcPs</a></p>",
" </div>",
" <div class='col-xs-12 col-sm-12 col-md-6'>",
" <div class='embed-responsive embed-responsive-16by9 big-break'>",
" <iframe src='//www.youtube.com/embed/YMz_vrK_KlQ' class='embed-responsive-item'></iframe>",
" </div>",
" <p class='wrappable negative-30'>link: &thinsp;<a href='http://www.youtube.com/watch/_BErpDdmBOw'>http://www.youtube.com/watch/YMz_vrK_KlQ</a></p>",
" </div>",
" <div class='col-xs-12 col-sm-12 col-md-6'>",
" <div class='embed-responsive embed-responsive-16by9 big-break'>",
" <iframe src='//www.youtube.com/embed/bbFVxaza8Ik' class='embed-responsive-item'></iframe>",
" </div>",
" <p class='wrappable negative-30'>link: &thinsp;<a href='http://www.youtube.com/watch/S7iRBZJwOAs'>http://www.youtube.com/watch/bbFVxaza8Ik</a></p>",
" </div>",
" </div>",
" </div>",
" </div>",
" </div>",
" </div>",
" </div>",
" </div>",
"</div>"
]
},
{
"id": "bd7159d9c436eddfaeb5bdef",
"name": "Can I Calculate the True Cost of a Bootcamp with a Coding Bootcamp Cost Calculator?",
"dashedName": "can-i-calculate-the-true-cost-of-a-bootcamp-with-a-coding-bootcamp-cost-calculator",
"description": [
"<script src=\"/js/calculator.js\"></script>",
"<div class=\"row\">",
" <div class=\"col-xs-12 col-sm-10 col-md-8 col-lg-6 col-sm-offset-1 col-md-offset-2 col-lg-offset-3\">",
" <h1 class=\"text-center\">Coding Bootcamp Cost Calculator</h1>",
" <h3 id=\"chosen\" class=\"text-center text-primary\">Coming from _______, and making $_______, your true costs will be:</h3>",
" <div id=\"city-buttons\">",
" <div class=\"spacer\"></div>",
" <h2 class=\"text-center\">Where do you live?</h2>",
" <div class=\"spacer\"></div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"atlanta\" class=\"btn btn-primary btn-block btn-lg\">Atlanta</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"austin\" class=\"btn btn-primary btn-block btn-lg\">Austin</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"brisbane\" class=\"btn btn-primary btn-block btn-lg\">Brisbane</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"boulder\" class=\"btn btn-primary btn-block btn-lg\">Boulder</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"chicago\" class=\"btn btn-primary btn-block btn-lg\">Chicago</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"denver\" class=\"btn btn-primary btn-block btn-lg\">Denver</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"hong-kong\" class=\"btn btn-primary btn-block btn-lg\">Hong Kong</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"london\" class=\"btn btn-primary btn-block btn-lg\">London</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"los-angeles\" class=\"btn btn-primary btn-block btn-lg\">Los Angeles</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"manchester\" class=\"btn btn-primary btn-block btn-lg\">Manchester</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"melbourne\" class=\"btn btn-primary btn-block btn-lg\">Melbourne</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"new-york-city\" class=\"btn btn-primary btn-block btn-lg\">New York City</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"portland\" class=\"btn btn-primary btn-block btn-lg\">Portland</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"raleigh-durham\" class=\"btn btn-primary btn-block btn-lg\">Raleigh-Durham</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"san-francisco\" class=\"btn btn-primary btn-block btn-lg\">San Fransisco</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"seattle\" class=\"btn btn-primary btn-block btn-lg\">Seattle</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"singapore\" class=\"btn btn-primary btn-block btn-lg\">Singapore</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"toronto\" class=\"btn btn-primary btn-block btn-lg\">Toronto</button>",
" </div>",
" <div class=\"col-xs-12 btn-nav\">",
" <button id=\"other\" class=\"btn btn-primary btn-block btn-lg\">Other</button>",
" <div class=\"spacer\"></div>",
" </div>",
" </div>",
" <div id=\"income\" class=\"initially-hidden\">",
" <div class=\"spacer\"></div>",
" <h2 class=\"text-center\">How much money did you make last year (in USD)?</h2>",
" <div class=\"spacer\"></div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"0\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$0</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"20000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$20,000</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"30000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$30,000</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"40000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$40,000</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"50000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$50,000</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"60000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$60,000</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"70000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$70,000</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"80000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$80,000</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"90000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$90,000</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"100000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$100,000</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"120000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$120,000</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"140000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$140,000</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"160000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$160,000</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"180000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$180,000</button>",
" </div>",
" <div class=\"col-xs-12 col-sm-12 col-md-4 btn-nav\">",
" <button id=\"200000\" href=\"#\" class=\"btn btn-primary btn-block btn-lg\">$200,000</button>",
" <div class=\"spacer\"></div>",
" </div>",
" </div>",
" <div id=\"chart\" class=\"initially-hidden\">",
" <div class=\"d3-centered\">",
" <svg class=\"chart\"></svg>",
" </div>",
" </div>",
" <div id=\"explanation\" class=\"initially-hidden\">",
" <div class=\"col-xs-12 col-sm-10 col-sm-offset-1\">",
" <div class=\"text-center\">",
" <button id=\"transform\" class=\"btn btn-primary btn-lg\">Transform</button>",
" <div class=\"button-spacer\"></div><a href=\"/json/bootcamps.json\">View Data Source JSON</a><span>&nbsp; &bullet; &nbsp;</span><a href=\"/coding-bootcamp-cost-calculator\">Recalculate</a>",
" </div>",
" <h3>Notes:</h3>",
" <ol>",
" <li class=\"large-li\">For cash-up-front bootcamps, we assumed an APR of 6% and a term of 3 years.</li>",
" <li class=\"large-li\">For wage-garnishing bootcamps, we assume 18% of first year wages at their advertised starting annual salary of around $100,000.</li>",
" <li class=\"large-li\">We assume a cost of living of $500 for cities like San Francisco and New York City, and $400 per week for everywhere else.</li>",
" <li class=\"large-li\">The most substantial cost for most people is lost wages. A 40-hour-per-week job at the US Federal minimum wage would pay at least $15,000 per year. You can read more about economic cost<a href=\"https://en.wikipedia.org/wiki/Economic_cost\" target=\"_blank\"> here</a>.</li>",
" <li class=\"large-li\">Free Code Camp. We don't charge tuition or garnish wages. We're fully online so you don't have to move. We're self-paced so you don't have to quit your job. Thus, your true cost of attending Free Code Camp will be $0.</li>",
" </ol>",
" <div class=\"spacer\"></div>",
" <div class=\"row\">",
" <div class=\"col-xs-12 col-sm-4 col-md-3\"><img src=\"https://www.evernote.com/l/AHRIBndcq-5GwZVnSy1_D7lskpH4OcJcUKUB/image.png\" class=\"img-responsive testimonial-image\"/></div>",
" <div class=\"col-xs-12 col-sm-8 col-md-9\">",
" <h3>Built by Suzanne Atkinson</h3>",
" <p class=\"large-p\">Suzanne is an emergency medicine physician, triathlon coach and web developer from Pittsburgh. You should &thinsp;<a href=\"https://twitter.com/intent/user?screen_name=SteelCityCoach\" target=\"_blank\">follow her on Twitter</a>.</p>",
" </div>",
" </div>",
" <div class=\"spacer\"></div>",
" </div>",
" </div>",
" </div>",
"</div>"
]
}
]

View File

@ -264,13 +264,15 @@ module.exports = function(app) {
environment: utils.whichEnvironment()
};
//TODO Berkeley
var challengeView = {
0: 'coursewares/showHTML',
1: 'coursewares/showJS',
2: 'coursewares/showVideo',
3: 'coursewares/showZiplineOrBasejump',
4: 'coursewares/showZiplineOrBasejump',
5: 'coursewares/showBonfire'
5: 'coursewares/showBonfire',
6: 'coursewares/showHike'
};
saveUser(req.user)

View File

@ -23,6 +23,7 @@ module.exports = function(app) {
var dashedName = req.params.fieldGuideName;
var userSave = Rx.Observable.just(req.user)
.filter(function(user) {
debug('filtering user', !!user);
return !!user;
})
.map(function(user) {
@ -38,6 +39,7 @@ module.exports = function(app) {
return user;
})
.flatMap(function(user) {
debug('saving user');
return saveUser(user);
});
@ -46,13 +48,14 @@ module.exports = function(app) {
debug('find fieldGuide', query);
Rx.Observable.combineLatest(
// find that field guide
findOneFieldGuide(query),
findOneFieldGuide(query).tap(function() { console.log('foo'); }),
userSave,
Rx.helpers.identity
)
.subscribe(
// don't care about return from userSave
function(fieldGuide) {
debug('onNext', fieldGuide);
if (!fieldGuide) {
req.flash('errors', {
msg: '404: We couldn\'t find a field guide entry with ' +
@ -70,7 +73,10 @@ module.exports = function(app) {
description: fieldGuide.description.join('')
});
},
next
next,
function() {
debug('onCompleted called');
}
);
}