Monthly Archives: February 2013

What Can Scientists Do With Code?

1. You are a scientist by training. Why learn to code?

I’ve always been interested in how computers and software work, so I try to use programming in my work as a scientist as often as I can.

2. How have you used code in the lab?

I wrote my own applications after taking the HTML/CSS and jQuery lessons, which helped my colleagues and I a lot in our workflow. These applications are about manipulating strings of DNA and amino acid sequences: Splitting sequences in defined lengths, extracting subsequences, and converting into other file formats.

I later wrote some useful tools in Python to facilitate my everyday work — especially the tedious and repetitive tasks. I really enjoyed the process of coding itself, and when the program was ready to do its work, it was just a great reward.

3. What’s an example of how a scientist could use code?

Scientists could write their own scripts to speed up the data preparation and evaluation process, while decreasing the rate of error if certain tasks have to be repeated. Tons of data are generated every single day and most of it is made available to other scientists online — they just need the right tools to work with it!

In the natural sciences, basically everyone does some sort of statistics. Coding can also be useful if a particular file format must be converted and the software for this task does not exist, yet. As a person who knows how to code, you will be probably able to pull up a script to do this in no time.

4. What about non-scientists?

There are many simple tasks in your daily life, for example if you’ve written a chapter of a novel and want to count how often a particular word occurs. Or let’s say you are planning a board game night and cannot find the dice (this actually happened to me) – impress your friends with a digital die simulator! This is one that I wrote in Python.

5. Any parting advice?

My motto is: “If there is a tedious task that you have to repeat more frequently than you like, write a script to let it do the job for you!” This does not apply to any task of course, though it would be nice to have a program that reads your emails every day and writes proper responses.

Want to learn to automate your work? Start learning Python.

Continue reading

Comments Off on What Can Scientists Do With Code?

More APIs for Your Apps

Last month, we started hosting lessons on APIs to teach people all over the world how to harness the power of real web apps. Codecademy users have integrated videos into their websites, called/texted friends, shortened URLs, and much more. With Codecademy, we think we can bring the power of programming to everyone. That’s why we’re working with more companies you likely interact with every day in order to show you how programming can affect your workflow and daily life. Use Twitter? So do tens of millions of other people. Most of those people tweet from the Twitter app. With today’s new courses, you can tweet from Codecademy or write your own cool scripts that tweet on certain triggers. That’s just the beginning.

With these new API offerings, you’ll be able to:

Control the cloud. With courses from Box and SkyDrive, you’ll be able to store and access files from anywhere in the world.

Authenticate with other apps using OAuth. These days, countless web applications (including Twitter and Facebook) use OAuth to authenticate users. Let GitHub be your guide to the OAuth2 protocol.

Become a consummate consumer. Find the latest fashions with Gilt, the best restaurants from Ordr.in, and pay for it all with Dwolla.

And much more!

Whether you’re looking to learn an API that will underlie your web app or you just want to pull in some data for your site, you’ll find a ton of useful, customizable, and fun services in our latest batch of API lessons. Our partners have worked hard to bring you a host of new tools to integrate into your own projects—check them out!

(And if you’re interested in teaching your API, please don’t hesitate to get in touch with us.)

Continue reading

Comments Off on More APIs for Your Apps

Want to change careers? Learn to code

Dissatisfied with her job, Dilys quit and began learning to code. Now she’s ready to make the move she wants. » Read more

Continue reading

Comments Off on Want to change careers? Learn to code

Back in Action

Thanks to all of our users for bearing with us this week with our downtime and database issues. We’ve worked nonstop the past couple of days to make sure the site is up, functional, and behaving like it was before the downtime. A very small nu… Continue reading

Comments Off on Back in Action

Downtime on Codecademy

Sometimes you learn from Codecademy; sometimes you learn from real-life experience. Yesterday, Codecademy was offline for almost 24 hours. We want to apologize and explain what happened.

Currently we have restored all user progress — courses, points and streaks — from before 2/6/13. We are doing all we can to restore user progress from 2/6/13 to 2/13/13 at 1:09 PM EST. Despite our best efforts we cannot guarantee that all work from that one week period will be recovered. If you have been affected, please let us know.

