Clair & Lune Mac OS
- In October 2017, St. Clair posted a photo of herself on Instagram wearing a cheerleading uniform. According to LinkedIn, she worked at Xfinity Live, a dining and entertainment district in.
- A Clair is an adj for someone who oozes class and sophistication.
- Lance leads Clair’s sales, partnerships, and marketing efforts. He joins Clair from Boston Consulting Group where he spent over three years advising clients across the USA and Asia-Pacific on financial technology, operations, and retail. Lance has a Bachelor’s degree, magna cum laude, in Visual & Environmental Studies from Harvard University.
- Welcome to the CLAIR Global Used Audio Equipment Store. We sell Professional / Pro Audio Gear, and other Used Audio Equipment that's not Fully Utilized. Our goal is to sell our Used Audio Touring Equipment to other companies and individuals that have a need for Audio Equipment Sales or Used Live Audio Equipment.
What is Clair Clair is an application for parsing image contents and reporting vulnerabilities affecting the contents. This is done via static analysis and not at runtime. Clair supports the extraction of contents and assignment of vulnerabilities from the following official base containers.
'Au clair de la lune' (French pronunciation: [o klɛʁ də la lyn(ə)],[1] lit. 'By the Light of the Moon') is a French folk song of the 18th century. Its composer and lyricist are unknown. Its simple melody (Play) is commonly taught to beginners learning an instrument.
Lyrics[edit]
'Au clair de la lune, | 'By the light of the moon, |
Some sources report that 'plume' (pen) was originally 'lume' (an old word for 'light' or 'lamp').[2][3]
In music[edit]

