In this post, find our best courses for discovering and learning the English language.
It’s estimated that almost 1.3 billion people worldwide speak English.
It’s a language that travels across borders, used in business and education across the world. However English can be tricky to master (as captured perfectly in the famous poem The Chaos). Luckily, we have lots of English courses to suit all abilities.
For people who know some English (IELTS band 4 – 4.5)
Inside IELTS – Cambridge English Language Assessment IELTS is the English language test required for international study, migration and work. This course will help you develop the skills you need for the IELTS Academic test and has been created by the people who actually produce the IELTS test.
English for the Workplace – British Council This course will help you improve your language skills for the workplace. You’ll learn common language used in the workplace, and develop the language abilities you need for interviews, job applications and starting a new job.
How to Read a Novel – The University of Edinburgh Get more from your reading with this course from The University of Edinburgh that explores the building blocks of modern fiction. Plus you’ll get to read samples of four novels shortlisted for the prestigious James Tait Black fiction prize.
Explore the World of English Language Teaching – Cambridge English Language Assessment Have you always wanted to explore new parts of the world? Always wanted to make a difference to people? Combine the two by teaching English as a foreign language (TEFL). This course will tell you about the basics of English language teaching, to get you started on the road to becoming an English teacher abroad or at home.
Codecademy’s very own Nick Duckwiler (left) and Ryan Tuck from Warby Parker (right) in our office. (📷: Mitch Boyer)
Last month, Codecademy and Warby Parker came together to work on a special Learn SQL from Scratch Capstone Project. It was during this time when I met Ryan Tuck, a Data Engineer at Warby, who played a major part in this partnership. So when he decided to drop by our office for the final QA round, I had to break out my notebook and ask some questions. Enjoy.
Hey Ryan, let’s start off with a question I’ve had for a while — what is a Data Engineer? (Is it similar to a Data Analyst or a Software Engineer?)
At Warby Parker, data engineers are responsible for creating and maintaining the plumbing required to support the data and reporting needs of the business. We use software engineering practices to automate the work of data cleaning, normalizing, and model building so that data is always ready to be consumed by data analysts in every department.
What languages/frameworks do you use at Warby?
On data engineering, we use Python as our general purpose programming language, as do most of the other teams in our Technology department. When it comes to databases, we use PostgreSQL for the majority of our SQL needs, and are beginning to use Amazon Athena and Google BigQuery for some of our larger datasets. We use Looker as our exclusive business intelligence entry point to all of this data.
What are some of the projects you worked on?
I’ve had the privilege of working with a lot of of smart people in every department at our company to help them solve their varied data needs, from reconciling financial data with the Accounting team to automating and modeling standardized performance metrics for our team of over 200 customer experience advisors.
As part of a team of five supporting the data needs of a rapidly growing company, I’ve tried where possible to focus on helping our analysts solve their own problems. This includes helping people learn Python and commit to our codebase, guiding the creation of data models in SQL, and encouraging people to submit pull requests to add features in Looker, our BI tool.
Seeing dozens of otherwise “non-technical” colleagues opening up PRs on a daily basis, and consequently being part of the democratization of tech that we value at Warby Parker, is probably the most rewarding “project” I’ve been a part of.
One project finished recently during our first annual “Hackweek” is called Pipes, which allows anyone at the company to easily move large amounts of data from wherever to wherever (Looker, Google Sheets, PostgreSQL, BigQuery, etc) on a regular cadence, or manually through a simple one-line chatbot interface. The adoption has been overwhelmingly positive and we’re looking to grow this sort of tooling out even more.
“We use software engineering practices to automate the work of data cleaning, normalizing, and model building so that data is always ready to be consumed by data analysts in every department.”
What got you into the data field?
I’ve always been drawn to analytical fields like math, and became pretty proficient in Excel during some internships in college. Once I had learned to program and learned more about data science and its applications in artificial intelligence, I knew that anything I could do to immerse myself in the world of data would be a step in the right direction.
Three and a half years ago, I landed a job as a junior software engineer at Warby Parker not fully knowing what I was in for, but am so glad I got the opportunity to help build tools to support an interesting and ever-changing data-driven culture here.
Where did you learn SQL and Python?
I had a background in C++, and was exposed to Python through an Intro to Data Science course. When Warby Parker hired me onto the Data team in 2015, I had never written a SQL query in my life, but picked it up quickly and within a few months started up internal SQL training classes, which I still teach on a monthly basis.
What does your tattoo say?
The ultimate cheatsheet.
This is Bayes’ Theorem, which is an equation that describes how to update probabilities given new evidence. Two summers ago I worked on building a tool to help predict weekly fantasy football performance. Some colleagues suggested a Bayesian approach would be appropriate, since there aren’t really enough data points in an NFL season to be able to use statistical approaches that require larger datasets, and I’d want to regularly update my predictions after each player’s latest performance.
I did a deep dive into understanding the (simple) math underlying Bayes’ Theorem and came out of that experience with a whole new worldview, understanding my entire knowledge of the world as a big and intricate probabilistic model that I was continuously updating with every experience I ever have. It was pretty transformative, and I figured that was worth a tattoo.
What is a concept in SQL/Python that’s essential to your work?
Donald Knuth said, “Premature optimization is the root of all evil.” I’ve generally found this to be true, and try to live by it in my work. For example, I’ll generally prefer to keep a data model simple by rebuilding it for all time on a daily basis using a single SQL query instead of making a more complicated model that requires iteratively adding to a table, keeping track of state, updated timestamps, when something last ran, etc.
A wise man once said, “Duplicating data makes things go fast,” but databases are already impressively fast to begin with, without implementing anything to improve performance. Ultimately, I almost always approach a problem thinking about optimizing for my time over machine time, for readability over performance, and for introducing as little cognitive overhead as is required by the problem at hand. Only once performance issues or readability issues present themselves will some code be worth a rewrite.
Last question! Since you wrote Warby Parker’s internal SQL training courses, I know there gotta be some inner Curriculum Developer in you. Can you teach a SQL concept in 2 minutes?
Sure! Have you ever written a query that yields some result set and you think, “I’d love to query the stuff I just produced like it was a table?” Enter the WITH clause.
Suppose I have a mega query that gives the transaction summaries:
select
transactions.date as transaction_date,
sum(items.price) as total_cost,
count(*) as number_of_items
from
transactions
inner join
customers
on
customers.id = transactions.customer_id
inner join
transaction_items
on
transactions.id = transaction_items.transaction_id
inner join
items
on
items.id = transaction_items.item_id
Using WITH, I can create a temporary table within my query that I can SELECT from and treat it just like a regular old table.
I will put everything from the previous query in a parentheses and use WITH to give it the name transaction_summaries.
Then I’ll apply the date and customer filtering down below for a more readable query, to separate out all the JOIN logic from the actual WHERE filters that I want to apply on that data.
with transaction_summaries as (
select
transactions.date as transaction_date,
sum(items.price) as total_cost,
count(*) as number_of_items
from
transactions
inner join
customers
on
customers.id = transactions.customer_id
inner join
transaction_items
on
transactions.id = transaction_items.transaction_id
inner join
items
on
items.id = transaction_items.item_id
)
select
*
from
transaction_summaries
where
first_name = 'beyonce'
and
transaction_date > '2018–01–01'
order by
total_cost desc
limit
5
If you’re familiar with subqueries, this does a similar thing but makes the SQL far more readable, even if your query isn’t quite as performant as it would have been. This is essentially an implementation of the mantra “Don’t Repeat Yourself” that’s common in the world of programming.
Incredible. And love the SQL styling! 😍
Huge shout out to Ryan and the whole Warby Parker team for making this partnership happen. Special hat tips for behind-the-scenes support from:
The 1950s ushered in excitement about outer space and, incidentally, UFO sightings and conspiracies about alien life. The decade also brought about a new theory of artificial intelligence—computer scientist Alan Turing proposed that if a computer was able to fool a human into believing it was human, the computer should be considered “intelligent”.
No computer has been able to pass the Turing test yet, but what if a bot could fool a human into believing it was an alien?
During our livestream on Thursday at 2pm EST, we will teach you how to build an alien chatbot using Python, step-by-step. By the end, you’ll have created a chatbot that may not pass a true Turing test, but it just might pass an “E.T.uring” test.
In order to follow along with the stream on your own computer, open the following link(s):
Have you ever wondered about all the personal data that Facebook collects on its over 2 billion users? It’s time to harness the information Facebook has on you for your own good and discover some insights.
Tune into our livestream this Thursday at 1pm EDT, where we’ll show you how to download and analyze your Facebook messenger chat data and get a better understanding of your relationships with your friends.
In order to follow along with the stream on your own computer and using your own Facebook data, complete the below steps before Thursday at 1pm EDT:
Install Python and Jupyter Notebooks on your computer with Anaconda / Miniconda (see below for further instructions).
Download your Facebook Messenger Chat Data
Go to www.Facebook.com and click the arrow on the top right to access your “Settings”
Click on “Your Facebook Information”
Click “Download Your Information”
Update the “Format” field to “JSON” and the “Media Quality” field to “Low”
Click “Deselect All” on the right-hand side
Click the check-box for “Messages”
Click “Create File”. Facebook will notify you when the file is ready for download
Download your file
Weren’t able to download your Facebook Messenger data in time for the livestream? No worries! Download our sample data to follow along live, and analyze your personal data later.
Installation: Miniconda
This video details how to download and install Miniconda.
To install Miniconda, follow these steps:
Navigate to the Miniconda download page: Miniconda
Select the Python 3.6 installer for your computer’s operating system.
Locate the installer that you downloaded using Explorer (Windows) or Finder (Mac OS).
Run the installer. Use the following instructions based on your computer’s operating system:
Mac OS:
You may receive a notification about XCode requiring additional component. Click “Install” and enter your password to proceed.
Open your terminal and navigate to the folder where you downloaded the installer. Type the following command in the terminal and press “Return” on your keyboard:
bash miniconda-filename.sh
miniconda-filename.sh is a fictional file name in the example above. Your file name will look something like Miniconda3-latest-MacOSX-x86_64.sh.
3. Follow all instructions in the terminal (you can press Enter as-needed and type yes when necessary).
Windows:
Follow the installation instructions provided by the installer.
Was the Installation Successful?
To test whether your installation was successful (regardless of your computer’s operating system), type the following command into your terminal:
conda list
You should see a list of all the packages that Miniconda installed. If you’re on a computer that uses Windows, you may have to first navigate to the folder where you installed Miniconda for the conda list command to function properly.
Congrats! You now have Miniconda (with Python 3.6) installed on your computer, and you are ready for some data science!
Installing Jupyter
To install Jupyter with Anaconda / Miniconda, enter the following on the command line:
conda install jupyter
You may need to enter y to confirm the install. conda will install Jupyter, an open-source web application that allows you to create and share documents that contain live code, equations, visualizations and narrative text.
To learn more about conda, visit the Conda documentation at the following link:
Required Data Science Packages
To make the most of Anaconda / Miniconda in our analysis, you’ll need the following data science packages. Use conda install to install them.
Codecademy’s Curriculum Team recently held our bi-annual internal hackathon. From 8:30 am to 6:30 pm, we hacked, snacked on dim sum, and hacked some more!
We’ve done internal hackathons before, but this time, we want to try something a little different. This time, the hackathon winner will be judged by (drum roll…) YOU! 😱
But before diving into the projects we built and opening the vote, we’ll explain what a hackathon actually is, and why you might want to take part in one near you.
A hackathon is an event, usually hosted by a tech company, organization, or school, during which programmers, designers, and anyone else who might be interested can get together and collaborate on a project—typically within the span of one day.
Hackathons usually start with one or more presentations about the event. Then participants suggest ideas and form teams based on individual interests and skills.
After teams are created, the main work of the hackathon begins. The collaboration and creation stage can last anywhere from several hours to several days. At the end of a hackathon, there is usually a series of demonstrations in which each group presents their projects. And after careful consideration, winners are announced.
Why? Well, in the day-to-day of learning and/or working, it can be easy to lose sight of the bigger picture. As an organization grows, the more removed it gets from how it started—as a collection of people in a room together making cool stuff. Hackathons are a way to return to those roots, with focused time dedicated solely to building something new.
At Codecademy, we hold a hackathon twice a year. It is a day to flex our creative muscles, challenge ourselves, and learn new skills. We get to work with people we normally don’t get to work with and compete to win cash prize and, more importantly, bragging rights.
So let’s see what the Curriculum team built in a day! And don’t forget to vote at the bottom of the blog post for your favorite project.
1. Intro to A-Frame (Lesson)
A lesson that teaches you the basics of building VR scenes using A-Frame, an open-source web framework maintained by developers from Supermedium and Google.
Build a VR scene in the browser and view it using a Google Cardboard 😮
2. Build and Host Your Personal Site (Lesson)
Everyone needs a personal website. In this lesson, you can create your own personal website in the classic Codecademy lesson format.
Team: Alex Clark, Emily Giurleo, Ian Munro, Jack Ratner & Tracy Teague
What’s next? Share your website from a Codecademy-hosted address.
3. Intro to Web Audio API (Lesson)
In this lesson, you’ll learn the fundamentals of creating sound from scratch using the Web Audio API. Web Audio can be used for everything from simple sound playback or sound effects to complex synthesizers and drum machines!
Build a basic chatbot using Python and Regex while attempting to pass an “E.T.uring” test. The project also serves as a soft introduction to artificial intelligence.
Scratch is a platform built and maintained by the MIT Media Lab that allows people to code using a visual programming language and share projects with others in the Scratch community.
A course with 2 lessons and 2 projects introducing the HTML5 element and how to interact with it using JavaScript. Recreate a work of art and draw your own optical illusion!
Bonus points if you know what Beautiful Soup is.
7. Animate Your Name with Stimulus (Lesson)
Stimulus is a small JavaScript framework for adding behavior to existing HTML code. At Basecamp, where it originated, it is used to enhance server-side rendered HTML.
An update of the original Animate Your Name Lesson.
8. Intro to Logic Gates (Lesson + Project)
Computers can do amazing things: play chess, trade stocks, transmit messages across the world. At the lowest level, even the most advanced computer is responding to signals from an electrical current. Logic gates are responsible for determining how those electrical currents combine and diverge. These combinations form the basis for more complicated logic, but it all starts with 1’s and 0’s.
We shot an interview with Josh Boggs, a Product Manager at Spotify with the purposes of introducing lesser-known, tech-enabled career options to Codecademy grads.
Introducing lesser-known, tech-enabled career options to Codecademy learners.
10. Regular Expression Applet
A regular expression (regex) is, in theoretical computer science and formal language theory, a sequence of characters that define a search pattern.
An interactive applet to learn and practice regex.
11. Codecademy Discord Server
Discord is a chat application designed for the gaming community, that specializes in text, image, video and audio communication between users. Its simplistic voice chat feature might be beneficial for learners to help one another debug and code review.
hello repl.it discord kappa 👾
12. Circuit Playground Express (Lesson + Project)
Plug in and play, right on Codecademy. Ladyada and Phil at Adafruit suggested that we build a CircuitPython course so here I am, trying to make that happen. In this lesson, you will learn about Circuit Playground Express, the perfect introduction to electronics and programming. There is also a project where you build an “808” Drum Machine with… fruits!
It’s a Bird… It’s a Plane… It’s an electronics course?! Plug in and play. Right on Codecademy.
We hope you enjoyed all the hack projects. We had a blast making them. Let us know what you think in the comments below and check back in a week to see the winner.
And now it’s your turn!
There are hackathons happening every month and there might be one coming up in your city. Simply throwing yourself out there and getting to an event is the hardest and scariest part, but we promise you, it will one of the most rewarding experiences in your programming journey.
Whether you are new to programming or an experienced coder, check out Eventbrite and Meetup to find upcoming hackathons around you and sign up today.
P.S. There might be a hackathon for Codecademy learners right around the corner, so stay tuned. 😜
A Day in the Life of a Software Engineer (via Life of Luba)
With Airbnb came a revolution of sorts in the world of vacation travel and culture. We sat down with Luba Yudasina, a YouTuber, an opera singer, and a Software Engineer on the Airbnb’s Homes Platform team, to discuss software engineering and her programming journey—from Codecademy to Airbnb!
Hey Luba, let’s start with the basics! What does a Software Engineer on the Platform team do at Airbnb?
Homes Platform’s mission is to create the building blocks to power all Homes categories. Any project undertaken by our team should be reusable and extensible in some way. This means that as a backend engineer, I have a lot of opportunities to work on impactful technical projects that create systems and services to support Homes, as well as collaborate across teams to come up with the best architectural decisions and designs.
Recently, our team wrote a blog post on classifying Room Types into categories using Machine Learning and computer vision. The room-type classification problem largely resembles the ImageNet classification problem, except our team’s model outcomes are customized room-types.
After a few experiments with various models, the team chose ResNet50 due to its good balance between model performance and computation time. To make it compatible with our use case, we added two extra fully connected layers and a Softmax activation in the end.
Let’s rewind a little bit. Coming from a chemical engineering background in college, how did you make the switch into programming?
I went to the University of Waterloo in Canada—a university with the biggest co-op program in the world. Co-op means that to obtain a bachelor’s degree you must complete a certain number of internships. If you are in Engineering at Waterloo, you must complete 5 internships to graduate.
In my first and second years, I interned at chemical engineering companies and afterwards I couldn’t see myself working in the field full-time. That’s why I’m particularly grateful that I studied at Waterloo: if not for co-op, I probably would not have realized I didn’t want to work in chemical engineering until getting a full-time job after graduation.
I happened to have a lot of friends in Computer Science and Software Engineering right when I realized Chem Eng wasn’t for me. They really encouraged me to try coding, and when I decided to follow their lead I never looked back! My first online programming course was Web Development on Codecademy 🙂
“It’s a really cool time to be a software engineer and even cooler to be a female software engineer, because this is the time when women start to embrace their own unique identities and be ok with not being ‘one of the dudes.'” -Luba Yudasina
When I decided I wanted to learn computer science on my own, my goal was to get an internship in the field because working as a software engineer at a tech company would be the best test to really know if it was for me.
I happened to be in Munich, Germany on academic exchange for a whole year when I was learning how to code, so I hustled as much as I could while being there to get experience to learn quicker and have something to put down on my tech resume.
Almost immediately after arriving in Germany, I got a part time job as a developer at a game publishing company. I had a good friend in Computer Science at my German university: her and I ended up working on an Android app as a side project, etc. When I was ready, I started preparing for technical interviews. I then leveraged my network to refer me to companies and do mock technical interviews with me.
Yelp was really random though—a Yelp recruiter looked at my LinkedIn profile and didn’t even message me, but I messaged them anyway asking about internship opportunities, and that’s how I got my interview there!
Airbnb HQ in San Franciso
What is an essential app/item in your day-to-day?
Code searching! A lot of software engineering is problem solving and a lot of it is understanding other people’s code and the reasoning behind writing it a certain way. Searching through the codebases is almost essential to my day to day. Whenever I build something new or build on top of already existing tech, I need to understand how it works and is written, and code search is vital to this.
At Airbnb we use Google’s Codesearch for these purposes, but developers (myself included) also frequently use their IDEs to search for relevant code. I mostly use RubyMine or IntelliJ (depending on the codebase I’m working with).
In your videos, you’ve mentioned the intersection of gender and technology. Can you speak a bit more about that?
It’s a really cool time to be a software engineer and even cooler to be a female software engineer, because this is the time when women start to embrace their own unique identities and be ok with not being “one of the dudes.”
I think it’s particularly important to redefine the stereotypes, and I hope that with my own example I can show young girls and women interested in the field that you don’t have to give up your feminine side to be a software engineer and still be into fashion, or makeup, or art (I personally sing opera) and have other interests outside of coding and be successful in the field.
Before we wrap up, do you have anything else you would like to say to our learners?
Don’t be discouraged, learn and absorb as much as you can! If you don’t understand a concept or can’t build a project right away, know that with practice, perseverance and concentration you will get there!
Take advantage of such amazing tools as Codecademy that are there for you to take and learn. Learning anything new can be frustrating, but knowing that you can do it, staying curious, asking questions and not losing your motivation is the key to success.
Huge shoutout to Luba for this insightful interview. It’s always incredibly moving to see a Codecademy learner go on to do bigger things. Go subscribe to her YouTube channel, Life of Luba.
And thank you to the whole Homes Platform/Engineering team at Airbnb for the support. Check out their wonderful open source projects on airbnb.io.
What did you notice about hummingbirds in this video? What stood out or surprised you about their behavior? What questions do you have about what is going on in this video? What more would you like to know?
1. Why does James Gorman, the author, start the article with a poem? And why does he say “it’s best to avoid most poetry” about hummingbirds?
2. Why have do poets and scientists have a “blind spot” about the hummingbirds in nature? How did the Aztecs differ in their understanding of the colorful bird?
3. How have hummingbird beaks evolved over time? What are the benefits of their design?
4. What are some of the highlights of the 10 years of research on hummingbirds by Alejandro Rico-Guevara and his colleagues at the University of California?
5. What are some of the ways the hummingbird uses its bill to fight off rival males?
6. What other aspects of the hummingbird’s design and behavior are being studied by scientists? Which did you find most interesting?
Finally, tell us more about what you think:
— What did you learn about hummingbirds from the article? What was most fascinating? Does the video and article make you more curious about hummingbirds — or birds in general? What would you like to know more about?
— What have been your experiences with birds? Do you have a favorite type? Does the article make you view birds differently? If so, how?
— Mr. Gorman writes:
The Aztecs loved war, and they loved the beauty of the birds as well. It seems they didn’t find any contradiction in the marriage of beauty and bloodthirsty aggression.
Do you agree with the Aztec’s view of the hummingbird? Can you think of other animals that combine beauty and fierceness?
— The article begins with a poem by John Vance Cheney and ends with one by D.H. Lawrence. Which do you think is more accurate? What is your favorite line in either, and why?
— Write an original poem about hummingbirds. It can be of any length or style and can celebrate or disapprove of the beautiful but complicated bird?
Is your definition of a “normal family” two married parents and their biological children living together under one roof? If not, what do you think a “family” is — or can be? Who is your family?
What do you think holds a family together? Is it biological relationships? Love and support? Sharing the same home?
It’s a typical Thursday night and my family is gathered in the kitchen of my childhood home. There’s me, freshly returned from college, helping my mom set the table; my half brother, also home on break, debating our father about politics; and my half siblings’ mother chiding my half sister for Snapchatting with her high school friends.
If it took you a minute to process the relationships I just described, don’t worry — you are far from the only one. I’ll give my best simplified description of our family: my mother, my half siblings’ mother and our father were friends living in the Bay Area in the ’90s. At the time, both women were in their 30s and wanted to have children — but neither had a long-term partner. My father, a gay man and also partnerless, agreed to be their donor and, if things worked out, involved in their children’s lives.
My brother was born in March 1997, followed by me in October of the same year, and my half sister came along three years later. As a child I got strange looks when I told people that my brother was seven months older than me. But I just thought of us as a family that happened to live in three separate households.
Even growing up in Berkeley, Calif., which is generally known for being culturally diverse and politically progressive, my family structure has struck people as unconventional. I’ve had trouble explaining it to just about everyone, including friends I’ve known for years and financial aid administrators. It seems hard for people to get that you can have a family with parents who were never married, and that some women might choose to conceive and raise a child without a husband.
But unconventional families like mine are becoming increasingly common: the number of two-parent households has been in steady decline since the 1960s, dropping from 87 percent of households in 1960 to 69 percent in 2014, according to the Pew Research Center. The report notes that “the declining share of children living in what is often deemed a ‘traditional’ family has been largely supplanted by the rising shares of children living with single or cohabiting parents.”
She continues:
Family should be, above all else, about love — I hope we can all agree on that. Perhaps it’s time for us to prioritize finding love through community and friendships in the same way many of us prioritize finding romantic love. Maybe one day that will be conventional.
Students, read the entire article, then tell us:
— What does “family” mean to you? Do you count only those bound to you by blood or legal ties, or do friends or other kinds of communities also fill some of the traditional role of family for you?
— Who is your family, however you define that word? What role does your family play in your life in general?
— Ms. Haug writes:
But can anyone really say their experience of family was perfect? My parents have shown me that friendships can be just as important as romantic relationships, and that it’s possible to live a fulfilling life without defining your life by a single long-term relationship. How could that be bad?
Do you agree? Do you think friendships can be just as important as romantic relationships? Should having a single long-term relationship be the universal goal for living a fulfilling life?
— Does society need a more expansive definition of “family,” in your opinion? Why or why not?
Students 13 and older are invited to comment. All comments are moderated by the Learning Network staff, but please keep in mind that once your comment is accepted, it will be made public.
Yes, we’re inviting you to judge your books by their covers.
What are your favorites? Why? Consider books read to you as a child, books you have been assigned for school, and books you’ve read on your own. Which have the best covers? How well do those cover illustrations capture the essence of that book’s ideas, themes, characters, setting, plot or tone?
LINKOPING, Sweden — In a cavernous room filled with garbage, a giant mechanical claw reaches down and grabs five tons of trash. As a technician in a control room maneuvers the spiderlike crane, the claw drops its moldering harvest down a 10-story shaft into a boiler that is hotter than 1,500 degrees Fahrenheit. A fetid odor emanates from plastic trash bags discarded by hundreds of thousands of homes.
The process continues 24 hours a day to help fuel this power plant run by Tekniska Verken, a municipal government company in Linköping, a city 125 miles south of Stockholm. It is one of Sweden’s 34 “waste-to-energy” power plants. Instead of burning coal or gas, this power plant burns trash.