What do you know about the language or languages spoken by your ancestors? Do you speak that language today? Do your parents or grandparents?
Do you know any family stories about people learning a new language, perhaps when they arrived in a new country or region where another language was more common? What about relatives who spoke one language at home and a different language at school or work?
Are you interested in learning a language that is part of your family’s history? What, if any, are the obstacles you may encounter in trying to learn that language?
1. What is Hupa? For how many people is it considered their first language? According to the article, how many people are fluent enough in Hupa to teach it to others?
2. How many languages are in existence today? How many of those languages do experts predict will lose all fluent speakers by the year 2100?
3. What statistics in the article support the statement that language revitalization programs have grown in recent years?
4. In addition to the Hoopa Valley Tribe’s efforts to preserve their language, where else have people been working to save other languages?
5. What events that occurred in the Hoopa Valley led to the eventual decline in Hupa and the rise of English as the language spoken by most, if not all?
Finally, tell us more about what you think:
The article states:
The United Nations General Assembly has declared 2019 the International Year of the Indigenous Language in an attempt to raise “global attention” to the peril facing indigenous languages, as well as a way of celebrating revitalization efforts like those in the Hoopa Valley Tribe, said Boyan Radoykov, section chief for universal access and preservation in Unesco’s knowledge societies division.
The author goes on to quote Mr. Radoykov as stating that the preservation of indigenous languages “contributes significantly to the promotion of cultural identity and diversity and intercultural dialogue.”
If this is true, what do you think could be the lasting effects of experiences like the language immersion camp you read about in the article?
Have you ever attended a language immersion camp or class? What was the experience like for you?
In “Picnic,” Hal (the likable but distractingly gym-buffed David T. Patterson) is an ebullient drifter who lands in a small Kansas town and starts doing odd jobs for Mrs. Potts (Heather MacRae). The mere presence of this pulchritudinous life force sends the local women into a spin, from a suddenly giddy Mrs. Potts to the young beauty Madge (Ginna Le Vine) to the single schoolteacher Rosemary (Emily Skinner). Even Madge’s boyfriend, Alan (Rowan Vickers), gets a touch of Hal fever.
Choose one of the 26 letters in the alphabet and imagine you have to explain how to make the sound of that letter to a young child or someone who has never heard or spoken it before.
Write a series of detailed instructions for how to make the sound of the letter you have selected.
Before writing, experiment saying the letter aloud in different ways — at different speeds, for example, or by exaggerating the movement or your mouth and lips. Pay close attention to what your lips, tongue, mouth, teeth, jaw, throat and neck are doing as you make the sound.
After writing your instructions, find a partner and take turns reading them aloud and seeing if the other person can produce the sounds correctly from the description alone. Or play a game with the class: Can students guess the letter just from the detailed instructions?
Briefly reflect on your experience: What was it like writing the instructions? What was it like trying to vocalize the letter based on another student’s instructions? Which letter was harder to describe and produce and why?
Not so easy, huh?
Now imagine inventing that sound for the first time …
1. Who is Balthasar Bickel and what are the two big ideas in the study he recently co-authored? How certain is he of its conclusions?
2. Why would it have been hard to make an “f” or “v” sound for hunter-gatherers living 100,000 years ago? What according to Mr. Bickel made them possible?
3. Why is Mr. Bickel’s consideration of biological factors in studying the development of human language controversial? Why are some linguists concerned about possible ethnocentric or racist interpretations that might arise from the study?
4. How did Mr. Bickel research the sounds humans made thousands of years ago, when obviously there were no audio recordings from the time to listen to?
5. What is the relationship between the alignment of teeth and jaws on the sounds one can produce? What linguistic difference does it make if you have overbite versus an edge-to-edge bite?
6. The article cites several alternate scenarios for the development of certain sounds offered by critics of the study. Which counterargument do you believe is strongest and why? How does Mr. Bickel respond to his critics?
Finally, tell us more about what you think:
— What was most fascinating or thought-provoking in the article? How does it make you think about human language differently? How convincing is Mr. Bickel and his team’s explanation for the origin of the “f” and the “v?”
— How important is this kind of research? What difference can it make in our lives? Would you consider studying linguistics?
— Do you have a favorite letter? If yes, why?
— Nearly 40 million Americans have speech or language disorders. Have you ever had difficulties with speech or producing any letters or sounds? If yes, tell us more about your experiences. What have you done to address this issue or problem?
— What would you like to know more about the development of human language? Create a list of questions for further study. After you’ve created your list, you might choose one of these topics to explore in more detail. Write a paragraph explaining what you would research, why you are curious about the topic and how studying it could potentially benefit the public and other areas of study.
Once I got into high school, the pressure was on to find a job, work hard, and save up as much as I could so that I would be prepared for the future. But what I’m noticing now is that saving up seems to have taken precedent over other things, like how in the photo, the cash pile overwhelms the hands placing it. When I look closer, the hands farther down seem to be trying to take some money away, which represents, to me, the colleges taking money for applications and visits/tours.
I’m not sure if it’s just because of the stress of saving up, or the appointment I just made with my guidance counselor to talk over college plans, but all that seems to come to mind when viewing this photo is college, and most of all the hefty price tag.
In these current times money and wealth is everything. Without this, people would not be able to eat, own a home, drive a car, etc. This is why people are so focused on adding money to the stack, so they can live comfortably and provide for themselves. However, people in society get so focused on adding to the stack of money, they can become greedy and lose focus on other things such as family and friends. So when this stack eventually does come tumbling down, from losing a job for example, people will not know what to do or where to turn because the main thing they have been primarily focused on, the wealth, will no longer exist.
I think this picture is a message about patience, and the prosperity and wealth that being patient will bring. I see many hands with steam coming off of them, and this appears to indicate frustration. There is also the hand at the top, which I view to be taking the top stack of dollars off of the money tower. From this view, I interpret the message to being that, since the money is eventually going to reach you once the hands above you have their money, you just need to exercise patience when waiting. This relates to society in the sense that we are ALL waiting for money – and just like the frustrated hands trying to get one of the low layers of money, we all need to be patient, because wealth is coming to us too.
After seeing the image “Stacks of Money”, I have many ideas about what it means. The first that comes to mind is that everyone is trying to secure the bag and get some money. There are multiple hands reaching out to grab the money. These hands represent the people in the world who are trying to become successful. Everyone is trying to get money and some will do whatever it takes to get there. However these hands can also represent corporations instead of individual people. These corporations who are reaching out and stealing money from people. These hands could also represent the government. The government is taking money from the citizens of the citizens of the United States through taxes.
In this image, Claire Merchlinsky portrays the conflicting economic interests of society and the lack of diversity in the top tiers of wealth. The stacks of money are standing precariously as different hands pull some away, and others add more to the top of the stack. The addition and removal mirrors the way society and different demographics use money; all Americans pay taxes and put money into the government, but we also take it away. There are schools that need more funding, healthcare programs to help those in need, and working people take their salary from employers. This ebb and flow of money is represented well in this image, and forces people to think about how they spend and save money; what they use it for, how they could use their money to help their communities, or to think about how this stack of money has gotten to be so tall.
I believe that Merchlinsky is commenting on the corruptness of the wealthy in her illustration. In the drawing there is multiple hands reaching for the stacks of money, red and illustrated to look as if they are burnt and there is smoke nearby. Today money is “burning” people as it turns them corrupt, tempting them to use their wealth for bad. It is no secret the influence money has in all aspects of life. Recently there has been a prevalent issue with money being used to influence and entice the chances of students getting accepted to elite colleges college. In this incident, the wealthy’s access to money allowed them to bend the chances of getting into college in their favor. This photo is commenting on this unfair advantage the wealthy have, and how powerful and evil money can become.
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:
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:
5. Which youth demographic populations lean left and which lean right? Why did these numbers lead Kristen Soltis Anderson, a Republican pollster, to conclude that “Republicans are in trouble”?
6. The article concludes:
Young people are not likely to forget the activism they’re learning now, said Ella Robinson, a 16-year-old in Silver Spring, Md. The Trump era has taught her and her fellow students political savvy, she said, as their spontaneous school walkouts have been replaced by organized protests, with permits and tailored messages around issues like gun control and climate change.
“People in my generation are very aware that walkouts can only go so far,” Ms. Robinson said. “Voting needs to happen.”
Do you agree with Ella? How has recent youth activism affected you and your political outlook?
Finally, tell us more about what you think:
— What did you learn from the article? What was most intriguing or surprising about the political views of your generation? How did your place on the political spectrum revealed in the quiz above compare with the views of other young people detailed in the article?
— Which of the teenagers interviewed and profiled did you most identify with and why? In what way are their lives, political views or personal journeys similar to or different from yours? What quotation or image stands out most and why?
— How important are politics to you? What issues matter to you most and why? How has growing up during the Trump presidency shaped your political outlook?
Further Research
Conduct your own surveys on the political views of young people at your school or in your neighborhood. How do your results compare with the findings in this article. What methods did you use and why?
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:
Close your eyes and try to imagine your wedding proposal.
If you’re think you’re not really the marrying type, then imagine an alternative proposal — asking someone on a date or to the prom? (Did you know there was such a thing as a promposal?)
What did you see: a beautiful setting? Candles? Rose petals? Are you down on one knee? Is there a ring?
Now add 50,000 cheering people to your fantasy. Would that make the moment more special?
Does the idea of a Jumbotron proposal fill you with romantic delight or deep, cringy fear? (You can watch two examples here and here.)
Jumbotron proposals have become as much a part of baseball as the seventh-inning stretch — no matter that they are often considered tacky and in bad taste.
When a proposal appears on the giant screen, a large segment of sports Twitter world (mostly women) chime in about how they hope no one ever proposes to them at a sporting event. Still, hundreds of these public, grandiose gestures happen every year and many proposees walk out of the stadium happily ever after.
On March 31, 2018, Joanna Chan, who works for Netflix, proposed to her girlfriend of five years, Julie Morris, who is employed at Hulu. The moment happened during the first period of a Calgary Flames game and was shown on the giant screen at Scotiabank Saddledome — known as the Enmax Energy Board — home to the National Hockey League’s Flames.
Ms. Chan and Ms. Morris, both 36 and living in Los Angeles (since married and now both going by Chan-Morris), had just embarked on a five-year tour of all 31 N.H.L. arenas, and the Saddledome was their final stop.
Joanna Chan-Morris says that a few stops before their final one, she knew she wanted to propose in Calgary. “It’s not about the public aspect of the proposal, really,” she said. “It was really just about making that last game special.”
Even still, with that gesture, their engagement became a viral sensation, traveling beyond the area and onto the internet. Joanna paid 5,000 Canadian dollars ($3,782) for the opportunity, which she says was “worth every penny.”
The Saddledome is far from the only sports arena that gives fans the option to propose on a really big TV screen in front of thousands. Fenway Park, home of the Boston Red Sox, does 50 to 60 live, in-game proposals each season at a cost of $350 each. At Dodger Stadium, getting engaged onscreen will set you back $5,000, an event the team estimates happens two or three times a season.
The article continues:
The whole concept irks Jessica Kleinschmidt, a content producer/reporter at NBC Sports Bay Area and a self-proclaimed “hater of in-game proposals.”
“It’s as if this person needs to show these complete strangers they love this person by making a show out of it,” Ms. Kleinschmidt said. “Needing validation from complete strangers? Go on Twitter if you want to do that.”
Also, she noted, an in-game proposal “puts the woman under pressure to say yes.”
When those traditional gender dynamics are reversed, the public response can be cruel.
In 2014, a woman surprised her boyfriend by proposing to him at an N.B.A. game. At the time, she told Fox 5 DC, “I thought this would make me the best wife-to-be ever to do it in front of his favorite team.” Her fiancé seemed happy she asked. But the response online was less than kind, with the frequently misogynist sports and culture website Barstool Sports calling it “the absolute worst proposal of all time,” among other worse things. Another blogger wrote that he would “never want to be proposed to by my girlfriend, and at an N.B.A. game no less, not in a million years.”
When Jumbotron proposals go wrong, spectators take an almost perverse pleasure in the rejection. In 2017, a rejected proposal at Fenway Park resulted in the entire ballpark chanting, “She said no!” (Jasmine Guillory’s newest novel, aptly named “The Proposal,” opens with a rejected proposal at Dodger Stadium that goes viral on the internet.)
This virality is something that more and more Jumbotron proposers are experiencing now that social media is a thing and everyone in the stadium has a smartphone, or the teams broadcast feel-good content across their various platforms.
What is it about our culture’s ideas about love, romance and marriage that allowed the phenomenon to gain traction in the first place? “Romantic comedies,” Chloe Angyal wrote for Buzzfeed in 2015, “teach us that the truer a true love is, the grander and more public the public grand gesture will be.”
Students, read the entire article, then tell us:
— What do you think about Jumbotron proposals? Would you like to receive or make one yourself? Why or why not? Did the article change your views on these over-the-top proposals?
— What are the best Jumbotron or public proposals you’ve ever seen or heard of, whether live or online? Do you find them charming and delightful, or do they make you uncomfortable? Do you ever watch Jumbotron proposal fails for fun? If yes, why?
— Do you know if one of your parents proposed or not? Is there a story that went with it?
— What would be your ideal marriage proposal? Would you want to be proposed to in some elaborate way? Why or why not? What proposal ideas do you have? What dos and don’ts for success might you suggest? (You can look at some other creative proposals here.)
— If you hate the idea of a big fancy proposal, how do you feel about marriage itself? Do you ever think about it? Is a wedding proposal too old fashioned or simply too far in the future to imagine? Do you think we place too much emphasis on romantic gestures — rings, engagement parties, lavish weddings and the like?
What do you think this image is saying? How does it relate to or comment upon society or current events? Can you relate to it personally in anyway? What is your opinion of its message?
Tell us in the comments, then read the related Opinion piece to learn what this illustration is all about.
Find many more ways to use our Picture Prompt feature in this lesson plan.