19th-century French composer Camille Saint-Saëns quoted the first few notes of the tune in the section 'The Fossils', part of his suite The Carnival of the Animals.
French composer Ferdinand Hérold wrote a set of variations for piano solo in E-flat major.[4]
Claude Debussy, composer of the similarly named 'Clair de lune' from his Suite bergamasque, uses 'Au clair de la lune' as the basis of his song 'Pierrot' (Pantomime, L. 31) from Quatre Chansons de Jeunesse.
Erik Satie quoted this song in the section 'Le flirt' (No. 19) of his 1914 piano collection Sports et divertissements.[5]
In 1926, Samuel Barber rewrote 'H-35: Au Claire de la Lune: A Modern Setting of an old folk tune' while studying at the Curtis Institute of Music.[6]
In 1928, Marc Blitzstein orchestrated 'Variations sur 'Au Claire de la Lune'.'[7]
In 1964, French pop singer France Gall recorded a version of this song, with altered lyrics to make it a love song.[8]
1860 phonautogram by Édouard-Léon Scott de Martinville is the oldest recognizable recording of the human voice, presumably that of its creator.[9] | |
Problems playing this file? See media help. |
In 2008, a phonautograph paper recording made by Édouard-Léon Scott de Martinville of 'Au clair de la lune' on 9 April 1860, was digitally converted to sound by American researchers. This one-line excerpt of the song was widely reported to have been the earliest recognizable record of the human voice and the earliest recognizable record of music.[10][11] According to those researchers, the phonautograph recording contains the beginning of the song, 'Au clair de la lune, mon ami Pierrot, prête moi'.[11][12][13]
In 2008, composer Fred Momotenko composed 'Au clair de la lune' as an artistic journey back in time to rediscover the original recording made on 9 April 1860.[14] It is a composition for 4-part vocal ensemble and surround audio, performed during Gaudeamus Foundation music festival at Muziekgebouw aan 't IJ. It is the second Prize winner of the Linux '150-Years-of-Music-Technology Composition Competition Prize'[15] and the special Prize winner of Festival EmuFest in Rome.
In art[edit]
In the 1804 painting and sculpting exposition, Pierre-Auguste Vafflard presented a painting depicting Edward Young burying his daughter by night. An anonymous critic commented on the monochromatic nature of that painting with the lyrics:
Au clair de la lune | By the light of the moon |
In literature[edit]
The 'Story of my Friend Peterkin and the Moon' in The Ladies Pocket Magazine (1835) mentions the song several times and ends:
Indeed, what must have been the chagrin and despair of this same Jaurat, when he heard sung every night by all the little boys of Paris, that song of 'Au clair de la lune', every verse of which was a remembrance of happiness to Cresson, and a reproach of cruelty to friend Peterkin, who would not open his door to his neighbor, when he requested this slight service.[16]
In his 1952 memoir Witness, Whittaker Chambers reminisced:
In my earliest recollections of her, my mother is sitting in the lamplight, in a Windsor rocking chair, in front of the parlor stove. She is holding my brother on her lap. It is bed time and, in a thin sweet voice, she is singing him into drowsiness. I am on the floor, as usual among the chair legs, and I crawl behind my mother's chair because I do not like the song she is singing and do not want her to see what it does to me. She sings: 'Au clair de la lune; Mon ami, Pierrot; Prête-moi ta plume; Pour écrire un mot.'
Then the vowels darken ominously. My mother's voice deepens dramatically, as if she were singing in a theater. This was the part of the song I disliked most, not only because I knew that it was sad, but because my mother was deliberately (and rather unfairly, I thought) making it sadder: 'Ma chandelle est morte; Je n'ai plus de feu; Ouvre-moi la porte; Pour l'amour de Dieu.'
I knew, from an earlier explanation, that the song was about somebody (a little girl, I thought) who was cold because her candle and fire had gone out. She went to somebody else (a little boy, I thought) and asked him to help her for God's sake. He said no. It seemed a perfectly pointless cruelty to me.[17]
In their 1957 play Bad Seed: A Play in Two Acts, Maxwell Anderson and William March write: 'A few days later, in the same apartment. The living-room is empty: Rhoda can be seen practicing 'Au Clair de la Lune' on the piano in the den.'[18]
References[edit]
- ^Word-final E caduc is silent in modern spoken French but obligatory in older poetry and often also in singing, in which case a separate note is written for it. Therefore 'lune' is pronounced differently in the name of this song than in the song itself.
- ^Proetz, Victor (1971). The Astonishment of Words: An Experiment in the Comparison of Languages. University of Texas Press. p. 4. ISBN978-0-292-75829-2.
Here is an example of another thing that happens to French. 'Au Clair de la Lune' was originally Au clair de Ia lune, / Mon ami Pierrot, / Prête-moi ta lume ... But when the word lume faded out of the language and 'was no longer understood', 'lend me your light' became 'lend me your pen', and 'mon ami Pierrot' was no longer the moon itself.
- ^Benét, William Rose (1955). The Reader's Encyclopedia. Thomas Y. Crowell Company. p. 58.
'Au clair de la lune.' Famous French song. The line prête-moi ta plume 'lend me your pen', is a modern substitute for ... ta lume '... light', which came into use when the old word lume was no longer understood.
- ^Au clair de la lune, Op. 19 (Hérold): Scores at the International Music Score Library Project
- ^Davis, Mary E. (2008). Classic Chic: Music, Fashion, and Modernism. University of California Press. p. 87. ISBN9780520941687.
- ^Heyman, Barbara B. (2012). Samuel Barber: A Thematic Catalogue of the Complete Works. Oxford University Press. p. 56. ISBN9780199744640.
- ^Pollack, Howard (2012). Marc Blitzstein: His Life, His Work, His World. Oxford University Press. p. 42. ISBN9780199791590.
- ^translate, lyrics. 'Au clair de la lune (English translation)'. Retrieved 14 December 2019.
- ^'FirstSounds.ORG'. FirstSounds.ORG. 2008-03-27. Retrieved 2012-01-14.
- ^Jody Rosen (March 27, 2008). 'Researchers Play Tune Recorded Before Edison'. The New York Times.
- ^ ab'First Sounds archive of recovered sounds, MP3 archive'. FirstSounds.org. March 2008.
- ^'Un papier ancien trouve sa 'voix'' (in French). Radio-Canada.ca. 28 March 2008. Retrieved 19 November 2008.
- ^Jean-Baptiste Roch (13 May 2008). 'Le son le plus vieux du monde'. Télérama (in French). Archived from the original on 2009-07-01. Retrieved 19 November 2008.
- ^'Alfred Momotenko'.
- ^'Linuxaudio.org'.
- ^M. L. B. (1835). 'Story of My Friend Peterkin and the Moon'. The Ladies Pocket Magazine. part 2. London. p. 205.
- ^Chambers, Whittaker (1952). Witness. New York: Random House. pp. 98–99. LCCN52005149.
- ^Anderson, Maxwell; William March (1957). Bad Seed: A Play in Two Acts. New York: Dramatists Play Service. pp. 28 (act 1, scene 4).
Au Clair de la Lune.
External links[edit]
- French Wikisource has original text related to this article: Au clair de la lune
- Works related to Au clair de la lune at Wikisource
- Media related to Au clair de la lune at Wikimedia Commons
- Listen 1931 recording by Yvonne Printemps.
Due at 11:59pm on Friday, 11/16/2018.
Starter Files
Download lab12.zip.Inside the archive, you will find starter files for the questions in this lab, along with a copy of the Ok autograder.
Submission
By the end of this lab, you should have submitted the lab withpython3 ok --submit
. You may submit more than once before thedeadline; only the final submission will be graded.Check that you have successfully submitted your code onokpy.org.
- To receive credit for this lab, you must complete Questions 2-4 in lab12.sql, and submit through OK.
- Questions 5-6 are also considered extra practice. They can be found in the lab12_extra.sql file. It is recommended that you complete these when you are finished with the required questions.
Setup
The simplest way to start using SQLite is to download a precompiledbinary from the SQLite website.The latest version of SQLite at the time of writing is 3.24.0, but youcan check for additional updates on the website.
Windows
- Visit the download page linked above and navigate to the section Precompiled Binaries for Windows. Click on the link sqlite-tools-win32-x86-*.zip to download the binary.
- Unzip the file. There should be a
sqlite3.exe
file in the directory after extraction. Navigate to the folder containing the
sqlite3.exe
file and check that the version is at least 3.8.3:
macOS Yosemite (10.10) or newer
SQLite comes pre-installed. Check that you have a version that's greater than 3.8.3:
Clair & Lune Mac Os Download
Mac OS X Mavericks (10.9) or older
SQLite comes pre-installed, but it is the wrong version.
- Visit the download page linked above and navigate to the section Precompiled Binaries for Mac OS X (x86). Click on the link sqlite-tools-osx-x86-*.zip to download the binary.
- Unzip the file. There should be a
sqlite3
file in the directory after extraction. Navigate to the folder containing the
sqlite3
file and check that the version is at least 3.8.3:
Ubuntu
The easiest way to use SQLite on Ubuntu is to install it straight fromthe native repositories (the version will be slightly behind the mostrecent release):
Usage
You can start an interactive SQLite session in your Terminal or Git Bash withthe following commands:
Ubuntu / Mac OS X (Yosemite or newer)
Windows / Mac OS X (Mavericks or older)
While the interpreter is running, you can type .help
to see some of thecommands you can run.
To exit out of the SQLite intepreter, type .exit
or .quit
or pressCtrl-C
. Remember that if you see ...>
after pressing return, you probablyforgot a ;
.
You can also run all the statements in a .sql
file by doing the following:
Note: If you downloaded a precompiled binary above, make sure thatsqlite3.exe
file is in the same directory as your .sql
file. (Extract andmove it out from the zip file you downloaded.)
Runs your code and then exits SQLite immediately afterwards.
Ubuntu / Mac OS X (Yosemite or newer)
Windows / Mac OS X (Mavericks or older)
Runs your code and then opens an interactive SQLite session, which is similar to running Python code with the interactive
-i
flag.Ubuntu / Mac OS X (Yosemite or newer)
Windows / Mac OS X (Mavericks or older)
SQL Basics
Creating Tables
You can create SQL tables either from scratch or from existing tables.
The following statement creates a table by specifying column names and valueswithout referencing another table. Each SELECT
clause specifies the valuesfor one row, and UNION
is used to join rows together. The AS
clauses give aname to each column; it need not be repeated in subsequent rows after thefirst.
Let's say we want to make the following table called big_game
which recordsthe scores for the Big Game each year. This table has three columns:berkeley
, stanford
, and year
.
We could do so with the following CREATE TABLE
statement:
Selecting From Tables
More commonly, we will create new tables by selecting specific columns that wewant from existing tables by using a SELECT
statement as follows:
Let's break down this statement:
SELECT [columns]
tells SQL that we want to include the given columns in our output table;[columns]
is a comma-separated list of column names, and*
can be used to select all columnsFROM [table]
tells SQL that the columns we want to select are from the given table; see the joins section to see how to select from multiple tablesWHERE [condition]
filters the output table by only including rows whose values satisfy the given[condition]
, a boolean expressionORDER BY [columns]
orders the rows in the output table by the given comma-separated list of columnsLIMIT [limit]
limits the number of rows in the output table by the integer[limit]
Note: We capitalize SQL keywords purely because of style convention. Itmakes queries much easier to read, though they will still work if you don'tcapitalize keywords.
Here are some examples:
Select all of Berkeley's scores from the big_game
table, but only includescores from years past 2002:
Select the scores for both schools in years that Berkeley won:
Select the years that Stanford scored more than 15 points:
SQL operators
Expressions in the SELECT
, WHERE
, and ORDER BY
clauses can containone or more of the following operators:
- comparison operators:
=
,>
,<
,<=
,>=
,<>
or!=
('not equal') - boolean operators:
AND
,OR
- arithmetic operators:
+
,-
,*
,/
- concatenation operator:
Here are some examples:
Output the ratio of Berkeley's score to Stanford's score each year:
Output the sum of scores in years where both teams scored over 10 points:
Output a table with a single column and single row containing the value 'helloworld':
Joins
To select data from multiple tables, we can use joins. There are many typesof joins, but the only one we'll worry about is the inner join. To performan inner join on two on more tables, simply list them all out in the FROM
clause of a SELECT
statement:
We can select from multiple different tables or from the same table multipletimes.
Let's say we have the following table that contains the names head footballcoaches at Cal since 2002:
When we join two or more tables, the default output is a cartesian product. Forexample, if we joined big_game
with coaches
, we'd get the following:
If we want to match up each game with the coach that season, we'd have tocompare columns from the two tables in the WHERE
clause:
The following query outputs the coach and year for each Big Game win recordedin big_game
:
In the queries above, none of the column names are ambiguous. For example, itis clear that the name
column comes from the coaches
table because thereisn't a column in the big_game
table with that name. However, if a columnname exists in more than one of the tables being joined, or if we join a tablewith itself, we must disambiguate the column names using aliases.
For examples, let's find out what the score difference is for each team betweena game in big_game
and any previous games. Since each row in this table representsone game, in order to compare two games we must join big_game
with itself:
In the query above, we give the alias a
to the first big_game
table and thealias b
to the second big_game
table. We can then reference columns fromeach table using dot notation with the aliases, e.g. a.Berkeley
,a.Stanford
, and a.Year
to select from the first table.
Getting to Know Your Fellow 61A Students
Last week, we asked you and your fellow students to complete a briefonline survey through Google Forms, which involved relatively random but funquestions. In this lab, we will interact with the results of the survey byusing SQL queries to see if we can find interesting things in the data.
First, take a look at fa18data.sql
and examine the table defined in it. Noteits structure. You will be working with:
students
: The main results of the survey. Each column represents a different question from the survey, except for the first column, which is the time of when the result was submitted. This time is a unique identifier for each of the rows in the table.Column Name Question time
The unique timestamp that identifies the submission number
What's your favorite number between 1 and 100? color
What is your favorite color? seven
Choose the number 7 below.
Options:- 7
- You're not the boss of me!
- Choose this option instead
- seven
- the number 7 below.
song
If you could listen to only one of these songs for the rest of your life, which would it be?
Options:- 'Smells Like Teen Spirit' by Nirvana
- 'The Middle' by Zedd
- 'Clair de Lune' by Claude Debussy
- 'Finesse ft. Cardi B' by Bruno Mars
- 'Down With The Sickness' by Disturbed
- 'Everytime We Touch' by Cascada
- 'All I want for Christmas is you' by Mariah Carey
- 'thank u, next' by Ariana Grande
date
Pick a day of the year! pet
If you could have any animal in the world as a pet, what would it be? denero
Choose your favorite photo of John DeNero! (Options shown under Question 2) smallest
Try to guess the smallest unique positive INTEGER that anyone will put! checkboxes
: The results from the survey in which students could select more than one option from the numbers listed, which ranged from 0 to 10 and included 2018, 9000, and 9001. Each row has a time (which is again a unique identifier) and has the value'True'
if the student selected the column or'False'
if the student did not. The column names in this table are the following strings, referring to each possible number:'0'
,'1'
,'2'
,'4'
,'5'
,'6'
,'7'
,'8'
,'9'
,'10'
,'2018'
,'9000'
,'9001'
.
Since the survey was anonymous, we used the timestamp that a survey wassubmitted as a unique identifier. A time in students
matches up with a timein checkboxes
. For example, the row in students
whose time
value is'11/9/2018 18:02:33'
matches up with the row in checkboxes
whose time
value is '11/9/2018 18:02:33'
. These entries come from the same Google formsubmission and thus belong to the same student.
Note: If you are looking for your personal response within the data, you mayhave noticed that some of your answers are slightly different from what youhad input. In order to make SQLite accept our data, and to optimize for asmany matches as possible during our joins, we did the following things toclean up the data:
color
andpet
: We converted all the strings to be completely lowercase.- For some of the more 'free-spirited' responses, we escaped the special characters so that they could be properly parsed.
You will write all of your solutions in the starter file lab12.sql
provided. As with otherlabs, you can test your solutions with OK. In addition, you can use either ofthe following commands. You may need to refer to the Usage section to find theappropriate command for your OS:
Q1: What Would SQL print?
Note: there is no submission for this question
First, load the tables into sqlite3. If you're on Windows or Mac OS X(Mavericks or older), use the following command:
If you're on Ubuntu or Mac OS X (Yosemite or newer), use:
Before we start, inspect the schema of the tables that we've created for you:
This tells you the name of each of our tables and their attributes.
Let's also take a look at some of the entries in our table. There are a lot ofentries though, so let's just output the first 20:
If you're curious about some of the answers students put into the Google form,open up su18data.sql
in your favorite text editor and take a look!
For each of the SQL queries below, think about what thequery is looking for, then try running the query yourself and see!
Remember to end each statement with a ;
! To exit out of SQLite, type .exit
or .quit
or hit Ctrl-C
.
Q2: Obedience
Clair & Lune Mac Os Catalina
To warm-up, let's ask a simple question related to our data: Is there acorrelation between whether students do as they're told and their favoriteimages of the instructor?
Write an SQL query to create a table that contains the columns seven
(thiscolumn representing 'obedience') and denero
(the image of Professor DeNerostudents selected) from the students
table.
You should get the following output:
Use Ok to test your code:
Q3: The Smallest Unique Positive Integer
Who successfully managed to guess the smallest unique positive integer value?Let's find out!
Unfortunately we have not learned how to do aggregations in SQL, which can helpus count the number of times a specific value was selected, just yet. As such,we can only hand inspect our data to determine it. However, an anonymous elfhas informed us that the smallest unique positive value is greater than 13!
Write an SQL query to create a table with the columns time
and smallest
that we can inspect to determine what the smallest integer value is. In orderto make it easier for us to inspect these values, use WHERE
to restrict theanswers to numbers greater than 13, ORDER BY
to sort the numerical values,and LIMIT
your result to the first 20 values that are greater than the number13.
The first 5 lines of your output should look like this:
Use Ok to test your code:
After you've successfully passed the Ok test, take a look at the tablesmallest_int
that you just created and manually find the smallest uniqueinteger value! If you're curious how to do this with aggregations, check outQuestion 8.
To do this, try the following:
Q4: Matchmaker, Matchmaker
Did you take 61A with the hope of finding your soul mate? Well you're in luck!With all this data in hand, it's easy for us to find your perfect match. If twostudents want the same pet and have the same taste in music, they are clearly meantto be together! In order to provide some more information for the potential lovebirdsto converse about, let's include the favorite colors of the two individuals as well!
In order to match up students, you will have to do a join on the students
tablewith itself. When you do a join, SQLite will match every single row with every singleother row, so make sure you do not match anyone with themselves, or match any given pairtwice!
Important Note: When pairing the first and second person, make sure thatthe first person responded first (i.e. they have an earlier time
). This isto ensure your output matches our tests.
Hint: When joining table names where column names are the same, use dotnotation to distinguish which columns are from which table:[table_name].[column name]
. This sometimes may get verbose, so it’sstylistically better to give tables an alias using the AS
keyword.The syntax for this is as follows:
The query in the football example from earlier uses this syntax.
Write a SQL query to create a table that has 4 columns:
- The shared preferred
pet
of the couple - The shared favorite
song
of the couple - The favorite
color
of the first person - The favorite
color
of the second person
You should get the following output:
Use Ok to test your code:
The following questions are for extra practice -- they can be foundin the lab12_extra.sql file. It is recommended thatyou complete these problems, but you do not need to turn themin for credit.
The COUNT Aggregator
Note: We haven't covered aggregation yet (as of 11/13), but you cancome back tomorrow (11/14) and do these problems then, or you can readahead and try them now!
How many people liked each pet? What is the biggest date chosen this semester?How many obedient people chose Image 1 for Professor DeNero?Is there a difference between last semester's average favorite numberand this semester's?
To answer these types of questions, we can bring in SQL aggregation, whichallows us to accumulate values across rows in our SQL database!
In order to perform SQL aggregation, we can group rows in our table by one or more attributes. Oncewe have groups, we can aggregate over the groups in our table and find things like:
- the maximum value (
MAX
), - the minimum value (
MIN
), - the number of rows in the group (
COUNT
), - the average over all of the values (
AVG
),
and more!SELECT
statements that use aggregation are usually marked by two things: anaggregate function (MAX
, MIN
, COUNT
, AVG
, etc.) and a GROUP BY
clause.GROUP BY [column(s)]
groups together rows with the same value in eachcolumn(s).In this section we will only use COUNT
, which will count the number of rowsin each group, but feel free to check out thislink for more!
For example, the following query will print out the top 10 favorite numbers withtheir respective counts:
This SELECT
statement first groups all of the rows in our table students
by number
. Then, within eachgroup, we perform aggregation by COUNT
ing all the rows. By selecting number
and COUNT(*)
,we then can see the highest number
and how many students picked that number. We have to order by our COUNT(*)
, which is saved in the alias count
, by DESC
ending order, so our highest count starts at the top, and we limit our result to the top 10.
Q5: Let's Count
Let's have some fun with this! For each query below, we created its own tableinlab12_extra.sql
, so fill in the corresponding table and run it using Ok.Try working on this on your own or with a neighbor before toggling to see thesolutions.Hint: You may find that there isn't a particular attribute you should haveto perform the COUNT
aggregation over. If you are only interested incounting the number of rows in a group, you can just say COUNT(*)
.
What are the top 10 pets this semester?
How many people marked exactly the word 'dog' as their ideal pet this semester?
Although close, our query doesn't give us an entirely accurate picture of what people's favorite pets are.For example, a dog
would not be counted the same as dog
. Let's see how many people actually wanta dog this semester by using LIKE
, which compares substrings. We can use it inside WHERE
, as inWHERE [column_name] LIKE '%[word]%'
to find how many people would like some type of dog.
We can find the student's favorite for any column (try it yourself in theinterpreter), but let's go back to our Obedience question. Let's see how manyobedient students this semester picked each image of Professor Denero. We cando this by selecting only the rows that have seven = '7'
then GROUP BY denero
,and finally we can COUNT
them.
The possibilities are endless, so have fun experimenting!
Use Ok to test your code:
Q6: The Smallest Unique Positive Integer (Part 2)
Now, let's revisit the previous problem of finding the smallest positive integer that anyone chose, and takea closer look at the COUNT
aggregate.
Write a SQL query that uses the COUNT
aggregate to create a table that pairs the attribute smallest
withthe number of times it was chosen by a student (this is the aggregation part).
Hint: Think about what attribute you need to GROUP BY
.
After you've defined your table, you should get something like:
Use Ok to test your code:
It looks like the number 15
only had one person choose it! Were you the luckystudent that put it down?