What happened?

At 1:09AM EST on Wednesday 2/13, we took Codecademy down to deal with a database migration issue we were facing. We tweeted about it at 1:30. Then we spent the next 24 hours behind the scenes to iron out the issue.

How did it happen?

Like most web applications, Codecademy stores its information — everything from your submissions in exercises to new accounts — in a database. We use a technology called MongoDB (by our friends at 10gen) to do this. Our databases have hundreds of millions of items in them and are growing larger by the second. We’ve been working to change the configuration of our databases so that we can migrate our data to new database structures, laying a solid foundation for future developments and features.

Around 1:30 PM yesterday we became aware of an issue: one of our local environments was not set up correctly, and was causing a database malfunction. The whole team dropped what they were working on and focused on restoring the site as quickly as possible.

Soon after we made the decision to keep the site down until we were 100% sure we could restore the majority of the data. Working with our external service providers, we matched up the data they had with the data we had internally from backups. We verified the integrity of certain data and began piecing back together our databases before bringing the site back online.

After pulling together backups of submissions from Amazon S3, course progress from our backup, and emails from our email database and userfox, we tested things internally to verify we hadn’t lost much. Then, finally, we brought the site back up.

What does this mean for me?

We have minimized the number of people affected by pulling from our backups, but we were not able to restore everything.

Currently we have restored all user progress — courses, points and streaks — from before 2/6/13. We are doing all we can to restore user progress from 2/6/13 to 2/13/13 at 1:09 PM EST. Despite our best efforts we cannot guarantee that all work from that one week period will be recovered. If you have been affected, [please let us know.]2

There are also certain data types that we were not able to retrieve for some users.

Anyone who created a new account from 2/6 – 2/13

Profile pictures will be missing and connection to social media accounts will need to be restored. We will be sending you a link to get set up again.

Anyone who created or joined a new group from 2/6 – 2/13

A small number of users and beta testers have access to our groups feature. If you created a group in the past week you will need to recreate it. If you joined a group in the past week you will need to rejoin.

What Now?

This event underscored the importance of frequent backups. We have created a new plan based on what we have learned to better recover from potential database migration issues in the future.

We will also be extending everyone’s streaks today. We know that you are committed to learning to code. We are committed to helping you get there. If our site goes down, your learning does too. This is the least we can do.

I wrote this post so that you would have confidence that we take downtime very seriously; we learn from each and every event; and we are committed to building the strongest community for learning how to program. Thank you to all our users for your patience.

Continue reading

Comments Off on Downtime on Codecademy

Want to change careers? Learn to code

1. You’re in the process of making a career change. How did you decide that?

I decided to leave my job in consulting in October and focus on my next move in product management. I felt empowered (as well as nervous) to pursue something so different, but coding on the side showed me it was possible.

2. How did you get started?

I knew I wanted to try something other than consulting, and I wanted to gain technical skills, so I dived deep into coding — I’m on Codecademy almost every day now for language practice, syntax fundamentals, and learning new things like APIs.

3. What are your next steps?

I’m studying deep business analysis and more on databases while I learn to code. Product management is becoming a very viable track, and I’m exploring developer bootcamps too — I’m tempted to become a full-on developer!

4. What are some of your favorite resources for learning to code?

Why’s Poignant Guide to Ruby It’s totally bizarre and random, but it is the first book about programming that I found dorky and funny.

The Q&A forums on Codecademy Being able to troubleshoot and learn from examples are crucial skills in programming. Developers spend plenty of time exploring the net for information, and getting that experience from a more manageable information pool is a good start.

Women Who CodeIt’s a strong community in San Francisco that connects women who want to learn to code. It is very supportive and you meet lots of different kinds of people.

5. What advice do you have for changing careers?

Understand what your target position is about – Quora is perfect if you want to ask questions about career tracks, culture, interviews etc.

Conduct informational interviews – Ask about their day-to-day activities and how they got there.

Practice, practice, practice – For product management, that means analyzing websites, features and understanding the pros and cons.

Want to make a career change? Take the first step by writing your first lines of code on Codecademy.

Continue reading

Comments Off on Want to change careers? Learn to code